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 / 噩梦 :永远不要在生产环境直接执行此命令。建议养成习惯:先 lsrm,或使用 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 {} ;(逐个执行)效率高数倍。
相关推荐
子兮曰2 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰2 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
爱勇宝2 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
胡写代码2 天前
别再前后端各写一套表单校验了
java·后端
大勇前进2 天前
原生 PHP 还是 Laravel?小项目到底要不要上框架
后端
yuzhi_liu2 天前
我用 LangGraph4j 实现 Multi-Agent Supervisor
后端
alsmile2 天前
Node-RED 之外,国产规则引擎的新方案:基于标准语法,Go 先行实现
后端·开源·go
大白802 天前
PHP 内存溢出排查思路:看懂报错日志,精准定位问题
后端
二月龙2 天前
PHP 接口返回统一响应封装,让前后端对接更省心
后端
盖伦发发2 天前
软件工程SOLID 五大设计原则
后端·软件工程