<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>文件管理 on My Learning Notes</title><link>https://eleanora-lyh.github.io/MyLearningNotes/tags/%E6%96%87%E4%BB%B6%E7%AE%A1%E7%90%86/</link><description>Recent content in 文件管理 on My Learning Notes</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Thu, 04 Jun 2026 06:54:22 +0000</lastBuildDate><atom:link href="https://eleanora-lyh.github.io/MyLearningNotes/tags/%E6%96%87%E4%BB%B6%E7%AE%A1%E7%90%86/index.xml" rel="self" type="application/rss+xml"/><item><title>六、Linux 文件与目录管理</title><link>https://eleanora-lyh.github.io/MyLearningNotes/posts/linux/%E5%85%ADlinux-%E6%96%87%E4%BB%B6%E4%B8%8E%E7%9B%AE%E5%BD%95%E7%AE%A1%E7%90%86/</link><pubDate>Tue, 02 Apr 2024 11:00:00 +0800</pubDate><guid>https://eleanora-lyh.github.io/MyLearningNotes/posts/linux/%E5%85%ADlinux-%E6%96%87%E4%BB%B6%E4%B8%8E%E7%9B%AE%E5%BD%95%E7%AE%A1%E7%90%86/</guid><description>&lt;h2 id="61-目录与路径"&gt;6.1 目录与路径
&lt;/h2&gt;&lt;h3 id="612-目录的相关操作"&gt;6.1.2 目录的相关操作
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;命令&lt;/th&gt;
 &lt;th&gt;含义&lt;/th&gt;
 &lt;th&gt;用法&lt;/th&gt;
 &lt;th&gt;参数&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;cd&lt;/td&gt;
 &lt;td&gt;Change Directory &lt;br/&gt;变换目录&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;cd ~user2 &lt;/code&gt;进入使用者的主文件夹&lt;br/&gt;&lt;code&gt;cd ~ &lt;/code&gt;或&lt;code&gt;cd&lt;/code&gt; 回到自己的主文件夹&lt;br/&gt;&lt;code&gt;cd -&lt;/code&gt; 回到刚刚的目录&lt;br/&gt;&lt;code&gt;cd ../postfix&lt;/code&gt; 进入某目录&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;pwd&lt;/td&gt;
 &lt;td&gt;Print Working Directory&lt;br/&gt;显示目前的目录&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;pwd -P&lt;/code&gt;显示目前的目录&lt;/td&gt;
 &lt;td&gt;-P ：显示出确实的路径，而非使用链接 （link） 路径&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;mkdir&lt;/td&gt;
 &lt;td&gt;make directory&lt;br/&gt;创建一个新的目录&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;mkdir -p test1/test2/test3&lt;/code&gt;创建多层目录&lt;br/&gt;&lt;code&gt;mkdir -m 711 test2&lt;/code&gt; 创建权限为rwx&amp;ndash;x&amp;ndash;x的目录&lt;/td&gt;
 &lt;td&gt;-m ：设置文件的权限，不需要看默认权限。最终权限 = 777 - umask，默认用户环境中umask = 022&lt;br/&gt;-p ：将所需要的目录（包含上层目录）递回创建起来&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;rmdir&lt;/td&gt;
 &lt;td&gt;remove directory&lt;br/&gt;删除一个空的目录&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;rmdir -p test1/test2/test3/test4&lt;/code&gt;删除多层空目录&lt;/td&gt;
 &lt;td&gt;-p ：连同“上层”“空的”目录也一起删除&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="613-可执行文件路径的变量path"&gt;6.1.3 可执行文件路径的变量：$PATH
&lt;/h3&gt;&lt;p&gt;当我们在执行一个指令时，系统会依照PATH的设置去每个PATH定义的目录下搜寻文件名为ls的可执行文件， 如果在PATH定义的目录中含有多个文件名为ls的可可执行文件，那么先搜寻到的同名指令先被执行！&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;user2@DESKTOP-I0DQE4R:~$ echo $PATH
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;PATH变量的内容是由一堆目录所组成的，每个目录中间用冒号（:）来隔开。所以可以在任何地方执行ls来找到/bin/ls可执行文件&lt;/p&gt;
&lt;p&gt;如果PATH中没有定义某个指令所在目录，那么要用&lt;code&gt;/root/ls&lt;/code&gt;指定命令的地址才能调用&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;不同身份使用者默认的PATH不同，默认能够随意执行的指令也不同（如root与dmtsai）；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;PATH是可以修改的；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;使用绝对路径或相对路径直接指定某个指令的文件名来执行，会比搜寻PATH来的正确；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;指令应该要放置到正确的目录下，执行才会比较方便；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;本目录（.）最好不要放到PATH当中&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="62-文件与目录管理"&gt;6.2 文件与目录管理
&lt;/h2&gt;&lt;h3 id="621-文件与目录的检视-ls"&gt;6.2.1 文件与目录的检视： ls
&lt;/h3&gt;&lt;p&gt;很多distribution 在默认的情况中， 已经将 ll （L 的小写） 设置成为 ls -l 的意思（这个功能是 Bash shell 的 alias 功能）&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;参数&lt;/th&gt;
 &lt;th&gt;含义&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;-a（all）&lt;/td&gt;
 &lt;td&gt;全部的文件，连同隐藏文件（ 开头为 . 的文件） 一起列出来（常用）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-d（directory）&lt;/td&gt;
 &lt;td&gt;仅列出目录本身，而不是列出目录内的文件数据（常用）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-l（long format）&lt;/td&gt;
 &lt;td&gt;长数据串行出，包含文件的属性与权限等等数据；（常用）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-f（fast / no sort）&lt;/td&gt;
 &lt;td&gt;直接列出结果，而不进行排序 （ls 默认会以文件名排序！）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-F（file type indicator）&lt;br/&gt;历史语义&lt;/td&gt;
 &lt;td&gt;根据文件、目录等信息，给予附加数据结构&lt;br/&gt;&lt;code&gt;*&lt;/code&gt;代表可可执行文件 &lt;br/&gt;&lt;code&gt;/&lt;/code&gt;代表目录； &lt;br/&gt;&lt;code&gt;=&lt;/code&gt;:代表 socket 文件&lt;br/&gt;&lt;code&gt;&amp;amp;#124;&lt;/code&gt;代表 FIFO文件&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-h （human-readable）&lt;/td&gt;
 &lt;td&gt;将文件大小以人类较易读的方式（例如 GB, KB 等等）列出来&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-i&lt;/td&gt;
 &lt;td&gt;列出 inode 号码&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-A（almost all）&lt;/td&gt;
 &lt;td&gt;全部的文件，连同隐藏文件，但不包括 . 与 .. 这两个目录&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-n&lt;/td&gt;
 &lt;td&gt;列出 UID 与 GID 而非使用者与群组的名称&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-r（reverse）&lt;/td&gt;
 &lt;td&gt;将排序结果反向输出，例如：原本文件名由小到大，反向则为由大到小；&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-R（Recursive）&lt;br/&gt;大写 R 是历史约定&lt;/td&gt;
 &lt;td&gt;连同子目录内容一起列出来，等于该目录下的所有文件都会显示出来&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-S（size）&lt;/td&gt;
 &lt;td&gt;以文件大小大小排序，而不是用文件名排序&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-t（time）&lt;/td&gt;
 &lt;td&gt;依时间排序，而不是用文件名&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ndash;color&lt;/td&gt;
 &lt;td&gt;=never：不要依据文件特性给予颜色显示&lt;br/&gt;=always ：显示颜色&lt;br/&gt;=auto ：让系统自行依据设置来判断是否给予颜色&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ndash;full-time&lt;/td&gt;
 &lt;td&gt;以完整时间模式 （包含年、月、日、时、分） 输出&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ndash;time={atime,ctime}&lt;/td&gt;
 &lt;td&gt;输出 access 时间或改变权限属性时间 (ctime)而非内容变更时间(modification time)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="622-复制删除与移动-cp-rm-mv"&gt;6.2.2 复制、删除与移动： cp, rm, mv
