Linux 常用命令手册

一、文件与目录操作

1. ls – 列出目录内容

语法ls [选项] [目录]
常用选项

选项 说明
-a 显示所有文件(包括隐藏文件,以 . 开头的文件)
-l 长格式显示(包含权限、所有者、大小、时间等详细信息)
-h 以人类可读的格式显示文件大小(如 KB/MB/GB)
-d 查看目录属性(而非目录内的文件)
-r 反向排序
-t 按修改时间排序

示例

bash

ls -alh /etc       # 查看 /etc 目录下的所有文件(详细信息+可读大小)
ls -d */          # 仅列出当前目录下的子目录(`*/` 表示所有子目录)
2. cd – 切换目录

语法cd [目录路径]
特殊用法

cd ~:切换到当前用户的家目录(等价于 cd)。
cd -:切换回上一次目录(类似浏览器的 “后退”)。
cd ..:切换到上级目录;cd ../..:切换到上上级目录。

示例

bash

cd /var/log       # 切换到 /var/log 目录
cd ~/Documents    # 切换到用户家目录下的 Documents 目录
3. mkdir – 创建目录

语法mkdir [选项] 目录名
常用选项

-p:递归创建多级目录(如父目录不存在则自动创建)。

示例

bash

mkdir project     # 创建名为 project 的目录
mkdir -p /data/logs/202505  # 递归创建 /data/logs/202505 目录
4. rm – 删除文件 / 目录

语法rm [选项] 文件/目录
常用选项

选项 说明
-f 强制删除(不询问确认)
-r 递归删除目录及其内容(危险!慎用)
-i 交互式删除(删除前询问确认)

示例

bash

rm file.txt       # 删除 file.txt(需确认)
rm -rf /temp/data # 强制递归删除 /temp/data 目录(谨慎使用!)
5. cp – 复制文件 / 目录

语法cp [选项] 源文件/目录 目标路径
常用选项

选项 说明
-r 复制目录(递归复制)
-p 保留文件属性(如权限、时间戳)
-v 显示复制过程

示例

bash

cp config.conf /backup/  # 复制文件到备份目录
cp -r /home/user/docs /mnt/data  # 复制整个目录到 /mnt/data
6. mv – 移动文件 / 重命名

语法mv 源文件/目录 目标路径
场景说明

移动文件mv /tmp/log.txt /var/log/
重命名文件mv old_name.txt new_name.txt
移动目录mv project/ /opt/

示例

bash

mv report.csv ~/Desktop/report_backup.csv  # 移动并重命名文件

二、文件内容查看

1. cat – 查看文件内容(适合小文件)

语法cat [选项] 文件
常用选项

-n:显示行号。
-b:显示行号(忽略空行)。

示例

bash

cat /etc/hosts       # 直接显示文件内容
cat -n script.sh     # 显示文件内容并带行号
2. more/less – 分屏查看大文件

语法more 文件 或 less 文件
区别

more:只能向下翻页(按 Space 或 Enter),无法回退。
less:支持上下翻页(按 PageUp/PageDown)、搜索(输入 /关键词)和退出(按 q)。

示例

bash

less /var/log/syslog  # 分屏查看系统日志,支持搜索
3. head/tail – 查看文件首尾内容

语法head/tail [选项] 文件
常用选项

-n N:显示前 / 后 N 行(默认 10 行)。
-ftail 专用):实时跟踪文件更新(常用于日志监控)。

示例

bash

head -n 5 /etc/passwd   # 查看文件前 5 行
tail -f /var/log/apache2/access.log  # 实时监控 Apache 访问日志

三、文件搜索与处理

1. grep – 文本搜索(过滤匹配内容)

语法grep [选项] "关键词" 文件
常用选项

选项 说明
-i 忽略大小写
-v 反向匹配(排除包含关键词的行)
-n 显示行号
-r 递归搜索目录下的所有文件

示例

bash

grep "ERROR" /var/log/app.log  # 查找日志中包含 ERROR 的行
grep -r "api_key" /etc/        # 递归搜索 /etc/ 目录下包含 api_key 的文件
2. find – 查找文件 / 目录(按路径、名称、时间等)

语法find 搜索路径 [条件] [操作]
常用条件

