Linux 文件操作命令手册
一、基础文件操作命令
1.1 复制文件/目录 - cp
# 基本语法
cp [选项] 源文件 目标文件
cp [选项] 源文件... 目标目录# 常用选项
-r, -R # 递归复制目录及其内容
-i # 覆盖前提示确认
-u # 仅在源文件比目标文件新或目标文件不存在时复制
-v # 显示详细复制过程
-p # 保留文件属性(权限、时间戳等)
-a # 归档模式,保留所有属性并递归复制# 示例
cp file.txt /tmp/ # 复制文件到指定目录
cp -r dir1/ dir2/ # 递归复制目录
cp -i important.txt backup/ # 覆盖前提示
cp -av /home/user/docs/ /backup/ # 完整备份目录
1.2 移动/重命名文件 - mv
# 基本语法
mv [选项] 源文件 目标文件
mv [选项] 源文件... 目标目录# 常用选项
-i # 覆盖前提示
-u # 仅在源文件比目标文件新时移动
-v # 显示详细过程
-f # 强制覆盖不提示# 示例
mv oldname.txt newname.txt # 重命名文件
mv file.txt /tmp/ # 移动文件到目录
mv *.jpg ~/Pictures/ # 移动所有jpg文件
mv -i document.txt /home/user/docs/ # 覆盖前提示
1.3 删除文件/目录 - rm
# 基本语法
rm [选项] 文件...
rmdir [选项] 空目录 # 仅删除空目录# 常用选项
-r, -R # 递归删除目录及其内容
-f # 强制删除,忽略不存在的文件,不提示
-i # 删除前提示确认
-v # 显示删除过程# 示例
rm file.txt # 删除单个文件
rm -r dir/ # 递归删除目录
rm -f /tmp/tempfile # 强制删除
rm -i *.log # 删除前逐个确认
rm -rf /path/to/dir # 危险操作!强制递归删除
⚠️ 安全提示 :使用 rm -rf 务必谨慎,建议先使用 ls -R 确认内容。
二、目录操作命令
2.1 创建目录 - mkdir
mkdir newdir # 创建单个目录
mkdir -p dir1/dir2/dir3 # 递归创建多层目录
mkdir -m 755 public_dir # 创建并设置权限
mkdir dir{1..5} # 批量创建 dir1 到 dir5
2.2 列出目录内容 - ls
ls # 列出当前目录内容
ls -l # 长格式显示(详细信息)
ls -a # 显示隐藏文件
ls -h # 人类可读大小(K, M, G)
ls -t # 按修改时间排序
ls -R # 递归显示子目录
ls -lhS # 按大小排序并人类可读
ls -ld */ # 只显示目录
2.3 切换工作目录 - cd
cd /path/to/dir # 切换到指定目录
cd ~ # 切换到用户主目录
cd - # 返回上一个目录
cd .. # 切换到父目录
cd ../../ # 切换到上两级目录
三、文件查看命令
3.1 查看文件内容
cat file.txt # 显示整个文件内容
cat -n file.txt # 显示行号
cat file1.txt file2.txt > merged.txt # 合并文件less file.txt # 分页查看(推荐)
# less 中使用:q(退出), /搜索词, n(下一个), N(上一个), g(开头), G(结尾)more file.txt # 简单分页查看
head file.txt # 显示前10行
head -n 20 file.txt # 显示前20行
tail file.txt # 显示后10行
tail -n 20 file.txt # 显示后20行
tail -f /var/log/syslog # 实时跟踪文件更新
四、文件权限管理
4.1 修改权限 - chmod
# 符号模式
chmod u+x script.sh # 用户添加执行权限
chmod g-w file.txt # 组移除写权限
chmod o=r-- config.ini # 其他用户只读
chmod a+rwx public_dir # 所有人可读、写、执行
chmod u=rwx,g=rx,o=r file.txt # 用户rwx,组rx,其他r# 八进制模式
chmod 755 script.sh # rwxr-xr-x
chmod 644 document.txt # rw-r--r--
chmod 700 private_key # rwx------
chmod -R 755 /path/to/dir # 递归修改目录权限
4.2 更改所有者 - chown
chown user file.txt # 更改文件所有者
chown user:group file.txt # 同时更改所有者和组
chown -R user:group /path/to/dir # 递归更改
chown :staff shared_file # 仅更改组
4.3 更改所属组 - chgrp
chgrp staff file.txt # 更改文件所属组
chgrp -R admins /path/to/dir # 递归更改目录组
五、文件搜索命令
5.1 实时搜索 - find
find /path -name "*.txt" # 按名称搜索
find /path -iname "file*" # 不区分大小写
find /path -type f -size +100M # 查找大于100MB的文件
find /path -mtime -7 # 7天内修改的文件
find /path -user username # 按所有者查找
find /path -perm 644 # 按权限查找
find . -name "*.tmp" -delete # 查找并删除
find /path -name "*.log" -exec rm {} \; # 对结果执行命令
5.2 快速定位 - locate
updatedb # 更新数据库(需root)
locate file.txt # 快速查找文件
locate -i "*.png" # 不区分大小写
locate -n 10 "*.py" # 只显示前10个结果
六、文件压缩与解压
6.1 tar 归档工具
# 创建归档
tar -cvf archive.tar dir/ # 仅归档不压缩
tar -czvf archive.tar.gz dir/ # gzip压缩
tar -cjvf archive.tar.bz2 dir/ # bzip2压缩
tar -cJvf archive.tar.xz dir/ # xz压缩# 解压归档
tar -xvf archive.tar # 解压tar
tar -xzvf archive.tar.gz # 解压gzip
tar -xjvf archive.tar.bz2 # 解压bzip2
tar -xJvf archive.tar.xz # 解压xz
tar -xvf archive.tar.gz -C /path # 指定解压目录# 查看内容
tar -tvf archive.tar.gz # 查看压缩包内容
6.2 zip/unzip
zip archive.zip file1 file2 # 压缩文件
zip -r archive.zip dir/ # 递归压缩目录
unzip archive.zip # 解压
unzip -l archive.zip # 查看内容
unzip archive.zip -d /path # 指定解压目录
6.3 gzip/gunzip
gzip file.txt # 压缩文件(原文件删除)
gzip -c file.txt > file.txt.gz # 压缩并保留原文件
gunzip file.txt.gz # 解压
gzip -d file.txt.gz # 解压(同上)
zcat file.txt.gz # 不解压直接查看内容
七、文件信息与管理
7.1 创建空文件/更新时间戳 - touch
touch newfile.txt # 创建空文件
touch -c existing.txt # 更新访问和修改时间
touch -t 202401011200 file.txt # 设置特定时间戳
touch -r reference.txt target.txt # 复制参考文件的时间戳
7.2 创建链接 - ln
ln file.txt hardlink.txt # 创建硬链接
ln -s /path/to/file.txt symlink.txt # 创建软链接(推荐)
ln -sf /path/to/file symlink # 强制创建/覆盖软链接
7.3 查看文件统计信息
wc file.txt # 统计行数、词数、字节数
wc -l file.txt # 仅统计行数
wc -w file.txt # 仅统计词数du file.txt # 显示文件磁盘使用量
du -h file.txt # 人类可读格式
du -sh dir/ # 显示目录总大小df -h # 查看文件系统磁盘空间
八、实用技巧与组合命令
8.1 批量操作
# 批量重命名
for f in *.txt; do mv "$f" "${f%.txt}.bak"; done# 批量复制
find . -name "*.jpg" -exec cp {} /backup/ \;# 安全删除(移动到回收站)
mv file.txt ~/.local/share/Trash/files/
8.2 管道与重定向
ls -l > filelist.txt # 输出重定向到文件
cat file1.txt >> file2.txt # 追加内容
grep "error" log.txt > errors.txt # 筛选内容并保存
command 2> error.log # 重定向错误信息
8.3 权限安全最佳实践
# 查找并修复权限
find /path -type f -perm 777 -exec chmod 644 {} \;
find /path -type d -perm 777 -exec chmod 755 {} \;# 设置粘滞位(目录仅允许文件所有者删除)
chmod +t shared_dir/
九、危险操作与预防
9.1 高危命令(使用前务必确认)
# 删除根目录(极度危险!)
rm -rf /# 清空文件(不可逆)
> important.txt# 覆盖分区(危险)
dd if=file.iso of=/dev/sda
9.2 安全替代方案
# 使用别名防止误删
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'# 安装 trash-cli 作为安全删除
trash-put file.txt # 移动到回收站
trash-list # 查看回收站
trash-restore # 恢复文件
十、快速参考表
| 操作类型 | 命令 | 常用选项 | 说明 |
|---|---|---|---|
| 复制 | cp |
-r, -i, -v |
文件/目录复制 |
| 移动/重命名 | mv |
-i, -v |
移动或重命名 |
| 删除 | rm |
-r, -i, -f |
删除文件/目录 |
| 创建目录 | mkdir |
-p, -m |
创建新目录 |
| 查看内容 | cat, less |
-n |
查看文件内容 |
| 权限 | chmod |
-R |
修改权限 |
| 所有者 | chown |
-R |
修改所有者 |
| 搜索 | find |
-name, -type |
查找文件 |
| 压缩 | tar, zip |
-z, -j |
压缩/解压 |
本手册涵盖 Linux 系统日常文件操作的核心命令。建议在使用破坏性命令(如 rm -rf)前,先在测试环境练习,或添加 -i 选项确认。保持使用 man command 查看完整手册页的习惯,以了解更多选项和用法。