Linux基础篇-第六章-Linux 文件与目录管理

目录的相关操作

.. 代表上一层目录

- 代表前一个工作目录

~ 代表『目前用户身份』所在的家目录

~account 代表 account 这个用户的家目录(account 是个账号名称)

在所有目录底下都会存在的两个目录,分别是『.』与『..』 分别代表此层与上层目录的意思(表根目录的上一层(..)与根目录自己(.)是同一个目录)

常用指令

复制,创建、删除、移动、显示文件或目录

cd :变换目录

pwd [ options ] :显示当前目录
      -P :不以连结文件的数据显示,而是显示正确的完整路径

mkdir [ options ] 目录 :建立一个新的目录
      -p :直接将所需要的目录(包含上层目录)递归建立起来
      -m :配置文件案的权限喔!直接设定

rmdir [ options ] :删除一个空的目录,被删除的目录里面必定不能存在其他的目录或文件(另行参考 rm 指令)
      -p:连同『上层』『空的』目录也一起删除

echo :有『显示、印出』的意思

ls [ options ] [文件名] :文件与目录的检视
      -a :全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)
      -A :全部的文件,连同隐藏档,但不包括 . 与 .. 这两个目录
      -d :仅列出目录本身,而不是列出目录内的文件数据(常用)
      -f :直接列出结果,而不进行排序 (ls 预设会以档名排序!)
      -F :根据文件、目录等信息,给予附加数据结构,例如:
       *:代表可执行文件; /:代表目录; =:代表 socket 文件; |:代表 FIFO 文件;
      -h :将文件容量以人类较易读的方式(例如 GB, KB 等等)列出来;
      -i :列出 inode 号码,inode 的意义下一章将会介绍;
      -l :长数据串行出,包含文件的属性与权限等等数据;(常用)
      -n :列出 UID 与 GID 而非使用者与群组的名称 (UID 与 GID 会在账号管理提到!)
      -r :将排序结果反向输出,例如:原本档名由小到大,反向则为由大到小;
      -R :连同子目录内容一起列出来,等于该目录下的所有文件都会显示出来;
      -S :以文件容量大小排序,而不是用档名排序;
      -t :依时间排序,而不是用档名。
      --color=never :不要依据文件特性给予颜色显示;
      --color=always :显示颜色
      --color=auto :让系统自行依据设定来判断是否给予颜色
      --full-time :以完整时间模式 (包含年、月、日、时、分) 输出
      --time={atime,ctime} :输出 access 时间或改变权限属性时间 (ctime) 而非内容变更时间 (modification time)