&lt;/h3&gt;&lt;h4 id="cp-复制文件或目录"&gt;cp 复制文件或目录
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;参数&lt;/th&gt;
 &lt;th&gt;参数含义&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;-a（archive）&lt;/td&gt;
 &lt;td&gt;= -dr &amp;ndash;preserve=all 的意思 归档模式：递归复制、保留所有属性、保留符号链接&lt;br/&gt;-a = -dR &amp;ndash;preserve=all&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-i（interactive）&lt;/td&gt;
 &lt;td&gt;若目标文件（destination）已经存在时，在覆盖时会先询问动作的进行（常用）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-p（preserve）&lt;/td&gt;
 &lt;td&gt;连同文件的属性（权限、用户、时间）一起复制过去，而非使用默认属性（-p 是 &amp;ndash;preserve 的子集）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-r（recursive）&lt;/td&gt;
 &lt;td&gt;递回持续复制，用于目录的复制行为；（常用）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-d（no dereference）&lt;/td&gt;
 &lt;td&gt;若来源文件为链接文件的属性（link file），则复制链接文件属性而非文件本身&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-f（force）&lt;/td&gt;
 &lt;td&gt;为强制（force）的意思，若目标文件已经存在且无法打开，则移除后再尝试一次&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-l（link）&lt;/td&gt;
 &lt;td&gt;进行硬式链接（hard link）的链接文件创建，而非复制文件本身，指向同一个 inode&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-s（symbolic link）&lt;/td&gt;
 &lt;td&gt;复制成为&lt;strong&gt;符号链接文件&lt;/strong&gt;，亦即“捷径”文件（很小），指向文件路径字符串&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-u（update）&lt;/td&gt;
 &lt;td&gt;destination 比 source 旧才更新 destination，或 destination 不存在的情况下才复制&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ndash;preserve=all&lt;/td&gt;
 &lt;td&gt;除了 -p 的权限相关参数外，还加入 SELinux 的属性, links,xattr 等也复制了&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;目的文件的拥有者通常会是指令操作者本身，由于具有这个特性，进行备份的时需要特别注意的特殊权限文件， 例如密码档 （/etc/shadow） 以及一些配置文件，就不能直接以 cp 来复制，而必须要加上 -a 或者是 -p 等等可以完整复制文件权限的选项才行&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;-s vs -l&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;cp -s 创建的是&amp;quot;软链接&amp;quot;，也就是我们常说的&amp;quot;快捷方式&amp;quot;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;lrwxrwxrwx &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; root root &lt;span style="color:#ae81ff"&gt;6&lt;/span&gt; Jul &lt;span style="color:#ae81ff"&gt;18&lt;/span&gt; 22:31 bashrc_slink -&amp;gt; bashrc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;cp -l 创建的是&amp;quot;硬链接&amp;quot;，指向同一个 inode，第二栏的数字（link count）从1变成了2，&lt;strong&gt;本质上和原文件是同一个文件&lt;/strong&gt;，只是有两个文件名指向它。当删除其中一个时不影响另外一个，修改任意一个另一个立刻变化（看不出“谁是原文件”）。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 3
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 4
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 5
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 6
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 7
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 8
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 9
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;10
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;11
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;fileA fileB fileA fileB
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; | | | |
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; v v v v
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;+----------------+ +--------+ +--------------+
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| inode &lt;span style="color:#ae81ff"&gt;12345&lt;/span&gt; | ← 同一个 inode（链接计数&lt;span style="color:#f92672"&gt;=&lt;/span&gt;2） | inode | | inode &lt;span style="color:#ae81ff"&gt;67890&lt;/span&gt; |
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;+----------------+ +--------+ +--------------+
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; | | |
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; v v v
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;+----------------+ +----------------+ &lt;span style="color:#e6db74"&gt;&amp;#34;fileA&amp;#34;&lt;/span&gt; ← 路径字符串
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| data blocks | | data blocks |
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| &lt;span style="color:#e6db74"&gt;&amp;#34;Hello World&amp;#34;&lt;/span&gt; | | &lt;span style="color:#e6db74"&gt;&amp;#34;Hello World&amp;#34;&lt;/span&gt; |
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;+----------------+ +----------------+
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;当你创建一个文件时，它有一个链接计数（通常是1）每创建一个硬链接，链接计数就加1，反之减一。链接计数变成0时，系统才会真正删除文件内容&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-rw-r--r-- &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; root root &lt;span style="color:#ae81ff"&gt;395&lt;/span&gt; Jul &lt;span style="color:#ae81ff"&gt;18&lt;/span&gt; 22:08 bashrc_hlink
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;将多个文件复制到目录下&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cp ~/.bashrc ~/.bash_history /tmp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;维度&lt;/th&gt;
 &lt;th&gt;&lt;code&gt;cp -l&lt;/code&gt;（硬链接）&lt;/th&gt;
 &lt;th&gt;&lt;code&gt;cp -s&lt;/code&gt;（软链接）&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;inode&lt;/td&gt;
 &lt;td&gt;✅ 相同&lt;/td&gt;
 &lt;td&gt;❌ 不同&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;指向方式&lt;/td&gt;
 &lt;td&gt;数据本身&lt;/td&gt;
 &lt;td&gt;文件路径&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;跨文件系统&lt;/td&gt;
 &lt;td&gt;❌ 不行&lt;/td&gt;
 &lt;td&gt;✅ 可以&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;链接目录&lt;/td&gt;
 &lt;td&gt;❌ 不行&lt;/td&gt;
 &lt;td&gt;✅ 可以&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;原文件删除&lt;/td&gt;
 &lt;td&gt;✅ 仍可用&lt;/td&gt;
 &lt;td&gt;❌ 失效&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;修改影响&lt;/td&gt;
 &lt;td&gt;✅ 双向同步&lt;/td&gt;
 &lt;td&gt;✅ 通过路径访问&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;常见用途&lt;/td&gt;
 &lt;td&gt;快照、节省空间&lt;/td&gt;
 &lt;td&gt;目录映射、别名&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;由于 cp 有种种的文件属性与权限的特性，所以，在复制时，你必须要清楚的了解到：
• 是否需要完整的保留来源文件的信息？
• 来源文件是否为链接文件 （symbolic link file）？
• 来源文件是否为特殊的文件，例如 FIFO, socket 等？
• 来源文件是否为目录？&lt;/p&gt;
&lt;h4 id="rm-移除文件或目录"&gt;rm 移除文件或目录
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;rm &lt;span style="color:#f92672"&gt;[&lt;/span&gt;-fir&lt;span style="color:#f92672"&gt;]&lt;/span&gt; 文件或目录
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;参数&lt;/th&gt;
 &lt;th&gt;含义&lt;/th&gt;
 &lt;th&gt;举例&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;-f&lt;/td&gt;
 &lt;td&gt;就是 force 的意思，忽略不存在的文件，不会出现警告讯息&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-i&lt;/td&gt;
 &lt;td&gt;互动模式，在删除前会询问使用者是否动作&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;rm -i bashrc*&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-r&lt;/td&gt;
 &lt;td&gt;递回删除啊！最常用在目录的删除了！这是非常危险的选项！！！&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;rm -r /tmp/etc&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;身份是 root ，默认已经加入了 -i 的选项，所以你要一直按 y 才会删除&lt;/p&gt;
