Linux 基本命令整理
🐧 Linux 基本命令整理
为了方便初学者快速掌握 Linux 常用命令,以下是经过分类整理的核心命令及用法说明。
📂 目录操作与文件管理
pwd
-
核心功能:打印当前工作目录的绝对路径,明确用户所在位置。
-
实操示例:
pwd # 输出示例:/home/user/documents
ls
-
核心功能:列出指定目录中的文件和子目录(默认显示当前目录)。
-
高频选项:
-
- -l:长格式显示,包含权限(如 -rw-r–r–)、所有者、大小、修改时间等详细信息。
-
- -a:显示所有文件,包括 .bashrc 等隐藏文件(以 . 开头的文件)。
-
- -A:显示所有文件,但排除 .(当前目录)和 …(上级目录)。
-
- -d:仅显示目录自身属性,例如 ls -ld /etc 查看 /etc 目录的权限。
-
- -h:以人类可读单位(K、M、G)显示文件大小,如 2.5M 而非 2621440 字节。
-
- -t:按修改时间排序(最新文件在前),结合 -r 可反向排序(最旧文件在前)。
-
- -S:按文件大小排序(从大到小),配合 -h 更直观。
du
-
核心功能:查看文件或目录占用的磁盘空间。
-
实用选项:
-
- -a:显示所有文件(包括子文件)的空间占用,默认仅显示目录。
-
- -h:以 K、M、G 为单位显示(如 1.2G)。
-
- -s:仅统计总大小,不显示子项详情,例如 du -sh /var/log 查看日志目录总占用。
mkdir
-
核心功能:创建新目录。
-
关键选项:
-
- -p:递归创建多层目录,无需手动逐级创建。
示例:mkdir -p /tmp/project/{src,docs,tests} 一次性创建项目所需的三级目录结构。
touch
-
核心功能:
-
- 快速创建空文件(若文件不存在)。
-
- 更新已有文件的时间戳(访问时间和修改时间)。
-
批量操作:touch note_{1…5}.txt 一次性创建 note_1.txt 到 note_5.txt 五个文件。
ln
-
核心功能:创建文件 / 目录的链接(类似快捷方式)。
-
两种链接类型:
-
- 硬链接(无选项):
-
-
- 仅支持文件,不支持目录。
-
-
-
- 源文件删除后,硬链接仍可访问内容(共享 inode)。
-
示例:ln /etc/hosts hosts-hard
-
- 软链接(-s 选项):
-
-
- 支持文件和目录,仅记录源路径。
-
-
-
- 源文件删除后,软链接失效(显示 broken link)。
-
示例:ln -s /usr/local/bin/python3 python
cp
-
核心功能:复制文件或目录。
-
必知选项:
-
- -r:递归复制目录(复制目录时必须使用),例如 cp -r /home/user/pics /backup。
-
- -i:覆盖文件前提示确认(避免误操作),如 cp -i file.txt /tmp。
-
- -p:保留源文件的权限、修改时间等属性,适用于备份场景。
rm
-
核心功能:删除文件或目录(谨慎使用!)。
-
重要选项:
-
- -r:递归删除目录及所有内容,例如 rm -r old_project。
-
- -f:强制删除,不提示确认(风险较高,建议新手慎用)。
-
- -i:删除前逐一提示,适合重要文件操作。
-
⚠️ 警告:rm -rf / 会删除系统所有文件,绝对禁止执行!
mv
-
核心功能:
-
- 移动文件 / 目录到新位置,例如 mv report.pdf /tmp。
-
- 重命名文件 / 目录(同一目录下),例如 mv oldname.txt newname.txt。
🔧 别名管理
alias
- 核心功能:为常用命令创建简化别名,提高效率。
示例:alias ll=‘ls -lha’ 以后输入 ll 即可执行 ls -lha。
unalias
- 核心功能:删除已创建的别名,例如 unalias ll 取消 ll 别名。
永久生效设置
- 编辑用户配置文件:
vi ~/.bashrc # 或 ~/.bash_profile
-
在文件中添加别名(如 alias cls=‘clear’)。
-
使配置生效:
source ~/.bashrc # 无需重启终端即可生效
🔍 文件查找与搜索
find
-
核心功能:在指定目录下递归查找文件 / 目录,支持多条件筛选。
-
常用筛选条件:
-
- -name “*.log”:按文件名查找(区分大小写),如查找所有 .log 日志文件。
-
- -iname “readme”:不区分大小写查找(匹配 ReadMe、README 等)。
-
- -size +100M:查找大于 100M 的文件(-100M 为小于,100M 为等于)。
-
- -user john:查找属于用户 john 的文件。
-
- -type f:仅查找普通文件(d 为目录,l 为链接文件)。
-
组合操作:查找后直接执行命令(如删除):
find /tmp -name "*.tmp" -type f -mtime +7 -exec rm -f {} \;# 含义:删除 /tmp 下7天前的 .tmp 临时文件
📦 挂载管理
mount
- 核心功能:将磁盘分区、U 盘等存储设备挂载到目录(挂载点),使其可访问。
示例:mount /dev/sdb1 /mnt/usb 将 U 盘挂载到 /mnt/usb。
- 常用选项:-t ext4 指定文件系统类型(如 ext4、ntfs)。
umount
- 核心功能:卸载已挂载的设备,例如 umount /mnt/usb 安全移除 U 盘。
📄 文件内容查看
cat
- 核心功能:一次性显示文件全部内容(适合小文件),例如 cat /etc/hostname 查看主机名。
more 与 less
-
共同点:分页查看大文件内容(避免内容刷屏)。
-
差异点:
-
- more:仅支持向下翻页(空格翻页,b 键回退),适合简单浏览。
-
- less:支持上下翻页、搜索(输入 /关键词 查找),功能更强大,推荐优先使用。
head 与 tail
-
head -n 5 file.txt:查看文件前 5 行(默认前 10 行)。
-
tail -n 5 file.txt:查看文件后 5 行(默认后 10 行)。
-
tail -f /var/log/syslog:实时跟踪日志新增内容(常用于监控系统或应用日志)。
🔠 文本统计与过滤
wc
-
核心功能:统计文件的行数、单词数、字节数。
-
常用组合:
-
- wc -l file.txt:统计行数(常用于查看日志条数)。
-
- wc -w README.md:统计单词数(以空格分隔)。
grep
-
核心功能:在文本中筛选含指定关键词的行(强大的文本过滤工具)。
-
实用选项:
-
- -i:忽略大小写,如 grep -i “error” log.txt 匹配 Error、ERROR 等。
-
- -v:反向筛选(显示不含关键词的行),如 grep -v “^#” config.ini 过滤注释行。
-
- ^ 与 $:匹配行首 / 行尾,例如 grep “^root” /etc/passwd 查找以 root 开头的行。
🗜️ 压缩与归档
gzip 与 gunzip
-
功能:压缩 / 解压 .gz 格式文件(不支持目录)。
-
- 压缩:gzip data.txt → 生成 data.txt.gz(原文件删除)。
-
- 解压:gunzip data.txt.gz → 恢复为 data.txt。
bzip2 与 bunzip2
-
功能:压缩 / 解压 .bz2 格式文件(压缩率通常高于 gzip)。
-
- 压缩:bzip2 report.pdf → 生成 report.pdf.bz2。
-
- 解压:bunzip2 report.pdf.bz2 → 恢复为 report.pdf。
tar(归档 + 压缩)
-
核心功能:打包目录并压缩,支持 .tar.gz(常用)、.tar.bz2 等格式。
-
压缩命令:
tar -czvf backup.tar.gz /home/docs # 打包并压缩为 .tar.gz 格式tar -cjvf data.tar.bz2 /var/log # 打包并压缩为 .tar.bz2 格式
- 解压命令:
tar -xzvf backup.tar.gz -C /tmp # 解压到 /tmp 目录tar -xjvf data.tar.bz2 # 解压到当前目录
-
选项说明:
-
- -c:创建归档;-x:提取文件;-z:用 gzip 压缩;-j:用 bzip2 压缩;-v:显示过程;-f:指定文件名。
🖥️ 系统信息与管理
时间管理
-
date:查看当前时间,date -s “2025-01-01 12:00” 手动修改系统时间。
-
hwclock -w:将系统时间同步到硬件时钟(避免重启后时间错乱)。
历史命令
-
history:显示执行过的命令记录(默认保存 1000 条)。
-
快捷执行:!123 执行第 123 条命令,!ls 执行最近一次 ls 命令。
系统信息
-
uname -r:查看内核版本(如 5.15.0-78-generic)。
-
hostname:查看主机名,hostnamectl set-hostname server01 修改主机名。
-
ip a:查看所有网络接口的 IP 地址(替代老旧的 ifconfig)。
关机与重启
-
shutdown -h now 或 poweroff:立即关机。
-
shutdown -r now 或 reboot:立即重启。
-
shutdown -r +30 “系统将在30分钟后重启”:定时重启并发送提示消息。
通过上述命令的组合使用,可满足 Linux 日常操作的大部分需求。建议结合实际场景多练习,逐步熟悉命令的灵活应用。