在日常的 Linux 运维与开发工作中,熟练掌握命令行操作是提升效率的关键。为了帮助大家快速查阅和记忆,我整理了这份涵盖文件操作、目录管理、文本查看及高级处理的命令大全。
无论你是初学者还是资深用户,这份速查表都能助你一臂之力。
📂 文件操作命令
文件管理是 Linux 系统中最基础也是最高频的操作,包括文件的创建、复制、移动和删除。
创建文件
使用 touch 命令可以快速创建空文件,或者使用重定向符号 > 创建带内容的文件。
创建空文件
touch file.txt
创建多个文件
touch file1.txt file2.txt file3.txt
创建带内容的文件
echo "Hello World" > file.txt
追加内容(不会覆盖原内容)
echo "Second line" >> file.txt
复制文件
cp 命令用于复制文件或目录,常用参数包括 -r(递归复制目录)、-p(保留属性)和 -i(覆盖前询问)。
复制文件
cp source.txt dest.txt
复制目录(递归)
cp -r /source/dir /dest/dir
保留属性复制
cp -p source.txt dest.txt
交互式复制(覆盖前询问)
cp -i source.txt dest.txt
显示进度
cp -v source.txt dest.txt
移动与重命名
mv 命令既可以用于移动文件,也可以用于重命名。
移动文件
mv file.txt /new/location/
重命名文件
mv oldname.txt newname.txt
移动并重命名
mv file.txt /new/location/newname.txt
交互式移动
mv -i file.txt dest/
删除文件
⚠️ 注意:rm 命令删除的文件通常无法恢复,请谨慎操作,尤其是使用 -rf 组合时。
删除文件
rm file.txt
删除多个文件
rm file1.txt file2.txt
交互式删除(推荐新手使用)
rm -i file.txt
强制删除(危险!)
rm -f file.txt
删除目录(递归)
rm -r /path/to/dir
强制删除目录(极度危险!)
rm -rf /path/to/dir
📁 目录操作命令
高效地浏览和管理目录结构是 Linux 用户的必备技能。
创建目录
mkdir 命令用于创建新目录,-p 参数允许递归创建多级目录。
创建单个目录
mkdir newdir
创建多级目录(递归)
mkdir -p /path/to/deep/dir
创建多个目录
mkdir dir1 dir2 dir3
创建目录并设置权限
mkdir -m 755 newdir
切换目录
cd 命令用于在文件系统中导航。
绝对路径跳转
cd /home/longge/projects
相对路径跳转
cd projects
返回上级目录
cd ..
返回主目录
cd ~
或者直接输入 cd
返回上一个工作目录
cd -
查看当前所在目录路径
pwd
查看目录内容
ls 命令是查看文件列表的神器,配合不同参数可以显示详细信息。
基本列表
ls
详细列表(显示权限、大小等)
ls -l
显示隐藏文件
ls -a
详细 + 隐藏(最常用组合)
ls -la
人类可读的大小(如 KB, MB)
ls -lh
按时间排序
ls -lt
按大小排序
ls -lS
递归显示子目录
ls -lR
只显示目录
ls -d */
查看目录大小
使用 du 命令可以统计磁盘使用情况。
查看目录总大小
du -sh /path/to/dir
查看子目录大小(深度为1)
du -h --max-depth=1 /path/to/dir
查看当前目录各文件大小并排序
du -h * | sort -hr
🔍 查找与链接
查找文件
find 命令功能强大,支持按名称、类型、大小、时间等多种条件查找。
按名称查找
find /home -name "*.txt"
按类型查找(f 文件,d 目录)
find /var -type f -name "*.log"
按大小查找(查找大于 100M 的文件)
find / -size +100M
按时间查找(7天以内修改过的)
find /home -mtime -7
查找并删除
find /tmp -name "*.tmp" -delete
查找并执行命令(例如压缩日志)
find /var/log -name "*.log" -exec gzip {} ;
链接文件
Linux 中的链接类似于 Windows 的快捷方式,分为软链接和硬链接。
软链接(类似快捷方式,可跨分区)
ln -s /path/to/source linkname
硬链接(指向同一 inode,不可跨分区)
ln source.txt hardlink.txt
查看链接详情
ls -l linkname
📄 文件内容查看
查看文件内容时,根据文件大小和查看需求选择合适的命令。
查看全部内容
查看小文件
cat file.txt
查看多个文件
cat file1.txt file2.txt
显示行号
cat -n file.txt
显示非空行号
cat -b file.txt
分页与部分查看
分页查看(空格翻页,q 退出)
less file.txt
分页查看(不支持向上翻页)
more file.txt
查看前 N 行
head -n 20 file.txt
查看后 N 行
tail -n 20 file.txt
实时查看日志(监控文件变化,按 Ctrl+C 退出)
tail -f /var/log/syslog
实时查看 + 显示已有最后 50 行
tail -f -n 50 /var/log/syslog
统计信息
wc 命令用于统计行数、单词数和字节数。
统计行数、单词数、字节数
wc file.txt
只显示行数
wc -l file.txt
只显示单词数
wc -w file.txt
只显示字符数
wc -c file.txt
统计多个文件
wc -l *.txt
🛠️ 文本处理三剑客
grep、sed 和 awk(此处主要介绍 grep 和 sed)是文本处理的利器。
文本搜索 (grep)
基本搜索
grep "pattern" file.txt
忽略大小写
grep -i "pattern" file.txt
显示行号
grep -n "pattern" file.txt
反向匹配(显示不包含 pattern 的行)
grep -v "pattern" file.txt
递归搜索目录
grep -r "pattern" /path/to/dir
显示匹配行前后 3 行(上下文)
grep -C 3 "pattern" file.txt
显示匹配行后 5 行
grep -A 5 "pattern" file.txt
显示匹配行前 5 行
grep -B 5 "pattern" file.txt
使用正则表达式(例如查找以数字开头的行)
grep -E "^[0-9]+" file.txt
统计匹配行数
grep -c "pattern" file.txt
文本替换 (sed)
替换第一个匹配(仅输出到屏幕)
sed 's/old/new/' file.txt
替换所有匹配
sed 's/old/new/g' file.txt
直接修改文件内容
sed -i 's/old/new/g' file.txt
备份后修改(生成 .bak 备份文件)
sed -i.bak 's/old/new/g' file.txt
删除空行
sed '/^$/d' file.txt
删除包含 pattern 的行
sed '/pattern/d' file.txt
只打印匹配行
sed -n '/pattern/p' file.txt
替换第 5 行的内容
sed '5s/old/new/' file.txt
替换 1 到 10 行的内容
sed '1,10s/old/new/g' file.txt
📊 数据处理与系统信息
字段提取与排序
cut 用于提取列,sort 用于排序,uniq 用于去重。
按字段提取(以冒号分隔,提取第 1 字段)
cut -d: -f1 /etc/passwd
提取多个字段
cut -d: -f1,3,7 /etc/passwd
基本排序
sort file.txt
逆序排序
sort -r file.txt
数字排序
sort -n file.txt
按指定字段排序
sort -t: -k3 /etc/passwd
去重排序(需先排序)
sort file.txt | uniq
统计重复次数
sort file.txt | uniq -c
只显示重复行
sort file.txt | uniq -d
字符转换 (tr)
小写转大写
cat file.txt | tr 'a-z' 'A-Z'
大写转小写
cat file.txt | tr 'A-Z' 'a-z'
删除指定字符(如删除回车符)
cat file.txt | tr -d 'r'
替换字符(如冒号换为制表符)
cat file.txt | tr ':' 't'
系统信息查询
查看系统所有信息
uname -a
查看内核版本
uname -r
查看主机名
hostname
查看系统运行时间
uptime
查看当前登录用户
who
查看当前用户名
whoami
小贴士:熟练掌握这些命令,配合 Tab 键自动补全和历史命令(上下箭头),你的 Linux 操作效率将成倍提升!建议收藏本文,随时查阅。