&lt;h4 id="mv-移动文件与目录或更名"&gt;mv 移动文件与目录，或更名
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;参数&lt;/th&gt;
 &lt;th&gt;含义&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;-f&lt;/td&gt;
 &lt;td&gt;就是 force 的意思，如果目标文件已经存在，不会询问而直接覆盖&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-i&lt;/td&gt;
 &lt;td&gt;若目标文件 （destination） 已经存在时，就会询问是否覆盖&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-r&lt;/td&gt;
 &lt;td&gt;目标文件已经存在，且 source 比较新，才会更新 （update）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;文件改名（还有个指令叫rename）&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mv mvtest mvtest2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;移动多个来源文件或目录，则最后一个目标文件一定是“目录！”&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mv bashrc1 bashrc2 mvtest2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="623-取得路径的文件名称与目录名称"&gt;6.2.3 取得路径的文件名称与目录名称
&lt;/h3&gt;&lt;p&gt;每个文件的完整文件名包含了前面的目录与最终的文件名，而每个文件名的长度都可以到达 255 个字符&lt;/p&gt;
&lt;p&gt;basename获取文件名&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;user2@DESKTOP-I0DQE4R:~$ basename /tmp/testing/testfile
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;testfile 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;basedir获取目录名&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;user2@DESKTOP-I0DQE4R:~$ dirname /tmp/testing/testfile
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/tmp/testing
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;详见第三篇内的 shell scripts&lt;/p&gt;
&lt;h2 id="63-文件文件内容查阅"&gt;6.3 文件文件内容查阅
&lt;/h2&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;指令&lt;/th&gt;
 &lt;th&gt;用途&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;cat&lt;/td&gt;
 &lt;td&gt;由第一行开始显示文件内容&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tac&lt;/td&gt;
 &lt;td&gt;从最后一行开始显示，可以看出 tac 是 cat 的倒着写！&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;nl&lt;/td&gt;
 &lt;td&gt;显示的时候，顺道输出行号&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;more&lt;/td&gt;
 &lt;td&gt;一页一页的显示文件内容&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;less&lt;/td&gt;
 &lt;td&gt;与 more 类似，但是比 more 更好的是，他可以往前翻页&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;head&lt;/td&gt;
 &lt;td&gt;只看头几行&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tail&lt;/td&gt;
 &lt;td&gt;只看尾巴几行&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;od&lt;/td&gt;
 &lt;td&gt;以二进制的方式读取文件内容&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="631-直接检视文件内容"&gt;6.3.1 直接检视文件内容
