一、文件和目录列表命令
1. ls - 列出目录内容
ls # 显示当前目录可见文件
ls -l # 长格式显示(权限、所有者、时间等)
ls -a # 显示所有文件(包括隐藏文件)
ls -al # 长格式显示所有文件
ls -h # 人性化显示文件大小(K、M、G)
ls -t # 按修改时间排序(最新的在前)
ls -R # 递归显示子目录内容
ls *.txt # 显示所有.txt后缀的文件
2. tree - 树形结构显示目录
tree # 以树形结构显示当前目录
tree -L 2 # 只显示2层深度
tree -d # 只显示目录
3. find - 查找文件或目录
find /tmp -name "test*" # 在/tmp下查找以test开头的文件
find . -type d -mtime -7 # 当前目录下7天内修改过的目录
find / -size +100M # 查找大于100MB的文件(根目录下)
二、文件处理命令
1. 创建文件
touch file.txt # 创建空文件
echo "content" > file # 输出内容到文件(覆盖)
echo "append" >> file # 追加内容到文件
cp /dev/null file # 清空文件内容
2. 复制文件
cp source dest # 复制文件
cp -r dir1 dir2 # 递归复制目录
cp -i source dest # 覆盖前提示确认
cp -p source dest # 保留文件属性(权限、时间等)
3. 移动 / 重命名文件
mv file1 file2 # 重命名文件
mv file /new/path/ # 移动文件到新目录
mv -i file1 file2 # 覆盖前提示确认
4. 删除文件
rm file.txt # 删除文件
rm -i file # 删除前提示确认
rm -f file # 强制删除(不提示)
rm -rf dir # 递归删除目录及其内容
5. 文件权限管理
chmod 755 file # 赋予文件所有者读写执行权限,其他用户读执行权限
chmod +x script.sh # 添加可执行权限
chown user:group file # 更改文件所有者和组
chmod -R 755 dir # 递归更改目录权限
三、目录处理命令
1. 创建目录
mkdir dir # 创建目录
mkdir -p a/b/c # 递归创建多级目录
mkdir -m 700 secure # 创建目录并设置权限
2. 删除目录
rmdir dir # 删除空目录
rm -r dir # 递归删除非空目录
3. 切换目录
cd /path # 切换到绝对路径
cd .. # 切换到上级目录
cd - # 回到上次目录
cd ~ # 回到用户主目录
4. 查看当前目录
pwd # 显示当前工作目录
四、查看文件内容
1. 简单查看
cat file.txt # 显示文件全部内容
cat -n file # 显示内容并带行号
tac file.txt # 倒序显示文件内容(从最后一行开始)
2. 分页查看
less file.txt # 分页查看(支持上下滚动)
more file.txt # 简单分页(只能向下翻)
3. 查看文件头部 / 尾部
head -n 10 file # 显示文件前10行
tail -f log.txt # 实时监控文件追加内容(常用于日志)
tail -n +20 file # 从第20行开始显示
4. 查看二进制文件
od -c file.bin # 以ASCII码形式查看二进制文件
hexdump -C file.bin # 以十六进制形式查看
5. 搜索文件内容
grep "keyword" file # 在文件中搜索关键词
grep -i "word" file # 不区分大小写搜索
grep -r "text" dir # 递归搜索目录中的文件
五、高级技巧
1. 文件比较
diff file1 file2 # 显示两个文件的差异
vimdiff file1 file2 # 使用vim可视化比较差异
2. 文件统计
wc file.txt # 统计行数、单词数、字符数
wc -l file # 只统计行数
3. 文件查找与操作结合
# 查找所有.log文件并删除
find . -name "*.log" -exec rm {} \;
# 查找大于100MB的文件并压缩
find / -size +100M -exec gzip {} \;
4. 文件内容替换
# 替换文件中的文本(sed命令)
sed -i 's/old/new/g' file.txt # 替换所有old为new
sed -i '1,10s/old/new/g' file # 只替换1-10行
六、常用快捷键
快捷键 | 功能 |
---|---|
Tab | 自动补全命令或文件名 |
Ctrl + C | 终止当前命令 |
Ctrl + D | 退出当前 shell |
Ctrl + Z | 暂停当前命令 |
Up/Down | 浏览命令历史 |
!! | 执行上一条命令 |
!grep | 执行最近以 grep 开头的命令 |