Linux 命令整理(一)
Linux 命令整理(一)
文章目录
- Linux 命令整理(一)
- 1、认识 Linux
- 1.1、CentOS 的观察
- 1.2、X window 与文本模式的切换
- 1.3、正确开关机
- 2、文件与目录权限
- 2.1、文件的权限与属性
- 3、文件与目录管理
- 3.1、文件与目录的相关操作
- 3.2、文件内容查阅
- 3.2.1、文件内容查阅
- 3.2.2、可翻页检视
- 3.2.3、资料截取
- 3.2.4、非纯文本文件:od
- 3.3、修改文件时间或新建文件:touch
- 3.4、文件默认权限:umask
- 3.5、文件的隐藏权限
- 3.6、文件特殊权限:SUID,SGID,SBIT
- 3.6.1、SUID/SGID/SBIT 权限设定
- 3.7、观察文件类型:file
- 3.8、指令与文件的搜寻
- 3.8.1、脚本文件名的搜寻
- 3.8.2、文件名的搜寻
- 4、磁盘与文件系统管理
- 4.1、XFS 文件系统的描述观察
- 4.2、文件系统的简单操作
- 4.3、实体链接与符号链接:ln
- 4.4、磁盘的分区、格式化、检验与挂载
- 4.4.1、观察磁盘分区状态
- 4.4.2、磁盘分区:gdisk/fdisk
- 4.4.3、磁盘格式化(建立文件系统)
- 4.4.4、文件系统的检测
- 4.5、文件系统的挂载与卸载
- 4.6、磁盘/文件系统参数修订
- 4.7、设定开机挂载
- 5、文件、文件系统的压缩,打包与备份
- 5.1、Linux系统常见的压缩指令
- 5.1.1、gzip,zcat/zmore/zless/zgrep
- 5.1.2、bzip2,bzcat/bzmore/bzless/gzgrep
- 5.1.3、xz,xzmore/xzless/xzgrep
- 5.2、打包指令:tar
- 5.2.1、使用 tar 加入 -z,-j 或 -J 的参数备份 /etc/ 目录
- 5.2.2、查阅 tar 文件的数据内容(可查看文件名),与备份文件名有无根目录的意义
- 5.2.3、将备份的数据解压缩,并考虑特定目录的解压缩动作(-C 选项的应用)
- 5.2.4、仅解开单一文件的方法
- 5.2.5、打包某目录,但不包含该目录下的某些文件的作法
- 5.2.6、仅打包比某个时刻还新的文件
- 5.2.7、特殊应用:利用管线命令与数据流
- 6、VIM 学习
- 6.1、vi 的使用
- 6.1.1、一般指令模式可用的按键说明,光标移动、复制粘贴、搜寻取代等
- 6.1.2、一般指令模式切换到编辑模式的可用按键说明
- 6.1.3、一般指令模式切换到指令列模式的可用按键说明
- 6.1.4、VIM 的暂存文件、救援回复与开启时的警告信息
- 6.2、VIM 的额外功能
- 6.2.1、区块选择
- 6.2.2、多文件编辑
- 6.2.3、多窗口功能
- 7、认识 bash 这个 shell
- 7.1、查询指令是否为 Bash shell 的内置命令:type
- 7.2、Shell 的变量功能
- 7.2.1、环境变量的功能
- 7.2.2、变量的键盘读取、数组与宣告:read,array,declare
- 7.2.3、与文件系统及程序的限制关系:ulimit
- 7.3、命令别名与历史命令
- 7.4、Bash Shell 的操作环境
- 7.4.1、路径与指令搜寻顺序
- 7.4.2、bash 的进站与欢迎信息:/etc/issue,/etc/motd
- 7.4.3、bash 的环境配置文件
- 7.4.4、通配符与特殊符号
- 7.5、数据流重定向
- 7.5.1、什么是数据流重定向
- 7.5.2、命令执行的判断依据:;,&&,||
- 7.6、管线命令
- 7.6.1、撷取命令:cut,grep
- 7.6.2、排序命令:sort,wc,uniq
- 7.6.3、双向重定向:tee
- 7.6.4、字符转换命令:tr,col,join,paste,expand
- 7.6.5、分区命令:split
- 7.6.6、参数代换:xargs
- 7.6.7、关于减号 - 的作用
1、认识 Linux
1.1、CentOS 的观察
[root@MiWiFi-R4A-srv ~]# uname -r #查看内核版本
[root@MiWiFi-R4A-srv ~]# uname -m #查看操作系统的位版本
[root@MiWiFi-R4A-srv ~]# yum install redhat-lsb
[root@MiWiFi-R4A-srv ~]# lsb_release -a
1.2、X window 与文本模式的切换
Linux 预设下会提供 6 个 Terminal 来让使用者登录,切换的方式为使用:[Ctrl] + [Alt] + [F1]~[F6]。
- [Ctrl] + [Alt] + [F2]~[F6]:文字接口登录 tty2~tty6 终端机;
- [Ctrl] + [Alt] + [F1]:图像接口桌面。
1.3、正确开关机
- 惯用的关机指令:shutdown
[root@MiWiFi-R4A-srv ~]#/sbin/shutdown [-krhc] [时间] [警告信息]
选项与参数:
-k : 不要真的关机,只是发送警告信息出去!
-r : 在将系统的服务停掉之后就重新启动(常用)
-h : 将系统的服务停掉后,立即关机。(常用)
-c : 取消已经在进行的 shutdown 指令内容。
时间 : 指定系统关机时间!
- 重新启动,关机:reboot,halt,poweroff
[root@MiWiFi-R4A-srv ~]# sync; sync; sync; reboot
[root@MiWiFi-R4A-srv ~]# halt #系统停止~屏幕可能会保留系统已经停止的信息!
[root@MiWiFi-R4A-srv ~]# poweroff #系统关机,所以没有提供额外的电力,屏幕空白!
2、文件与目录权限
2.1、文件的权限与属性
改变所属群组,chgrp
[root@MiWiFi-R4A-srv ~]# chgrp [-R] 目录/文件 ... 选项与参数: -R : 进行递归(recursive)的持续改变
改变文件拥有者,chown
[root@MiWiFi-R4A-srv ~]# chown [-R] 用户名 目录/文件 ... [root@MiWiFi-R4A-srv ~]# chown [-R] 用户名:组名 目录/文件 ... 选项与参数: -R : 进行递归(recursive)的持续改变
改变权限,chmod
数字模式:
[root@MiWiFi-R4A-srv ~]# chmod [-R] xyz 文件或目录 选项与参数: xyz : 就是数字类型的权限,为 rwx 属性数值的相加 -R : 递归
符号模式:
从之前的介绍我么可以发现,基本上就九个权限分别是 (1)user (2)group (3)others 三种身份!那么我们就可以用 u,g,o 来代表三种身份的权限!此外,a 则代表 all 亦即全部的身份!
u g +(加入) r chmod o -(除去) w 文件或目录 a =(设定) x
3、文件与目录管理
3.1、文件与目录的相关操作
特殊的目录表示,需要记住:
. | 代表此层目录 |
---|---|
… | 代表上一层目录 |
- | 代表前一个工作目录 |
~ | 代表 “目前用户身份” 所在的家目录 |
~account | 代表 account 这个用户的家目录(account 是账号名称) |
cd(change directory,变换目录)
[root@MiWiFi-R4A-srv /]# cd [相对路径或绝对路径] # 最重要的就是一些 相对路径或绝对路径,还有一些特殊的目录符号!
pwd(显示当前所在的目录)
[root@MiWiFi-R4A-srv /]# pwd [-P] 选项与参数: -P :显示出确定的路径,而非使用链接(link)路径
mkdir(建立新目录)
[root@MiWiFi-R4A-srv /]# mkdir [-mp] 目录名称 选项与参数: -m :配置文件的权限!直接设定,不需要看预设权限(umask) -p :帮助你直接将所需要的目录(包含上层目录)递归地建立起来
新建目录的权限与 umask 有关。
rmdir(删除 “空” 的目录)
[root@MiWiFi-R4A-srv /]# rmdir [-p] 目录名称 选项与参数: -p :连同 “上层”“空的” 目录也一起删除
查看文件和目录命令 ls
[root@MiWiFi-R4A-srv ~]# ls [-aAdfFhinrRSt] 文件名或目录名称.. [root@MiWiFi-R4A-srv ~]# ls [--color={never,auto,always}] 文件名或目录名称.. [root@MiWiFi-R4A-srv ~]# 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(复制文件或目录)
[root@MiWiFi-R4A-srv ~]# cp [-adfilprsu] 来源文件(source) 目标文件(destination) [root@MiWiFi-R4A-srv ~]# cp [options] source2 source3 ... directory 选项与参数: -a :相当于 -dr --preserve=all 的意思(常用) -d :若来源文件为链接文件的属性(link file),则复制链接文件属性而非文件本身 -f :为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次 -i :若目标文件(destination)已经存在时,在覆盖时会先询问动作的进行(常用) -l :进行硬链接(hard link)的链接文件的建立,而非复制文件本身 -p :连同文件的属性(权限、用户、时间)一起复制过去,而非使用默认属性(备份常用) -r :递归持续复制,用于目录的复制(常用) -s :复制成为符号链接文件(sysbolic link),亦即 “快捷方式” 文件 -u :destination 比 source 旧才更新 destination,或 destination 不存在的情况下才复制 --preserve=all :除了 -p 的权限相关参数外,还加入 SELinux 的属性,links,xattr 等也复制 需要注意的是,如果来源文件有两个以上,则最后一个目的文件一定要是 “目录” 才行!
在预设的条件中,cp 的来源文件与目的文件的权限是不同的,目的文件的拥有者通常会是执行指令的操作者本身。
总之,由于 cp 有种种的文件属性与权限特性,所以,在复制的时候,你必须要清除的了解到:
- 是否需要完整的保留来源文件的信息?
- 来源文件是否为链接文件(symbolic link file)?
- 来源文件是否为特殊文件,例如 FIFO,socket?
- 来源文件是否为目录?
rm(移除文件或目录)
[root@MiWiFi-R4A-srv ~]# rm [-fir] 文件或目录 选项与参数: -f : 就是 force 的意思,忽略不存在的文件,不会出现警告信息 -i : 互动模式,在删除前会询问使用者是否动作 -r : 递归删除!最常用在目录的删除!这是非常危险的选项!!!
mv(移动文件与目录,或更名)
[root@MiWiFi-R4A-srv ~]# mv [-fiu] source destination [root@MiWiFi-R4A-srv ~]# mv [options] source1 source2 source3 ... directory 选项与参数: -f : 就是 force 的意思,如果目标文件已经存在,不会询问而直接覆盖 -i : 若目标文件(destination)已经存在时,就会询问是否覆盖! -u : 若目标文件已经存在,且 source 比较新,才会更新(update)
取得路径的文件名和目录名称
[root@MiWiFi-R4A-srv tmp]# basename /etc/sysconfig/network <== 文件名 [root@MiWiFi-R4A-srv tmp]# dirname /etc/sysconfig/network <== 路径名
3.2、文件内容查阅
3.2.1、文件内容查阅
cat
[root@MiWiFi-R4A-srv ~]# cat [-AbEnTv] 选项与参数: -A : 相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已 -b : 列出行号,仅针对非空白行做行号显示,空白行不标行号 -E : 将结尾的断行字符 $ 显示出来 -n : 打印出行号,连同空白行也会有行号,与 -b 的选项不同 -T : 将 [tab] 按键以 ^I 显示出来 -v : 列出一些看不出来的特殊字符
tac(反向列示)
同上
nl(添加行号打印)
[root@MiWiFi-R4A-srv ~]# nl [-bnw] 文件 选项与参数: -p : 指定行号指定的方式,主要有两种:-b a : 表示不论是否空行,也同样列出行号(类似 cat -n);-b t : 如果有空行,空的那一行不要列出行号(默认值); -n : 列出行号表示的方法,主要有三种:-n ln : 行号在屏幕左边显示-n rn : 行号在自己字段的最右方显示,且不加 0;-n rz : 行号在自己字段的最右方显示,且加 0; -w : 行号字段的占用字符数
3.2.2、可翻页检视
more(一页一页翻动)
可执行的命令:
- 空格键 : 代表向下翻一页
- Enter : 代表向下翻 “一行”
- /字符串 : 代表在这个显示的内容当中,向下搜索 “字符串” 这个关键词
- :f : 立刻显示出文件名以及目前显示的行数
- q : 代表立刻离开 more,不再显示该文件内容
- b 或 [ctrl]-b : 代表往回翻页,不过这动作只对文件有用,对管线无用
less(一页一页翻动)
可执行的指令:
- 空格键 : 向下翻一页
- [pagedown] : 向下翻一页
- [pageup] : 向上翻一页
- /字符串 : 向下搜索 “字符串” 的功能
- ?字符串 : 向上搜索 “字符串” 的功能
- n : 重复前一个搜索(与 / 或 ? 有关)
- N : 反向的重复前一个搜索(与 / 或 ? 有关)
- g : 前进到这个资料的第一行去
- G : 前进到这个数据的最后一行(注意大小写)
- q : 离开 less 这个程序
3.2.3、资料截取
head(取出前几行)
[root@MiWiFi-R4A-srv ~]# head [-n number] 文件 选项与参数: -n : 后面接数字,代表显示几行的意思
tail(取出后面几行)
[root@MiWiFi-R4A-srv ~]# tail [-n number] 文件 选项与参数: -n : 后面接数字,代表显示几行的意思 -f : 表示持续侦测后面所接的文件名,要等到按下 [ctrl]-c 才会结束
3.2.4、非纯文本文件:od
[root@MiWiFi-R4A-srv ~]# od [-t TYPE] 文件
选项与参数:
-t : 后面可以接各种 “类型(TYPE)” 的输出,例如:a : 利用默认的字符来输出c : 使用 ASCII 字符来输出d[size] : 利用十进制(decimal)来输出数据,每个整数占用 size bytesf[size] : 利用浮点数(float)来输出数据,每个数占用 size byteso[size] : 利用八进制(octal)来输出数据,每个整数占用 size bytesx[size] : 利用十六进制(hexadecimal)来输出数据,每个整数占用 size bytes
3.3、修改文件时间或新建文件:touch
一个文件的时间参数:
modification time(mtime)
当文件的 “内容数据” 变更时,就会更新这个时间!
status time(ctime)
当该文件的 “状态” 变更时,就会更新这个时间!
access time(atime)
当 “该文件的内容被取用” 时,就会变更这个读取时间!
[root@MiWiFi-R4A-srv ~]# touch [-acdmt] 文件
选项与参数:
-a : 仅修订 access time
-c : 仅修订文件的时间,若该文件不存在则不建立新文件
-d : 后面可以接欲修订的日期而不用目前的日期,也可以使用 --date="日期或时间"
-m : 仅修订 mtime
-t : 后面可以接欲修订的时间而不用目前的时间,格式为 "YYYYMMDDhhmm"
3.4、文件默认权限:umask
[root@MiWiFi-R4A-srv tmp]# umask
0022 <== 与一般权限有关的是后边三个数字,第一组是给特殊权限用的
[root@MiWiFi-R4A-srv tmp]# umask -S
u=rwx,g=rx,o=rx
要注意的是,umask 的分数指的是 “该默认值需要减掉的权限!”。
3.5、文件的隐藏权限
chattr(配置文件的隐藏属性)
[root@MiWiFi-R4A-srv ~]# chattr [+-=][ASacdisu] 文件/目录名 选项与参数: + :增加某个特殊属性 - :删除一个特殊属性 = :设定一定,且仅有后面接的属性A :若存取此文件(或目录)时,它的访问时间atime将不会被修改,可避免I/O较慢的机器过度的存取粗盘 S :一般文件是异步写入磁盘的,如果加上这个S,当你进行任何文件的修改,该变更会[同步]写入磁盘 a :当设定这个a后,这个文件将只能增加数据,而不能删除也不能修改数据,只有root才能设定这个属性 c :将会自动将此文件压缩,在读取的时候将会自动解压缩,在存储时,也会先压缩再存储 d :当dump程序被执行时,设定d属性将可使该文件(或目录)不会被dump备份 i :它可以让一个文件[不能被删除、改名、设定链接也无法写入或新增数据!!!],只有root才能设定 s :如果文件被删除,将彻底移出磁盘,无法挽回 u :与s相反
lsattr(显示文件隐藏属性)
[root@mysql ~]# lsattr [-adR] 文件/目录名 选项与参数: -a :将隐藏文件的属性也列出来 -d :如果接的是目录,仅列出目录本身的属性而非目录内的文件名 -R :连同子目录的数据也一并列出来
3.6、文件特殊权限:SUID,SGID,SBIT
Set UID
当 s 这个全下出现在文件拥有者的 x 权限上时,此时被称为 Set UID,简称为 SUID 的特殊权限。
- SUID 权限仅对二进制程序有效;
- 执行者对于该程序需要具有 x 的可执行权限;
- 本权限仅在执行该程序的过程中有效;
- 执行者将具有该程序拥有者的权限。
Set GID
当 s 标志在文件拥有者的 x 权限时为 SUID,那 s 在群组的 x 时则称为 Set GID,SGID。
与 SUID 不同的是,SGID 可以针对文件或目录来设定!如果对文件来说,SGID 有如下的功能:
- SGID 对二进制程序有用;
- 程序执行者对于该程序来说,需具备 x 的权限;
- ==执行者在执行的过程中会获得该程序群组的支持
当一个目录设定了 SGID 的权限后,它将具有如下的功能:
- 用户若对于此目录具有 r 和 x 的权限时,该用户能够进入此目录;
- 用户在此目录下的有效群组将会变成该目录的群组;
- 用途:若用户在此目录下具有 w 的权限(可以新建文件),则使用者所建立的新文件,该新文件的群组与此目录的群组相同。
SGID 对于项目开发来说很重要!
Sticky Bit
仅针对目录有效,SBIT 对于目录的作用是:
- 当用户对于此目录具有 w,x 权限,亦即具有写入的权限时;当用户在该目录下建立文件或目录时,仅有自己与 root 才有权力删除该文件
换句话说:当甲这个用户于 A 目录是具有群组或其他人的身份,并且拥有该目录的 w 权限,这表示 “甲用户对该目录内任何人建立的目录或文件均可以进行 ‘删除/更名/移动’ 等操作。”不过,如果将 A 目录加上了 SBIT 的权限后,则甲只能针对自己建立的文件或目录进行删除/更名/移动等操作,而无法删除他人的文件。
3.6.1、SUID/SGID/SBIT 权限设定
如何配置文件使成为具有 SUID 和 SGID 的权限呢?在之前的三个数字之前加上一个数字,最前面的数字就代表这几个权限:
- 4 为 SUID
- 2 为 SGID
- 1 为 SBIT
[root@MiWiFi-R4A-srv tmp]# touch test
[root@MiWiFi-R4A-srv tmp]# chmod 4755 test; ll test <== 使其具有 SUID 的权限
-rwsr-xr-x. 1 root root 0 Aug 25 19:53 test
[root@MiWiFi-R4A-srv tmp]# chmod 6755 test; ll test <== 使其具有 SUID/SGID 的权限
-rwsr-sr-x. 1 root root 0 Aug 25 19:53 test
[root@MiWiFi-R4A-srv tmp]# chmod 1755 test; ll test <== 加入 SBIT 的权限
-rwxr-xr-t. 1 root root 0 Aug 25 19:53 test
[root@MiWiFi-R4A-srv tmp]# chmod 7666 test; ll test <== 具有空的 SUID/SGID 权限
-rwSrwSrwT. 1 root root 0 Aug 25 19:53 test
注意最后一个的大写 S,T,表示空的权限。因为,我们下达的是 766。也就是说,user、group 以及 others 都没有 x 这个可执行的标志(因为 666 嘛),所以,这个 S、T 代表的就是 “空的”。SUID 本来表示的就是 “该文件在执行的时候,具有文件拥有者的权限”,但是文件拥有者都无法执行,哪来的权限给别人使用!
除了通过数字,还可以通过符号来处理。
# 设定权限成为 -rws--x--x
[root@MiWiFi-R4A-srv tmp]# chmod u=rwxs,go=x test; ll test
-rws--x--x. 1 root root 0 Aug 25 19:53 test# 承上,加上 SGID 和 SBIT
[root@MiWiFi-R4A-srv tmp]# chmod g+s,o+t test; ll test
-rws--s--t. 1 root root 0 Aug 25 19:53 test
3.7、观察文件类型:file
[root@MiWiFi-R4A-srv tmp]# file 文件名
3.8、指令与文件的搜寻
3.8.1、脚本文件名的搜寻
which(寻找 “执行文件”)
[root@MiWiFi-R4A-srv ~]# which [-a] 指令 选项与参数: -a : 将所有由 PATH 目录中可以找到的指令均列出来,而不止第一个被找到的指令名称
which 这个指令是根据 “PATH” 这个环境变量所规范的路径,去搜寻 “执行文件” 的文件名!
3.8.2、文件名的搜寻
whereis(由一些特定的目录中寻找文件文件名)
[root@MiWiFi-R4A-srv ~]# whereis [-bmsu] 文件或目录名 选项与参数: -l : 可以列出 whereis 会去查询的几个主要目录而已 -b : 只找 binary 格式的文件 -m : 只找在说明文件 manual 路径下的文件 -s : 只找 source 来源文件 -u : 搜寻不在上述三个项目当中的其他特殊文件
whereis 只找几个特定的目录,所以速度会快一些。当然,那么其他的目录里边的文件,它是找不到的。
locate/updatedb
[root@MiWiFi-R4A-srv ~]# locate [-ir] 关键词 选项与参数: -i : 忽略大小写的差异 -c : 不输出文件名,仅计算找到的文件数量 -l : 仅输出几行的意思,例如输出五行则是 -l 5 -S : 输出 locate 所使用的数据库文件的相关信息,包括该数据库记录的文件/目录数量等 -r : 后面接正规表示法的显示方式
updatedb 这个指令会读取 “/etc/updatedb.conf” 这个配置文件的设定,然后再去硬盘里进行搜寻文件的动作,最后更新整个数据库文件!
- updatedb:根据 /etc/updatedb.conf 的设定去搜寻系统硬盘里面的文件名,并更新 /var/lib/mlocate 内的数据库文件;
- locate:依照 /var/lib/mlocate 内的数据库记载,找出用户输入的关键词的文件名。
find
[root@MiWiFi-R4A-srv ~]# find [PATH] [option] [action] 选项与参数: 1、与时间有关的参数:-atime、-ctime与-mtime,以-mtime说明:-mtime n :意思为在n天之前的[一天之内]被更改过内容的文件-mtime +n :列出在n天之前(不包含n天本身)被更改过内容的文件-mtime -n :列出在n天之内(包含n天本身)被更改过内容的文件-newer file :列出比file还要新的文件
我们现在知道 atime、ctime 和 mtime 的意义,如果你想要找出一天内被更改过的文件名,可以使用上述范例一的作法。但如果我想要找出 “4 天内被更改过的文件名” 呢?那可以使用 “find / -mtime -4”。那如果是 “4 天前的那一天” 就用 “find / -mtime 4”。有没有加上 “+、-” 差别还是很大的:
- +4 :代表大于等于 5 天;
- -4 :代表小于等于 4 天内的文件名;
- 4 :代表 4-5 那一天的文件名。
[root@MiWiFi-R4A-srv ~]# find [PATH] [option] [action] 选项与参数: 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 搜寻。
[root@MiWiFi-R4A-srv ~]# find [PATH] [option] [action] 选项与参数: 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.... 的属性存在!
[root@MiWiFi-R4A-srv ~]# find [PATH] [option] [action] 选项与参数: 4、额外可进行的动作;-exec command :command为其他指令,-exec后面可再接额外的指令来处理搜索到的结果-print :将结果打印到屏幕上,默认动作 find 还可以搭配通配符
find 的特殊功能就是能够进行额外的动作,我们将范例八的例子以图解来说明一下:
该范例中特殊的地方有 {} 以及 \;还有 -exec 这个关键词,这些东西的意义为:
- {} 代表的是 “由 find 找到的内容”,如上图所示,find 的结果会被放置到 {} 位置中;
- -exec 一直到 ; 是关键词,代表 find 额外动作的开始(-exec) 到结束(
Linux 命令整理(一)相关推荐
- Linux命令整理(二)
Linux命令整理(二) 文章目录 Linux命令整理(二) 8.正则表达式与文件格式化处理 8.1.基础正则表达式 8.2.grep 的一些进阶选项 8.3.sed 工具 8.4.延伸的正则表达式 ...
- Linux 命令整理
命令参考: 1.<鸟哥的linux私房菜> 2.<Linux命令行大全> 3.<循序渐进Linux第2版> 4.老男孩Linux 5.马哥教育 6.http://c ...
- 开发必备的常用 Linux 命令整理
在前面的文章中,截止到 微服务系列:分布式日志 ELK 搭建指南 这篇,我们终于算是将微服务系列给基本学完了,一时间难以决定接下来要写些什么东西. 想了想还是决定写几篇 Linux 相关命令的文章,毕 ...
- 日志处理--高效Linux命令整理
序 在学习使用python处理日志开始阶段,对我阻力最大的莫过于对linux的不熟悉了,有种寸步难行的感觉. 在之后乱学一通之后,发现有点对我颇有益处: 学<鸟哥linux私房菜基础学习篇> ...
- 常见Linux命令整理
linux 常用命令--------雪松整理 Q 群: 198173206 欢迎 linux 系统运维朋友加入! 博客: http://hi.baidu.com/quanzhou722/blog 错误 ...
- sle linux lftp禁止匿名登陆_软件测试常用linux命令整理
作为一个名软件测试工程师,掌握Linux的基本操作是必须的.下面罗列下linux的常用命令,方便大家今后操作linux时查找,然后通过[帮助命令]进行具体的使用. 1.帮助命令man -- man ...
- Linux命令整理 —— vi 和 vim 编辑器
一.目录结构 二 .vim 和 vim 编辑器 2.1[基本介绍] 所有的 Linux 系统都会内建 vi 文本编辑器. vim 具有程序编辑的能力,可以看做是 vi 的增强版本,可以主动的以字体颜色 ...
- Linux命令整理 —— 目录结构
二 .vi 和 vim 编辑器 [写在前面] 云计算与分布式这门课程的实验都是在Linux下完成的,虽然之前也一直也学习过Linux,但是一直没有系统的过一遍.这周花了两天的时间看完了尚硅谷的Linu ...
- 尘缘浅悟之蹒跚学步:linux命令整理
前言 多记.多练.多理解 目录 一.切换命令 二.查看命令 三.开启命令 四.关闭命令 五.修改命令 六.增加命令 七.删除命令 八.帮助命令 九.vi常用命令 十.查找命令 十一.拷贝命令 十二.移 ...
最新文章
- c语言注释部分只能位于,福建省计算机等级考试二级C语言选择题复习资料
- Android http通信案例
- Scrapy框架学习记录
- Spring 数据访问那些事儿(二)Spring + JdbcTemplate
- java代码快速_java代码编写快捷途经
- .NET 面向对象基础
- GoogleMap API入门使用
- Batch Normalization的一些缺陷
- c++11新特性_【C++11新特性】 C++11智能指针之weak_ptr
- mysql怎么进行删除操作_利用PHP怎么对MySQL数据库进行删除操作
- 局域网传输文件_如何“互传文件”?简单几步,方便快捷
- android ui设计 面试问题,2019新版UI设计面试题汇总附答案
- java安装_Java开发人员应该知道的7种新工具
- 手眼标定——九点标定
- 【项目记录】服务器暴力风扇改造桌上风扇
- ff14服务器显示位置,ff14服务器
- CentOS安装Eclipse,Eclipse启动时报错
- IDEA解决打开properties乱码问题
- [Unity2D入门教程]简单制作仿植物大战僵尸游戏之①搭建场景
- 限时7天的附下载链CobaltStrike
热门文章
- P5.js 实现交互式动态绘画
- 小数位数修约,四舍六入五成双
- 最新码支付源码+完整版+免挂监听回调+微信、支付宝、qq监控APP打包教程
- redis cluster 4.0.9 之四: redis-trib.rb add-node
- Windows系统安装绿色版MySQL8
- 483g路由器连接服务器无响应,TP-LINK企业路由器设置 TP-LINK TL-R483 Wan口设置图文教程...
- 30米分辨率的DEM地形数据——STRM高程数据
- 【C语言】利用队列的思维理解移位运算符和移位函数
- 结构类型的定义,应用
- 数字电视知识-- 机顶盒原理技术及应用
- Linux命令整理(二)