rm、cp、mv是文件操作的最小集。下面补全日常高频的其余命令。
查看与浏览#
ls — 列出目录内容
最常用的命令,没有之一。
ls # 平铺列出当前目录
ls -l # 长格式:权限/大小/日期
ls -a # 显示隐藏文件(. 开头的)
ls -la # 长格式 + 隐藏文件
ls -lh # 人类可读的大小(1K 234M 3G)
ls -lt # 按修改时间排序,最新的在前记忆口诀:ls -lah = 全看到 + 能读懂。
通配符配合 ls
ls *.md # 列出所有 .md 文件
ls report_?? # 列出 report_01, report_02 等两字符后缀
ls [abc]* # 列出以 a/b/c 开头的文件创建与删除#
mkdir — 创建目录
mkdir new_dir # 创建一个目录
mkdir -p a/b/c/d # 级联创建,不报错-p 是最常用的选项:父目录不存在时自动创建,已存在也不报错。
touch — 创建空文件 / 更新修改时间
touch note.md # 新建空文件(不存在时)
touch existing_file # 更新时间戳为现在(存在时)rmdir — 删除空目录
rmdir empty_dir # 只删空目录,非空时报错(安全)实际上更常用 rm -rf 删非空目录,但需要格外小心。
查找与定位#
find — 按条件搜索文件
find . -name "*.md" # 按名字在当前目录及子目录搜索
find . -type d -name "Notes" # 只搜目录
find . -type f -size +100M # 搜 >100M 的文件
find . -mtime -7 # 最近 7 天修改过的文件find 的强大在于能对搜到的文件执行操作:
find . -type f -name "*.tmp" -print # 先核对待删除文件
find . -type f -name "*.tmp" -delete # 确认目录与匹配范围后删除,无法自动撤回
find . -name "*.md" -exec wc -l {} + # 统计每个 .md 文件的行数链接#
ln — 创建硬链接和软链接
ln target link_name # 硬链接:同一个文件的两个名字
ln -s target link_name # 软链接:指向目标的快捷方式日常几乎只用软链接:
ln -s /path/to/long/directory/app ~/shortcut软链接可以类比快捷方式,但它保存的是路径。删除目标路径后,软链接会断开;硬链接仍指向同一 inode,直到最后一个硬链接删除且没有进程打开该文件,文件数据才释放。硬链接通常不能跨文件系统,也通常不能链接目录。
打包与压缩#
tar — 打包
tar -cvf archive.tar dir/ # 打包(不压缩)
tar -czvf archive.tar.gz dir/ # 打包 + gzip 压缩
tar -xvf archive.tar # 解包
tar -xzvf archive.tar.gz # 解包 + 解 gzip记忆:c = create 创建,x = extract 解包,z = gzip,v = verbose 显示过程,f = file 指定文件名。
zip / unzip — 跨平台压缩
zip -r archive.zip dir/ # 递归压缩
unzip archive.zip # 解压
unzip -l archive.zip # 只看不解磁盘空间#
du — 目录/文件占多少空间
du -sh dir/ # 总计大小,人类可读
du -sh * # 当前目录每个文件/文件夹各占多少
du -sh * | sort -hr # 从大到小排df — 磁盘还剩多少空间
df -h # 各分区用量,人类可读输出与传输#
echo 与 cat
echo "hello" # 输出文本到终端
echo "hello" > file.txt # 输出到文件(覆盖)
cat file.txt # 显示文件全部内容
cat a.txt b.txt > c.txt # 合并两个文件与已有知识的衔接#
| 你已经知道 | 现在补上 | 关系 |
|---|---|---|
rm |
rmdir / find -delete |
按条件删除;-delete 同样不可撤回 |
cp |
tar / zip |
归档多个文件,便于复制或传输 |
mv |
ln -s |
移动 vs 引用 |
| 无 | ls / du / df |
看见文件系统的眼睛 |
权限管理(chmod / chown / chgrp)在 Linux 文件权限 中详述。
参考与延伸
根据技术笔记重新整理,示例使用通用名称。