Linux 文件与目录操作命令(通关版)

📖 知识点简介

Linux 一切皆文件。文件与目录管理是运维工作的基本功------无论是部署服务、排查日志、配置权限,还是编写脚本,都离不开对文件和目录的精准操作。掌握这些命令,等于拿到了服务器的"通行证"。

🛠 核心命令整理

一、目录操作

命令 用途 常用参数
pwd 显示当前工作目录 ---
ls 列出目录内容 -l 详情 · -a 显示隐藏 · -h 人性化大小 · -t 按时间排序 · -S 按大小排序 · -r 反向排序
cd 切换目录 cd .. 上级 · cd ~ 家目录 · cd - 上一个目录
mkdir 创建目录 -p 递归创建 · -v 显示创建过程
rmdir 删除空目录 -p 递归删除空父目录

二、文件操作

命令 用途 常用参数
touch 创建空文件 / 更新时间戳 ---
cp 复制文件或目录 -r 递归 · -p 保留属性 · -a 归档(保留所有) · -u 仅更新 · -v 显示过程
mv 移动 / 重命名 -u 仅更新 · -v 显示过程 · -i 交互式(覆盖前询问)
rm 删除文件或目录 -r 递归 · -f 强制 · -i 交互式 · -rf🙅 慎用!
ln 创建链接 -s 软链接(符号链接) · 无参数为硬链接
file 查看文件类型 ---

三、查找与定位

命令 用途 常用参数
find 按条件查找文件 -name 按名 · -type 按类型(f/d/l) · -size 按大小 · -mtime 按修改时间 · -exec 对结果执行命令
locate 快速定位(依赖数据库) -i 忽略大小写 · -c 显示匹配数
which 查找可执行文件路径 ---
whereis 查找程序二进制/源码/man页 ---

💻 实操示例

bash 复制代码
# === 基础操作 ===

# 创建多级目录
mkdir -p /data/logs/nginx/$(date +%Y%m%d)

# 复制目录(保留属性)
cp -rp /etc/nginx/ /data/backup/nginx_$(date +%Y%m%d)

# 批量重命名(给所有 .txt 加 _backup 后缀)
for f in *.txt; do mv "$f" "${f%.txt}_backup.txt"; done

# 安全删除:先移动到回收站而非直接 rm
alias rm-safe='mv -t ~/.trash'
# 用法:rm-safe file1 file2

# === find 实战 ===

# 查找 7 天前修改的日志并打包
find /var/log -name "*.log" -mtime +7 -exec tar -rvf old_logs.tar {} ;

# 查找大于 100MB 的文件
find / -type f -size +100M -exec ls -lh {} ; 2>/dev/null

# 查找空目录并删除
find . -type d -empty -delete

# === 链接 ==

# 给 Nginx 配置做软链接(方便版本切换)
ln -sf /etc/nginx/conf.d/prod.conf /etc/nginx/conf.d/active.conf

⚠️ 常见坑点 / 注意事项

  1. rm -rf / 噩梦 :永远不要在生产环境直接执行此命令。建议养成习惯:先 ls 再 rm,或使用 rm -i 别名。
  2. cp 时漏掉隐藏文件 :cp -r src/ dst/ 不会复制 . 开头的隐藏文件。正确做法:cp -r src/. dst/ 或 rsync -a src/ dst/。
  3. 软链接删错源文件 :删除软链接本身要用 rm link_name,不要加末尾斜杠,否则可能误删源目录下的文件。
  4. . 与 .. 的特殊含义 :. 代表当前目录,.. 代表上级目录。编程时注意路径拼接别踩坑。
  5. find -exec 性能优化 :大量文件时 -exec {} +(合并执行)比 -exec {} ;(逐个执行)效率高数倍。
相关推荐
万少5 分钟前
Qoder sonus模型 20分钟,复刻 马斯克 飞天汽车
前端·后端·算法
白露与泡影16 分钟前
Spring Boot 实现验证码:Hutool-captcha、AJ-Captcha、EasyCaptcha 到底怎么选?
java·spring boot·后端
小蒜学长30 分钟前
基于Springboot+Vue的高校教师教学业绩综合管理系统的设计与开发(代码+数据库+LW)
java·数据库·spring boot·后端·教学业绩管理·三级权限
熊哈哈O_o32 分钟前
千亿级时序数据:存储压缩、高速写入与时序超表技术
后端
Mikko732 分钟前
Spring Boot 3.5.16 自带的 Tomcat 10.1.55 中了哪些 CVE?其中一条是修上一个漏洞时带进来的
java·spring boot·后端·安全·tomcat
站大爷IP39 分钟前
Python的字符串查找把我坑惨了,原来find和index的区别这么大
后端
sp4240 分钟前
一个支持 Java 8 的 MCP SDK(支持最新 2026-07-28 协议)
后端·mcp
Gopher_HBo41 分钟前
HTTP2传输层与流控
后端
Bazingga42 分钟前
同一个脑子,不同的身体:桌面办公智能体全景拆解
后端
用户302822530681 小时前
你的 API 只返回 30 条,为什么数据库还是被打满了?
数据库·后端·架构