Linux基础命令完全指南 - 从小白到入门
前言
本教程旨在为Linux初学者提供全面、系统的命令学习指南,涵盖文件管理、系统操作、网络配置等各个方面。
第一章:文件系统基础
1.1 目录结构理解
/ # 根目录
/bin # 基本命令二进制文件
/etc # 系统配置文件
/home # 用户主目录
/var # 可变数据文件
/tmp # 临时文件
/usr # 用户程序和数据
1.2 导航命令详解
ls 命令完整用法
ls # 简单列表
ls -l # 详细列表(权限、所有者、大小、时间)
ls -a # 显示所有文件(包括.开头的隐藏文件)
ls -la # 详细显示所有文件
ls -lh # 人类可读的文件大小
ls -t # 按修改时间排序
ls -r # 反向排序
ls -S # 按文件大小排序
ls /path/to/dir # 查看指定目录
cd 命令进阶
cd # 回到用户主目录
cd ~ # 同上
cd / # 切换到根目录
cd /home/user # 绝对路径切换
cd Documents # 相对路径切换
cd .. # 返回上级目录
cd ../.. # 返回上两级目录
cd - # 返回上一个工作目录
pwd 和 which
pwd # 显示当前完整路径
which ls # 显示命令的完整路径
whereis ls # 显示命令的路径和手册页位置
第二章:文件操作大全
2.1 创建文件和目录
touch file.txt # 创建空文件
mkdir mydir # 创建目录
mkdir -p dir1/dir2/dir3 # 递归创建多级目录
mkdir dir{1,2,3} # 批量创建目录
2.2 复制操作
cp file1 file2 # 复制文件
cp file1 /tmp/ # 复制到指定目录
cp -r dir1 dir2 # 递归复制目录
cp -v file1 file2 # 显示复制过程
cp -i file1 file2 # 覆盖前提示
cp -u file1 file2 # 仅当源文件较新时复制
2.3 移动和重命名
mv oldname newname # 重命名文件
mv file1 /tmp/ # 移动文件
mv -i file1 file2 # 覆盖前提示
mv -v file1 file2 # 显示移动过程
2.4 删除操作(谨慎使用!)
rm file.txt # 删除文件
rm -i file.txt # 删除前确认
rm -f file.txt # 强制删除
rm -r mydir # 递归删除目录
rm -rf mydir # 强制递归删除(危险!)
第三章:文件内容查看和编辑
3.1 查看文件内容
cat file.txt # 显示全部内容
cat -n file.txt # 显示行号
cat file1 file2 # 连接多个文件
less file.txt # 分页查看(推荐)
more file.txt # 分页查看(较老)
head -n 20 file.txt # 显示前20行
tail -n 20 file.txt # 显示后20行
tail -f logfile # 实时跟踪文件变化
wc file.txt # 统计行数、单词数、字符数
wc -l file.txt # 只统计行数
3.2 文件搜索
grep "keyword" file.txt # 搜索包含关键词的行
grep -i "keyword" file.txt # 忽略大小写
grep -v "keyword" file.txt # 搜索不包含关键词的行
grep -r "keyword" /path/ # 递归搜索目录
grep -n "keyword" file.txt # 显示行号
find /home -name "*.txt" # 按文件名查找
find /var -type f # 查找所有文件
find /tmp -mtime -1 # 查找1天内修改的文件
第四章:权限管理
4.1 文件权限理解
ls -l file.txt
# 输出示例:-rw-r--r-- 1 user group 1024 Jan 1 12:00 file.txt
# 权限说明:
# - 文件类型(-普通文件,d目录,l链接)
# rw- 所有者权限
# r-- 组权限
# r-- 其他用户权限
4.2 权限修改
chmod 755 file.txt # 数字方式设置权限
chmod u+x file.txt # 给所有者添加执行权限
chmod g-w file.txt # 移除组的写权限
chmod o=r file.txt # 设置其他用户只读
chown user:group file.txt # 修改所有者和组
chown user file.txt # 只修改所有者
chgrp group file.txt # 只修改组
第五章:系统管理
5.1 进程管理
ps # 显示当前进程
ps aux # 显示所有进程详细信息
ps -ef # 完整格式显示进程
top # 实时进程监控
htop # 增强版top(需安装)
kill 1234 # 终止进程
kill -9 1234 # 强制终止进程
pkill process_name # 按名称终止进程
jobs # 显示后台作业
fg %1 # 将作业1调到前台
bg %1 # 将作业1放到后台
5.2 系统信息
uname -a # 所有系统信息
uname -r # 内核版本
cat /etc/os-release # 系统版本信息
df -h # 磁盘使用情况(人类可读)
du -sh /path # 目录大小
du -h --max-depth=1 /path # 一级子目录大小
free -h # 内存使用情况
uptime # 系统运行时间
who # 当前登录用户
w # 详细登录信息
5.3 包管理(以Ubuntu/Debian为例)
sudo apt update # 更新包列表
sudo apt upgrade # 升级所有包
sudo apt install package # 安装包
sudo apt remove package # 删除包
sudo apt search keyword # 搜索包
第六章:网络相关
6.1 网络配置
ifconfig # 网络接口信息(较老)
ip addr # IP地址信息
ip route # 路由表
ping google.com # 测试网络连通性
traceroute google.com # 跟踪路由路径
netstat -tulpn # 网络连接和端口状态
ss -tulpn # 更快的网络状态工具
curl http://example.com # 下载网页内容
wget http://example.com/file # 下载文件
第七章:实用技巧和快捷键
7.1 命令行快捷键
Ctrl + A # 移动到行首
Ctrl + E # 移动到行尾
Ctrl + U # 删除到行首
Ctrl + K # 删除到行尾
Ctrl + W # 删除前一个单词
Ctrl + R # 搜索历史命令
Tab # 自动补全
Ctrl + C # 终止当前命令
Ctrl + Z # 暂停当前命令
7.2 重定向和管道
ls > file.txt # 输出重定向到文件
ls >> file.txt # 追加到文件
grep "error" log.txt > errors.txt # 过滤输出到文件
ls | grep ".txt" # 管道:前一个命令输出作为后一个输入
ps aux | grep "nginx" # 查找nginx进程
cat file.txt | sort | uniq # 排序并去重
7.3 环境变量
echo $PATH # 查看PATH环境变量
export MY_VAR="value" # 设置环境变量
env # 显示所有环境变量
第八章:实用脚本示例
8.1 备份脚本示例
#!/bin/bash
# 简单备份脚本
BACKUP_DIR="/backup"
DATE=$(date +%Y%m%d)
tar -czf $BACKUP_DIR/backup_$DATE.tar.gz /home/user/documents
echo "备份完成: backup_$DATE.tar.gz"
8.2 系统监控脚本
#!/bin/bash
# 系统状态监控
echo "=== 系统状态 ==="
echo "时间: $(date)"
echo "负载: $(uptime)"
echo "内存: $(free -h | grep Mem)"
echo "磁盘: $(df -h / | tail -1)"
第九章:故障排除
9.1 常见问题解决
# 命令找不到
which command_name
whereis command_name
# 权限问题
sudo command
chmod +x script.sh
# 磁盘空间不足
df -h
du -sh /* | sort -hr
# 服务状态检查
systemctl status service_name
journalctl -u service_name
学习建议
- 实践为主:在虚拟机或云服务器上实际操作
- 循序渐进:从基础命令开始,逐步学习高级功能
- 善用帮助:多使用
man、--help查看命令帮助 - 安全第一:谨慎使用
rm -rf等危险命令 - 备份重要:重要操作前做好备份
这个教程应该足够详细了!涵盖了从基础到进阶的各个方面,适合新手系统学习Linux命令。