条件 说明
-name "模式" 按文件名匹配(支持通配符,如 *.txt
-type f/d 查找文件(f)或目录(d)
-size +10M 查找大于 10MB 的文件
-mtime -7 查找最近 7 天内修改的文件

示例

bash

find /home/user -name "*.pdf"  # 在 /home/user 下查找所有 PDF 文件
find /var/log -type f -size +50M  # 查找 /var/log 下大于 50MB 的文件
find /tmp -mtime +30 -exec rm {} ;  # 删除 /tmp 下 30 天未修改的文件

四、权限管理

1. chmod – 修改文件权限

语法chmod [选项] 权限模式 文件/目录
权限模式

字母表示法u(所有者)、g(所属组)、o(其他用户)、a(所有用户);+(添加权限)、-(移除权限)、=(设置权限);权限包括 r(读)、w(写)、x(执行)。

示例:chmod u+x script.sh(给所有者添加执行权限)。

数字表示法:用 3 位数字表示权限(r=4w=2x=1)。

示例:chmod 755 file.txt(所有者:读 + 写 + 执行;组和其他用户:读 + 执行)。

示例

bash

chmod -R 755 /var/www/html  # 递归设置目录及子文件权限为 755
2. chown – 修改文件所有者 / 所属组

语法chown [选项] 所有者:所属组 文件/目录
常用选项

-R:递归修改目录及其内容。

示例

bash

chown user:www-data /var/www/site.html  # 设置所有者为 user,所属组为 www-data
chown -R root:root /etc/nginx/  # 递归设置目录所有者和组为 root

五、用户与系统管理

1. useradd/userdel – 创建 / 删除用户

语法

bash

useradd -m -s /bin/bash newuser  # 创建用户并设置家目录和默认 shell
userdel -r olduser              # 删除用户及其家目录
2. passwd – 修改用户密码

语法

bash

passwd          # 当前用户修改自己的密码
sudo passwd user # 管理员为其他用户修改密码
3. sudo – 以管理员权限执行命令

语法sudo 命令
示例

bash

sudo apt update    # 管理员权限更新软件源
sudo reboot        # 重启系统

六、系统信息与监控

1. top/htop – 实时监控系统进程

top 常用操作

按 P:按 CPU 使用率排序。
按 M:按内存使用率排序。
按 q:退出。

htop 优势:可视化界面更友好,支持鼠标操作(需先安装:sudo apt install htop)。

2. df – 查看磁盘空间

语法df [选项]
常用选项

-h:以人类可读格式显示(如 GB/MB)。

示例

bash

df -h  # 查看所有文件系统的磁盘使用情况
3. free – 查看内存使用

语法free [选项]
常用选项

-h:以人类可读格式显示。

示例

bash

free -h  # 查看物理内存和交换空间使用情况

七、网络操作

1. ping – 测试网络连通性

语法ping [选项] 目标地址
常用选项

-c N:发送 N 个数据包后停止。
-W N:设置超时时间(秒)。

示例

bash

ping -c 4 google.com  # 发送 4 个 ICMP 包测试与谷歌的连接
2. ssh – 远程连接服务器

语法ssh [选项] 用户@服务器IP
示例

bash

ssh user@192.168.1.100  # 远程连接服务器(默认端口 22)
ssh -p 2222 user@server  # 连接指定端口(如 2222)
3. curl/wget – 下载文件

curl 示例

bash

curl -O https://example.com/file.zip  # 下载文件并保留原名
curl -s https://api.github.com | json_pp  # 静默下载并格式化 JSON

wget 示例

bash

wget -c https://linux.org/linux.iso  # 断点续传下载大文件
wget -r -p ./downloads https://example.com  # 递归下载网站内容到 ./downloads

八、包管理(以 Debian/Ubuntu 为例)

1. apt – 软件包管理

常用命令

bash

sudo apt update          # 更新软件源列表
sudo apt upgrade         # 升级已安装的软件包
sudo apt install package  # 安装软件包
sudo apt remove package   # 移除软件包(保留配置文件)
sudo apt purge package    # 彻底移除软件包(包括配置文件)
2. dpkg – 手动管理 deb 包

语法

bash

dpkg -i package.deb  # 安装 deb 包
dpkg -r package      # 移除已安装的包

九、进程管理

1. ps – 查看进程

语法ps [选项]
常用组合

ps aux:显示所有用户的进程(a)、包含详细信息(u)、使用 BSD 格式(x)。
ps -ef:显示进程树(-e 所有进程,-f 完整格式)。

2. kill – 终止进程

语法kill [信号] PID
常用信号

信号 说明
15(默认) 正常终止进程(推荐)
9 强制终止进程(可能导致数据丢失)

示例

bash

kill 12345       # 正常终止 PID 为 12345 的进程
kill -9 67890    # 强制终止 PID 为 67890 的进程

十、压缩与解压缩

1. tar – 打包压缩(支持 .tar.gz/.tar.bz2 等格式)

语法tar [选项] 压缩包名 源文件/目录
常用选项

选项 说明
-c 创建压缩包
-x 解压缩
-z 使用 gzip 压缩(.tar.gz)
-j 使用 bzip2 压缩(.tar.bz2)
-v 显示过程
-f 指定文件名(必须最后一个选项)

示例

bash

tar -czvf backup.tar.gz /data  # 压缩 /data 目录为 backup.tar.gz
tar -xzvf backup.tar.gz -C /backup  # 解压到 /backup 目录(-C 指定路径)
2. zip/unzip – ZIP 格式压缩

语法

bash

zip -r archive.zip folder/  # 压缩 folder 目录(-r 递归压缩)
unzip archive.zip -d extract/  # 解压到 extract 目录(-d 指定路径)

十一、文本处理工具

1. sort – 排序文本

语法sort [选项] 文件
常用选项

-n:按数字排序。
-r:反向排序。
-u:去重。

示例

bash

sort -n scores.txt  # 按数字升序排列分数文件
sort -ru names.txt  # 去重并反向排序名字列表
2. awk – 文本分析与格式化

语法awk '模式{动作}' 文件
示例

bash

awk '{print $1}' /etc/passwd  # 打印 /etc/passwd 文件的第一列(用户名)
awk -F: '$3 >= 1000 {print $1}' /etc/passwd  # 按冒号分割,筛选 UID ≥ 1000 的用户

十二、系统服务管理(systemd)

1. systemctl – 控制服务(适用于 CentOS 7+/Ubuntu 16.04+)

常用命令

bash

systemctl start nginx     # 启动 nginx 服务
systemctl stop nginx      # 停止服务
systemctl restart nginx   # 重启服务
systemctl status nginx    # 查看服务状态
systemctl enable nginx    # 设置开机自启
systemctl disable nginx   # 取消开机自启

十三、高级技巧:命令组合与管道

通过 |(管道)和 >(重定向)组合多个命令,实现复杂功能:

bash

ls -l /var/log | grep "error" | sort -nr  # 查看 /var/log 下包含 error 的文件,按时间倒序排列
curl https://api.example.com/data | jq .  # 用 jq 格式化 JSON 数据(需先安装 jq)
find /home -name "*.log" > log_files.txt  # 将查找结果保存到 log_files.txt 文件

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容