Linux系统常用的目录和文件基础操作(一)

Linux系统常用的目录和文件基础操作(一) 文件和目录管理是Linux操作系统运行维护的基础工作熟练掌握目录和文件操作可以大大提升运维的工作效率。一、查看以及切换目录cd命令1、Change Directory的缩写意思是改变目录。它的功能是将当前工作目录切换到你指定的位置。基本语法cd 【目标路径】下面还有3个特殊符号用法:符号含义用法示例..上一级目录父目录cd ..回到上一级/根目录cd /直接回到系统最顶层-上一次所在的目录cd -在两个目录之间快速切换2、cd命令接受两种路径格式绝对路径和相对路径。那么问题来了啥是绝对路径和相对路径呢绝对路径从根目录 / 开始的完整路径。比如说我们在a目录下创建b目录那么b目录的绝对路径就是/a/b。相对路径以当前工作目录作为起点在开头不使用“/”符号。假设当前在a目录下那么c的相对路径是b/c要是在b目录下呢c的相对路径是c。相对路径中符号开头的含义表现形式说明示例直接使用目录名或文件名当前工作目录中的子目录、文件的位置cd a.txt以一个点号“ . ”开头以当前的工作目录作为起点cd ./a.txt以两个点号“ .. ”开头以当前目录的上一级目录父目录作为起点cd ../a.txt以“~用户名”形式开头以指定用户的宿主目录作为起点省略用户名时默认为当前用户cd ~usernamepwd命令Print Working Directory的缩写意思是打印当前工作目录。它的唯一功能就是告诉你当前在哪个目录下工作基本语法直接输入命令。很多初学者觉得pwd太简单了不值得专门学习。但实际上pwd是 Linux 命令行中最重要的安全命令之一因为Linux 的文件系统是一个树形结构深度可以达到几十层。当你通过cd命令在多个目录之间切换时很容易忘记自己当前在哪里。Linux 中没有回收站一旦文件被删除就无法恢复。绝大多数初学者犯下的毁灭性错误都是因为不知道自己当前在哪个目录下导致的。比如:你想删除某个目录下的所有文件于是输入了rm -rf *但你忘记了自己刚才不小心cd到了根目录/ 这条命令会删除你整个系统的所有文件导致系统彻底崩溃。所以每次执行危险操作时都pwd检查一下当前工作目录正不正确。ls命令1、List的缩写功能是列出指定目录下的所有文件和子目录。默认情况下它只显示非隐藏文件的名称按字母顺序排序。基本语法是: ls 【选项】 【目录路径】下面还有5个常用选项选项全称核心功能-llong以长格式显示详细信息权限、所有者、大小、时间等-hHuman-readable以人类可读的格式显示文件大小KB/MB/GB-aAll显示所有文件包括以“ . ”开头的隐藏文件-tTime按修改时间排序最新修改的排在最前面-rReverse反向排序配合其他选项使用2、通配符匹配:ls支持强大的通配符功能可以快速筛选出你想要的文件*匹配任意多个字符?匹配任意一个字符[]匹配括号内的任意一个字符演示alias 命令alias意思就是 别名它的核心功能是给一个或多个命令创建一个简短的替代名称。你可以把它理解为命令行世界里的 快捷键。基本语法alias 别名原命令例如alias llls -lh执行完这条命令后你以后输入 ll 系统就会自动帮你替换成 ls -lh 并执行。注意等号两边绝对不能有空格这是初学者最常犯的错误。你在终端里直接创建的别名只在当前终端窗口有效。一旦关闭终端别名就会消失。要让别名永久生效你需要把它写入 Shell 的配置文件中对于bash大多数 Linux 发行版默认写入~./bashrc对于zsh写入~/.zshrcdu命令Disk Usage的缩写意思就是 磁盘使用情况功能是递归遍历指定目录下的所有文件和子目录计算并显示它们实际占用的磁盘空间大小基本语法du [选项] [文件/目录路径]下面有6个核心选项:选项全称核心功能-hHuman-readable以人类可读的格式显示大小KB/MB/GB/TB-sSummarize只显示总大小不显示子目录的详细信息-d NMax-depth只递归到第 N 级子目录-aAll同时显示所有文件和目录的大小-cTotal最后额外显示一行总计-SSeparate-dirs不包含子目录的大小只显示当前目录本身的大小创建目录和文件mkdir 命令Make Directory的缩写意思就是创建目录。它的唯一功能就是在指定位置创建新的空目录。基本语法mkdir [选项] 目录名。你可以一次性创建多个同级目录不需要多次执行 mkdir 命令例mkdir a1 a2 a3。下面是3个核心选项其中-p经常用到选项全称核心功能-pParents一次性创建嵌套多层目录不存在的父目录会自动创建示例mkdir -p a/b/c/d 。如果a目录不存在而且不加-p那么系统会报错-mMode创建目录时直接设置权限-vVerbose显示详细的创建过程方便确认和调试-p选项还有个小技巧它可以和大括号组合写脚本非常方便。演示mkdir -p a/{b/{b1,b2,b3},c,d}目录结构a/├── b/│ ├── b1/│ ├── b2/│ └── b3/├── c/└── d/touch命令如果说mkdir是建造房间的地基那么touch就是在房间里摆放空白画布的工具。touch的意思是触摸它的核心功能有两个:1、创建新的空文件 2、修改已有文件的时间戳访问时间、修改时间最简单的用法就是创建单个或多个空文件例:touch a.txt或touch a.txt b.txt c.txt。也可以指定路径例touch a/b.txt在a目录创建b.txt文件。如果文件已经存在touch只会更新它的时间戳绝对不会修改文件内容。下面的选项可以了解一下选项全称核心功能-aAccess只修改文件的访问时间-mModify只修改文件的修改时间-tTime手动指定任意时间而不是当前系统时间-rReference参考另一个文件的时间戳来修改这些选项怎么用呢不要慌看我演示1、更新a.txt的访问时间和修改时间为当前时间touch a.txt2、只更新访问时间touch -a a.txt3、只更新修改时间touch -m a.txt4、将文件时间设置为2026年5月20日13点14分00秒touch -t 202605201314.00 a.txt5、让b.txt的时间戳和a.txt完全一样touch -r a.txt b.txtLinux 系统中以.开头的文件是隐藏文件用touch可以轻松创建 touch .a.txt . 要是英文的点。还可以创建带空格的文件但是不推荐大家使用带空格的文件名在命令行环境下带空格的文件名会带来很多麻烦每次操作都需要加引号或反斜杠增加输入负担容易出错特别是在脚本中很多命令和工具处理带空格的文件名时会有问题我们可以使用下划线 _ 或连字符 - 代替空格在每个空格前面加一个反斜杠\告诉系统这个空格是文件名的一部分例:touch a\ b.txt。ln命令Link的缩写字面意思就是 链接。它的核心功能是在文件系统中创建两种类型的链接分别是硬链接和软链接基本语法:ln [选项] 源文件 目标链接。不带任何选项时创建硬链接。两个常用选项选项全称核心功能-sSymbolic创建软链接又称符号链接-fForce强制覆盖已存在的链接软链接指向另一个文件或目录的快捷方式例:ln -s /a/b/c/d.txt /a/b/d1.txt。这个命令是什么意思呢在/a/b目录下创建一个名为d1.txt的软链接指向/a/b/c/d.txt 这个实际的可执行文件。以后你在 /a/b目录下操作d1.txt就和直接操作/a/b/c/d.txt 完全一样。要注意的是永远使用绝对路径创建软链接且删除原文件后软链接会失效。硬链接同一个文件的多个别名。例ln a.txt aaa.txt。此时两个是完全等价的修改其中任何一个另一个也会同步变化在删除源文件后硬链接任然可用但是只能在同一个文件系统同一个分区内创建不能跨分区。如果需要跨分区必须使用软链接。永远不要创建目录硬链接创建目录硬链接会导致文件系统循环引用。