| 整理自《鸟哥的Linux私房菜》 |
|
| ### 1、Linux的文件权限和目录配置 |
|
| 在Linux中一切皆文件,文件的身份分为三种:owner/group/others,每种身法有各自的权限:read/write/execute。 |
|
| #### 1.1 文件身份的划分 |
|
| 1、文件所有者 |
|
| 每个文件都有自己的所有者,比如“我”创建了一个文件,这个文件的所有者就是“我”。 |
|
| 2、群组 |
|
| 每个文件又有所属的群组,类似于一个家庭,小王属于家庭A,小红属于家庭B。 |
|
| 3、其他所有人 |
|
| 对于不属于这个群组的其他人则可以归到其他所有人这个范畴,如上所属,小王对于家庭B就是其他人的身份。 |
|
| #### 1.2 文件权限概念 |
|
不同身份对于一个文件所具有的权限是不同的,当我们使用命令ls -al查看目录下的所有文件时,可以看到每个文件对应的权限。 |
|
![文件权限]() |
|
| - 第一栏代表的是文件的类型和权限 |
|
第一栏有十个字符,一个字符代表文件的类型:若为d则是目录,为-则是文件,为l则表示链接文件,为b则是设备文件里的可随机存储设备,为c则表示一次性读取设备;接下来的字符,三个为一组(rwx)共有三组,分别为可读、可写、可执行,如果没有权限则为-。第一组为文件拥有者具有的权限,第二组为加入此群组的帐号的权限,第三组为其他所有人的权限。 |
|
| - 第二栏表示有多少个文件名链接到此节点(链接类似于Windows里的快捷方式) |
| - 第三栏表示文件的所有者 |
| - 第四栏表示文件所属的群组 |
| - 第五栏是文件的大小 |
| - 第六栏是这个文件的创建日期或者是最近修改的日期 |
- 第七栏为文件的文件名,如果前面有个.,则代表这个文件是“隐藏文件”。 |
|
| #### 1.3 改变文件的属性和权限 |
|
- chown:改变文件的所有者 |
|
改变文件的所有者,即change owner,所有者必须存在,即在/etc/passwd文件中有记录的使用者。 |
|
| ```bash |
| [root@study ~]# chown [-R] 帐号名称 文件或目录 [root@study ~]# chown [-R] 帐号名称:群组名称 文件或目录 选项与参数: -R : 进行递回(recursive)的持续变更,亦即连同次目录下的所有文件都变更 |
| ``` |
|
|
|
- chgrp:改变文件的所属群组 |
|
change group的缩写,和改变文件的所有者一样,所属群组也需要存在于/etc/group。 |
|
| ```bash |
| [root@study ~]# chgrp [-R] dirname/filename ... 选项与参数: -R : 进行递回(recursive)的持续变更,亦即连同次目录下的所有文件、目录 |
| ``` |
|
|
|
- chmod:改变文件的权限 |
|
文件权限的改变使用的是chmod指令,权限的设置有两种:第一种是使用数字,第二种是使用符号。 |
|
| 1、数字类型改变文件权限 |
|
| 在数字类型中,每个权限对应一个数字:r>4,w>2,x>1。 |
|
| 每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权 限为: [-rwxrwx---] 分数则是: owner = rwx = 4+2+1 = 7 > group = rwx = 4+2+1 = 7 > others= --- = 0+0+0 = 0 。所以该文件的权限范围是770。 |
|
| ```bash |
| [root@study ~]# chmod [-R] xyz 文件或目录 |
| 选项与参数: |
| xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。 |
| -R : 进行递回(recursive)的持续变更,亦即连同次目录下的所有文件都会变更 |
| ``` |
|
|
|
| 2、字符类型改变文件权限 |
|
| 在字符类型中,使用u(user),g(group),o(others),a(all)来代表三种身份的权限。 |
|
| ```bash |
|
| ``` |
|
| ```bash |
| [root@study ~]# chmod u=rwx,go=rx .bashrc |
| [root@study ~]# chmod a+w .bashrc |
| [root@study ~]# chmod a-x .bashrc |
| ``` |
|
| +是添加上权限,-是除去权限,可以在只修改某个特定的权限使用。 |
|
| #### 1.4 目录与文件的权限意义 |
|
| 文件有权限很好理解,但是目录的权限定义却不大相同。 |
|
| - 文件权限 |
|
| 文件是指实际含有数据的地方,包括一般文本文件,数据库内人档,二进制可执行文件等,在文件中: |
|
| - r(read):可以读取此一文件的实际内容,如读取文本文件的文字内容。 |
| - w(write):可以编辑、修改该文件的内容。(但是不能删除该文件) |
| - e(execute):该文件具有可以被系统执行的权限。 |
|
在Windows中,文件的可执行是通过后缀名来区分的(比如.exe),但是linux中文件是否可以被执行仅取决于x的设置,跟文件名没有绝对的关系。 |
|
| - 目录权限 |
|
| 在目录中,存放的是文件树,比如/ect/x1/x2,ect存放x1和x2文件(可以联想Windows中的文件系统)。 |
|
| - r(read contents in directory):表示具有读取目录结构清单的权限,当你拥有读取一个目录的权限时,表示你可以查询该目录下的文件名数据。 |
| - w(modify contents of directory):w表示具有修改目录结构的权限,也就是 |
| - 创建新的文件与目录 |
| - 删除已经存在的文件和目录 |
| - 将已存在的文件或目录进行更名 |
| - 移动该目录内的文件、目录位置 |
| - x(access[接近] directory):目录的x代表的是使用者内容进入该目录成为工作目录的用途,所谓的工作目录就是当前所在的目录。简单来说,就是进入该目录的权限(在Windows中,有些系统文件夹没有权限就不能进入)。 |
|
| 总结: |
|
|
|
|
|
|
| #### 1.5 Linux文件种类与扩展名 |
|
| 文件种类 |
|
- 常规文件(regular file):一般就是我们进行存取的类型的文件,在ls -al命令下第一个字符为-,根据内容的不同,又大略可以分为: |
| - 纯文本文件(ASCII):称为纯文本文件是因为内容是我们人类可以直接读到的数据,例如数字、字母等等。几乎只要可以用来做为设置的文件都属于这一种文件类型。 |
| - 二进制文件:计算机只认识二进制文件。 |
| - 数据格式文件(data):有些程序在运行的过程中会读取某些特定格式的文件,那些特定格式的文件可以被称为数据文件。 |
- 目录(directory):第一个字符为d。 |
- 链接文件(link):类似于Windows系统的快捷方式,第一个字符为l。 |
| - 设备与接口文件(device):与系统周边及储存等相关的一些文件,通常集中在/dev中,又分为两种: |
| - 区块(block)设备文件:按区块存储,例如硬盘与软盘等。 |
| - 字符(character)设备文件:一次性读取,不能截断输出,例如键盘、鼠标。 |
|
| - 数据接口文件(sockets):通常被用于网络中的数据承接。 |
| - 数据输送文件(FIFO,pipe):管道,先进先出,是一种特殊的文件类型。 |
|
| 常用的扩展名: |
|
| - *.sh:脚本或批处理文件。 |
| - .tar,.tar.gz,.zip,.tgz:经过打包的压缩文件。 |
| - .html,.php:网页相关文件。 |
|
| #### 1.6 Linux目录配置 |
|
| linux目录配置有一套标准的依据。 |
|
|
|
| ### 2、Linux的文件和目录管理 |
|
| #### 2.1 目录与路径 |
|
| ##### 2.1.1 相对路径与绝对路径 |
|
| - 绝对路径:绝对路径的写法“一定是由根目录/写起”,例如:/usr/share/doc这个目录。 |
| - 相对路径:相对路径不是又/写起,而是相对目前工作目录的路径写起,如果要从/usr/share/doc到/usr/share/man下面时,可以写成:“cd ../man”。 |
- . 当前目录 |
- ..上一层目录(根目录的上一层目录与根目录自己是同一个目录) |
|
| ##### 2.1.2 目录的相关操作 |
|
| ```bash |
| . 代表此层目录 |
| .. 代表上一层目录 |
| - 代表前一个工作目录 |
| ~ 代表“目前使用者身份”所在的主文件夹 |
| ~account 代表 account 这个使用者的主文件夹(account是个帐号名称) |
| ``` |
|
| 下面是常见的处理目录的指令: |
|
- cd:变换目录 |
- pwd:显示目前的目录 |
- mkdir:创建一个新的目录 |
- rmdir:删除一个空的目录 |
|
| cd(change directory):切换目录 |
|
| ```bash |
| [root@study ~]# cd [相对路径或绝对路径] |
| ``` |
|
| pwd(print working directory):显示当前所在的目录 |
|
| ```bash |
| [root@study ~]# pwd [-P] |
| 选项与参数: |
| -P :显示出确实的路径,而非使用链接 (link) 路径。 |
| ``` |
|
| mkdir(make directory):创建新目录 |
|
| ```bash |
| [root@study ~]# mkdir [-mp] 目录名称 |
| 选项与参数: |
| -m :设置文件的权限喔!直接设置,不需要看默认权限 (umask) 的脸色~ |
| [root@study tmp]# mkdir -m 711 test2 |
| -p :帮助你直接将所需要的目录(包含上层目录)递回创建起来! |
| [root@study tmp]# mkdir -p test1/test2/test3/test4 |
| ``` |
|
| rmdir:删除“空”的目录 |
|
| ```bash |
| [root@study ~]# rmdir [-p] 目录名称 |
| 选项与参数: |
| -p :连同“上层”“空的”目录也一起删除 |
| ``` |
|
| 注意目录需要一层一层的删除,被删除的目录里面也不能存在其他的目录或文件,只能删除空的目录。 |
|
| #### 2.2 文件与目录管理 |
|
| ls:文件与目录的检视 |
|
| ```bash |
| [root@study ~]# ls [-aAdfFhilnrRSt] 文件名或目录名称.. |
| [root@study ~]# ls [--color={never,auto,always}] 文件名或目录名称.. [root@study ~]# ls [--full-time] 文件名或目录名称.. 选项与参数: |
| -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(copy):复制文件或目录 |
|
cp指令除了复制之外,还可以创建链接文件,对比两文件的新旧而予以更新,以及复制整个目录等等的功能。 |
|
| ```bash |
| [root@study ~]# cp [-adfilprsu] 来源文件(source) 目标文件(destination) |
| [root@study ~]# cp [options] source1 source2 source3 .... directory 选项与参数: |
| -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 不存在的情况下才复制。 --preserve=all :除了 -p 的权限相关参数外,还加入 SELinux 的属性, links, xattr 等也复制了。 最后需要注意的,如果来源文件有两个以上,则最后一个目的文件一定要是“目录”才行! |
| ``` |
|
复制(cp)这个指令是十分重要的,不同身份者执行这个指令会有不同的结果,尤其是-a,-p的选项,对于不同身份,差异非常大。 |
|
| rm(remove):移除目录或文件 |
|
| ```bash |
| [root@study ~]# rm [-fir] 文件或目录 |
| 选项与参数: |
| -f :就是 force 的意思,忽略不存在的文件,不会出现警告讯息; |
| -i :互动模式,在删除前会询问使用者是否动作 |
| -r :递回删除啊!最常用在目录的删除了!这是非常危险的选项!!! |
| ``` |
|
| mv(move):移动文件与目录,或更名 |
|
| ```bash |
| [root@study ~]# mv [-fiu] source destination [root@study ~]# mv [options] source1 source2 source3 .... directory |
| 选项与参数: |
| -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖; |
| -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖! |
| -u(update) :若目标文件已经存在,且 source 比较新,才会更新 (update) |
| ``` |
|
| #### 2.3 文件内容查阅 |
|
| - cat:由第一行开始显示文件内容 |
| - tac:从最后一行开始显示文件内容 |
| - nl:显示的时候,顺道输出行号 |
| - more:一页一页的显示文件内容 |
| - less:一页一页显示内容,但是可以翻页 |
| - head:只看头几行 |
| - tail:只看尾巴几行 |
| - od:以二进制的方式读取文件内容 |
|
| ##### 2.3.1 直接查看文件内容 |
|
直接查看文件内容可以通过/cat/tac/nl这几个常用指令。 |
|
| - cat(concatenate连续) |
|
| ```bash |
| [root@study ~]# cat [-AbEnTv] |
| 选项与参数: |
| -A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已; |
| -b :列出行号,仅针对非空白行做行号显示,空白行不标行号! |
| -E :将结尾的断行字符 $ 显示出来; |
| -n :打印出行号,连同空白行也会有行号,与 -b 的选项不同; |
| -T :将 [tab] 按键以 ^I 显示出来; |
| -v :列出一些看不出来的特殊字符 |
| ``` |
|
| cat不常使用,如果文件内容的行数过多,来不及显示。 |
|
| - tac(反向):同上 |
|
| ```bash |
| [root@study ~]# tac /etc/issue |
| ``` |
|
| - nl(添加行号输出) |
|
| ```bash |
| [root@study ~]# nl [-bnw] 文件 |
| 选项与参数: |
| -b :指定行号指定的方式,主要有两种: |
|
|
| -n :列出行号表示的方法,主要有三种: |
|
|
|
| -w :行号字段的占用的字符数。 |
| ``` |
|
| ##### 2.3.2 可翻页检视 |
|
| - more(一页一页翻动) |
|
| ```bash |
| [root@study ~]# more /etc/man_db.conf |
| ``` |
|
| 在more程序运行的过程中,有几个按键可以使用: |
|
| ```bash |
| - 空格(space):向下翻一页 |
| - 回车(enter):向下翻一行 |
| - /子串:代表当前显示的内容中,向下搜寻“子串”这个关键字,n为下一个; |
| - :f:立即显示出文件名以及当前显示的行数; |
| - q:quit,代表立即离开more, |
| - b或[ctrl]+b:代表返回翻页,(只对文件有用,对pipe无用) |
| ``` |
|
| - less(同上):可以向前翻页 |
|
和more不同的是,在用了less后,可以使用pageup/pagedown等按键上下翻页 |
|
| ```bash |
| [root@study ~]# less /etc/man_db.conf |
| ``` |
|
| 在less程序运行中,同样有几个按键可以使用: |
|
| ```bash |
| space:向下翻动一页 |
| pagedown:向下翻动一页 |
| pageup:向上翻动一页 |
| /字串:向下搜索“字串” |
| ?字串:向上搜索“字串” |
| n:重复前一个搜寻 (与 / 或 ? 有关!) |
| N:反向的重复前一个搜寻 (与 / 或 ? 有关!) |
| g:前进到这个数据的第一行去; |
| G:前进到这个数据的最后一行去 (注意大小写); |
| q:离开 less 这个程序; |
| ``` |
|
| ##### 2.3.3 数据摘取 |
|
我们可以将输出的数据做一个简单的摘取,使用head和tail,这两个命令都是以“行”为单位的。 |
|
| - head(取出前面几行) |
|
| ```bash |
| [root@study ~]# head [-n number] 文件 |
| 选项与参数: |
| -n :后面接数字,代表显示几行的意思(当n为负数时,除了最后n行都显示,) |
| ``` |
|
| - tail(去除后面几行) |
|
| ```bash |
| [root@study ~]# tail [-n number] 文件 |
| 选项与参数: |
| -n :后面接数字,代表显示几行的意思 |
| -f :表示持续侦测后面所接的文件名,要等到按下[ctrl]-c才会结束tail的侦测 |
| ``` |
|
| ##### 2.3.4 非纯文本文件:od |
|
当文件内容不是纯文本的时候,比如二进制文件,可以使用od指令来查看文件内容。 |
|
| ```bash |
| [root@study ~]# od [-t TYPE] 文件 |
| 选项或参数: |
| -t :后面可以接各种“类型 (TYPE)”的输出,例如: |
|
|
|
|
|
|
| ``` |
|
| ##### 2.3.5 修改文件时间或创建新文件:touch |
|
| Linux中主要有三个事件: |
|
| - modification time (mtime): 当该文件的“内容数据”变更时,就会更新这个时间!内容数据指的是文件的内容,而不是文件的属性或权限喔! |
|
| - status time (ctime): 当该文件的“状态 (status)”改变时,就会更新这个时间,举例来说,像是权限与属性被更改了,都会更新这个时间啊。 |
|
| - access time (atime): 当“该文件的内容被取用”时,就会更新这个读取时间 (access)。举例来说,我们使用 cat 去读取 /etc/man_db.conf , 就会更改该文件的 atime 了。 |
|
touch主要有下面两个作用: |
|
| - 创建一个空的文件; |
| - 将某个文件日期修订为当前时间(mtime与atime) |
|
| #### 2.4 文件与目录的默认权限和隐藏权限 |
|
| 除了基本r, w, x权限外,在Linux传统的Ext2/Ext3/Ext4文件系统下,我们还可以设置其他的系 统隐藏属性,这部份可使用 chattr 来设置,而以 lsattr 来查看,最重要的属性就是可以设置 其不可修改的特性!让连文件的拥有者都不能进行修改! 这个属性可是相当重要的,尤其是 在安全机制上面 (security)!比较可惜的是,在 CentOS 7.x 当中利用 xfs 作为默认文件系统,但是 xfs 就没有支持所有的 chattr 的参数了!仅有部份参数还有支持而已! |
|
| ##### 2.4.1 文件默认权限:umask |
|
| 在Linux中,默认权限与umask有关,umask就是指定“目前使用者在创建文件或目录时候的权限默认值”。 |
|
| ```bash |
| [root@study ~]# umask |
| 0022 |
| [root@study ~]# umask -S |
| u=rwx,g=rx,o=rx |
| ``` |
|
| 查阅默认权限的方式有两种,第一种直接输入umask,就可以以数字方式显示默认权限,第二种是加入-S(symbolic)选项,加入后就以符号方式来显示出默认权限。 |
|
在默认权限上,目录与文件是不一样的,通常区分在x上。x权限对于目录是非常重要的,但是一般的文件创建则不应该有执行的权限,因为一般的文件通常只用于数据的记录,并不是执行。默认的情况下: |
|
- 若使用者创建“文件”,则默认没有“可执行x”权限,只有rw两个,也就是666,-rw-rw-rw-。 |
- 若使用者创建为“目录”,则由于x与能否进入目录有关,所以默认为开启,所以默认权限为777,drwxrwxrwx。 |
|
在umask中的数字表示的,拿掉的权限,所以上面后面三个数字表示g和o要拿掉w权限。 |
|
| ##### 2.4.2 文件隐藏属性 |
|
| 由于在CentOS7.x的xfs文件系统仅支持部分参数,所以不想写了。 |
|
| ##### 2.4.3 文件特殊权限:SUID,SGID,SBIT。 |
|
| 在Linux帐号管理中讲解。 |
|
| ##### 2.4.4 观察文件类型:file |
|
如果想要知道某个文件的基本数据,是属于ASCII还是data文件还是二进制,可以使用file指令。 |
|
| ```BAS |
| [root@study ~]# file ~/.bashrc |
| /root/.bashrc: ASCII text ==告诉我们是 ASCII 的纯文本文件啊! |
| ``` |
|
| #### 2.5 指令与文件的搜寻 |
|
在Linux中可以使用多种方式搜寻文件。通常find不常用,一般都是先使用whereis或者是locate。 |
|
| - whereis(由一些特定的目录中寻找文件文件名) |
|
| ```Bash |
| [root@study ~]# whereis [-bmsu] |
| 文件或目录名 选项与参数: |
| -l :可以列出 whereis 会去查询的几个主要目录而已 |
| -b :只找 binary 格式的文件 |
| -m :只找在说明文档 manual 路径下的文件 |
| -s :只找 source 来源文件 |
| -u :搜寻不在上述三个项目当中的其他特殊文件 |
| ``` |
|
| whereis只在一些特定的目录中寻找文件,主要正对/bin/sbin下面的可执行文件,以及/usr/share/man下面的man page文件 跟几个比较特定的文件来处理。 |
|
| - locate/updatedb |
|
| ```bash |
| [root@study ~]# locate [-ir] keyword |
| 选项与参数: |
| -i :忽略大小写的差异; |
| -c :不输出文件名,仅计算找到的文件数量 |
| -l :仅输出几行的意思,例如输出五行则是 -l 5 |
| -S :输出 locate 所使用的数据库文件的相关信息,包括该数据库纪录的文件/目录数量等 |
| -r :后面可接正则表达式的显示方式 |
| ``` |
|
locate是在数据库中查询文件,如果创建的文件没有更新到数据库中,则可能查询不到,但是可以通过updatedb指令来更新数据库。 |
|
| ```bash |
| updatedb:根据 /etc/updatedb.conf 的设置去搜寻系统硬盘内的文件名,并更新 /var/lib/mlocate 内的数据库文件; |
| locate:依据 /var/lib/mlocate 内的数据库记载,找出使用者输入的关键字文件名。 |
| ``` |
|
| - find:在磁盘中查询文件,最耗时间 |
|
| ```bash |
| [root@study ~]# find [PATH] [option] [action] 选项与参数: |
| 1. 与时间有关的选项:共有 -atime, -ctime 与 -mtime ,以 -mtime 说明 |
|
|
|
|
|
| 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 :将结果打印到屏幕上,这个动作是默认动作! |
| ``` |
|
|
|
|
|
| ### 3、Linux磁盘与文件系统管理 |
|
|
|
| ### 4、文件与文件系统的压缩、打包与备份 |
|
|
|
| ### 5、vim编辑器 |