Linux-05
权限
-rw-r--r-- 644
-rwxrwxrwx
属主
属组
其他用户
r
w
x
-
r 4
w 2
x 1
- 0
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
total 0
-rw-r--r--. 1 root root 0 Aug 19 08:48 test.txt
[ root@qls ~]
[ root@qls ~]
total 0
-rwxr--r--. 1 root root 0 Aug 19 08:48 test.txt
-rwxr--r--. 1 root root 0 Aug 19 08:48 test.txt
[ root@qls ~]
[ root@qls ~]
total 0
-r-xr--r--. 1 root root 0 Aug 19 08:48 test.txt
[ root@qls ~]
[ root@qls ~]
total 0
-rwxr--r--. 1 root root 0 Aug 19 08:48 test.txt
[ root@qls ~]
[ root@qls ~]
total 0
-rwxr-xr--. 1 root root 0 Aug 19 08:48 test.txt
[ root@qls ~]
[ root@qls ~]
total 0
-rwxr-xr-x. 1 root root 0 Aug 19 08:48 test.txt
[ root@qls ~]
[ root@qls ~]
total 0
-rw-r--r--. 1 root root 0 Aug 19 08:48 test.txt
[ root@qls ~]
[ root@qls ~]
total 0
-rwxr-xr-x. 1 root root 0 Aug 19 08:48 test.txt
u
g
o
a
[ root@qls ~]
[ root@qls ~]
total 0
-rw-r--r--. 1 root root 0 Aug 19 08:48 test.txt
[ root@qls ~]
[ root@qls ~]
total 0
-rwxrwxrwx. 1 root root 0 Aug 19 08:48 test.txt
[ root@qls ~]
[ root@qls ~]
total 0
drwxr-xr-x. 2 root root 6 Aug 19 08:59 test
-rwxrwxrwx. 1 root root 0 Aug 19 08:48 test.txt
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
total 0
drwxr-xr-x. 2 root root 21 Aug 19 08:59 test
-rwxrwxrwx. 1 root root 0 Aug 19 08:48 test.txt
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
total 0
drwxrwxrwx. 2 root root 21 Aug 19 08:59 test
-rwxrwxrwx. 1 root root 0 Aug 19 08:48 test.txt
[ root@qls ~]
total 0
-rw-r--r--. 1 root root 0 Aug 19 08:59 123.txt
[ root@qls ~]
[ root@qls ~]
total 0
drwx------. 2 root root 21 Aug 19 08:59 test
-rwxrwxrwx. 1 root root 0 Aug 19 08:48 test.txt
[ root@qls ~]
total 0
-rwx------. 1 root root 0 Aug 19 08:59 123.txt
[ root@qls ~]
[ root@qls ~]
total 0
-rwx------. 1 root root 0 Aug 19 08:59 123.txt
-rw-r--r--. 1 root root 0 Aug 19 09:03 test.log
chmod
选项
-R
权限对文件的影响
只有r权限,
只有w权限
只有x 权限
正常设置权限
r
rw
rx
rwx
权限对目录的影响
r
w
x
r权限需要x权限的配合,可以正常查看目录列表
w权限需要x权限的配合,可以删除,新建文件的权限,如果要移动,需要有对目标目录的wx权限。
x权限只能进入目录,其他的操作都不能执行
正常权限设置为
rx
rw
rwx
属主属组的修改
chown
选项
-R
chgrp
[ root@qls ~]
total 0
drwx------. 2 root root 37 Aug 19 09:03 test
-rw-r--r--. 1 root root 0 Aug 19 08:48 test.txt
[ root@qls ~]
[ root@qls ~]
total 0
drwx------. 2 root root 37 Aug 19 09:03 test
-rw-r--r--. 1 jason root 0 Aug 19 08:48 test.txt
[ root@qls ~]
[ root@qls ~]
total 0
drwx------. 2 root root 37 Aug 19 09:03 test
-rw-r--r--. 1 jason jason 0 Aug 19 08:48 test.txt
[ root@qls ~]
[ root@qls ~]
total 0
drwx------. 2 root root 37 Aug 19 09:03 test
-rw-r--r--. 1 jason root 0 Aug 19 08:48 test.txt
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
total 0
drwx------. 2 root root 37 Aug 19 09:03 test
-rw-r--r--. 1 jason jason 0 Aug 19 08:48 test.txt
[ root@qls ~]
total 0
-rwx------. 1 root root 0 Aug 19 08:59 123.txt
-rw-r--r--. 1 root root 0 Aug 19 09:03 test.log
[ root@qls ~]
[ root@qls ~]
total 0
drwx------. 2 jason root 37 Aug 19 09:03 test
-rw-r--r--. 1 jason jason 0 Aug 19 08:48 test.txt
[ root@qls ~]
total 0
-rwx------. 1 root root 0 Aug 19 08:59 123.txt
-rw-r--r--. 1 root root 0 Aug 19 09:03 test.log
[ root@qls ~]
[ root@qls ~]
total 0
drwx------. 2 jason jason 37 Aug 19 09:03 test
-rw-r--r--. 1 jason jason 0 Aug 19 08:48 test.txt
[ root@qls ~]
total 0
-rwx------. 1 jason jason 0 Aug 19 08:59 123.txt
-rw-r--r--. 1 jason jason 0 Aug 19 09:03 test.log
[ root@qls ~]
[ root@qls ~]
total 0
-rwx------. 1 jason jason 0 Aug 19 08:59 123.txt
-rw-r--r--. 1 root root 0 Aug 19 10:10 oldboy.log
-rw-r--r--. 1 jason jason 0 Aug 19 09:03 test.log
权限控制位
umask
怎么计算权限位的
umask的默认权限位是022,目录的最大是777,系统默认创建的目录的权限是最大权限减去umask的权限,得出结果就是755,文件的最大666,减去只是644,如果文件的权限位遇到奇数时,奇数位加1
[ root@qls ~]
[ root@qls ~]
0033
特殊权限
setuid
[ root@qls ~]
[ root@qls ~]
-rwsr-xr-x. 1 root root 62952 Oct 31 2018 /bin/rm
[ jason@qls ~] $ rm -rf /opt
rm: cannot remove ‘/opt’: Permission denied
[ jason@qls ~] $ rm -rf /opt
[ jason@qls ~] $ ll /opt
ls: cannot access /opt: No such file or directory
[ root@qls ~]
[ root@qls ~]
File: ‘/bin/passwd’
Size: 27832 Blocks: 56 IO Block: 4096 regular file
Device: 803h/2051d Inode: 101590927 Links: 1
Access: ( 4755/-rwsr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:passwd_exec_t:s0
Access: 2019-08-19 09:07:05.259967579 +0800
Modify: 2014-06-10 14:27:56.000000000 +0800
Change: 2019-08-14 15:12:41.532577880 +0800
Birth: -
权限是4位,第一位如果是数字4,则表示该文件有setuid的权限
大s和小s的区别
主要看文件的属主的x权限,如果属主有x权限,就是s,没有就是大S,功能上面没有什么区别
setgid
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
drwxrwsrwx. 2 root setgid 66 Aug 19 10:48 /opt/
[ root@qls ~]
drwxrwxrwt. 12 root root 241 Aug 19 09:25 /tmp
[ root@qls ~]
File: ‘/opt’
Size: 107 Blocks: 0 IO Block: 4096 directory
Device: 803h/2051d Inode: 101765326 Links: 2
Access: ( 2777/drwxrwsrwx) Uid: ( 0/ root) Gid: ( 2002/ setgid)
Context: unconfined_u:object_r:usr_t:s0
Access: 2019-08-19 10:51:18.683833186 +0800
Modify: 2019-08-19 10:51:16.029833243 +0800
Change: 2019-08-19 10:51:16.029833243 +0800
Birth: -
权限是4位,第一位如果是数字2,则表示该文件有setgid的权限
sticky
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
total 0
-rw-rw-r--. 1 jason jason 0 Aug 19 11:03 123
-rw-rw-r--. 1 test-1 test-1 0 Aug 19 11:03 456
[ root@qls ~]
drwxrwxrwt. 2 root root 28 Aug 19 11:03 /data
[ test-1@qls ~] $ ll /data/
total 0
-rw-rw-r--. 1 jason jason 0 Aug 19 11:03 123
-rw-rw-r--. 1 test-1 test-1 0 Aug 19 11:03 456
[ test-1@qls ~] $ rm -f /data/123
rm: cannot remove ‘/data/123’: Operation not permitted
[ test-1@qls ~] $ rm -f /data/456
[ test-1@qls ~] $ ll /data
total 0
-rw-rw-r--. 1 jason jason 0 Aug 19 11:03 123
[ root@qls ~]
File: ‘/data’
Size: 28 Blocks: 0 IO Block: 4096 directory
Device: 803h/2051d Inode: 33978095 Links: 2
Access: ( 1777/drwxrwxrwt) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:default_t:s0
Access: 2019-08-19 11:04:58.842815560 +0800
Modify: 2019-08-19 11:03:51.773817002 +0800
Change: 2019-08-19 11:04:56.777815605 +0800
Birth: -
特殊属性
a
i
[ root@qls ~]
---------------- test.log
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
--------------- test.log
[ root@qls ~]
[ root@qls ~]
total 4
-rw-r--r--. 1 root root 12 Aug 19 11:40 test.log
[ root@qls ~]
----i----------- test.log
[ root@qls ~]
egon
oldboy
[ root@qls ~]
rm: cannot remove ‘test.log’: Operation not permitted
[ root@qls ~]
mv: cannot move ‘test.log’ to ‘/opt/test.log’: Operation not permitted
[ root@qls ~]
[ root@qls ~]
-bash: test.log: Permission denied
输入和输出
重定向
三个文件
[ root@qls ~]
lrwxrwxrwx. 1 root root 15 Aug 16 08:35 /dev/stderr -> /proc/self/fd/2
lrwxrwxrwx. 1 root root 15 Aug 16 08:35 /dev/stdin -> /proc/self/fd/0
lrwxrwxrwx. 1 root root 15 Aug 16 08:35 /dev/stdout -> /proc/self/fd/1
输出重定向
类型 用途 标准覆盖输出重定向 > 将程序输出的正确结果输出到指定的文件中,会覆盖文件原有的内容 标准追加输出重定向 >> 将程序输出的正确结果以追加的方式输出到指定文件,不会覆盖原有文件 错误覆盖输出重定向 2> 将程序的错误结果输出到执行的文件中,会覆盖文件原有的内容 错误追加输出重定向 2>> 将程序输出的错误结果以追加的方式输出到指定文件,不会覆盖原有文件
[ root@qls ~]
hello
[ root@qls ~]
[ root@qls ~]
hello
oldboy
[ root@qls ~]
[ root@qls ~]
hello
oldboy
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
hello
oldboy
egon
[ root@qls ~]
ls: cannot access 5: No such file or directory
[ root@qls ~]
ls: cannot access 5: No such file or directory
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
ls: cannot access 5: No such file or directory
[ root@qls ~]
[ root@qls ~]
ls: cannot access 5: No such file or directory
[ root@qls ~]
[ root@qls ~]
ls: cannot access 7: No such file or directory
[ root@qls ~]
[ root@qls ~]
ls: cannot access 7: No such file or directory
ls: cannot access 8: No such file or directory
[ root@qls ~]
[ root@qls ~]
ls: cannot access /date/: No such file or directory
[ root@qls ~]
[ root@qls ~]
test.log
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
ls: cannot access /date/: No such file or directory
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
ls: cannot access /date/: No such file or directory
ls: cannot access /date/: No such file or directory
test.log
输入重定向
标准输入重定向 < 将命令中接收输入的途径由默认的键盘更改为指定的文件或命令 标识符限定输入重定向 << 命令从标准输入中读入内容,直到遇到“标识符”分解符为止
[ root@qls ~]
ls: cannot access /date/: no such file or directory
ls: cannot access /date/: no such file or directory
test.log
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
> orhgne
> rgevjowiertg
> igjwvwoi
> regjvoeitg
> EOF
[ root@qls ~]
orhgne
rgevjowiertg
igjwvwoi
regjvoeitg
脚本中打印菜单
[ root@qls ~]
cat << - 'EOF'
EOF
管道
管道操作符号 "|" ,主要用来连接左右两个命令, 将左侧的命令的标准输出, 交给右侧命令的标准输入
PS: 无法传递标准错误输出至后者命令
管道中的tee技术
选项
-a
tee和重定向的区别
xargs
[ root@qls ~]
[ root@qls ~]
total 112676
-rw-r--r--. 1 root root 6 Aug 19 11:57 1
-rw-r--r--. 1 root root 166 Aug 19 12:25 1.sh
-rw-r--r--. 1 root root 113 Aug 19 12:09 1.txt
-rw-r--r--. 1 root root 7 Aug 19 11:58 2
-rw-r--r--. 1 root root 18 Aug 19 11:59 3
-rw-r--r--. 1 root root 27 Aug 19 12:03 4
-rw-r--r--. 1 root root 94 Aug 19 12:04 6
-rw-r--r--. 1 root root 40 Aug 19 12:20 ll
-rw-r--r--. 1 root root 10485760 Aug 19 12:19 r.log
-rw-r--r--. 1 root root 12 Aug 19 11:46 test.log~
-rw-r--r--. 1 root root 104857600 Aug 19 12:18 t.log
[ root@qls ~]
[ root@qls ~]
total 0
[ root@qls ~]
/usr/bin/cd
[ root@qls ~]
total 0
[ root@qls ~]
-rwxr-xr-x. 1 root root 26 Oct 31 2018 /usr/bin/cd
find 查找
-not
!
-name
-iname
*
[ root@qls ~]
/etc/sysconfig/network-scripts/ifcfg-eth0
[ root@qls ~]
/etc/sysconfig/network-scripts/ifcfg-eth0
[ root@qls ~]
[ root@qls ~]
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth1
[ root@qls ~]
total 0
[ root@qls ~]
total 4
-rw-r--r--. 1 root root 12 Aug 19 11:40 test.log
[ root@qls ~]
[ root@qls ~]
/data/test.log
[ root@qls ~]
[ root@qls ~]
/data/test.log
/data/Test.log
[ root@qls ~]
/etc/sysconfig/network-scripts/ifdown-eth
/etc/sysconfig/network-scripts/ifup-eth
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth1
/etc/ethertypes
-type
f
d
l
b
c
p
s
[ root@qls ~]
101765329 0 -rw-r--r-- 1 root setgid 0 Aug 19 10:45 /opt/root.txt
101765330 0 -rw-rw-r-- 1 jason setgid 0 Aug 19 10:46 /opt/jason.txt
101765331 0 -rw-rw-r-- 1 1007 setgid 0 Aug 19 10:46 /opt/test-1
101765332 0 -rw-rw-r-- 1 jason jason 0 Aug 19 10:48 /opt/jason
101765333 0 -rw-rw-r-- 1 jason setgid 0 Aug 19 10:49 /opt/jason-1
101765334 0 -rw-rw-r-- 1 1007 setgid 0 Aug 19 10:50 /opt/test-2
101765328 0 -rw-rw-r-- 1 user setgid 0 Aug 19 10:51 /opt/user
101765336 4 -rw-r--r-- 1 root setgid 5 Aug 19 11:38 /opt/test.log
[ root@qls ~]
101765326 0 drwxrwsrwx 2 root setgid 123 Aug 19 11:38 /opt
[ root@qls ~]
33554500 0 lrwxrwxrwx 1 root root 17 Aug 14 15:09 /etc/mtab -> /proc/self/mounts
67324733 0 lrwxrwxrwx 1 root root 15 Aug 14 15:10 /etc/alternatives/ld -> /usr/bin/ld.bfd
[ root@qls ~]
18004 0 brw-rw---- 1 root disk 8, 3 Aug 16 08:35 /dev/sda3
18003 0 brw-rw---- 1 root disk 8, 2 Aug 16 08:35 /dev/sda2
18002 0 brw-rw---- 1 root disk 8, 1 Aug 16 08:35 /dev/sda1
18001 0 brw-rw---- 1 root disk 8, 0 Aug 16 08:35 /dev/sda
17979 0 brw-rw---- 1 root cdrom 11, 0 Aug 16 08:35 /dev/sr0
[ root@qls ~]
37077 0 crw-rw---- 1 root tty 7, 134 Aug 16 08:35 /dev/vcsa6
37076 0 crw-rw---- 1 root tty 7, 6 Aug 16 08:35 /dev/vcs6
37075 0 crw-rw---- 1 root tty 7, 133 Aug 16 08:35 /dev/vcsa5
37074 0 crw-rw---- 1 root tty 7, 5 Aug 16 08:35 /dev/vcs5
37072 0 crw-rw---- 1 root tty 7, 132 Aug 16 08:35 /dev/vcsa4
[ root@qls ~]
39196 0 prw------- 1 root root 0 Aug 16 08:35 /run/systemd/inhibit/1.ref
147337 0 prw------- 1 root root 0 Aug 19 09:09 /run/systemd/sessions/35.ref
143289 0 prw------- 1 root root 0 Aug 19 08:30 /run/systemd/sessions/33.ref
21439 0 prw------- 1 root root 0 Aug 16 08:35 /run/systemd/initctl/fifo
[ root@qls ~]
8956 0 srw-rw-rw- 1 root root 0 Aug 16 08:35 /dev/log
37478 0 srw-rw-rw- 1 root root 0 Aug 16 08:35 /run/vmware/guestServicePipe
37021 0 srw-rw-rw- 1 root root 0 Aug 16 08:35 /run/abrt/abrt.socket
36214 0 srw-rw-rw- 1 root root 0 Aug 16 08:35 /run/dbus/system_bus_socket
-size
b
k
M、G
-a
-o
[ root@qls ~]
-rw-------. 1 root root 28K Aug 14 15:17 /var/log/anaconda/anaconda.log
-rw-------. 1 root root 12K Aug 14 15:17 /var/log/anaconda/ifcfg.log
-rw-------. 1 root root 0 Aug 14 15:17 /var/log/anaconda/ks-script-fY94py.log
[ root@qls ~]
-rw-------. 1 root root 1.7M Aug 14 15:17 /var/log/anaconda/journal.log
-rw-------. 1 root root 202K Aug 14 15:17 /var/log/anaconda/packaging.log
-rw-------. 1 root root 122K Aug 14 15:17 /var/log/anaconda/storage.log
[ root@qls ~]
-rw-------. 1 root root 299K Aug 19 15:01 /var/log/messages
[ root@qls ~]
-rw-------. 1 root root 1.7M Aug 14 15:17 /var/log/anaconda/journal.log
-rw-------. 1 root root 0 Aug 14 15:17 /var/log/anaconda/ks-script-fY94py.log
-rw-------. 1 root root 0 Aug 16 09:10 /var/log/boot.log
-rw-r--r--. 1 root root 0 Aug 14 15:28 /var/log/firewalld
-rw-------. 1 root root 0 Aug 14 15:12 /var/log/spooler
-rw-------. 1 root root 0 Aug 14 15:10 /var/log/tallylog
[ root@qls ~]
-rw-------. 1 root root 122K Aug 14 15:17 /var/log/anaconda/storage.log
-rw-r--r--. 1 root root 122K Aug 16 08:35 /var/log/dmesg
-rw-r--r--. 1 root root 122K Aug 14 15:27 /var/log/dmesg.old
[ root@qls ~]
-rw-------. 1 root root 122K Aug 14 15:17 /var/log/anaconda/storage.log
-rw-r--r--. 1 root root 122K Aug 16 08:35 /var/log/dmesg
-rw-r--r--. 1 root root 122K Aug 14 15:27 /var/log/dmesg.old
-user
-group
-nouser
-nogroup
[ root@qls ~]
101765330 0 -rw-rw-r-- 1 jason setgid 0 Aug 19 10:46 /opt/jason.txt
101765332 0 -rw-rw-r-- 1 jason jason 0 Aug 19 10:48 /opt/jason
101765333 0 -rw-rw-r-- 1 jason setgid 0 Aug 19 10:49 /opt/jason-1
[ root@qls ~]
101765332 0 -rw-rw-r-- 1 jason jason 0 Aug 19 10:48 /opt/jason
[ root@qls ~]
101765332 0 -rw-rw-r-- 1 jason jason 0 Aug 19 10:48 /opt/jason
[ root@qls ~]
101765330 0 -rw-rw-r-- 1 jason setgid 0 Aug 19 10:46 /opt/jason.txt
101765332 0 -rw-rw-r-- 1 jason jason 0 Aug 19 10:48 /opt/jason
101765333 0 -rw-rw-r-- 1 jason setgid 0 Aug 19 10:49 /opt/jason-1
[ root@qls ~]
101765331 0 -rw-rw-r-- 1 1007 setgid 0 Aug 19 10:46 /opt/test-1
101765334 0 -rw-rw-r-- 1 1007 setgid 0 Aug 19 10:50 /opt/test-2
[ root@qls ~]
101765332 0 -rw-rw-r-- 1 1006 1006 0 Aug 19 10:48 /opt/jason
根据目录的阶级,深度查找
-maxdepth
[ root@qls ~]
[ root@qls ~]
101765326 0 drwxrwsrwx 2 root setgid 123 Aug 19 15:28 /opt/
101765329 0 -rw-r--r-- 1 root setgid 0 Aug 19 10:45 /opt/root.txt
101765330 0 -rw-rw-r-- 1 1006 setgid 0 Aug 19 10:46 /opt/jason.txt
[ root@qls ~]
101765329 0 -rw-r--r-- 1 root setgid 0 Aug 19 10:45 /opt/root.txt
101765336 4 -rw-r--r-- 1 root setgid 5 Aug 19 11:38 /opt/test.log
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
total 4
-rwxrwxrwx. 1 1006 1006 0 Aug 19 10:48 jason
-rw-rw-r--. 1 1006 setgid 0 Aug 19 10:49 jason-1
-rw-rw-r--. 1 1006 setgid 0 Aug 19 10:46 jason.txt
-rw----r--. 1 root setgid 0 Aug 19 10:45 root.txt
-rw-rw-r--. 1 1007 setgid 0 Aug 19 10:46 test-1
-rw-rw-r--. 1 1007 setgid 0 Aug 19 10:50 test-2
-rw-r-----. 1 root setgid 5 Aug 19 11:38 test.log
-rw-rw-r--. 1 user setgid 0 Aug 19 10:51 user
[ root@qls ~]
101765326 0 drwxrwsrwx 2 root setgid 123 Aug 19 15:28 /opt/
101765330 0 -rw-rw-r-- 1 1006 setgid 0 Aug 19 10:46 /opt/jason.txt
101765331 0 -rw-rw-r-- 1 1007 setgid 0 Aug 19 10:46 /opt/test-1
101765332 0 -rwxrwxrwx 1 1006 1006 0 Aug 19 10:48 /opt/jason
101765333 0 -rw-rw-r-- 1 1006 setgid 0 Aug 19 10:49 /opt/jason-1
101765334 0 -rw-rw-r-- 1 1007 setgid 0 Aug 19 10:50 /opt/test-2
101765328 0 -rw-rw-r-- 1 user setgid 0 Aug 19 10:51 /opt/user
[ root@qls ~]
101765326 0 drwxrwsrwx 2 root setgid 123 Aug 19 15:28 /opt/
101765329 0 -rw----r-- 1 root setgid 0 Aug 19 10:45 /opt/root.txt
101765330 0 -rw-rw-r-- 1 1006 setgid 0 Aug 19 10:46 /opt/jason.txt
101765331 0 -rw-rw-r-- 1 1007 setgid 0 Aug 19 10:46 /opt/test-1
101765332 0 -rwxrwxrwx 1 1006 1006 0 Aug 19 10:48 /opt/jason
101765333 0 -rw-rw-r-- 1 1006 setgid 0 Aug 19 10:49 /opt/jason-1
101765334 0 -rw-rw-r-- 1 1007 setgid 0 Aug 19 10:50 /opt/test-2
101765328 0 -rw-rw-r-- 1 user setgid 0 Aug 19 10:51 /opt/user
101765336 4 -rw-r----- 1 root setgid 5 Aug 19 11:38 /opt/test.log
[ root@qls ~]
100853298 32 -rwsr-xr-x 1 root root 32096 Oct 31 2018 /usr/bin/fusermount
100973706 24 -rws--x--x 1 root root 24048 Oct 31 2018 /usr/bin/chfn
100973709 24 -rws--x--x 1 root root 23960 Oct 31 2018 /usr/bin/chsh
100973761 32 -rwsr-xr-x 1 root root 32048 Oct 31 2018 /usr/bin/umount
[ root@qls ~]
100783613 16 -r-xr-sr-x 1 root tty 15344 Jun 10 2014 /usr/bin/wall
100973767 20 -rwxr-sr-x 1 root tty 19624 Oct 31 2018 /usr/bin/write
101041329 376 ---x--s--x 1 root nobody 382240 Apr 11 2018 /usr/bin/ssh-agent
101725997 40 -rwx--s--x 1 root slocate 40520 Apr 11 2018 /usr/bin/locate
[ root@qls ~]
69 0 drwxrwxrwt 4 root root 43 Aug 19 09:22 /var/tmp
33554504 0 drwxrwxrwt 12 root root 257 Aug 19 12:25 /tmp
33879954 0 drwxrwxrwt 2 root root 6 Aug 14 15:11 /tmp/.X11-unix
101002768 0 drwxrwxrwt 2 root root 6 Aug 14 15:11 /tmp/.XIM-unix
33879955 0 drwxrwxrwt 2 root root 6 Aug 14 15:11 /tmp/.ICE-unix
67502497 0 drwxrwxrwt 2 root root 6 Aug 14 15:11 /tmp/.font-unix
-mtime
+7
-7
7
[ root@qls ~]
101765313 0 -rw-r--r-- 1 root setgid 0 Aug 1 00:00 /opt/file-01
101765321 0 -rw-r--r-- 1 root setgid 0 Aug 2 00:00 /opt/file-02
101765322 0 -rw-r--r-- 1 root setgid 0 Aug 3 00:00 /opt/file-03
101765325 0 -rw-r--r-- 1 root setgid 0 Aug 4 00:00 /opt/file-04
101765327 0 -rw-r--r-- 1 root setgid 0 Aug 5 00:00 /opt/file-05
101765335 0 -rw-r--r-- 1 root setgid 0 Aug 6 00:00 /opt/file-06
101765337 0 -rw-r--r-- 1 root setgid 0 Aug 7 00:00 /opt/file-07
101765338 0 -rw-r--r-- 1 root setgid 0 Aug 8 00:00 /opt/file-08
101765339 0 -rw-r--r-- 1 root setgid 0 Aug 9 00:00 /opt/file-09
101765340 0 -rw-r--r-- 1 root setgid 0 Aug 10 00:00 /opt/file-10
101765341 0 -rw-r--r-- 1 root setgid 0 Aug 11 00:00 /opt/file-11
[ root@qls ~]
101765326 4 drwxrwsrwx 2 root setgid 4096 Aug 31 2019 /opt/
101765329 0 -rw----r-- 1 root setgid 0 Aug 19 2019 /opt/root.txt
101765330 0 -rw-rw-r-- 1 1006 setgid 0 Aug 19 2019 /opt/jason.txt
101765331 0 -rw-rw-r-- 1 1007 setgid 0 Aug 19 2019 /opt/test-1
101765332 0 -rwxrwxrwx 1 1006 1006 0 Aug 19 2019 /opt/jason
101765333 0 -rw-rw-r-- 1 1006 setgid 0 Aug 19 2019 /opt/jason-1
101765334 0 -rw-rw-r-- 1 1007 setgid 0 Aug 19 2019 /opt/test-2
101765328 0 -rw-rw-r-- 1 user setgid 0 Aug 19 2019 /opt/user
101765336 4 -rw-r----- 1 root setgid 5 Aug 19 2019 /opt/test.log
101765343 0 -rw-r--r-- 1 root setgid 0 Aug 13 00:00 /opt/file-13
101765344 0 -rw-r--r-- 1 root setgid 0 Aug 14 00:00 /opt/file-14
101765345 0 -rw-r--r-- 1 root setgid 0 Aug 15 00:00 /opt/file-15
101765346 0 -rw-r--r-- 1 root setgid 0 Aug 16 00:00 /opt/file-16
101765347 0 -rw-r--r-- 1 root setgid 0 Aug 17 00:00 /opt/file-17
101765349 0 -rw-r--r-- 1 root setgid 0 Aug 18 00:00 /opt/file-18
101765350 0 -rw-r--r-- 1 root setgid 0 Aug 19 00:00 /opt/file-19
[ root@qls ~]
101765342 0 -rw-r--r-- 1 root setgid 0 Aug 12 00:00 /opt/file-12
[ root@qls ~]
find自带动作
-print
-ls
[ root@qls ~]
101765313 0 -rw-r--r-- 1 root setgid 0 Aug 1 00:00 /opt/file-01
101765321 0 -rw-r--r-- 1 root setgid 0 Aug 2 00:00 /opt/file-02
-delete
[ root@qls ~]
-ok
[ root@qls ~]
< rm .. . /opt/ > ? n
< rm .. . /opt/root.txt > ? n
-exec
[ root@qls ~]
find与xargs配合
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
find练习题
1.查找/tmp目录下,属主不是root,且文件名不以f开头的文件
[ root@qls ~]
33970406 4 -rw-r--r-- 1 user root 12 Aug 19 2019 /tmp/test.log
2.查找/var目录下属主为root,且属组为mail的所有文件
[ root@qls ~]
33605500 0 drwxrwxr-x 2 root mail 152 Aug 19 2019 /var/spool/mail
33978097 4 -rw------- 1 root mail 616 Aug 17 12:29 /var/spool/mail/root
3.查找/var目录下属主不属于root、lp、adm的所有文件
[ root@qls ~]
32679 4 -rw-r--r-- 1 user01 user01 3736 Nov 26 2018 /var/tmp/yum-user01-2oaLuc/x86_64/7/base/repomd.xml
32680 0 -rw-r--r-- 1 user01 user01 0 Aug 17 11:14 /var/tmp/yum-user01-2oaLuc/x86_64/7/base/cachecookie
32715 4 -rw-r--r-- 1 user01 user01 528 Aug 15 16:26 /var/tmp/yum-user01-2oaLuc/x86_64/7/base/mirrorlist.txt
4.查找/var目录下最近一周内其内容修改过,同时属主不为root,也不是postfix的文件
[ root@qls ~]
32680 0 -rw-r--r-- 1 user01 user01 0 Aug 17 11:14 /var/tmp/yum-user01-2oaLuc/x86_64/7/base/cachecookie
32715 4 -rw-r--r-- 1 user01 user01 528 Aug 15 16:26 /var/tmp/yum-user01-2oaLuc/x86_64/7/base/mirrorlist.txt
5.查找/etc目录下大于1M且类型为普通文件的所有文件
[ root@qls ~]
-rw-------. 1 root root 3.8M Nov 3 2018 /etc/selinux/targeted/active/policy.kern
-rw-r--r--. 1 root root 1.4M Nov 3 2018 /etc/selinux/targeted/contexts/files/file_contexts.bin
-rw-r--r--. 1 root root 3.8M Nov 3 2018 /etc/selinux/targeted/policy/policy.31
-r--r--r--. 1 root root 7.6M Aug 14 15:27 /etc/udev/hwdb.bin
6.将/etc/中的所有目录( 仅目录) 复制到/tmp下,目录结构不变
[ root@qls ~]
[ root@qls ~]
7.将/etc目录复制到/var/tmp/,/var/tmp/etc的所有目录权限777,/var/tmp/etc目录中所有文件权限666
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
8.保留/var/log/下最近7天的日志文件,其他全部删除
find /var/log ! -mtime -7 -delete
9.创建touch file{ 1.. 10} 10个文件, 保留file9,其他一次全部删除
[ root@qls opt]
10.解释如下每条命令含义
mkdir /root/dir1
touch /root/dir1/file{ 1.. 10}
find /root/dir1 -type f -name "file5"
find /root/dir1 ! -name "file5"
find /root/dir1 -name "file5" -o -name "file9"
find /root/dir1 -name "file5" -o -name "file9" -ls
find /root/dir1 \( -name "file5" -o -name "file9" \) -ls
find /root/dir1 \( -name "file5" -o -name "file9" \) -exec rm -rvf { } \;
find /root/dir1 ! \( -name "file4" -o -name "file8" \) -exec rm -vf { } \;
练习题
16.创建10个用户,前缀是你的名,后缀为数字序列,比如zengjia1等,并给其10个用户设置统一密码为123456,最后尝试是否可以登录。
[ root@qls ~]
17.创建10个用户,前缀是oldboy,后缀为数字序列,比如oldboy1等,并给其10个用户设置随机密码,最后尝试是否可以登录。
[ root@qls ~]
使用命令调换/etc/passwd文件里 root 位置和/bin/bash 位置? 即将所有的第一列和最后一列位置调换?
[ root@qls ~]
[ root@qls ~]