&lt;/h3&gt;&lt;p&gt;使用 cat/tac/nl&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;命令&lt;/th&gt;
 &lt;th&gt;参数&lt;/th&gt;
 &lt;th&gt;范例&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;cat/tac&lt;/strong&gt;&lt;br/&gt;concatenate&lt;br/&gt;将一个文件的内容连续的印出在屏幕上&lt;br/&gt;/由最后一行到第一行反向打印在屏幕上&lt;/td&gt;
 &lt;td&gt;-A ：相当于 -vET 的整合选项，可列出一些特殊字符而不是空白而已；&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;cat -A /etc/man_db.conf&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;-b ：列出行号，仅针对非空白行做行号显示，&lt;strong&gt;空白行不标行号&lt;/strong&gt;！&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;-E ：将结尾的断行字符 $ 显示出来；&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;-n ：打印出行号，&lt;strong&gt;连同空白行也会有行号&lt;/strong&gt;，与 -b 的选项不同；&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;cat -n /etc/issue&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;-T ：将 [tab] 按键以 ^I 显示出来；&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;-v ：列出一些看不出来的特殊字符&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;nl&lt;/strong&gt;&lt;br/&gt;添加行号，打印可以将行号做比较多的显示设计&lt;/td&gt;
 &lt;td&gt;-b ：指定行号指定的方式，主要有两种：&lt;br/&gt;    -b a ：表示不论是否为空行，也同样列出行号（类似 cat -n）&lt;br/&gt;    -b t ：如果有空行，空的那一行不要列出行号（默认值）；&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nl -b a /etc/issue&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;```&lt;/td&gt;
 &lt;td&gt;-n ：列出行号表示的方法，主要有三种：&lt;br/&gt;    -n ln ：行号在屏幕的最左方显示；&lt;br/&gt;    rz-n rn ：行号在自己字段的最右方显示，且不加 0 ；&lt;br/&gt;    -n rz ：行号在自己字段的最右方显示，且加 0 ；&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nl -n rz /etc/issue&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;br/&gt;-w ：行号字段的占用的字符数。&lt;strong&gt;和-n一起用才能看出来效果&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nl -n rz -w 3 /etc/issue&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;nl加上-b a的效果&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;3
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;4
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;5
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@DESKTOP-I0DQE4R:~ nl /etc/issue
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; Ubuntu 24.04.1 LTS &lt;span style="color:#ae81ff"&gt;\n&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\l&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@DESKTOP-I0DQE4R:~# nl -b a /etc/issue
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; Ubuntu 24.04.1 LTS &lt;span style="color:#ae81ff"&gt;\n&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\l&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;-n rz -w 2的效果&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@DESKTOP-I0DQE4R:~# nl -b a -n rz -w &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; /etc/issue
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;01&lt;/span&gt; Ubuntu 24.04.1 LTS &lt;span style="color:#ae81ff"&gt;\n&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\l&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;02&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="632-可翻页检视"&gt;6.3.2 可翻页检视
&lt;/h3&gt;&lt;p&gt;使用 more 与 less&lt;/p&gt;
&lt;p&gt;如果 more 后面接的文件内容行数大于屏幕输出的行数时，最后一行会显示出目前显示的百分比，在最后一行输入一些有用的指令&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;参数&lt;/th&gt;
 &lt;th&gt;含义&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;空白键 （space）&lt;/td&gt;
 &lt;td&gt;代表向下翻一页&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Enter&lt;/td&gt;
 &lt;td&gt;代表向下翻“一行”&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;/字串&lt;/td&gt;
 &lt;td&gt;代表在这个显示的内容当中，向下搜寻“字串”这个关键字&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;:f&lt;/td&gt;
 &lt;td&gt;立刻显示出文件名以及目前显示的行数&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;q&lt;/td&gt;
 &lt;td&gt;代表立刻离开 more ，不再显示该文件内容&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;b 或 [ctrl]-b&lt;/td&gt;
 &lt;td&gt;代表往回翻页，不过这动作只对文件有用，对管线无用&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;less可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;参数&lt;/th&gt;
 &lt;th&gt;含义&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;空白键 （space）&lt;/td&gt;
 &lt;td&gt;代表向下翻一页&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;pagedown/pageup&lt;/td&gt;
 &lt;td&gt;向下/上翻动一页&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;/字串     ?字串&lt;/td&gt;
 &lt;td&gt;向下/上搜寻“字串”的功能&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;n/N&lt;/td&gt;
 &lt;td&gt;反向的重复前一个搜寻 （与 / 或 ? 有关！）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;g/G&lt;/td&gt;
 &lt;td&gt;前进到这个数据的第一行/最后一行&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;q&lt;/td&gt;
 &lt;td&gt;离开 less 这个程序&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="633-数据提取"&gt;6.3.3 数据提取
&lt;/h3&gt;&lt;p&gt;取出文件前面几行（head） 或取出后面几行 （tail） 文字的功能。head 与 tail 都是以“行”为单位&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;head &lt;span style="color:#f92672"&gt;[&lt;/span&gt;-n number&lt;span style="color:#f92672"&gt;]&lt;/span&gt; 文件 （默认的情况中，显示前面十行）
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果接的是负数，例如上面范例的-n -100时，代表列出所有行数， 但不包括后面100行&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tail &lt;span style="color:#f92672"&gt;[&lt;/span&gt;-n number&lt;span style="color:#f92672"&gt;]&lt;/span&gt; 文件 （默认的情况中，显示最后十行）
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;有数据写入时就立刻显示到屏幕上， 就利用 -f 这个选项，一直侦测文件，新加入的数据都会被显示到屏幕上（摁下Ctrl c会离开tail的侦测）&lt;/p&gt;
&lt;p&gt;显示 /etc/man_db.conf 的第 11 到第 20 行，并添加行号&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cat -n /etc/man_db.conf | head -n &lt;span style="color:#ae81ff"&gt;20&lt;/span&gt; | tail -n &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;管线的意思是：“前面的指令所输出的讯息，请通过管线交由后续的指令继续使用”&lt;/p&gt;
&lt;h3 id="634-非纯文本文件od"&gt;6.3.4 非纯文本文件：od
&lt;/h3&gt;&lt;p&gt;Octal Dump&lt;/p&gt;
&lt;p&gt;事实上，由于可执行文件通常是 binary file，使用上头提到的指令来读取他的内容时， 会产生类似乱码的数据，可以利用 od 这个指令来读取&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;od &lt;span style="color:#f92672"&gt;[&lt;/span&gt;-t TYPE&lt;span style="color:#f92672"&gt;]&lt;/span&gt; 文件
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;TYPE&lt;/th&gt;
 &lt;th&gt;含义&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;a&lt;/td&gt;
 &lt;td&gt;利用默认的字符来输出&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;c&lt;/td&gt;
 &lt;td&gt;使用 ASCII 字符来输出&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;d[size]&lt;/td&gt;
 &lt;td&gt;利用十进制（decimal）来输出数据，每个整数占用 size Bytes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;f[size]&lt;/td&gt;
 &lt;td&gt;利用浮点数值（floating）来输出数据，每个数占用 size Bytes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;o[size]&lt;/td&gt;
 &lt;td&gt;利用八进位（octal）来输出数据，每个整数占用 size Bytes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;x[size]&lt;/td&gt;
 &lt;td&gt;利用十六进制（hexadecimal）来输出数据，每个整数占用 size&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="635-修改文件时间或创建新文件-touch"&gt;6.3.5 修改文件时间或创建新文件： touch
&lt;/h3&gt;&lt;p&gt;touch 这个指令最常被使用的情况&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;创建一个空的文件&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;将某个文件日期修订为目前 （mtime 与 atime）&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;每个文件在linux下面都会记录三个时间参数&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;modification time （mtime）文件的内容变更（&lt;strong&gt;默认显示&lt;/strong&gt;）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;status time （ctime）文件的状态变更，如权限与属性&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;access time （atime）文件的内容被取用时，如用 cat 读&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;3
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@DESKTOP-I0DQE4R:/etc# ls -l /etc/ucf.conf ; ls -l --time&lt;span style="color:#f92672"&gt;=&lt;/span&gt;atime /etc/ucf.conf ; ls -l --time&lt;span style="color:#f92672"&gt;=&lt;/span&gt;ctime /etc/ucf.conf
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-rw-r--r-- &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; root root &lt;span style="color:#ae81ff"&gt;1260&lt;/span&gt; Jan &lt;span style="color:#ae81ff"&gt;27&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2023&lt;/span&gt; /etc/ucf.conf
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-rw-r--r-- &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; root root &lt;span style="color:#ae81ff"&gt;1260&lt;/span&gt; Jan &lt;span style="color:#ae81ff"&gt;7&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2025&lt;/span&gt; /etc/ucf.conf
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-rw-r--r-- &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; root root &lt;span style="color:#ae81ff"&gt;1260&lt;/span&gt; Sep &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; 17:50 /etc/ucf.conf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;某些情况下，由于BIOS的设置错误，导致系统时间跑到未来时间并且你又创建了某些文件。 等你将时间改回正确的时间时，该文件不就变成来自未来&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;touch &lt;span style="color:#f92672"&gt;[&lt;/span&gt;-acdmt&lt;span style="color:#f92672"&gt;]&lt;/span&gt; 文件
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;参数&lt;/th&gt;
 &lt;th&gt;含义&lt;/th&gt;
 &lt;th&gt;示例&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;-a&lt;/td&gt;
 &lt;td&gt;仅修订 access time&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-c&lt;/td&gt;
 &lt;td&gt;仅修改文件的时间，若该文件不存在则不创建新文件&lt;/td&gt;
 &lt;td&gt;如果文件不存在，命令不会创建新文件&lt;br/&gt;&lt;code&gt;touch -c non_existing_file&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-m&lt;/td&gt;
 &lt;td&gt;仅修改 mtime&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-d&lt;/td&gt;
 &lt;td&gt;后面可以接欲修订的日期而不用目前的日期，也可以使用 &amp;ndash;date=&amp;ldquo;日期或时间&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;touch -m -d &amp;quot;2024-10-01&amp;quot; file.txt&lt;/code&gt;&lt;br/&gt;&lt;code&gt;touch -d &amp;quot;yesterday&amp;quot; file.txt&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-t&lt;/td&gt;
 &lt;td&gt;后面可以接欲修订的时间而不用目前的时间，格式为[YYYYMMDDhhmm]&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;touch -t 202405201430.25 file.txt&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;如果 touch 后面有接文件则该文件的三个时间 （atime/ctime/mtime） 都会更新为目前的时间.若该文件不存在则会主动的创建一个新的空的文件&lt;/p&gt;
&lt;p&gt;使用cp命令时数据的内容与属性是被复制过来的，因此文件内容时间（mtime）与原本文件相同，状态（ctime）就变成现在的时间&lt;/p&gt;
&lt;h2 id="权限例题"&gt;权限例题：
&lt;/h2&gt;&lt;p&gt;系统有个一般身份使用者userA，他的群组属于GroupA，他的主文件夹在 /home/userA。 你是root，你想将你的 ~/.bashrc 复制给他，可以怎么做？&lt;/p&gt;
&lt;p&gt;root 虽然可以将这个文件复制给 userA，不过这个文件在 userA的主文件夹中却可能让 userA没有办法读写（因为该文件属于 root 的嘛！而 userA又不能使用 chown 之故）此外，我们又担心覆盖掉 userA自己的 .bashrc 配置文件，因此，我们可以
复制文件：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cp ~/.bashrc ~dmtsai/.bashrc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;修改属性：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;chown dmtsai:dmtsai ~dmtsai/.bashrc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="64-文件与目录的默认权限与隐藏权限"&gt;6.4 文件与目录的默认权限与隐藏权限
&lt;/h2&gt;&lt;p&gt;一个文件有若干个属性， 包括读写执行（r, w, x）等基本权限，及是否为目录 （d） 与文件 （-） 或者是链接文件 （l） 等等的属性。修改属性的方法在前面也约略提过了（chgrp, chown, chmod）&lt;/p&gt;
&lt;p&gt;除了基本r, w, x权限外我们还可以设置其他的系统隐藏属性(只能增加/不能删除等)， 这部份可使用&lt;code&gt;chattr&lt;/code&gt;来设置，&lt;code&gt;lsattr&lt;/code&gt;查看&lt;/p&gt;
&lt;h3 id="641-文件默认权限umask"&gt;6.4.1 文件默认权限：umask
&lt;/h3&gt;&lt;p&gt;创建一个新的文件或目录时，他的默认权限与 umask 有关。 umask 就是指定 “目前使用者在创建文件或目录时候的权限默认值”&lt;/p&gt;
&lt;p&gt;查阅的方式有两种：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;3
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;4
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@DESKTOP-I0DQE4R:~# umask -S
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;u&lt;span style="color:#f92672"&gt;=&lt;/span&gt;rwx,g&lt;span style="color:#f92672"&gt;=&lt;/span&gt;rx,o&lt;span style="color:#f92672"&gt;=&lt;/span&gt;rx
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@DESKTOP-I0DQE4R:~# umask
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;0022&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;在默认权限的属性上，目录与文件是不一样的。 x 权限对于目录是非常重要的！ 但是一般文件的创建则不应该有执行的权限。因此，默认的情况如下：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;文件&lt;/th&gt;
 &lt;th&gt;目录&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;初始默认&lt;/td&gt;
 &lt;td&gt;没有可执行（ x ）权限，亦即只有 rw 这两个项目&lt;/td&gt;
 &lt;td&gt;x 与是否可以进入此目录有关，因此默认为所有权限均开放&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;最大分数&lt;/td&gt;
 &lt;td&gt;666&lt;/td&gt;
 &lt;td&gt;777&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;默认权限&lt;/td&gt;
 &lt;td&gt;-rw-rw-rw-&lt;/td&gt;
 &lt;td&gt;drwxrwxrwx&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;当umask=002&lt;/td&gt;
 &lt;td&gt;（-rw-rw-rw-） - （&amp;mdash;&amp;ndash;w&amp;ndash;w-） ==&amp;gt; -rw-r&amp;ndash;r&amp;ndash;&lt;/td&gt;
 &lt;td&gt;（drwxrwxrwx） - （d&amp;mdash;-w&amp;ndash;w-） ==&amp;gt; drwxr-xr-x&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;umask 的分数指的是“该默认值需要减掉的权限，r、w、x 分别是 4、2、1 分。final_permission = default_permission - umask&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;应用场景&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;当我们需要新建文件给同群组的使用者共同编辑时（需要r w权限），那么需要给others拿掉w权限即2，所以设置 umask = 002。得到文件的权限为rw-rw-r&amp;ndash;，目录权限为rwxrwxr-x&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;3
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;4
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;5
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@DESKTOP-I0DQE4R:~# umask &lt;span style="color:#ae81ff"&gt;002&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@DESKTOP-I0DQE4R:~# mkdir TestDir002
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@DESKTOP-I0DQE4R:~# touch testfile002
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@DESKTOP-I0DQE4R:~# ll -d test*
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# drwxrwxr-x 2 root root 4096 Mar 27 16:48 testDir002/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# -rw-rw-r-- 1 root root 0 Mar 27 16:48 testfile002&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;相比普通用户，root 更“保守”，不给 group/others 写权限（因为 root 创建的东西很可能属于系统关键文件）所以root 的 umask 默认是 022 ；普通用户umask 为 002 。&lt;/p&gt;
&lt;h3 id="642-文件隐藏属性"&gt;6.4.2 文件隐藏属性
&lt;/h3&gt;&lt;p&gt;chattr指令只能在Ext2/Ext3/Ext4的 Linux 传统文件系统上面完整生效，为文件提供了真正的保护，可以防止意外删除或篡改。设置的属性是隐藏的性质，所以需要以 lsattr 才能看到该属性&lt;/p&gt;
&lt;h4 id="file-sys-introduction"&gt;File Sys Introduction
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;文件系统&lt;br/&gt;Extended File System&lt;/th&gt;
 &lt;th&gt;Ext2&lt;/th&gt;
 &lt;th&gt;Ext3&lt;/th&gt;
 &lt;th&gt;Ext4&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;年代&lt;/td&gt;
 &lt;td&gt;比较老&lt;/td&gt;
 &lt;td&gt;改进版&lt;/td&gt;
 &lt;td&gt;现代版&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;特点&lt;/td&gt;
 &lt;td&gt;无日志：突然断电/系统崩溃，文件系统就可能损坏。系统重启后要全盘扫描&lt;/td&gt;
 &lt;td&gt;有日志Ext3 = Ext2 + Journal（日记功能）&lt;br/&gt;系统重启后查看日志，按日志恢复操作&lt;/td&gt;
 &lt;td&gt;更快更安全&lt;br/&gt;✅ 支持更大文件&lt;br/&gt;✅ 支持更大磁盘&lt;br/&gt;✅ 延迟分配（delayed allocation）&lt;br/&gt;✅ extent（区块连续存储）&lt;br/&gt;✅ journal 优化&lt;br/&gt;✅ fsck 更快&lt;br/&gt;✅ I/O 性能更高&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;存储方式&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;1GB 文件拆成上万个离散 block&lt;br/&gt;寻址效率低&lt;/td&gt;
 &lt;td&gt;extent（区段）&lt;br/&gt;从 block1000 连续存 2000 个 block用一条记录就行&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;使用场景&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;场景&lt;/th&gt;
 &lt;th&gt;常用 FS&lt;/th&gt;
 &lt;th&gt;全称&lt;/th&gt;
 &lt;th&gt;支持&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Linux 默认&lt;/td&gt;
 &lt;td&gt;Ext4&lt;/td&gt;
 &lt;td&gt;Extended File System&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;大数据（Hadoop）&lt;/td&gt;
 &lt;td&gt;Ext4 / XFS&lt;/td&gt;
 &lt;td&gt;Extended File System&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;云服务器&lt;/td&gt;
 &lt;td&gt;Ext4&lt;/td&gt;
 &lt;td&gt;Extended File System&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Docker 存储&lt;/td&gt;
 &lt;td&gt;overlay2 + Ext4/XFS&lt;/td&gt;
 &lt;td&gt;Extended File System&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Windows&lt;/td&gt;
 &lt;td&gt;NTFS&lt;/td&gt;
 &lt;td&gt;New Technology File System&lt;/td&gt;
 &lt;td&gt;文件权限控制（ACL）、文件压缩、文件加密、最大 16EB 分区、单个文件可大于4GB、日志（Journal）、恢复能力强&lt;br/&gt;&lt;strong&gt;但不能跨平台&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;macOS&lt;/td&gt;
 &lt;td&gt;APFS&lt;/td&gt;
 &lt;td&gt;Apple File System&lt;/td&gt;
 &lt;td&gt;专门为 SSD、 闪存设备优化设计。&lt;br/&gt;写时复制Copy-On-Write（新数据写好再替换就指针）、Snapshot、原生加密、空间共享Space Sharing（多个分区可以共享同一块存储空间）。&lt;br/&gt;Unix 权限兼容的文件系统（本质是 Unix 系统）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;U盘&lt;/td&gt;
 &lt;td&gt;FAT32&lt;/td&gt;
 &lt;td&gt;File Allocation Table 32&lt;/td&gt;
 &lt;td&gt;非常古老，兼容性极强它可以被：&lt;br/&gt;Windows、macOS、Linux、电视、相机、车载系统、游戏机全部识别&lt;br/&gt;&lt;strong&gt;但FAT32 单最大=4GB，超过会失败&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;exFAT&lt;/td&gt;
 &lt;td&gt;Extended FAT&lt;/td&gt;
 &lt;td&gt;取消了单文件4GB限制&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;NTFS、FAT32、exFAT可以执行&lt;code&gt;chmod 777 file&lt;/code&gt;但权限不会真的生效（因为磁盘底层不支持 inode 权限位，没有 Linux rwx 权限模型）权限位（rwx）、inode、ACL、sticky bit、SUID / SGID都是Linux系统提出的&lt;/p&gt;
&lt;h4 id="chattr-设置文件隐藏属性"&gt;chattr （设置文件隐藏属性）
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;参数&lt;/th&gt;
 &lt;th&gt;含义&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;+&lt;/td&gt;
 &lt;td&gt;增加某一个特殊参数，其他原本存在参数则不动&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-&lt;/td&gt;
 &lt;td&gt;移除某一个特殊参数，其他原本存在参数则不动&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;=&lt;/td&gt;
 &lt;td&gt;设置一定，且仅有后面接的参数&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;A&lt;/td&gt;
 &lt;td&gt;当设置了 A 这个属性时，若你有存取此文件（或目录）时，他的存取时间 atime 将不会被修改&lt;br/&gt;可避免 I/O 较慢的机器过度的存取磁盘。（目前建议使用文件系统挂载参数处理这个项目）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;S&lt;/td&gt;
 &lt;td&gt;一般文件是非同步写入磁盘的，如果加上 S 这个属性时，&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;当你进行任何文件的修改，该更动会“同步”写入磁盘中。&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;mark&gt;a&lt;/mark&gt;&lt;/td&gt;
 &lt;td&gt;当设置 a 之后，这个文件将&lt;strong&gt;只能增加数据，而不能删除也不能修改数据&lt;/strong&gt;，只有&lt;mark&gt;root&lt;/mark&gt; 才能设置这属性&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;c&lt;/td&gt;
 &lt;td&gt;这个属性设置之后，将会自动的将此文件“压缩”，在读取的时候将会自动解压缩，但是在储存的时候，将会先进行压缩后再储存（看来对于大文件似乎蛮有用的！）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;d&lt;/td&gt;
 &lt;td&gt;当 dump 程序被执行的时候，设置 d 属性将可使该文件（或目录）不会被 dump 备份&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;mark&gt;i&lt;/mark&gt;&lt;/td&gt;
 &lt;td&gt;他可以让一个文件“&lt;strong&gt;不能被删除、改名、设置链接也无法写入或新增数据！&lt;/strong&gt;”&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;对于系统安全性有相当大的助益！只有 root 能设置此属性&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;s&lt;/td&gt;
 &lt;td&gt;当文件设置了 s 属性时，如果这个文件被删除，他将会被完全的移除出这个硬盘空间，&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;所以如果误删了，完全无法救回来了喔！&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;u&lt;/td&gt;
 &lt;td&gt;与 s 相反的，当使用 u 来设置文件时，如果该文件被删除了，则数据内容其实还存在磁盘中，可以使用来救援该文件喔！&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;设置了+i属性的文件，即便是root用户也无法删除。 +i 与 +a 常用于在系统的数据安全，log file 这种的登录文件，就更需要 +a 参数，这样文件只能增加，但是不能修改旧有的数据与删除的参数&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;3
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@DESKTOP-I0DQE4R:/tmp# touch attrtest
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@DESKTOP-I0DQE4R:/tmp# chattr +i attrtest
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@DESKTOP-I0DQE4R:/tmp# rm attrtest
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;rm: cannot remove &lt;span style="color:#e6db74"&gt;&amp;#39;attrtest&amp;#39;&lt;/span&gt;: Operation not permitted
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id="lsattr-显示文件隐藏属性"&gt;lsattr （显示文件隐藏属性）
&lt;/h4&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;参数&lt;/th&gt;
 &lt;th&gt;含义&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;-a&lt;/td&gt;
 &lt;td&gt;将隐藏文件的属性也秀出来&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-d&lt;/td&gt;
 &lt;td&gt;如果接的是目录，仅列出目录本身的属性而非目录内的文件名&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-R&lt;/td&gt;
 &lt;td&gt;连同子目录的数据也一并列出来&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@DESKTOP-I0DQE4R:/tmp# chattr +aiS attrtest
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@DESKTOP-I0DQE4R:/tmp# lsattr attrtest
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--S-ia--------e------- attrtest
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;使用 chattr 设置后，可以利用 lsattr 来查阅隐藏的属性。如果将 /etc/shadow 这个重要的密码记录文件给他设置成为具有 i 的属性，那么过了若干天之后， 你突然要新增使用者，却一直无法新增。&lt;/p&gt;
&lt;h3 id="643-文件特殊权限-suid-sgid-sbit"&gt;6.4.3 文件特殊权限： SUID, SGID, SBIT
&lt;/h3&gt;&lt;p&gt;查看 /tmp 和 /usr/bin/passwd 的权限，发现还有其他的特殊权限（ x位置变成了s和 t ）&lt;/p&gt;
&lt;p&gt;✅ s / t = 特殊权限存在 + x 存在（有效）
✅ S / T= 特殊权限存在 + x 不存在（无效，占位显示）&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;出现位置&lt;/th&gt;
 &lt;th&gt;含义&lt;/th&gt;
 &lt;th&gt;示例&lt;/th&gt;
 &lt;th&gt;数字设置&lt;/th&gt;
 &lt;th&gt;符号设置&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;SUID&lt;/td&gt;
 &lt;td&gt;在文件&lt;strong&gt;owner&lt;/strong&gt;的 x&lt;/td&gt;
 &lt;td&gt;Set UID&lt;/td&gt;
 &lt;td&gt;x-&amp;gt;s: rwsr-xr-x&lt;/td&gt;
 &lt;td&gt;chmod u=rwxs,go=x test; ls -l test&lt;/td&gt;
 &lt;td&gt;chmod u=rwxs,go=x test; ls -l test&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SGID&lt;/td&gt;
 &lt;td&gt;在文件&lt;strong&gt;group&lt;/strong&gt;的 x&lt;/td&gt;
 &lt;td&gt;Set GID&lt;/td&gt;
 &lt;td&gt;x-&amp;gt;s: -rwxr-sr-x&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SBIT&lt;/td&gt;
 &lt;td&gt;在文件&lt;strong&gt;others&lt;/strong&gt;的 x&lt;/td&gt;
 &lt;td&gt;Set Sticky Bit&lt;/td&gt;
 &lt;td&gt;x-&amp;gt;t: -rwxr-xr-t&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@DESKTOP-I0DQE4R:/tmp# ls -ld /tmp; ls -l /usr/bin/passwd
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;drwxrwxrwt &lt;span style="color:#ae81ff"&gt;9&lt;/span&gt; root root &lt;span style="color:#ae81ff"&gt;4096&lt;/span&gt; Dec &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; 09:53 /tmp
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-rwsr-xr-x &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; root root &lt;span style="color:#ae81ff"&gt;64152&lt;/span&gt; May &lt;span style="color:#ae81ff"&gt;30&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2024&lt;/span&gt; /usr/bin/passwd
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id="suid"&gt;SUID
&lt;/h4&gt;&lt;p&gt;当 s 这个标志出现在文件&lt;strong&gt;owner的 x 权限上&lt;/strong&gt;时，如&lt;code&gt;-rwsr-xr-x&lt;/code&gt;此时就被称为 Set UID，简称为&lt;strong&gt;SUID&lt;/strong&gt; 的特殊权限，SUID有这样的限制与功能：
• SUID 权限仅对二进制程序（binary program）有效；
• 执行者对于该程序需要具有 x 的可执行权限；
• 本权限仅在执行该程序的过程中有效 （run-time）；
• &lt;strong&gt;执行者将具有该程序拥有者 （owner） 的权限&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;举个例子&lt;/strong&gt;： Linux 系统中，所有帐号的密码都记录在 /etc/shadow中，权限为 &lt;code&gt;---------- 1 root root&lt;/code&gt;仅有root可读且仅有root可以强制写入，但是一般帐号使用者修改自己的密码&lt;/p&gt;
&lt;p&gt;答：——关键不在于直接去碰那个被锁得死死的 &lt;code&gt;/etc/shadow&lt;/code&gt;文件，而在于一个被赋予了特殊“权力”的桥梁——&lt;code&gt;/usr/bin/passwd&lt;/code&gt;命令，命令的权限为&lt;code&gt;-rwsr-xr-x&lt;/code&gt;任何用户在执行这个程序时，进程的&lt;strong&gt;有效用户ID（euid）&lt;/strong&gt; 会暂时变更为该程序文件的所有者（通常是 &lt;code&gt;root&lt;/code&gt;）的 ID，而不是当前执行它的用户的 ID。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;userA 对于 /usr/bin/passwd 这个程序来说是具有 x 权限的，表示userA能执行 passwd；&lt;/li&gt;
&lt;li&gt;passwd 的拥有者是 root 这个帐号；&lt;/li&gt;
&lt;li&gt;userA 执行 passwd 的过程中，会“暂时”获得 root 的权限；&lt;/li&gt;
&lt;li&gt;/etc/shadow 就可以被 userA 所执行的 passwd 所修改。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;SUID 仅可用在binary program 上， 不能够用在 shell script (调用binary的程序)&lt;/p&gt;
&lt;h4 id="sgid"&gt;SGID
&lt;/h4&gt;&lt;p&gt;当 s 标志在文件&lt;strong&gt;拥有者&lt;/strong&gt;的 x 项目为 SUID，那 s 在&lt;strong&gt;群组&lt;/strong&gt;的 x 时则称为 Set GID（如：-rwx&amp;ndash;s&amp;ndash;x），简称为&lt;strong&gt;SGID&lt;/strong&gt; 的特殊权限。与 SUID 不同的是，SGID 可以针对文件或目录来设置SGID&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;文件&lt;/th&gt;
 &lt;th&gt;目录&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;SGID 对二进制程序有用&lt;/td&gt;
 &lt;td&gt;使用者若对于此目录具有 r 与 x 的权限时，该使用者能够进入此目录&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;程序执行者对于该程序来说，需具备 x 的权限&lt;/td&gt;
 &lt;td&gt;使用者在此目录下的有效群组（effective group）将会变成该目录的群组&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;执行者在执行的过程中将会获得该程序（group）的支持&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;用途：若使用者在此目录下具有 w 的权限（可以新建文件），则使用者所创建的新文件，该新文件的群组与此目录的群组相同&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="sbitsticky-bit"&gt;SBIT：Sticky Bit
&lt;/h4&gt;&lt;p&gt;只针对目录有效，作用是：
• 当使用者对于此目录具有 w, x 权限，亦即具有写入的权限时；
• 当使用者在该目录下创建文件或目录时，仅有自己与 root 才有权力删除该文件&lt;/p&gt;
&lt;p&gt;如果将 A 目录加上了 SBIT 的权限时， 只能够针对自己创建的文件或目录进行删除/更名/移动等动作，而无法删除他人的文件。&lt;/p&gt;
&lt;h4 id="设置suidsgidsbit-权限"&gt;设置SUID/SGID/SBIT 权限
&lt;/h4&gt;&lt;p&gt;4 为 SUID、2 为 SGID、1 为 SBIT&lt;/p&gt;
&lt;p&gt;假设要将一个文件权限改为“-rwsr-xr-x”时，由于 s 在owner权限中，所以是SUID ，因此， 在原先的 755 之前还要加上 4 ，也就是：&lt;code&gt;chmod 4755 filename&lt;/code&gt;来设置&lt;/p&gt;
&lt;h4 id="举例"&gt;举例
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;chmod u&lt;span style="color:#f92672"&gt;=&lt;/span&gt;rwxs,go&lt;span style="color:#f92672"&gt;=&lt;/span&gt;x test; ls -l test
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;显示：&lt;code&gt;-rws--x--x&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;user = rws（rwx+SUID）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;group = &amp;ndash;x（group = &amp;ndash;x）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;others = &amp;ndash;x （others = &amp;ndash;x）&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;chmod g+s,o+t test
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;显示：&lt;code&gt;-rws--s--t&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;user rws&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;group &amp;ndash;s&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;others &amp;ndash;t&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="644-文件类型-file"&gt;6.4.4 文件类型 file
&lt;/h3&gt;&lt;p&gt;某个文件的基本数据，例如是属于 ASCII 或者是 data 文件，或者是 binary ， 且其中有没有使用到动态函数库 （share library） 等等的信息&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;[&lt;/span&gt;root@study ~&lt;span style="color:#f92672"&gt;]&lt;/span&gt;&lt;span style="color:#75715e"&gt;# file ~/.bashrc&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/root/.bashrc: ASCII text ;&lt;span style="color:#f92672"&gt;==&lt;/span&gt;告诉我们是 ASCII 的纯文本文件啊！
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="65-指令与文件的搜索"&gt;6.5 指令与文件的搜索
&lt;/h2&gt;&lt;h3 id="651-查找命令的完整文件名-which"&gt;6.5.1 查找命令的完整文件名 which
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;[&lt;/span&gt;root@study ~&lt;span style="color:#f92672"&gt;]&lt;/span&gt;&lt;span style="color:#75715e"&gt;# which [-a] command&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;选项或参数：
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-a ：将所有由 PATH 目录中可以找到的指令均列出，而不止第一个被找到的指令名称
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;因为 history 是“bash 内置的指令”啦！ 但是 which 默认是找 PATH内所规范的目录，所以当然一定找不到的&lt;/p&gt;
&lt;h3 id="651-查找指定文件的路径-whereis-locate-find"&gt;6.5.1 查找指定文件的路径 whereis locate find
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;where&lt;/strong&gt; 只找系统中某些特定目录下面的文件，所以会比find快&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;参数&lt;/th&gt;
 &lt;th&gt;功能&lt;/th&gt;
 &lt;th&gt;示例&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;-l&lt;/td&gt;
 &lt;td&gt;列出 whereis 会去查询的主要目录&lt;br/&gt;/bin、/sbin、/usr/share/man等&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-b（）&lt;/td&gt;
 &lt;td&gt;只找 binary 格式的文件&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-m&lt;/td&gt;
 &lt;td&gt;只找在说明文档 manual 路径下的文件&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;whereis -m passwd&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-s&lt;/td&gt;
 &lt;td&gt;只找 source 来源文件&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-u&lt;/td&gt;
 &lt;td&gt;搜寻不在上述三个项目当中的其他特殊文件&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;locate / updatedb&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;locate 寻找的数据是由“已创建的数据库 /var/lib/mlocate/” 里面的数据所搜寻到的，而数据库的创建默认是在每天执行一次。所以当你新创建起来的文件， 却还在数据库更新之前搜寻该文件，那么 locate 会告诉你“找不到。更新 locate 数据库的方法非常简单，直接输入&lt;code&gt;updatedb&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;updatedb&lt;/code&gt;：根据 /etc/updatedb.conf 的设置去搜寻系统硬盘内的文件名，并更新 /var/lib/mlocate 内的数据库文件&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;locate&lt;/code&gt;：依据 /var/lib/mlocate 内的数据库记载，找出使用者输入的关键字文件名。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;参数&lt;/th&gt;
 &lt;th&gt;功能&lt;/th&gt;
 &lt;th&gt;示例&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;-i（ignore case）&lt;/td&gt;
 &lt;td&gt;忽略大小写&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-c（count）&lt;/td&gt;
 &lt;td&gt;不输出文件名，仅计算找到的文件数量&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-l（limit）&lt;/td&gt;
 &lt;td&gt;限制输出行数&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;locate -l 5 passwd&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-S（statistics）&lt;/td&gt;
 &lt;td&gt;查看数据库统计信息，(文件/目录数量等)&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;locate -S&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-r（regex/regexp）&lt;/td&gt;
 &lt;td&gt;正则匹配&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;find&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;与时间有关的选项：共有 -atime, -ctime 与 -mtime&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;参数&lt;/th&gt;
 &lt;th&gt;功能&lt;/th&gt;
 &lt;th&gt;示例&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;-mtime n&lt;/td&gt;
 &lt;td&gt;在 n 天之前的“一天之内”被更动过内容的文件&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;find / -mtime 0&lt;/code&gt;&lt;br/&gt;从现在开始到 24 小时前&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-mtime +n&lt;/td&gt;
 &lt;td&gt;在 n 天之前（不含 n 天本身）被更动过内容的文件文件名&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-mtime -n&lt;/td&gt;
 &lt;td&gt;在 n 天之内（含 n 天本身）被更动过内容的文件文件名&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;find /var -mtime -4&lt;/code&gt;&lt;br/&gt;4天内被更动过的文件文件名&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-newer file&lt;/td&gt;
 &lt;td&gt;file 为一个存在的文件，列出比 file 还要新的文件文件名&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;find /etc -newer /etc/passwd&lt;/code&gt;&lt;br/&gt;如果文件日期比 /etc/passwd 新就列出&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;------&lt;span style="color:#f92672"&gt;(&lt;/span&gt;+4&lt;span style="color:#f92672"&gt;)&lt;/span&gt; &amp;lt;-&lt;span style="color:#f92672"&gt;(&lt;/span&gt;4&lt;span style="color:#f92672"&gt;)&lt;/span&gt;-&amp;gt; --------&lt;span style="color:#f92672"&gt;(&lt;/span&gt;+4&lt;span style="color:#f92672"&gt;)&lt;/span&gt;--------&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;7&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;6&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; 现在
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;与使用者或群组名称相关的参数&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;1️⃣ 先去 /etc/passwd 或 /etc/group 查 username的映射
2️⃣ 查到 username对应的 UID=1001
3️⃣ 再去 inode 里面匹配 UID&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;参数&lt;/th&gt;
 &lt;th&gt;功能&lt;/th&gt;
 &lt;th&gt;示例&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;-uid n&lt;/td&gt;
 &lt;td&gt;查找 UID对应的文件&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-gid n&lt;/td&gt;
 &lt;td&gt;查找 GID对应的文件&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-user name&lt;/td&gt;
 &lt;td&gt;查找 username 对应的文件&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;find /home -user dmtsai&lt;/code&gt;&lt;br/&gt;搜寻 /home 下面属于 dmtsai 的文件&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-group name&lt;/td&gt;
 &lt;td&gt;查找 groupname 对应的文件&lt;/td&gt;
 &lt;td&gt;查孤儿文件（安全审计必用）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-nouser&lt;/td&gt;
 &lt;td&gt;user 不存在 /etc/passwd 的文件&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;find / -nouser&lt;/code&gt;&lt;br/&gt;不属于任何人的文件&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-nogroup&lt;/td&gt;
 &lt;td&gt;group 不存在 /etc/group 的文件&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;与文件权限及名称有关的参数&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;参数&lt;/th&gt;
 &lt;th&gt;功能&lt;/th&gt;
 &lt;th&gt;示例&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;-name filename&lt;/td&gt;
 &lt;td&gt;搜寻文件名称为 filename 的文件&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;find / -name &amp;quot;*passwd*&amp;quot;&lt;/code&gt;&lt;br/&gt;找出文件名包含 passwd 这个文件&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-size [+-]SIZE&lt;/td&gt;
 &lt;td&gt;搜寻比 SIZE 还要大（+）或小（-）的文件&lt;br/&gt;c: 代表 Byte， k: 代表 1024Bytes&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;find / -size +50k&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-type TYPE&lt;/td&gt;
 &lt;td&gt;搜寻文件的类型为 TYPE 的文件&lt;br/&gt;一般正规文件 （f）,设备文件 （b, c）,目录 （d）&lt;br/&gt; 链接文件 （l）, socket （s）, 及 FIFO （p）&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;find /run -type s&lt;/code&gt;&lt;br/&gt;找出 /run 目录下，文件类型为 Socket 文件名&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-perm mode&lt;/td&gt;
 &lt;td&gt;搜寻文件权限 = mode 的文件&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-perm -mode&lt;/td&gt;
 &lt;td&gt;搜寻文件每一位权限 都与 mode每位&amp;gt;=的文件&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;find / -perm /7000&lt;/code&gt;&lt;br/&gt;同时含有 &amp;mdash;s&amp;ndash;s&amp;ndash;t 的所有三个权限&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-perm /mode&lt;/td&gt;
 &lt;td&gt;用户 or 组 or 其它 权限 &amp;gt;= mode文件&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;find /usr/bin /usr/sbin -perm /6000&lt;/code&gt;&lt;br/&gt;/usr/bin和/usr/sbin 目录下， 只要具有 SUID 或 SGID 就列出来&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;额外动作&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;参数&lt;/th&gt;
 &lt;th&gt;功能&lt;/th&gt;
 &lt;th&gt;示例&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;-exec command&lt;/td&gt;
 &lt;td&gt;-exec 后面可再接额外的指令来处理搜寻到的结果(指令不支持命令别名)&lt;br/&gt;-exec 必须指定“对每个匹配结果执行的命令”，并用&lt;code&gt;\&lt;/code&gt; 表示“每找到一个就执行一次”（分次print）&lt;br/&gt;或&lt;code&gt;+&lt;/code&gt;表示“尽量批量执行（一起print，更高效）”&lt;br/&gt;还必须用&lt;code&gt;{}&lt;/code&gt;作为“当前找到的文件”的占位符&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;find /usr/bin /usr/sbin -perm /7000 -exec ls -l {} +;&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;-print&lt;/td&gt;
 &lt;td&gt;将结果打印到屏幕上&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item></channel></rss>