第一大题
1.文件权限
2.mkdir命令
3.tar命令
4.chmod命令
5.Linux查看文件的命令
6.ps命令
7.useradd命令
1>文件权限:
user | group | other
4 2 1| 4 2 1 | 4 2 1
r w x| r w x | r w x
rwx-
r 4 --只读
w 2 --写
x 1 --执行
- 0 --无权限
------------------------
7 rwx
6 rw-
5 r-x
4 r--
3 -wx
2 -w-
1 --x
0 ---
[[email protected] 桌面]# ll -d qa
drwxr-xr-x. 2 root root 4096 8月 9 14:28 qa
d--文件夹(LINUX中的七种文件类型:
d 目录文件。l 符号链接s 套接字文件。b 块设备文件,二进制文件。c 字符设备文件。p 命名管道文件。- 普通文件,或更准确地说,不属于以上几种类型的文件)
rwx --拥有者的权限
r-x ---属组(主组)的权限
r-x --除了拥有者/属组以外用户的权限(其它用户)
root ---拥有者
root --属组
---------------------------------------------
2>mkdir
在Linux系统中,mkdir命令用来创建一个目录或一个级联目录。
1. 命令格式
mkdir [选项] 目录名
2. 命令选项
-m=mode 为目录指定访问权限,与chmod类似。
-p 如果目录已经存在,则不会有错误提示。若父目录不存在,将会创建父目录。该选项常用于创建级联目录。
-v 为每个目录显示提示信息。
demo1:创建多个目录
[[email protected] 桌面]# mkdir qaz wsx edc
[[email protected] 桌面]# ls
edc qa qaz wsx
或
[[email protected] 桌面]# mkdir {1,2,3}
[[email protected] 桌面]# ls
1 2 3 edc qa qaz wsx
拓展:rmdir 该命令用用来删除空目录,如果目录非空,则会出现错误。可以使用rm删除目录中的文件后,使用rmdir删除目录。也可以使用rm -rf替代rmdir命令。
3>tar
tar 打包压缩多个文件,不会改变文件的属性与权限
用法:
tar option 打包压缩后的文件 需要打包压缩的文件
选项:
-c 创建tar包
-f 指定包名
-v 显示详细信息
-z 使用gzip工具压缩
-j 使用bzip2工具压缩
-J 使用xz工具压缩
-t 查看tar包内容
-x 解压tar包
-C 指定解压路径
-r 追加文件到tar包
说明:
参数前面的“-”可有可无
4>chmod
与之有关的两个命令:chown/chgrp
chown --修改文件的拥有者/属组/其它用户的权限
chown [-R] <username>.<group> /<path>/filename
chown <username>:<group> /<path>/filename
chown <username> /<path>/filename>
chown :<group> /<path>/filename
chown -R alex:alex alex/
chonw alex.alex alex/
chgrp 更改文件或者目录的工作组所有权
chgrp -R groupname filename
chgrp kk alex
drwxr-xr-x 2 root kk 4096 Apr 14 06:09 alex
[[email protected] tmp]# chown .kiki xx -- 改变所属组(chgrp kiki xx)
[[email protected] tmp]# chown kiki. xx ---改变所有属性 (chown kiki:kki xx)
5>linux查看文件的命令
1.列出文件清单命令:lsls命令能够列出当前目录下的所有内容。ls 命令的执行方式为:# ls [-选项] [文件名或者目录名]进入到Linux命令行中后,我们至少要知道当前所处的位置有哪些内容,这些信息就可以使用ls命令来获得。在Linux中,ls命令是最常使用的命令之一,因为在命令行下要随时查看目录内容。如果不加任何选项的话,ls命令仅列出当前目录下的文件和目录名,例如,想要查看/etc目录下的内容,可以使用下列命令:# ls /etc如果想要列出当前目录下所有文件,则可以使用下列命令:# ls -a 2、cat命令 功能:在标准输出上显示文件。语法:cat [-vTEuAte] 文件例子: cat example.txt cat -A exam2.txt cat file1 file2 > file2 3、more命令功能:在终端屏幕按屏显示文本文件。语法: more [-pcdls] 文件例子: more example.c more -dc example.c more -c -10 example.c 4、less命令less命令的功能几乎和more命令一样,也是用来按页显示文件,不同之处在于less命令在显示文件时允许用户既可以向前又可以向后翻阅文件。 5、head命令功能:显示指定文件的前若干行。缺省设置为显示10行语法:head [-n] 文件例子: head example.c head -3 example.c 6、tail命令功能:显示指定文件的末尾若干行。缺省设置为显示10行语法:tail [+ / - num ] [参数] 文件 +num 从第num行以后开始显示。- num 从距文件尾num行处开始显示。例子: tail example.c tail -4 example.c 6>ps
进程的状态: R 运行 S 可中断睡眠 Sleep D 不可中断睡眠 T 停止的进程 Z 僵尸进程 X 死掉的进程 【看不见】
静态查看进程——ps: ps:用来查看进程信息,功能强大,用法也比较复杂,最常用用的参数有:ps aux ,ps -ef ,ps -ely 选项说明如下: a:显示现行终端机下的所有进程,包括其他用户的进程; u:显示进程拥有者、状态、资源占用等的详细信息(注意有“-”和无“-”的区别)。 x:显示没有控制终端的进程。通常与 a 这个参数一起使用,可列出较完整信息。 -e:显示所有进程。 -f:完整输出显示进程之间的父子关系 -l:较长、较详细的将该 PID 的的信息列出; 注:ps -aux 不同于 ps aux 意思是: 请注意"ps -aux"不同于"ps aux"。POSIX和UNIX的标准要求"ps -aux"打印用户名为"x"的用户的所有进程,以及打印所有将由-a选项选择的过程。 如果用户名为"x"不存在,ps的将会解释为"ps aux",而且会打印一个警告。这种行为是为了帮助转换旧脚本和习惯。 它是脆弱的,即将更改,因此不应依赖。 [[email protected] ~]# ps aux|head USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 19356 1432 ? Ss 19:41 0:03 /sbin/init USER: 运行进程的用户 PID: 进程ID %CPU: CPU占用率 %MEM: 内存占用率 VSZ: 占用虚拟内存 RSS: 占用实际内存 驻留内存 TTY: 进程运行的终端 STAT: 进程状态 man ps (/STATE) R 运行 S 可中断睡眠 Sleep D 不可中断睡眠 T 停止的进程 Z 僵尸进程 X 死掉的进程 Ss s进程的领导者,父进程 S< <优先级较高的进程 SN N优先级较低的进程 R+ +表示是前台的进程组 Sl 以线程的方式运行 START: 进程的启动时间 TIME: 进程占用CPU的总时间 COMMAND: 进程文件,进程名 拓展:top
动态查看进程——top 在top的执行过程中,还可以使用以下的按键命令: h|? 帮助 M 按内存的使用排序 P 按CPU使用排序 N 以PID的大小排序 R 对排序进行反转 f 自定义显示字段 1 显示当前系统的cpu的逻辑数量 T:按该进程使用的CPU时间累积排序 k:给某个PID一个信号(signal),默认值是信号15 r:重新安排一个进程的优先级别 s:改变两次刷新之间的时间。默认是5秒 q:退出程序。 < 向前 > 向后 z 彩色 W 保存top环境设置 top命令常用的选项: -d:后面可以接秒数,指定每两次屏幕信息刷新之间的时间间隔; -p:指定某个进程来进行监控; -b -n:以批处理方式执行top命令。通常使用数据流重定向,将处理结果输出为文件; [[email protected] ~]# top [[email protected] ~]# top -d 1 [[email protected] ~]# top -d 1 -p 10126 查看指定进程的动态信息 [[email protected] ~]# top -d 1 -u apache 查看指定用户的进程 [[email protected] ~]# top -d 1 -b -n 2 > top.txt 将2次top信息写入到文件
7>useradduseradd --新建用户 useradd username useradd [-c|-d|-g|-G|-s|-u|-m|-M] -c 新建用户时添加注解 -d 指定用户的家目录 -g 指定用户的主组 -G 辅助组 -s 指定用户的shell -u 指定用户ID -m 新建用户时要创建家目录 -M 新建用户时不创建家目 -r 指定定程序用户useradd -u 10005 test05 -d /dev/null -M -c "这是一个程序用户5" -g kkk -G root,bin -s /sbin/nologin# cat /etc/passwd 用户配置文件:/etc/passwd --存放用户信息 man 5 passwd/etc/shadow --存放密码,账号的时间设置 man 5 shadow/etc/group --组信息/etc/gshadow --组密码/etc/login.defs --创建用户时使用的模板/etc/skel/* --用户配置文件模板 user1001:X:110:120:这是一个手工创建的用户:/home/user1001:/bin/bash用户名 :密码:uid:gid:注释:家目录:shell #vim /etc/shadowuser1001$1$SefNk95S$OY4g7fMVcRNvcxLJWwW.91:14940:0:99999:7:0:14950:每一行9个字段,以冒号分隔,1)user1001 --> 用户名2)$1$SefNk95S$OY4g7fMVcRNvcxLJWwW.91 --> md5 加密密码3)14940 --> 从 1970-01-01 计算经过天数 (2010-11-27) 4)用户最后修改密码限期 0 --> 密码最小修改限期, 假如 3 --> 14943 <- 从现在开始到 2010-11-30 才允许修改密码5)99999 --> 密码修改最大限期 假如15 --> 每 15 天必须改密码一次 \--修改 15 后 --> 14940 + 15 = 14955 = 2010-12-12 前必须修改密码6)7 --> 密码过期前 7 天开始警告7)0 --> 当密码过期后,拒绝用户登录 (3) 过期后三天内还允许修改密码,过了三天拒绝登录8)14500 ---> ( 1970-01-01 ) 过了 14950 天 (2011-03-01) <- 从开始用户帐号锁定9)保留标志,目前没有意义 拓展:usermod/userdel usermod -d 修改用户家目录 -e 设置用户密码的过期时间 -g gid -G GROUP -l 新的用户登录名 # usermod -l keke test01 -L 用户锁定 -s /bin/bash .... -u uid -U 解锁 userdel --删除一个用户 userdel <username> userdel -r <username> --删除用户时把家目录一起删除 usermod -g <group1> -G <group2,group3> <username> userdel -r ----删除用户的家目录,邮件池 # usermod -g root -G kiki02 kiki01#id kiki01uid=2022(kiki01) gid=0(root) groups=0(root),10006(kiki02) context=root:system_r:unconfined_t:SystemLow-SystemHigh usermod --修改一个已经存在的用户,跟useradd的参数是一样的。usermod -c "你不是程序用户" test04usermod -s /sbin/nologin test04usermod -L <username> 锁定用户usermod -U <username> 解锁用户useradd -l 修改用户名字 第二大题1>通配符2>vim 1>通配符通配符:* --匹配一个或者任意多个字符,也就是*代表所有? --匹配一个字符$ --引用变量ls /etc/*.conf[[email protected] ~]# ls /etc/?confecho $PATH 2>vim三种模式 命令模式 iIaAoO|ESC / \:|ESC 输入模式 末行模式 1.命令模式(): yy 3yy shift+6 shift+4 p/P 复制一行 3行 光标行首 光标行尾 行后粘貼/行前粘貼 dd 3dd HOME END u(undo) --撤消 yw 选定光标所在行复制 行内快跳:home/end 或 shift+^ shift+$ 行间快跳:gg:跳到第一行 G:跳到最后一行 10gg:跳到10行 删除,复制,粘贴 x 向后删除一个字符 = delete X 往前删除一个字符 = --dd 直接删除光标所在行 ndd (n代表数字,删除n行) --yy 复制光标所在行 nyy (n代表数字,复制n行) --p 粘贴 --u 回退上一次操作 按一次u只能回退一次 移动相关: --ctrl+b 向上翻页 = page up --ctrl+f 向下翻页 = page down ctrl+d 向下移动半页 ctrl+u 向上移动半页 --G 移动到页末 =shift +g --gg 移动到页头 --0 移动到行头 = home --$ 移动到行末 = end n(代表数字)+回车 向下移动N行 h 左<--l 右-->k 上 j 下 2.模式行模式: 命令模式-(:)->末行模式 查找:/关键字,向下匹配按n,向上匹配按N ?关键字,反向查找 :set number [set nu] --设置编码 (set nonumber) # vim /etc/vimrc set number --在一个空白的地方加上(不要加到代码段里去了),以后使用vim打开任意文件,都会自动显示行号 :w --保存 :wq --保存退出 :wq! -- 强制保存退出 :q! --不保存退出 :e! -可以撤消所有的修改至打开文件的 :w /tmp/a.txt --另存为 强制保存 w! /tmp/a.txt :1,10w /tmp/b.txt --1到10行另存为 :r /etc/passwd --从另一个文件中read入 :%s/root/ROOT --在整个文件中搜索每一行的第一个this替换that :%s/root/ROOT/g --在整个文件中搜索每一行this替换that :%s/this/that/gc :%s#/sbin/nologin#/xbin/login#g 10,20s#/bin/bash#/sbin/nologin# --在整个文件中搜索每一行this替换that,每一个都需要确认 3.输入模式: 命令模式-(iIaAoO)->输入模式 i --在当前光标处进入输入模式 I --在行首进入输入模式 a --在当前光标的后一个位进入输入模式 A --在当前行末进入输入模式 o --在当前光标的下一行插入空行并进入输入模式 O --在当前光标的上一行插入空行并进入输入模式 r --替换光标所在的字符 R --从光标处向后一直替换总结:打开文件-->命令模式-(iIaAoO)-->输入模式(输入用户自定义内容)-(ESC)->命令模式-(:)->末行模式-(:wq)-》保存退出 vim -o /tmp/a.txt /tmp/b.txt ...vim -O /tmp/a.txt /tmp/b.txt ... 切换ctrl+ww --当两个终端同时打开的话,会产生一个.swap文件如:你打开/tmp/passwd文件,会产生/tmp/.passwd.swap解决方法是:直接删除掉它就可以了rm /tmp/.passwd.swp 第三大题1.文件链接2.kill 1>文件链接
链接命令:ln 生成链接文件
ln [源文件] [目标目录] :
- 创建硬链接
- -s:创建软链接
硬链接特征:(ln )
1.拥有相同的i节点和存储block快,可以看做是同一个文件
2.可通过i节点识别
3.不能跨分区
4.不能针对目录使用,仅对文件有效软链接特征:(ln -s)
1.类似windows的快捷方式
2.软链接拥有自己的I节点和Block块,但是数据块中只保存原文件的文件名和I节点号,并没有实际的文件数据
3.修改任意一个文件,另一个都会改变
4.删除源文件,则软链接无法使用
5.软链接的文件权限都为rwxrwxrwx(文件权限以原文件为准)注意事项:
若要创建软链接,则创建的源文件必须使用绝对路径,否则在使用软链接时会报错软链接和硬链接区别:
若将源文件删除,硬链接依旧有效,而软链接会无效,即找不到源文件
ln 源文件 目标文件
ln -sf /etc/passwd /passwd ###-s 软连接 -f 强制建立连接
-s 是代号(symbolic)的意思。
ln -sf /data/u01 /u01
2>kill
1.命令格式:
kill[参数][进程号]
2.命令功能:
发送指定的信号到相应进程。不指定型号将发送SIGTERM(15)终止指定进程。如果任无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令或者jobs 命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程。
3.命令参数:
-l 信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
-a 当处理当前进程时,不限制命令名和进程号的对应关系
-p 指定kill 命令只打印相关进程的进程号,而不发送任何信号
-s 指定发送信号
-u 指定用户
注意:
1、kill命令可以带信号号码选项,也可以不带。如果没有信号号码,kill命令就会发出终止信号(15),这个信号可以被进程捕获,使得进程在退出之前可以清理并释放资源。也可以用kill向进程发送特定的信号。例如:
kill -2 123
它的效果等同于在前台运行PID为123的进程时按下Ctrl+C键。但是,普通用户只能使用不带signal参数的kill命令或最多使用-9信号。
2、kill可以带有进程ID号作为参数。当用kill向这些进程发送信号时,必须是这些进程的主人。如果试图撤销一个没有权限撤销的进程或撤销一个不存在的进程,就会得到一个错误信息。
3、可以向多个进程发信号或终止它们。
4、当kill成功地发送了信号后,shell会在屏幕上显示出进程的终止信息。有时这个信息不会马上显示,只有当按下Enter键使shell的命令提示符再次出现时,才会显示出来。
5、应注意,信号使进程强行终止,这常会带来一些副作用,如数据丢失或者终端无法恢复到正常状态。发送信号时必须小心,只有在万不得已时,才用kill信号(9),因为进程不能首先捕获它。要撤销所有的后台作业,可以输入kill 0。因为有些在后台运行的命令会启动多个进程,跟踪并找到所有要杀掉的进程的PID是件很麻烦的事。这时,使用kill 0来终止所有由当前shell启动的进程,是个有效的方法。
第四大题
1.小工具的使用
2.文件查找命令
1>小工具的使用: 管道(|):连接多个命令的工具,进程之间通讯的一种方式 命令1 | 命令2 | 命令3.... grep工具:行过滤 用法:grep 选项 关键字 文件 OPTIONS: -i: 不区分大小写 -v: 查找不包含指定内容的行,反向选择 -w: 按单词搜索 -c: 统计匹配到的次数[行数] -n: 显示行号 -r: 逐层遍历目录查找 -A: 显示匹配行及前面多少行 -B: 显示匹配行及后面多少行 -C: 显示匹配行前后多少行 --color=auto :可以将找到的关键词部分加上颜色的显示 -l:只列出匹配的文件名 -L:列出不匹配的文件名 -e: 使用正则搜索 grep -e xxx =egrep xxx -o: ^key:以什么开头 key$:以什么结尾 每次过滤都显示颜色: vim ~/.bashrc alias grep=‘grep --color=auto‘ source ~/.bashrc cut工具:截取某一个字符,列过滤 -c :以字符为单位进行分割。 -d :自定义分隔符,默认为制表符。 -f :与-d一起使用,指定显示哪个区域。 # cut -d: -f1,3,6 passwd|head # cut -d: -f1 passwd|head # cut -c10,15 passwd |head # cut -c10-15 passwd |head # cut -c10- passwd |head 注意: cut的-d选项的默认间隔符就是制表符,所以当你就是要使用制表符的时候,完全就可以省略-d选项,而直接用-f来取域就可以。 -b和-c选项,-n表示从第一个字节到第n个字节,而n-表示从第n个字节到行尾 sort工具: 排序,将文件的每一行作为一个单位,从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。 -u :去除重复行 -r :降序排列,默认是升序 -o :将排序结果输出到文件中 -n :以数字排序,默认是按字符排序 -t :分隔符 -k :第N列 -b :忽略前导空格。 -R :随机排序,每次运行的结果均不同。 uniq 去除连续重复行,不连续不去除 -i: 忽略大小写 -c: 统计重复行次数 -d:只显示重复行 tee:从标准输入读取并写入标准输出和文件 tee 双向覆盖重定向<屏幕输出|文本输入> tee -a 双向追加重定向<屏幕输出|文本输入> paste 合并文件行 -d:自定义间隔符,默认是tab -s:串行处理,非并行 tr 替换 接收输入流文件 tr用来从标准输入中通过替换或删除操作进行字符转换。tr主要用于删除文件中控制字符或进行字符转换。 使用tr时要转换两个字符串:字符串1用于查询,字符串2用于处理各种转换。 -d 删除字符串1中所有输入字符。 -s 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串。 a-z 任意小写 A-Z 任意大写 0-9 任意数字 [:alnum:] all letters and digits//所有字母和数字 [:alpha:] all letters//所有字母 [:blank:] all horizontal whitespace//所有水平空白 [:cntrl:] all control characters//所有控制字符 \b Ctrl-H 退格符 \f Ctrl-L 走行换页 \n Ctrl-J 新行 \r Ctrl-M 回车 \t Ctrl-I tab键 [:digit:] all digits//所有数字 [:graph:] all printable characters, not including space//所有可打印的字符,不包含空格 [:lower:] all lower case letters//所有小写字母 [:print:] all printable characters, including space//所有可打印的字符,包含空格 [:punct:] all punctuation characters//所有的标点符号 [:space:] all horizontal or vertical whitespace//所有水平或垂直的空格 [:upper:] all upper case letters//所有大写字母 [:xdigit:] all hexadecimal digits//所有十六进制数字 [=CHAR=] all characters which are equivalent to CHAR//所有字符 diff 比较文件的差异 1、正常格式(normal diff) 2、上下文格式(context diff) -c参数 3、合并格式(unified diff) -u参数 -i:忽略大小写 -B:忽略空行 -b:忽略空格 [[email protected] Desktop]# cat file1 a b c 3 e [[email protected] Desktop]# cat file2 a b c d e 8 [[email protected] Desktop]# diff file1 file2 4c4 < 3 --- > d 6c6 < --- > 8 [[email protected] Desktop]# diff file2 file1 4c4 < d --- > 3 6c6 < 8 --- > [[email protected] Desktop]# diff -c file2 file1 *** file2 2017-04-21 17:25:58.448733455 +0800 --- file1 2017-04-21 17:24:46.026733277 +0800 *************** *** 1,6 **** a b c ! d e ! 8 --- 1,6 ---- a b c ! 3 e ! [[email protected] Desktop]# diff -u file2 file1 --- file2 2017-04-21 17:25:58.448733455 +0800 +++ file1 2017-04-21 17:24:46.026733277 +0800 @@ -1,6 +1,6 @@ a b c -d +3 e -8 + [[email protected] Desktop]# diff -u file1 file2 --- file1 2017-04-21 17:24:46.026733277 +0800 +++ file2 2017-04-21 17:25:58.448733455 +0800 @@ -1,6 +1,6 @@ a b c -3 +d e - +8 [[email protected] Desktop]# wc工具: 统计行 字符 单词数 -l:打印行数 -c:打印字节数 -m:打印字符数 -w:打印单词数 -L:打印最长行的长度 扩展: (一)“字节”的定义 字节(Byte)是一种计量单位,表示数据量多少,它是计算机信息技术用于计量存储容量的一种计量单位。 (二)“字符”的定义 字符是指计算机中使用的文字和符号,比如1、2、3、A、B、C、~!·#¥%……—*()——+、等等。 (三)“字节”与“字符” 不同编码里,字符和字节的对应关系不同: ①ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。 ②UTF-8编码中,一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。 ③Unicode编码中,一个英文等于两个字节,一个中文(含繁体)等于两个字节。 符号:英文标点占一个字节,中文标点占两个字节。举例:英文句号“.”占1个字节的大小,中文句号“。”占2个字节的大小。 ④UTF-16编码中,一个英文字母字符或一个汉字字符存储都需要2个字节(Unicode扩展区的一些汉字存储需要4个字节)。 ⑤UTF-32编码中,世界上任何字符的存储都需要4个字节。 du和df工具: du:统计目录或文件大小 -h:以人性化的方式查看 KB、MB、GB -s:显示总和 df:查看文件系统的使用情况 -h:以人性化的方式查看 KB、MB、GB -H:使用1000位进制单位,而不是1024 -T:显示文件系统类型 -i:列出inode信息 2>文件查找命令文件查找命令:
命令文件 # which ls //从PATH环境变量 (echo $PATH) # whereis vim 任意文件 A. locate (查询的数据库: /var/lib/mlocate/mlocate.db) /etc/cron.daily/mlocate.cron 速度快,缺点:忽略临时目录/tmp /var/tmp 需要手动更新数据库:updatedb B、find 精确查找,磁盘搜索, io读写,cpu开销大 命令格式: find path option key 默认会将查找的结果输出到屏幕 find path option key [ -exec 或者 -ok shell command {} \;] 将找出来的文件执行某个shell命令 命令功能: 用于在文件树种查找文件,并作出相应的处理 path:查找范围 / /etc ... 命令选项: -name 按照文件名查找文件 -iname 按照文件名忽略大小写查找 -perm 按照文件权限来查找文件 -size 按照文件大小来查找 +size -size size -type 按照文件类型来查找 f d b c l s p -user |-nouser 属主|没有uid -group |-nogroup 属组|没有gid -mtime +n 按文件更改时间来查找文件,-n指n天以内,+n指n天以前 -atime -n 按文件访问时间来查 -ctime n 按文件创建时间来查找文件,-n指n天以内,+n指n天以前 -regex 正则表达式 .* 任意多个字符 [0-9] 任意一个数字 # find /etc -regex ‘.*ifcfg-eth[0-9]‘ 动作: -ls -print -delete -exec command 执行参数后面的shell命令,不提示直接执行 -ok command 执行参数后面的shell命令,询问式 引申: |:管道 将上一条命令所执行的结果(标准输出)作为下一个命令的输入 命令1 |命令2 |命令3... xargs命令:将上一条命令所执行的结果作为下一个命令的参数 # echo --help|cat # echo --help|xargs cat # find /var/log -name *.log |ls -l # find /var/log -name *.log |xargs ls -l 参数: -t 表示先打印命令,然后再执行。 -i 将xargs的每项名称,一般是一行一行赋值给{},可以用{}代替。 统一重命名 # find test/ -name file*|xargs -ti mv {} {}.bak 第五、六大题1.yumg工具安装rpm包2.磁盘划分3.acl策略4.重定向5,特殊权限 1>配置yum思路:1》需要有一个仓库(有很多软件包,并且存放了软件包的依赖关系)2》 告诉yum工具去哪个仓库里找相应的软件包 2>磁盘划分1》需要有一块硬盘2》使用划分工具对硬盘进行分区(fdisk)3》格式化分区4》挂载使用 3>acl策略ACL访问控制策略:setfacl 命令设置acl策略-m:修改acl策略-R:递归修改,针对目录,目录下的老文件会有acl策略,新建的文件没有-d:递归修改,默认acl策略,针对目录 目录下的老文件不会有acl策略,新建的文件有acl策略-x:删除某个用户或某个组的acl策略-b:删除所有acl策略mask:定义除了拥有者和其他人以外的最大权限 getfacl 命令查看文件的acl策略 demo:setfacl -m u:harry:rw file1setfacl -m g:admin:rwx file2setfacl -x u:harry file1setfacl -x g:admin file1setfacl -b file2setfacl -x m:: file1 -R -d说明:-R和-d一起使用,该目录本身和该目录下的普通文件不会继承acl策略;该目录下新创建的文件和目录以及老的目录会继承acl策略。 4>重定向标准输入(stdin): 文件描述符 0标准输出(stdout): 文件描述符 1标准错误(stderr): 文件描述符 2 重定向:将结果重定向到某个文件里 > 和 1>:标准输出重定向2>:标准错误重定向>>:追加<:标准输入&>:标准输出和标准错误重定向 5>特殊权限setuid/setgid/sticky u g osetuid(4/s) --冒险位,临时拥有拥有者的权限#chmod 4755 /usr/bin/vim#chmod u+s /usr/bin/vim[[email protected] tmp]# ll -d /usr/bin/vim-rwxr-xr-x 1 root root 2729356 2009-06-12 /usr/bin/vim[[email protected] tmp]# ll -d /usr/bin/vim-rwsr-xr-x 1 root root 2729356 2009-06-12 /usr/bin/vim setgid(2/s) --强制位,针对目录来操作,可以让新生成目录继承父目录的属组权限(小s是一开就有执行权限。而大S是一开始没有执行权限)# chmod 2755 /test# chmod g+s /test sticky --粘滞位,在公共目录中,用户只能管理(删除)自己的文件(拥有者)# chmod 1755 /test1# chmod o+t /tse