100个最实用的Linux命令,帮你从Linux小白蜕变为命令行高手!
核心命令分类速览
分类 | 命令数量 | 重要程度 | 学习优先级 |
---|---|---|---|
文件操作 | 10个 | ⭐⭐⭐⭐⭐ | 🔥 必学 |
文本处理 | 9个 | ⭐⭐⭐⭐ | 🔥 必学 |
系统监控 | 10个 | ⭐⭐⭐⭐⭐ | 🔥 必学 |
进程管理 | 6个 | ⭐⭐⭐⭐ | 📚 重要 |
网络操作 | 7个 | ⭐⭐⭐ | 📚 重要 |
权限管理 | 3个 | ⭐⭐⭐⭐ | 📚 重要 |
压缩归档 | 3个 | ⭐⭐⭐ | 📖 一般 |
用户管理 | 2个 | ⭐⭐⭐ | 📖 一般 |
系统服务 | 1个 | ⭐⭐⭐⭐ | 📚 重要 |
第一部分:必须掌握的文件操作命令(10个)
超高频使用命令(日常必备)
1. ls
– 目录内容查看神器
# 基础用法
ls -la # 详细列出所有文件(包括隐藏文件)
ls -lh # 以人类可读格式显示文件大小
ls -lt # 按修改时间排序
# 高级技巧
ls -la | grep "^d" # 只显示目录
ls -la | grep "\.txt$" # 只显示txt文件
💡 实战技巧: 创建别名提高效率
alias ll='ls -la'
alias la='ls -la'
alias l='ls -CF'
2. cd
– 目录导航专家
cd /path/to/dir # 切换到指定目录
cd ~ # 切换到用户主目录
cd - # 切换到上一个目录(超实用!)
cd .. # 切换到上级目录
cd ../.. # 切换到上两级目录
💡 专家提示: 使用cd -
在两个目录间快速切换,效率提升50%!
3. find
– 文件查找利器
# 按名称查找
find /path -name "*.txt" # 查找所有txt文件
find . -name "config*" # 查找以config开头的文件
# 按大小查找
find /path -type f -size +1M # 查找大于1M的文件
find /path -type f -size -1k # 查找小于1k的文件
# 按时间查找
find /path -mtime -7 # 查找7天内修改的文件
find /path -atime +30 # 查找30天前访问的文件
🎯 实战案例: 清理大文件释放磁盘空间
# 查找大于100M的文件
find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null
4. cp
和 mv
– 文件操作双雄
# cp - 复制文件
cp file1 file2 # 复制文件
cp -r dir1 dir2 # 递归复制目录
cp -p file1 file2 # 保持文件属性复制
cp -u source/* dest/ # 只复制更新的文件
# mv - 移动/重命名
mv file1 file2 # 重命名文件
mv file1 /path/ # 移动文件到指定目录
mv *.txt backup/ # 批量移动txt文件
5. rm
– 删除命令(谨慎使用!)
rm filename # 删除文件
rm -r dirname # 递归删除目录
rm -f filename # 强制删除文件
rm -rf dirname # 强制递归删除目录
# 安全删除技巧
rm -i filename # 交互式删除,每次确认
⚠️ 安全警告: 永远不要执行 rm -rf /
,这会删除整个系统!
6. mkdir
– 创建目录
mkdir dirname # 创建单个目录
mkdir -p a/b/c # 递归创建多级目录
mkdir -m 755 dir # 创建目录并设置权限
mkdir {dir1,dir2,dir3} # 批量创建目录
7. pwd
– 显示当前位置
pwd # 显示当前完整路径
8. tree
– 目录树状显示
tree # 显示当前目录树
tree -L 2 # 只显示2级目录
tree -a # 显示所有文件(包括隐藏文件)
tree -h # 显示文件大小
9. du
– 磁盘使用情况
du -h # 以人类可读格式显示
du -sh * # 显示当前目录下各文件/目录大小
du -sh /path # 显示指定目录总大小
du -ah | sort -hr | head -10 # 显示最大的10个文件/目录
10. df
– 文件系统空间
df -h # 以人类可读格式显示
df -T # 显示文件系统类型
df -i # 显示inode使用情况
💡 运维技巧: 监控磁盘空间使用率
df -h | awk '$5 > 80 {print $0}' # 显示使用率超过80%的分区
第二部分:文本处理命令精通(9个)
文件内容查看命令
11. cat
– 文件内容显示
cat filename # 显示文件内容
cat -n filename # 显示行号
cat file1 file2 # 连接显示多个文件
cat -A filename # 显示所有字符(包括不可见字符)
💡 less快捷键:
空格键
– 下一页b
– 上一页/pattern
– 搜索q
– 退出
13. head
和 tail
– 文件头尾查看
# head - 查看文件开头
head filename # 显示前10行
head -n 20 file # 显示前20行
head -c 100 file # 显示前100个字符
# tail - 查看文件末尾
tail filename # 显示后10行
tail -n 20 file # 显示后20行
tail -f filename # 实时监控文件变化(日志分析必备!)
tail -F filename # 即使文件被重命名也继续监控
🎯 实战案例: 实时监控多个日志文件
tail -f /var/log/apache2/access.log /var/log/apache2/error.log
14. grep
– 文本搜索王者
# 基础搜索
grep "pattern" file # 搜索包含pattern的行
grep -i "pattern" file # 忽略大小写搜索
grep -v "pattern" file # 显示不包含pattern的行
grep -n "pattern" file # 显示行号
# 高级搜索
grep -r "pattern" dir # 递归搜索目录
grep -E "pattern1|pattern2" file # 使用正则表达式
grep -A 3 -B 3 "pattern" file # 显示匹配行前后3行
💡 实战技巧: 日志分析常用命令
# 查找错误日志
grep -i "error" /var/log/syslog
# 统计IP访问次数
grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' access.log | sort | uniq -c | sort -nr
15. awk
– 文本处理专家
awk '{print $1}' file # 打印第一列
awk -F: '{print $1}' /etc/passwd # 以:为分隔符打印第一列
awk 'NR==1,NR==10' file # 打印1-10行
awk '{sum+=$1} END {print sum}' file # 计算第一列的总和
16. sed
– 流编辑器
sed 's/old/new/g' file # 替换文本
sed -n '1,10p' file # 打印1-10行
sed -i 's/old/new/g' file # 直接修改文件
sed '/pattern/d' file # 删除包含pattern的行
17. sort
– 文本排序
sort filename # 按字母顺序排序
sort -n file # 按数字排序
sort -r file # 逆序排序
sort -k2 file # 按第二列排序
sort -u file # 排序并去重
18. uniq
– 去除重复
uniq filename # 去除相邻重复行
sort file | uniq # 去除所有重复行
uniq -c file # 统计重复次数
uniq -d file # 只显示重复行
19. wc
– 文本统计
wc filename # 显示行数、词数、字符数
wc -l filename # 只显示行数
wc -w filename # 只显示词数
wc -c filename # 只显示字符数
🎯 实战案例: 分析代码行数
find . -name "*.py" -exec wc -l {} + | sort -nr
第三部分:系统监控命令大师(10个)
系统状态监控
20. top
和 htop
– 进程监控
top # 实时显示进程信息
top -u username # 显示指定用户的进程
htop # 彩色交互式进程查看器(推荐安装)
💡 top快捷键:
P
– 按CPU使用率排序M
– 按内存使用率排序k
– 终止进程q
– 退出
21. ps
– 进程快照
ps aux # 显示所有进程详细信息
ps -ef # 显示所有进程
ps -u username # 显示指定用户的进程
ps aux | grep process_name # 查找特定进程
22. free
– 内存使用情况
free -h # 以人类可读格式显示内存信息
free -m # 以MB为单位显示
free -s 5 # 每5秒刷新一次
💡 内存分析技巧:
# 查看内存使用率
free | awk 'NR==2{printf "Memory Usage: %s/%sMB (%.2f%%)\n", $3,$2,$3*100/$2 }'
23. uname
– 系统信息
uname -a # 显示所有系统信息
uname -r # 显示内核版本
uname -m # 显示机器架构
24. uptime
– 系统运行时间
uptime # 显示系统运行时间和负载
25. lscpu
– CPU信息
lscpu # 显示CPU详细信息
cat /proc/cpuinfo # 查看CPU详细信息
26. lsblk
– 块设备信息
lsblk # 以树形结构显示块设备
lsblk -f # 显示文件系统信息
27. who
、w
、whoami
– 用户信息
whoami # 显示当前登录用户名
who # 显示当前登录的所有用户
w # 显示登录用户及其正在执行的命令
id # 显示当前用户的UID和GID
28. history
– 命令历史
history # 显示命令历史
history | grep command # 搜索历史命令
history -c # 清空历史记录
!! # 执行上一条命令
!n # 执行历史记录中第n条命令
💡 历史命令技巧:
# 设置历史记录数量
export HISTSIZE=10000
export HISTFILESIZE=10000
# 避免重复记录
export HISTCONTROL=ignoredups
第四部分:进程管理命令精通(6个)
进程控制命令
29. kill
– 进程终止
kill PID # 终止指定PID的进程
kill -9 PID # 强制终止进程(SIGKILL)
kill -TERM PID # 发送TERM信号(优雅终止)
kill -HUP PID # 发送HUP信号(重新加载配置)
💡 信号类型说明:
TERM (15)
– 优雅终止,允许进程清理资源KILL (9)
– 强制终止,立即杀死进程HUP (1)
– 挂起信号,通常用于重新加载配置
30. killall
和 pkill
– 批量终止
# killall - 按名称终止
killall process_name # 终止所有同名进程
killall -9 process # 强制终止所有同名进程
# pkill - 按条件终止
pkill -f pattern # 按命令行模式终止进程
pkill -u username # 终止指定用户的所有进程
31. pgrep
– 进程查找
pgrep process_name # 查找进程PID
pgrep -u username # 查找指定用户的进程
pgrep -f pattern # 按完整命令行查找
32. nohup
– 后台运行
nohup command & # 后台运行命令,忽略挂起信号
nohup python script.py > output.log 2>&1 & # 重定向输出到日志
33. jobs
、bg
、fg
– 作业控制
jobs # 显示当前shell的作业列表
bg %1 # 将作业1放到后台运行
fg %1 # 将作业1调到前台运行
💡 作业控制技巧:
Ctrl+Z
– 暂停当前进程Ctrl+C
– 终止当前进程&
– 在命令末尾添加,直接后台运行
34. screen
和 tmux
– 终端复用
# screen
screen # 启动新的screen会话
screen -S session_name # 创建命名会话
screen -r # 恢复screen会话
screen -list # 列出所有会话
# tmux(推荐)
tmux # 启动新的tmux会话
tmux new -s session_name # 创建命名会话
tmux attach # 附加到tmux会话
tmux list-sessions # 列出所有会话
第五部分:网络操作命令(7个)
网络连接测试
35. ping
– 网络连通性测试
ping hostname # 测试到主机的连通性
ping -c 4 host # 发送4个包后停止
ping -i 2 host # 每2秒发送一个包
ping -s 1000 host # 发送1000字节的包
36. wget
和 curl
– 文件下载
# wget
wget URL # 下载文件
wget -c URL # 断点续传下载
wget -r URL # 递归下载
wget -O filename URL # 指定保存文件名
# curl
curl URL # 获取URL内容
curl -O URL # 下载文件
curl -X POST URL # 发送POST请求
curl -H "Content-Type: application/json" -d '{"key":"value"}' URL
🎯 实战案例: API测试
# 测试REST API
curl -X GET "https://api.example.com/users" -H "Authorization: Bearer token"
37. ssh
– 安全远程登录
ssh user@host # SSH登录远程主机
ssh -p 2222 user@host # 指定端口登录
ssh -i keyfile user@host # 使用密钥文件登录
ssh -L 8080:localhost:80 user@host # 本地端口转发
38. scp
– 安全文件传输
scp file user@host:/path # 复制文件到远程主机
scp user@host:/path/file . # 从远程主机复制文件
scp -r dir user@host:/path # 递归复制目录
39. rsync
– 高效同步
rsync -av source/ dest/ # 同步目录
rsync -av user@host:/path/ . # 从远程同步
rsync -av --delete source/ dest/ # 同步并删除目标多余文件
40. netstat
和 ss
– 网络连接
# netstat(传统)
netstat -tuln # 显示监听端口
netstat -an # 显示所有网络连接
netstat -r # 显示路由表
# ss(现代替代)
ss -tuln # 显示监听端口
ss -an # 显示所有连接
ss -p # 显示进程信息
41. ifconfig
和 ip
– 网络配置
# ifconfig(传统)
ifconfig # 显示网络接口信息
ifconfig eth0 up # 启用网络接口
# ip(现代替代)
ip addr show # 显示IP地址
ip route show # 显示路由表
ip link show # 显示网络接口
第六部分:压缩归档命令(3个)
tar归档命令
42. tar
– 归档文件
# 创建归档
tar -czf archive.tar.gz files # 创建gzip压缩归档
tar -cjf archive.tar.bz2 files # 创建bzip2压缩归档
tar -cJf archive.tar.xz files # 创建xz压缩归档
# 解压归档
tar -xzf archive.tar.gz # 解压gzip归档
tar -xjf archive.tar.bz2 # 解压bzip2归档
tar -xJf archive.tar.xz # 解压xz归档
# 查看归档
tar -tf archive.tar # 查看归档内容
tar -tzf archive.tar.gz # 查看压缩归档内容
💡 tar参数记忆法:
c
– create(创建)x
– extract(解压)t
– list(列出)z
– gzip压缩j
– bzip2压缩J
– xz压缩f
– file(文件)v
– verbose(详细输出)
43. gzip
和 gunzip
gzip filename # 压缩文件
gzip -d file.gz # 解压文件
gunzip file.gz # 解压gzip文件
gzip -9 filename # 最大压缩比
44. zip
和 unzip
zip archive.zip files # 创建zip归档
zip -r archive.zip dir # 递归压缩目录
unzip archive.zip # 解压zip文件
unzip -l archive.zip # 查看zip内容
第七部分:权限管理命令(3个)
文件权限控制
45. chmod
– 修改文件权限
# 数字模式
chmod 755 filename # 设置权限为rwxr-xr-x
chmod 644 filename # 设置权限为rw-r--r--
chmod 600 filename # 设置权限为rw-------
# 符号模式
chmod +x filename # 添加执行权限
chmod -w filename # 移除写权限
chmod u+x,g-w,o-r file # 复杂权限设置
💡 权限数字对照表:
4
– 读权限(r)2
– 写权限(w)1
– 执行权限(x)7
= 4+2+1 = rwx6
= 4+2 = rw-5
= 4+1 = r-x
46. chown
– 修改文件所有者
chown user filename # 修改文件所有者
chown user:group file # 修改所有者和组
chown -R user:group dir # 递归修改目录
47. chgrp
– 修改文件所属组
chgrp group filename # 修改文件所属组
chgrp -R group dirname # 递归修改目录所属组
第八部分:用户管理命令(2个)
🔑 用户切换和权限
48. su
和 sudo
– 用户切换
# su - 切换用户
su username # 切换到指定用户
su - # 切换到root用户
su - username # 切换用户并加载环境
# sudo - 临时提权
sudo command # 以root身份执行命令
sudo -u user command # 以指定用户身份执行
sudo -i # 切换到root shell
49. passwd
– 密码管理
passwd # 修改当前用户密码
passwd username # 修改指定用户密码(需要权限)
passwd -l username # 锁定用户账户
passwd -u username # 解锁用户账户
第九部分:系统服务命令(1个)
服务管理
50. systemctl
– 现代服务管理
systemctl status service # 查看服务状态
systemctl start service # 启动服务
systemctl stop service # 停止服务
systemctl restart service # 重启服务
systemctl enable service # 设置服务开机启动
systemctl disable service # 禁用服务开机启动
systemctl list-units # 列出所有服务
© 版权声明
THE END
暂无评论内容