Linux系统文件操作:Shell(Operating System  Command Line, OS/CLI)目录导航、文件操作与日志查看命令实践 掌握常用Shell命令是高效使用Linux的核心能力。本文系统梳理pwd / ls / cd / cp / mv / rm / mkdir / mount|umount / touch / vi|vim / cat / more / tail / head / diff / echo / gedit等基础命令配合逐行注释的可直接执行示例、术语表与流程图帮助你在日常开发与运维中快速定位问题与稳定复现操作。概述Shell是命令行解释器Command-Line Interpreter, CLI用于与内核交互并驱动系统工具执行。命令既有状态返回码0成功非0失败也有标准输出/错误输出的行为区别理解这些基本规则有助于在脚本与终端中做出可预测、可恢复的操作决策。常见名词示意如下表名称英文全拼缩写说明操作系统Operating SystemOS资源管理与程序调度的基础软件命令行界面Command Line InterfaceCLI通过文本命令与系统交互的方式图形用户界面Graphical User InterfaceGUI通过窗口与控件与系统交互网络文件系统Network File SystemNFS使远端目录像本地盘一样挂载访问统一DiffUnified Diff无缩写diff -u的标准补丁格式结论先行把“路径语义、权限模型、I/O重定向、退出码”四件事吃透你的Linux操作将更快更稳。一、命令速查与场景映射目标首选命令常用选项/补充查看当前位置pwd-L逻辑路径默认、-P物理路径列目录与属性ls-l/-a/-h/-R/-t/-S--colorauto切换目录cd绝对/相对路径、~、..、-、-P物理复制cp文件直接目录-r保留属性-a更新-u移动/重命名mv覆盖互斥-i/-f/-n-t指定目标目录删除rm文件直删目录-r强制-f组合-rf建目录mkdir递归父目录-p权限-m MODE挂载/卸载mount / umountISO-o loopNFS-t nfs时间戳或空文件touch-c不创建、-t/-d指定时间、-r引用文本编辑vi/vim:wq / :q! / :set number显示/拼接cat-n/-A/-s与管道联动分页查看more-d/NUM/管道尾部追踪tail-n/-f/-F头部预览head-n/-c差异比较diff-u/-y/-r/-w打印文本echo-n/-e/-E重定向 GUI编辑gedit--new-window / --wait二、目录定位与查看1.1pwd打印工作目录在脚本中经常需要“锁定现场”尤其是涉及相对路径时。pwd# 打印当前工作目录逻辑路径默认等同 -Lpwd-P# 打印“物理路径”不解析符号链接echo$?# 打印上一条命令的退出状态码0成功非0失败-P能规避符号链接带来的路径混淆有利于排查真实目录位置。1.2ls列出文件与属性先观察再操作能明显降低误删与误覆盖的概率。ls-lah# 以长格式、含隐藏项、可读单位显示当前目录内容ls-lt# 按修改时间倒序列出最新在前ls-R/etc# 递归列出 /etc 下的层级与文件-l/-a/-h是通用三件套-t/-S让你按时间或大小快速定位目标。三、目录切换与路径规则2.1cd绝对/相对/快捷定位路径的三种前缀决定解析起点/根、~家目录、相对路径当前工作目录。cd/etc# 切到绝对路径 /etccd-# 切回“上一次所在目录”cd../..# 向上两级cd~/Documents# 切到家目录下的 Documents相对路径更短绝对路径更稳按场景取舍。路径前缀对比前缀含义示例假设当前/home/admin家目录/home/admin/绝对路径/var/log/syslog~家目录~/work→/home/admin/work./当前目录./run.sh..父目录../assets四、文件与目录的复制/移动/删除3.1cp复制文件/目录复制目录必须带递归要保留属性请选择归档模式。cpfile.txt /tmp/# 复制文件到 /tmpcp-rsrc/ dst/# 递归复制目录 src 到 dstdst 不存在会新建cp-aapp/ /opt/app.bak/# 归档复制保留权限/时间/链接等属性-a等同-dR --preserveall是做备份时的首选。3.2mv移动/重命名一次动作同时承担“移动”和“改名”。mvold.txt new.txt# 同目录重命名mv-i*.log /var/log/# 交互式移动存在同名目标时询问mv-nreport.csv /tmp/# 目标存在则“不覆盖”-i/-f/-n是互斥语义最后出现的那个生效。3.3rm删除慎用删除不可逆先ls再rm是好习惯。rm-ifile.txt# 交互式删除逐一确认rm-rold_data/# 递归删除目录可能大量文件rm-rfcache/# 强制递归无提示删除谨慎在生产环境避免滥用-rf可通过权限/白名单降低风险。五、目录创建与层级管理4.1mkdir一次性创建多级目录创建树状目录请使用-p可避免“父目录不存在”的报错。mkdir-p/data/apps/demo/logs# 递归创建多级目录mkdir-m750private# 指定权限创建目录rwx7, rx5, x1-p与-m结合既稳又安全。六、挂载与卸载本地/ISO/网络把“外部文件系统”映射到本地目录称为挂载mount断开映射称为卸载umount。块设备/镜像/网络共享mount 挂载到目录读写像本地目录umount 卸载5.1 本地分区与ISOsudomount/dev/sdb1 /mnt/usb# 将U盘分区挂载到 /mnt/usbsudomount-oloop ubuntu.iso /mnt/iso# 用loop把ISO当块设备挂载sudoumount/mnt/usb# 卸载挂载点挂载点必须是“已存在且为空”的目录否则会混淆文件视图。5.2 NFSNetwork File System, NFSsudomount-tnfs server:/data /mnt/nfs# 以NFS类型挂载远端共享sudoumount/mnt/nfs# 使用完毕及时卸载日志/数据共享常用NFS注意网络与权限策略。七、时间戳与空文件6.1touch创建或更新时间touch是脚本初始化与构造测试文件的利器。touchdemo.log# 不存在则创建空文件存在则更新时间戳touch-t202507161200.30stamp# 指定时间戳2025-07-16 12:00:30touch-c-t202501010000report# 不创建仅在存在时更新时间戳-t与-c组合可“只调时不建文件”。八、文本编辑器与终端编辑工作流7.1vi/vimVisual Editor / Vi IMprovedvim以“模式化编辑”著称普通/插入/可视/命令行四种模式切换自如。vim20 /etc/hosts# 打开并跳到第20行# 在 vim 内i 插入Esc 返回普通:wq 保存退出:q! 强退不保存掌握i/Esc/:wq/:q!与/pattern搜索你已能完成90%的日常编辑。7.2geditGUI编辑在桌面环境下gedit是轻量易上手的GUI编辑器。gedit config.ini# 后台打开文件不阻塞当前终端gedit--waitREADME.md# 等待编辑完成后再返回适合脚本--wait便于脚本化编辑→保存→继续流水线。九、查看/分页/截取与日志追踪8.1cat显示与拼接cat-napp.log# 带行号查看cata.txt b.txtall.txt# 拼接并重定向到新文件小文件直看长文件配合分页器更友好。8.2more分页ls-l/var/log|more-d# 长列表分页查看底部显示按键提示空格翻页、回车前进一行、q 退出。8.3tail/head尾部追踪与头部预览tail-F/var/log/nginx/access.log# 追踪日志轮换后的新文件head-n20README.md# 预览前20行-F比-f更适配“日志切割”可自动重新打开新文件。十、差异比较与补丁格式9.1diff从“对比”到“补丁”diff-ubefore.conf after.confpatch.diff# 生成统一diff补丁diff-yfile1 file2--width120# 并排对比直观看差异-u是代码评审与补丁提交的事实标准。十一、输出文本与重定向10.1echo打印与构造文本echo-eLine1\nLine2\tTabbed# 解析转义换行与制表echoHellohello.txt# 覆盖写入echoWorldhello.txt# 追加写入与分别对应覆盖与追加脚本里要留心幂等性。十二、实战串联从创建到查看到清理把上面命令连成一次“可复现”的小流程更能加深记忆。mkdir-p/tmp/demo/logs# 1) 创建演示目录树echohello/tmp/demo/a.txt# 2) 生成内容文件覆盖写入cp-a/tmp/demo /tmp/demo.bak# 3) 做一次属性保留的归档拷贝ls-lah/tmp/demo# 4) 检查结果长格式隐藏项可读单位diff-u/tmp/demo /tmp/demo.bak# 5) 期望无差异备份一致tail-n1/tmp/demo/a.txt# 6) 查看文件尾部一行rm-rf/tmp/demo /tmp/demo.bak# 7) 清理演示目录谨慎使用 -rf流程化把控“创建→校验→比较→清理”能让你的日常操作既规范又可回滚。结论或总结在Linux中高质量的日常操作来自“路径与权限的准确理解、命令选项的少而精、以及对退出码与重定向的敏感”。围绕本文的命令族你可以完成从“定位目录→浏览与编辑→复制/移动/删除→挂载与追踪→对比与产出补丁”的完整闭环。把示例命令直接融入你的常用脚本与速查清单你的平均定位与处理时间会显著下降。