引言
在Linux的世界里,文件操作就像厨师的刀工🔪,是最基础却最重要的技能!本文将为你呈现最全面的Linux文件命令手册,包含12大类100+实用命令,从简单的文件导航到高级的文件传输,从基础查看命令到复杂的批量操作技巧。无论你是Linux新手还是资深用户,这份指南都能成为你终端操作的神兵利器!快准备好你的键盘,让我们一起征服Linux文件系统吧!🚀🐧
一、文件导航命令
1.1 pwd
- 显示当前目录
pwd
# 输出: /home/username
1.2 cd
- 切换目录
cd /path/to/directory # 绝对路径
cd ../parent # 相对路径
cd ~ # 返回家目录
cd - # 返回上一个目录
1.3 ls
- 列出目录内容
ls # 简单列出
ls -l # 详细列表(长格式)
ls -a # 显示隐藏文件(以.开头)
ls -lh # 人类可读的文件大小
ls -t # 按修改时间排序
ls -R # 递归列出子目录
二、文件操作命令
2.1 touch
- 创建空文件/更新时间戳
touch file.txt # 创建新文件
touch -t 202401011200 file.txt # 设置特定时间戳
2.2 cp
- 复制文件/目录
cp file1.txt file2.txt # 复制文件
cp -r dir1 dir2 # 递归复制目录
cp -v *.txt /backup/ # 详细模式复制
cp -u source/* dest/ # 只复制更新的文件
2.3 mv
- 移动/重命名文件
mv old.txt new.txt # 重命名
mv file.txt /new/path/ # 移动文件
mv -i file.txt dest/ # 交互模式(覆盖前询问)
mv -n file.txt dest/ # 不覆盖已存在文件
2.4 rm
- 删除文件
rm file.txt # 删除文件
rm -i file.txt # 交互式删除
rm -f file.txt # 强制删除(不提示)
rm -r directory/ # 递归删除目录
2.5 mkdir
- 创建目录
mkdir newdir # 创建单个目录
mkdir -p path/to/newdir # 创建多级目录
mkdir -m 755 secure_dir # 创建带权限的目录
2.6 rmdir
- 删除空目录
rmdir emptydir # 删除空目录
三、文件查看命令
3.1 cat
- 连接并显示文件
cat file.txt # 显示文件内容
cat -n file.txt # 显示行号
cat file1.txt file2.txt > combined.txt # 合并文件
3.2 less
/more
- 分页查看
less largefile.log # 可前后翻页
more largefile.log # 只能向前翻页
3.3 head
/tail
- 查看开头/结尾
head -n 10 file.txt # 显示前10行
tail -n 20 file.log # 显示最后20行
tail -f growing.log # 实时跟踪日志更新
3.4 file
- 确定文件类型
file unknownfile # 显示文件类型
四、文件查找命令
4.1 find
- 高级文件搜索
find / -name "*.conf" # 按名称查找
find . -type f -size +1M # 查找大于1MB的文件
find /var/log -mtime -7 # 查找7天内修改的文件
find ~ -empty # 查找空文件/目录
find . -perm 644 # 查找特定权限文件
4.2 locate
- 快速文件查找
locate passwd # 查找所有包含passwd的文件
updatedb # 更新locate数据库(需root)
4.3 grep
- 文件内容搜索
grep "error" logfile.txt # 搜索包含error的行
grep -r "pattern" /path/to/dir/ # 递归搜索目录
grep -i "warning" file.txt # 忽略大小写
grep -v "exclude" file.txt # 反向匹配(不包含)
grep -A 3 -B 2 "keyword" file # 显示匹配前后内容
五、文件权限命令
5.1 chmod
- 更改权限
chmod 755 script.sh # 数字模式设置权限
chmod u+x file.sh # 符号模式添加执行权限
5.2 chown
- 更改所有者
chown user:group file.txt
5.3 chgrp
- 更改所属组
chgrp developers file.txt
六、文件压缩/解压命令
6.1 tar
- 打包/解包
tar -cvf archive.tar dir/ # 创建tar包
tar -xvf archive.tar # 解压tar包
tar -czvf archive.tar.gz dir/ # 创建gzip压缩包
tar -xzvf archive.tar.gz # 解压gzip包
tar -cjvf archive.tar.bz2 dir/ # 创建bzip2压缩包
6.2 gzip
/gunzip
- 压缩/解压
gzip file.txt # 压缩为file.txt.gz
gunzip file.txt.gz # 解压.gz文件
6.3 zip
/unzip
zip archive.zip file1 file2 # 创建zip压缩包
unzip archive.zip # 解压zip文件
七、文件比较命令
7.1 diff
- 比较文件差异
diff file1.txt file2.txt
7.2 cmp
- 逐字节比较
cmp file1.bin file2.bin
7.3 comm
- 比较排序文件
comm file1.txt file2.txt
八、文件统计命令
8.1 wc
- 字数统计
wc file.txt # 行数、单词数、字节数
wc -l access.log # 只统计行数
8.2 du
- 磁盘使用情况
du -sh dir/ # 目录总大小
du -h --max-depth=1 /var # 查看一级子目录大小
8.3 df
- 磁盘空间信息
df -h # 人类可读的各分区空间
九、文件链接命令
9.1 ln
- 创建链接
ln -s target linkname # 创建符号链接
ln target hardlink # 创建硬链接
十、高级文件操作
10.1 split
- 分割文件
split -b 100M largefile part_ # 按100MB分割
10.2 sort
- 文件排序
sort file.txt # 按行排序
sort -n data.txt # 数值排序
sort -u list.txt # 去重排序
10.3 uniq
- 报告或过滤重复行
uniq sorted.txt # 去除相邻重复行
uniq -c log.txt # 计数重复行
10.4 tee
- 同时输出到屏幕和文件
ls -l | tee listing.txt
十一、文件传输命令
11.1 scp
- 安全复制
scp file.txt user@remote:/path/
scp -r dir/ user@remote:/path/
11.2 rsync
- 高效文件同步
rsync -avz src/ user@remote:dest/
rsync -avz --delete src/ dest/ # 同步并删除多余文件
十二、文件编辑命令
12.1 sed
- 流编辑器
sed 's/old/new/g' file.txt # 替换文本
sed -i.bak 's/old/new/' file # 直接修改文件(备份)
12.2 awk
- 文本处理
awk '{print $1}' file.txt # 打印第一列
awk '/pattern/ {print $0}' file # 匹配模式的行
总结 🎯
通过本文的系统学习,我们已经掌握了Linux文件操作的完整知识体系:
- 基础导航:cd/ls/pwd等目录操作命令 🗺️
- 文件操作:cp/mv/rm等核心管理命令 🛠️
- 内容处理:cat/less/grep等查看分析命令 🔍
- 高级技巧:批量重命名/文件传输等实用技能 🚀
黄金法则:
- 操作前先备份,特别是rm命令 📦
- 善用通配符(*)和正则表达式提高效率 ✨
- 掌握输出重定向(>/>>)和管道(|)的魔力 🔮
记住:熟练的文件操作是Linux高手的标志! 现在就开始练习这些命令,让你的终端操作飞起来吧!💻🐧
PS:如果你在学习过程中遇到问题,别慌!欢迎在评论区留言,我会尽力帮你解决!😄