cp [ options ] : 文件路径 或 cp [options] 文件1 文件2 ...  目录:复制
       -a :相当于 -dr --preserve=all 的意思,至于 dr 请参考下列说明;(常用)
       -d :若来源文件为链接文件的属性(link file),则复制链接文件属性而非文件本身;
       -f :为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
       -i :若目标文件(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
       -l :进行硬式连结(hard link)的连结档建立,而非复制文件本身;
       -p :连同文件的属性(权限、用户、时间)一起复制过去,而非使用默认属性(备份常用);
       -r :递归持续复制,用于目录的复制行为;(常用)
       -s :复制成为符号链接文件 (symbolic link),亦即『快捷方式』文件;
       -u :destination 比 source 旧才更新 destination,或 destination 不存在的情况下才复制

rm [ options ] : 文件或文件夹:删除
       -f :就是 force 的意思,忽略不存在的文件,不会出现警告讯息;
       -i :互动模式,在删除前会询问使用者是否动作
       -r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!

mv [ options ] : 源文件 目标文件/ 源文件.. 目录:移动
      -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
      -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
      -u :若目标文件已经存在,且 source 比较新,才会更新 (update)

取得路径的文件名与目录名称

basename name [ SUFFIX ] :从文件名中剥离目录和后缀

dirname name :从文件名剥离非目录的后缀

文件内容查阅

cat [ options ] :由第一行开始显示文件内容
      -A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
      -b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
      -E :将结尾的断行字符 $ 显示出来;
      -n :打印出行号,连同空白行也会有行号,与 -b 的选项不同;
      -T :将 [tab] 按键以 ^I 显示出来;
      -v :列出一些看不出来的特殊字符

tac : 从最后一行开始显示,可以看出 tac 是 cat 的倒着写

nl : (添加行号打印)
      -b :指定行号指定的方式,主要有两种:
            -b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
            -b t :如果有空行,空的那一行不要列出行号(默认值);
      -n :列出行号表示的方法,主要有三种:
            -n ln :行号在屏幕的最左方显示;
            -n rn :行号在自己字段的最右方显示,且不加 0 ;
            -n rz :行号在自己字段的最右方显示,且加 0 ;
      -w :行号字段的占用的字符数。

more : 一页一页的显示文件内容
      空格键 (space):代表向下翻一页;
      Enter :代表向下翻『一行』;
      /字符串 :代表在这个显示的内容当中,向下搜寻『字符串』这个关键词;
      :f :立刻显示出文件名以及目前显示的行数;
      q :代表立刻离开 more ,不再显示该文件内容。
      b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。

less :一页一页翻动
      空格键 :向下翻动一页;
      [pagedown]:向下翻动一页;
      [pageup] :向上翻动一页;
      /字符串 :向下搜寻『字符串』的功能;
      ?字符串 :向上搜寻『字符串』的功能;
      n :重复前一个搜寻 (与 / 或 ? 有关!)
      N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
      g :前进到这个资料的第一行去;
      G :前进到这个数据的最后一行去 (注意大小写);
      q :离开 less 这个程序;

head :取出前面几行
      -n :后面接数字,代表显示几行的意思

tail :取出后面几行
      -n :后面接数字,代表显示几行的意思
      -f :表示持续侦测后面所接的档名,要等到按下[ctrl]-c 才会结束 tail 的侦测

| 管线 :管线 (|) 的符号存在,这个管线的意思是:『前面的指令所输出的讯息,请透过管线交由后续的指令继续使用』
      例如 :head -n 20 /etc/man_db.conf | tail -n 10
      解释 :head -n 20 /etc/man_db.conf 会将文件内的 20 行取出来,但不输出到屏幕上,而是转交给后续的 tail 指令继续处理。 因此 tail 『不需要接档名』,因为 tail 所需要的数据是来自于head 处理后的结果!

修改文件时间

touch [options] [-t] [-d] filename:修改文件时间或建置新档(参考本文目录:修改文件时间或建置新档: touch)
      -a :仅修订 atime;
      -c :仅修改文件的时间,若该文件不存在则不建立新文件;
      -d :后面可以接欲修订的日期而不用目前的日期,也可以使用 --date="日期或时间"
      -m :仅修改 mtime ;
      -t :后面可以接欲修订的时间而不用目前的时间,格式为[YYYYMMDDhhmm]

文件隐藏属性

umask [ -S ] [ # ]:文件预设权限
       # :代表数字,可修改默认文件预设权限
      -S :这个选项,就会以符号类型的方式来显示出权限

chattr [+-=] [ASacdistu] 文件或目录名称 :
      + :增加某一个特殊参数,其他原本存在参数则不动。
      - :移除某一个特殊参数,其他原本存在参数则不动。
      = :设定一定,且仅有后面接的参数
      
      A :当设定了 A 这个属性时,若你有存取此文件(或目录)时,他的访问时间 atime 将不会被修改,可避免 I/O 较慢的机器过度的存取磁盘。(目前建议使用文件系统挂载参数处理这个项目)
      S :一般文件是异步写入磁盘的(原理请参考前一章 sync 的说明),如果加上 S 这个属性时,当你进行任何文件的修改,该更动会『同步』写入磁盘中。
      a :当设定 a 之后,这个文件将只能增加数据,而不能删除也不能修改数据,只有 root 才能设定这属性
      c :这个属性设定之后,将会自动的将此文件『压缩』,在读取的时候将会自动解压缩,但是在储存的时候,将会先进行压缩后再储存(看来对于大文件似乎蛮有用的!)
      d :当 dump 程序被执行的时候,设定 d 属性将可使该文件(或目录)不会被 dump 备份
      i :这个 i 可就很厉害了!他可以让一个文件『不能被删除、改名、设定连结也无法写入或新增数据!』对于系统安全性有相当大的帮助!只有 root 能设定此属性
      s :当文件设定了 s 属性时,如果这个文件被删除,他将会被完全的移除出这个硬盘空间,所以如果误删了,完全无法救回来了喔!
      u :与 s 相反的,当使用 u 来配置文件案时,如果该文件被删除了,则数据内容其实还存在磁盘中,可以使用来救援该文件喔!
      
      注意 1:属性设定常见的是 a 与 i 的设定值,而且很多设定值必须要身为 root 才能设定
      注意 2:xfs 文件系统仅支援 AadiS 而已

lsattr [-adR] :文件或目录
      -a :将隐藏文件的属性也秀出来;
      -d :如果接的是目录,仅列出目录本身的属性而非目录内的文件名;
      -R :连同子目录的数据也一并列出来!

file 文件名 :观察文件类型

脚本文件名的搜寻

which [options] command: 寻找『执行档』(这个指令是根据『PATH』这个环境变量所规范的路径,去搜寻『执行档』的档名)
      -a :将所有由 PATH 目录中可以找到的指令均列出,而不止第一个被找到的指令名称

whereis [-bmsu] 文件或目录名:由一些特定的目录中寻找文件文件名(whereis 主要是针对 /bin /sbin 底下的执行档, 以及 /usr/share/man 底下的 man page 文件,)
      -l :可以列出 whereis 会去查询的几个主要目录而已
      -b :只找 binary 格式的文件
      -m :只找在说明文件 manual 路径下的文件
      -s :只找 source 来源文件
      -u :搜寻不在上述三个项目当中的其他特殊文件

locate [-ir] keyword / updatedb :搜寻完整文件名,包含路径名称(限制:当新建立起来的文件, 却还在数据库更新之前搜寻该文件,那么 locate 会告诉你『找不到!』!因为必须要更新数据库!更新 locate 数据库的方法非常简单,直接输入『 updatedb 』)
      -i :忽略大小写的差异;
      -c :不输出档名,仅计算找到的文件数量
      -l :仅输出几行的意思,例如输出五行则是 -l 5
      -S :输出 locate 所使用的数据库文件的相关信息,包括该数据库纪录的文件/目录数量等
      -r :后面可接正规表示法的显示方式

find [PATH] [option] [action] :
      1. 与时间有关的选项:共有 -atime, -ctime 与 -mtime ,以 -mtime 说明
            -mtime n :n 为数字,意义为在 n 天之前的『一天之内』被更动过内容的文件;
            -mtime +n :列出在 n 天之前(不含 n 天本身)被更动过内容的文件档名;
            -mtime -n :列出在 n 天之内(含 n 天本身)被更动过内容的文件档名。
            -newer file :file 为一个存在的文件,列出比 file 还要新的文件档名

      2. 与使用者或组名有关的参数:
            -uid n :n 为数字,这个数字是用户的账号 ID,亦即 UID ,这个 UID 是记录在
            /etc/passwd 里面与账号名称对应的数字。这方面我们会在第四篇介绍。
            -gid n :n 为数字,这个数字是组名的 ID,亦即 GID,这个 GID 记录在
            /etc/group,相关的介绍我们会第四篇说明~
            -user name :name 为使用者账号名称喔!例如 dmtsai
            -group name:name 为组名喔,例如 users ;
            -nouser :寻找文件的拥有者不存在 /etc/passwd 的人!
            -nogroup :寻找文件的拥有群组不存在于 /etc/group 的文件!当你自行安装软件时,很可能该软件的属性当中并没有文件拥有者,这是可能的!在这个时候,就可以使用 -nouser 与 -nogroup 搜寻。

      3. 与文件权限及名称有关的参数:
            -name filename:搜寻文件名为 filename 的文件;
            -size [+-]SIZE:搜寻比 SIZE 还要大(+)或小(-)的文件。这个 SIZE 的规格有:
                  c: 代表 byte, k: 代表 1024bytes。所以,要找比 50KB还要大的文件,就是『 -size +50k 』
             -type TYPE :搜寻文件的类型为 TYPE 的,类型主要有:一般正规文件 (f), 装置文件 (b, c),目录 (d), 连结档 (l), socket (s), 及 FIFO (p) 等属性。
            -perm mode :搜寻文件权限『刚好等于』 mode 的文件,这个 mode 为类似 chmod的属性值,举例来说, -rwsr-xr-x 的属性为 4755 !
            -perm -mode :搜寻文件权限『必须要全部囊括 mode 的权限』的文件,举例来说,我们要搜寻 -rwxr--r-- ,亦即 0744 的文件,使用 -perm -0744,当一个文件的权限为 -rwsr-xr-x ,亦即 4755 时,也会被列出来,因为 -rwsr-xr-x 的属性已经囊括了 -rwxr--r-- 的属性了。
            -perm /mode :搜寻文件权限『包含任一 mode 的权限』的文件,举例来说,我们搜寻-rwxr-xr-x ,亦即 -perm /755 时,但一个文件属性为 -rw-------也会被列出来,因为他有 -rw.... 的属性存在!

      4. 额外可进行的动作:
            -exec command :command 为其他指令,-exec 后面可再接额外的指令来处理搜寻到的结果。
            -print :将结果打印到屏幕上,这个动作是预设动作!
            
            例如:find /usr/bin /usr/sbin -perm /7000 -exec ls -l {} \;
            该范例中特殊的地方有 {} 以及 \; 还有 -exec 这个关键词,这些东西的意义为:
            1、{} 代表的是『由 find 找到的内容』,如上图所示,find 的结果会被放置到 {} 位置中;
            2、 -exec 一直到 \; 是关键词,代表 find 额外动作的开始 (-exec) 到结束 (\;) ,在这中间的就是 find 指令内的额外动作。 在本例中就是『 ls -l {} 』!
            3、因为『 ; 』在 bash 环境下是有特殊意义的,因此利用反斜杠来跳脱。

关于执行文件路径的变量: $PATH

我们知道查阅文件属性的指令 ls 完整文件名为:/bin/ls(这是绝对路径),那你会不会觉得很奇怪:『为什么我可以在任何地方执行/bin/ls 这个指令呢? 』 为什么我在任何目录下输入 ls 就一定可以显示出一些讯息而不会说找不到该 /bin/ls 指令呢? 这是因为环境变量PATH 的帮助所致呀!

当我们在执行一个指令的时候,举例来说『ls』好了,系统会依照 PATH 的设定去每个 PATH 定义的目录下搜寻文件名为 ls 的可执行文件,如果在 PATH 定义的目录中含有多个文件名为 ls 的可执行文件,那么先搜寻到的同名指令先被执行

修改文件时间或建置新档: touch

每个文件在 linux 底下都会记录许多的时间参数, 其实是有三个主要的变动时间:
1、modification time (mtime):
当该文件的『内容数据』变更时,就会更新这个时间!内容数据指的是文件的内容,而不是文件的属性或权限喔!

2、status time (ctime):
当该文件的『状态 (status)』改变时,就会更新这个时间,举例来说,像是权限与属性被更改了,都会更新这个时间啊。

3、access time (atime):
当『该文件的内容被取用』时,就会更新这个读取时间 (access)。举例来说,我们使用 cat 去读取/etc/man_db.conf , 就会更新该文件的 atime 了。

touch 这个指令最常被使用的情况是:

1、建立一个空的文件;
2、 将某个文件日期修订为目前 (mtime 与 atime)

文件预设权限:umask

umask 就是指定 『目前用户在建立文件或目录时候的权限默认值

[root@study ~]# umask
0022 <==与一般权限有关的是后面三个数字!

[root@study ~]# umask -S
u=rwx,g=rx,o=rx

查阅的方式有两种,一种可以直接输入 umask ,就可以看到数字型态的权限设定分数, 一种则是加入 -S (Symbolic) 这个选项,就会以符号类型的方式来显示出权限了!

在默认权限的属性上,目录与文件是不一样的。x 权限对于目录是非常重要的!但是一般文件的建立则不应该有执行的权限,因为一般文件通常是用在于数据的记录嘛!当然不需要执行的权限了。 因此,预设的情况如下:

若使用者建立为『文件』则预设『没有可执行( x )权限』,亦即只有 rw 这两个项目,也就是最大为 666 分,预设权限如下:
-rw-rw-rw-

若用户建立为『目录』,则由于 x 与是否可以进入此目录有关,因此默认为所有权限均开放,亦即为 777 分,预设权限如下:
drwxrwxrwx

要注意的是,umask 的分数指的是『该默认值需要减掉的权限!』因为 r、w、x 分别是 4、2、1 分,所以啰!也就是说,当要拿掉能写的权限,就是输入 2 分,而如果要拿掉能读的权限,也就是 4 分,那么要拿掉读与写的权限,也就是 6 分,而要拿掉执行与写入的权限,也就是 3 分。

如果以上面的例子来说明的话,因为 umask 为 022 ,所以 user 并没有被拿掉任何权限,不过 group 与 others 的权限被拿掉了 2 (也就是 w 这个权限),那么当使用者:
1、建立文件时:(-rw-rw-rw-) - (-----w--w-) ==> -rw-r--r--
2、建立目录时:(drwxrwxrwx) - (d----w--w-) ==> drwxr-xr-x

文件隐藏属性

1、chattr (配置文件案隐藏属性)

2、lsattr (显示文件隐藏属性)

文件特殊权限: SUID, SGID, SBIT

image.png

SUID

当 s 这个标志出现在文件拥有者的 x 权限上时,例如刚刚提到的 /usr/bin/passwd 这个文件的权限状态:『-rwsr-xr-x』,此时就被称为 Set UID,简称为 SUID 的特殊权限。 那么 SUID 的权限对于一个文件的特殊功能是什么呢?基本上 SUID 有这样的限制与功能:
1、 SUID 权限仅对二进制程序(binary program)有效;
2、 执行者对于该程序需要具有 x 的可执行权限;
3、 本权限仅在执行该程序的过程中有效 (run-time);
4、 执行者将具有该程序拥有者 (owner) 的权限。

例子来说明。我们的 Linux系统中,所有账号的密码都记录在 /etc/shadow 这个文件里面,这个文件的权限为:『---------- 1 root root』,意思是这个文件仅有 root 可读且仅有 root 可以强制写入而已。 既然这个文件仅有 root 可以修改,那么 dmtsai 这个一般账号使用者能否自行修改自己的密码呢? 你可以使用你自己的账号输入『passwd』这个指令来看看。一般用户当然可以修改自己的密码了!

明明 /etc/shadow 就不能让 dmtsai 这个一般账户去存取的,为什么 dmtsai 还能够修改这个文件内的密码呢? 这就是 SUID 的功能啦!藉由上述的功能说明,我们可以知道

  1. dmtsai 对于 /usr/bin/passwd 这个程序来说是具有 x 权限的,表示 dmtsai 能执行 passwd;
  2. passwd 的拥有者是 root 这个账号;
  3. dmtsai 执行 passwd 的过程中,会『暂时』获得 root 的权限;
  4. /etc/shadow 就可以被 dmtsai 所执行的 passwd 所修改

但如果 dmtsai 使用 cat 去读取 /etc/shadow 时,他能够读取吗?因为 cat 不具有 SUID 的权限,所以 dmtsai 执行 『cat /etc/shadow』 时,是不能读取 /etc/shadow 的。我们用一张示意图来说明如下:


image.png

SGID

当 s 标志在文件拥有者的 x 项目为 SUID,那 s 在群组的 x 时则称为 Set GID, SGID。 举例来说,你可以用底下的指令来观察到具有 SGID 权限的文件喔:
与 SUID 不同的是,SGID 可以针对文件或目录来设定!如果是对文件来说, SGID 有如下的功能:
1、 SGID 对二进制程序有用;
2、 程序执行者对于该程序来说,需具备 x 的权限;
3、 执行者在执行的过程中将会获得该程序群组的支持!

举例来说,上面的 /usr/bin/locate 这个程序可以去搜寻 /var/lib/mlocate/mlocate.db 这个文件的内容(详细说明会在下节讲述), mlocate.db 的权限如下:

image.png

除了 binary program 之外,事实上 SGID 也能够用在目录上,这也是非常常见的一种用途! 当一个目录设定了 SGID 的权限后,他将具有如下的功能:
1、 用户若对于此目录具有 r 与 x 的权限时,该用户能够进入此目录;
2、 用户在此目录下的有效群组(effective group)将会变成该目录的群组
3、 用途:若用户在此目录下具有 w 的权限(可以新建文件),则使用者所建立的新文件,该新文件的群组与此目录的群组相同

SBIT

当 t 这个标志出现在文件拥有者的 x 权限上时,则称为SBIT。这个 SBIT 目前只针对目录有效,对于文件已经没有效果了。SBIT 对于目录的作用是:
1、 当用户对于此目录具有 w, x 权限,亦即具有写入的权限时;
2、 当用户在该目录下建立文件或目录时,仅有自己与 root才有权力删除该文件

换句话说:当甲这个用户于 A 目录是具有群组或其他人的身份,并且拥有该目录 w 的权限, 这表示『甲用户对该目录内任何人建立的目录或文件均可进行 "删除/更名/搬移" 等动作。』 不过,如果将 A 目录加上了 SBIT 的权限项目时,则甲只能够针对自己建立的文件或目录进行删除/更名/移动等动作,而无法删除他人的文件

SUID/SGID/SBIT 权限设定

现在你应该已经知道数字型态更改权限的方式为『三个数字』的组合, 那么如果在这三个数字之前再加上一个数字的话,最前面的那个数字就代表这几个权限了!
1、 4 为 SUID
2、 2 为 SGID
3、 1 为 SBIT
假设要将一个文件权限改为『-rwsr-xr-x』时,由于 s 在用户权力中,所以是 SUID ,因此, 在原
先的 755 之前还要加上 4 ,也就是:『 chmod 4755 filename 』来设定!此外,还有大 S 与大 T 的
产生喔!参考底下的范例啦!


image.png

image.png

最后一个例子就要特别小心啦!怎么会出现大写的 S 与 T 呢?不都是小写的吗? 因为 s 与 t 都是取代 x 这个权限的,但是你有没有发现阿,我们是下达 7666 喔!也就是说, user, group 以及others 都没有 x 这个可执行的标志( 因为 666 嘛 ),所以,这个 S, T 代表的就是『空的』! SUID 是表示『该文件在执行的时候,具有文件拥有者的权限』,但是文件 拥有者都无法执行了,哪里来的权限给其他人使用?当然就是空的! 而除了数字法之外,你也可以透过符号法来处理!其中 SUID 为 u+s ,而 SGID 为 g+s ,SBIT则是 o+t 啰!来看看如下的范例:


image.png

总结

0、绝对路径:『一定由根目录 / 写起』;相对路径:『不由 / 写起,而是由相对当前目录写起』

1、特殊目录有:., .., -, ~, ~account 需要注意;

2、与目录相关的指令有:cd, mkdir, rmdir, pwd 等重要指令;

3、rmdir 仅能删除空目录,要删除非空目录需使用『 rm -r 』指令;

4、用户能使用的指令是依据 PATH 变量所规定的目录去搜寻的;

5、ls 可以检视文件的属性,尤其 -d, -a, -l 等选项特别重要!

6、文件的复制、删除、移动可以分别使用:cp, rm , mv 等指令来操作;

7、检查文件的内容(读文件)可使用的指令包括有:cat, tac, nl, more, less, head, tail, od 等

8、cat -n 与 nl 均可显示行号,但默认的情况下,空白行会不会编号并不相同;

9、touch 的目的在修改文件的时间参数,但亦可用来建立空文件;

10、一个文件记录的时间参数有三种,分别是 access time(atime), status time (ctime),
modification time(mtime),ls 默认显示的是 mtime。

11、除了传统的 rwx 权限之外,在 Ext2/Ext3/Ext4/xfs 文件系统中,还可以使用 chattr 与 lsattr
设定及观察隐藏属性。 常见的包括只能新增数据的 +a 与完全不能更动文件的 +i 属性。

12、新建文件/目录时,新文件的预设权限使用 umask 来规范。默认目录完全权限为 drwxrwxrwx, 文件则为-rw-rw-rw-。

13、文件具有 SUID 的特殊权限时,代表当用户执行此一 binary 程序时,在执行过程中用户会暂时具有程序拥有者的权限

14、目录具有 SGID 的特殊权限时,代表用户在这个目录底下新建的文件之群组都会与该目录
的组名相同。

15、目录具有 SBIT 的特殊权限时,代表在该目录下用户建立的文件只有自己与 root 能够删除!

16、观察文件的类型可以使用 file 指令来观察;

17、搜寻指令的完整文件名可用 which 或 type ,这两个指令都是透过 PATH 变量来搜寻文件名;

18、搜寻文件的完整档名可以使用 whereis 找特定目录或 locate 到数据库去搜寻,而不实际搜寻文件系统;

19、利用 find 可以加入许多选项来直接查询文件系统,以获得自己想要知道的档名

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,651评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,468评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,931评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,218评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,234评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,198评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,084评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,926评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,341评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,563评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,731评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,430评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,036评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,676评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,829评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,743评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,629评论 2 354

推荐阅读更多精彩内容