命令总结
目 录
第1章 sed命令 1
1.1 功能说明 1
1.2 增删改查 1
1.2.1 增 1
1.2.2 删 4
1.2.3 改 4
1.2.4 查 9
1.2.5 其他参数用法 9
第2章 awk 10
第3章 grep 11
第4章 mkdir 11
第5章 cd 12
第6章 pwd 12
第7章 touch 12
第8章 ls 12
第9章 vi 13
第10章 cat 13
第11章 echo 14
第12章 cp 16
第13章 mv 16
13.1 mv move(移动文件或目录) 16
13.2 rm remove删除文件或目录 16
13.3 .rmdir 删除空目录 17
第14章 find 17
第15章 xargs 17
第16章 head 18
第17章 tail 18
第18章 which 18
第19章 alias 19
第20章 seq 19
第21章 uname 20
第22章 hostname 20
第23章 setenforce 20
23.1 setenforce 设置selinux状态 20
23.2 getenforce 查看selinux状态 20
第24章 runlevel 21
24.1 runlevel 查看系统的运行级别 21
24.2 init 修改运行级别(修改你的个人状态) 21
第25章 chkconfig chkconfig 管理开机自启动服务。 21
第26章 date 21
第27章 history 22
第28章 ulimit 23
第29章 useradd 23
第30章 passwd 23
第31章 su 23
第32章 chattr 23
32.1 chattr 更改文件属性(-i,-a) 23
32.2 lsattr 查看chattr更改后的属性 23
第33章 tree 24
第34章 df 24
第35章 cut 25
第36章 wc 25
第37章 tar 26
第38章 file 30
第39章 du 31
第40章 stat 32
第41章 mounts cat /proc/mounts可查看当前已经挂载文件系统的列表 32
第1章 sed命令
1.1 功能说明
流编辑器,操作、过滤和转换文本内容的强大工具,linux三剑客老二。
常用功能增删改查,过滤,取行。
1.2 增删改查
实验文本
[root@root /]# cat person.txt
101,oldboy,CEO
102,zhangyao,CTO
103,Alex,COO
104,yy,CFO
105,feixue,CIO
1.2.1 增
a 追加文本到指定的行后
单行增加
[root@root /]# sed '2a 106,dandan,CSO' person.txt 2a在第二行后追加内容
101,oldboy,CEO
102,zhangyao,CTO
106,dandan,CSO
103,Alex,COO
104,yy,CFO
105,feixue,CIO
多行增加
第一种sed '2a 106,dandan,CSO\n107,bingbing,CCO' person.txt \n是换行符 连续在第二行之后追加了两行
第二种sed '2a 106,dandan,CSO \ 按回车
>输入 107,bingbing,CCO' person.txt
i 插入文本到指定行前
[root@oldboy ~]# sed '2i 106,dandan,CSO' person.txt 2i在第二行后追加内容
实例1-1
企业案例:优化ssh配置
在我们学习系统优化时,有一个优化点:更改ssh服务远程登录的配置。主要的操作是在ssh的配置文件加入下面5行文本。(下面参数的具体含义见其他课程。) 现在想一条命令增加5行文本到第13行前
- Port 52113
- PermitRootLogin no
- PermitEmptyPasswords no
- UseDNS no
- GSSAPIAuthentication no
答案:sed '13i Port 52113\nPermitRootLogin no\nPermitEmptyPasswords no\nUseDNS no\nGSSAPIAuthentication no' /etc/ssh/sshd_config
指定执行的地址范围:
- sed软件可以对单行或多行进行处理。如果在sed命令前面不指定地址范围,那么默认会匹配所有行。
- 用法:n1[,n2]{sed-commands}
- 地址用逗号分隔的,n1,n2可以用数字、正则表达式、或二者的组合表示。
例子:
- 10{sed-commands} 对第10行操作
- 10,20{sed-commands} 对10到20行操作,包括第10,20行
- 10,+20{sed-commands} 对10到30(10+20)行操作,包括第10,30行
- 1~2{sed-commands} 对1,3,5,7,……行操作
- 10,${sed-commands} 对10到最后一行($代表最后一行)操作,包括第10行
- /oldboy/{sed-commands} 对匹配oldboy的行操作
- /oldboy/,/Alex/{sed-commands} 对匹配oldboy的行到匹配Alex的行操作
- /oldboy/,${sed-commands} 对匹配oldboy的行到最后一行操作
- /oldboy/,10{sed-commands} 对匹配oldboy的行到第10行操作,注意:如果前10行没有匹配到oldboy,sed软件会显示10行以后的匹配oldboy的行,如果有。
- 1,/Alex/{sed-commands} 对第1行到匹配Alex的行操作
- /oldboy/,+2{sed-commands} 对匹配oldboy的行到其后的2行操作
1.2.2 删
d删除指定的行 结合指定删除范围使用
实例1-1 打印文件内容但不包括oldboy
sed '/oldboy/d' person.txt
1.2.3 改
1.按行替换
c 用新行取代旧行 [root@oldboy ~]# sed '2c 106,dandan,CSO' person.txt
2.文本替换
s:单独使用→将每一行中第一处匹配的字符串进行替换 ==>sed命令
g:每一行进行全部替换 ==>sed命令s的替换标志之一,非sed命令
-i:修改文件内容 ==>sed软件的选项
sed软件替换模型(方框▇被替换成三角▲)
sed -i 's/▇/▲/g' oldboy.log 不加g的话对每行第一个替换,加上g全部替换
sed -i 's#▇#▲#g' oldboy.log
s#▇#▲#g,▇能用正则表达式,但▲不能用,必须是具体的
实例1-1 指定行修改配置文件
例1.:sed '3s#0#9#' person.txt 加上g第三行的0全部换为9
例2. sed '2s#1#0#2' num.txt
[root@oldboy ~]# sed '2s#1#0#2' num.txt #→精确定位第2行,第2列
1 1 1 1 1
1 0 1 1 1
1 1 1 1 1
1 1 1 1 1
3.变量替换
[root@oldboy ~]# cat test.txt #→再新建一个文本
a
b
a
[root@oldboy ~]# x=a
[root@oldboy ~]# y=b
[root@oldboy ~]# echo $x $y 变量时必须加双引号或者不加引号
a b
[root@oldboy ~]# sed s#$x#$y#g test.txt 也可以eval sed 's#$x#$y#g' test.txt
b
b
b
4.分组替换
sed软件的\( \)的功能可以记住正则表达式的一部分,其中,\1为第一个记住的模式即第一个小括号中的匹配内容
例:echo I am oldboy teacher.如果想保留这一行的单词oldboy,删除剩下的部分,使用圆括号标记想保留的部分。
- [root@oldboy ~]# echo I am oldboy teacher. |sed 's#^.*am \([a-z].*\) tea.*$#\1#g'
- oldboy
- [root@oldboy ~]# echo I am oldboy teacher. |sed -r 's#^.*am ([a-z].*) tea.*$#\1#g'
- oldboy
- [root@oldboy ~]# echo I am oldboy teacher. |sed -r 's#I (.*) (.*) teacher.#\1\2#g'
- amoldboy
实例1-2 企业开机启动项优化
企业案例4:系统开机启动项优化
- [root@oldboy ~]# chkconfig --list|grep "3:on"|grep -vE "sshd|crond|network|rsyslog|sysstat"|awk '{print $1}'|sed -r 's#^(.*)#chkconfig \1 off#g'|bash
- [root@oldboy ~]# chkconfig --list|grep "3:on"
- crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
- network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
- rsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
- sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
- sysstat 0:off 1:on 2:on 3:on 4:on 5:on 6:off
chkconfig --list|grep 3:on|egrep -v "crond|sshd|network|rsyslog|sysstat"|awk '{print "chkconfig",$1,"off"}'|bash
第二种写法
chkconfig --level 1 sshd off 指定某个运行级别开关
5.特殊符号$代表被替换的内容
- [root@oldboy ~]# sed '1,3s#C#--&--#g' person.txt #→此处&等于C
- 101,oldboy,--C--EO #→将1到3行的C替换为--C--
- 102,zhangyao,--C--TO
- 103,yy,--C--OO
- 104,feixue,CFO
- 105,dandan,CIO
实例1-3 批量重命名文件
当前目录下有文件如下所示:
- [root@oldboy test]# ls
- stu_102999_1_finished.jpg stu_102999_2_finished.jpg stu_102999_3_finished.jpg stu_102999_4_finished.jpg stu_102999_5_finished.jpg
要求用sed命令重命名,效果为stu_102999_1_finished.jpg==>stu_102999_1.jpg,即删除文件名的_finished
方法一:\1 子串匹配标记 & 已匹配字符串标记 mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中
方法二:
[root@oldboy ~/test]# rename jpg JPG *
[root@oldboy ~/test]# ls
stu_102999_1.JPG stu_102999_2.JPG stu_102999_3.JPG stu_102999_4.JPG stu_102999_5.JPG
备份文件内容
[root@oldboy ~]# sed -i.ori 's#zhangyao#NB#' person.txt
[root@oldboy ~]# cat person.txt
101,oldboy,CEO
102,NB,CTO
103,Alex,COO
104,yy,CFO
105,feixue,CIO
[root@oldboy ~]# cat person.txt.ori
101,oldboy,CEO
102,zhangyao,CTO
103,Alex,COO
104,yy,CFO
105,feixue,CIO
1.2.4 查
p 输出指定内容,但默认会输出2次匹配的结果,因此使用n取消默认输出
例:按行查询:sed -n '2p' person.txt
按字符串查询:sed -n '/CTO/p' person.txt
1.2.5 其他参数用法
-e选项允许在同一行里执行多条命令或者使用;: sed -e '1,5d' -e 's/test/check/' file
= 打印当前行号码
N 追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码
例:[root@oldboy ~]# sed "=" person.txt|sed 'N;s#\n# #'
实例1-1 企业案例:SVN帐号密码案例
很久以前,由于一些未知的原因,我们的SVN服务器的生成帐号密码的脚本生成的帐号密码如下:
stu10309
7f753cc3
stu10312
636e026d
stu10315
18273b95
但是SVN服务器识别的帐号密码格式为:
stu10309=7f753cc3
stu10312=636e026d
stu10315=18273b95 如何修改? sed 'N;s#\n# #'
第2章 awk
.awk 过滤、输出内容 一门语言 按列是特长
常用参数:NR是行号,&&意思是并且,两边同时成立。
$0表示整行内容,\n回车。 F 是分隔符
NF字段数
例如:[root@oldboy ~]# ifconfig eth0|awk -F "[ :]+" 'NR ==2{print $4}'
[root@oldboy ~]# awk 'NF>0 {print $0}' 12.txt
[root@oldboy ~]# awk 'NF!=0 {print $0}' 12.txt
第3章 grep
grep 过滤,类似筛子 。 linux三剑客老三(awk,sed,grep)。
-B(before) 除了显示匹配的一行之外,并显示该行之前的num行(包含匹配的行)
grep 30 -B 10 ett.txt
-A(after) 除了显示匹配的一行之外,并显示该行之后的num行(包含匹配的行)
grep 20 -A 10 ett.txt
-C(context) 除了显示匹配的一行之外,并显示该行之前后各num行(包含匹配的行) grep 25 -C 5 ett.txt
不区分大小写 -i
echo "hello world" | grep -i "HELLO" hello
输出除之外的所有行 -v
grep -v "match_pattern" file_name
标记匹配颜色 --color=auto
grep "match_pattern" file_name --color=auto
使用正则表达式 -E
grep -E "[1-9]+" 或 egrep "[1-9]+"
只输出文件中匹配到的部分 -o
echo this is a test line. | grep -o -E "[a-z]+\." line. echo this is a test line. | egrep -o "[a-z]+\." line.
第4章 mkdir
mkdir创建目录 mkdir -p递归创建目录 -m加权限
在目录/usr/meng下建立子目录test,并且只有文件主有读、写和执行权限,其他人无权访问
mkdir -m 700 /usr/meng/test
在当前目录中建立bin和bin下的os_1目录,权限设置为文件主可读、写、执行,同组用户可读和执行,其他用户无权访问 mkdir -p-m 750 bin/os_1
第5章 cd
cd 切换目录
cd.. 退到上一级目录 ,一个点儿是当前目录,- 上一次所在目录
第6章 pwd
绝对路径方式显示当前工作目录所在
第7章 touch
touch 创建文件
如果touch创建文件,如果重复创建不会提示存在,也不会覆盖,更改文件时间戳(时间属性)
创建多个文件:touch stu{1..100}
第8章 ls
ls 查看目录下的内容(列表)
-l(long)以长格式显示文件信息
-F在文件结尾加不同的标识
-p给目录结尾加斜线
-d 列目录属性。
-r反转排序
-t按修改时间排序 例:按修改时间列出文件和文件夹详细信息 ls -ltr
--color=auto让不同的文件显示不同的颜色。
ls -lih 查看文件属性,十列内容
-i (inode节点,每个文件索引号)
-h 人类可读
第9章 vi
vi 类似记事本一样的linux下的常用编辑器
例:vi oldboy.txt进入vi编辑器(命令模式),点击i进入insert模式,输入文本,然后按esc退出编辑模式(进入命令模式),最后敲:wq保存并推出。
q!强制退出
vim 类似高级的编辑器例
第10章 cat
1.cat 查看文件内容。例如:cat oldboy.txt
2.-n显示行号 cat -n oldboy.txt
3.追加多行内容到文件 例:
cat >>/data/oldboy.txt<<EOF 也可将EOF改为其他
I am studying linux.
敲EOF结束。
第11章 echo
- echo 打印输出内容,配合“>或>>”可以为文件覆盖及追加内容
2.echo "I am studying linux." >oldboy.txt
将"I am studying linux."里的内容,重定向到oldboy.txt结尾,清除文件之前的内容,如果文件不存在会创建文件
3.echo "I am studying linux." >>oldboy.txt
将"I am studying linux."里的内容,追加到oldboy.txt结尾,但不清除之前的内容。
4.将标准输出和错误输出重定向到log.txt。
echo oldboy 1>log.txt 2>log.txt
echo oldboy >log.txt 2>&1(最常用)
echo oldboy &>log.txt
5. echo 参数:
-n 不要在最后自动换行
-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般
文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
[root@oldboy ~]# echo -n "oldboy";echo "oldboy"
oldboyoldboy
[root@oldboy ~]# echo -e "oldboy \t";echo "oldboy"
oldboy
oldboy
[root@oldboy ~]# echo -e "\toldboy"
oldboy
[root@oldboy ~]# echo -en "\toldboy";echo 123
oldboy123
[root@oldboy ~]# echo -en "\toldboy\t";echo 123
oldboy 123
第12章 cp
cp 拷贝文件或目录(copy) -i操作前确认
-i操作前确认 -p 保留原文件的目录属性
-r递归 ,将目录文件下所有文件与子目录一并处理
-a 用于复制目录,相当于-pdr
文件可以直接拷贝,不加参数
\cp 拷贝时不提示
第13章 mv
13.1 mv move(移动文件或目录)
重命名,原地搬家
例:将文件ex3改名为new1 mv ex3 new1
将目录/usr/men中的所有文件移到当前目录(用.表示)中: mv /usr/men/* .
13.2 rm remove删除文件或目录
-f强制删除,-r递归,删除目录 rm -fr
13.3 .rmdir 删除空目录
第14章 find
1.find 查找,-type类型 f(file),d(directory)
-exec对找到的结果处理
-mtime 按修改时间查找+7 7天以前,7第七天 -7最近7天
-maxdepth 深度
-name 按文件名查找
-mmin 按分钟查找[root@oldboy etc]# find /etc/* -mmin -10
! 取反
例find ./ -maxdepth 1 -type d ! -name "." ./是标识当前目录下 标识的是路径 -name "." 表示的是名字
find /data -type f -name "*.log" -mtime +7 -size 10M|xargs -i mv {} /tmp
find /data -type f -name "*.log" -mtime +7 -size 10M -exec mv {} /tmp \
2.-a并且 -o 或者
[root@oldboy oldboy]# find . -type f -a -name "oldboy"
./oldboy
[root@oldboy oldboy]# find . -type f -o -name "oldboy"
第15章 xargs
1.xargs 分组功能,配合find等,可以实现把找到的内容作为后面命令处理的源。
例如:cat test.txt | xargs -n3
a b c
d e f
g h i
2.xargs的一个选项-I,使用-I指定一个替换字符串{},当-I与xargs结合使用,每一个参数命令都会被执行一次:
find /data -type f -name "*.log" -mtime +7 -size 10M|xargs -i mv {} /tmp
第16章 head
head 头 头部 显示文件的前n行,默认显示前10行
head -n 5(head -5)
第17章 tail
tail 尾 尾部 显示文件的后n行,默认显示后10行
tail -n 5(tail -5)
-f跟随一个文件尾部的内容变化。
tail -f /var/log/messages -f 输入错误时会报错,另一个窗口会自动退出,-F会一直尝试去打开这个文件,直到有人创建。
tail -F /var/log/messages
第18章 which
which 查看命令所在路径 which cat
whereis -b cat
locate(updatedb更新)查看命令和帮助
第19章 alias
alias 查看和设置别名(*在命令的前面加上全路径或反斜线可以跳过系统别名)
防止用户误操作
unalias 取消别名
如alias egrep='egrep --color=auto'
永久生效:vi /etc/profile 保存退出
source /etc/profile 或者 /etc/bashrc
第20章 seq
seq equence==seq序列。打数字序列。
-s 指定分隔符
-w同宽 seq -w 98 101 输出:098 099 100 101
例: 1.[root@Bison oldboy]# seq -s " " 10
1 2 3 4 5 6 7 8 9 10
2.seq 100 >ett.txt 往ett中打100个数字 一个数字一行
3.seq 100 |xargs 显示一行
4. seq 100 |xargs -n 2 加n显示两行。
第21章 uname
uname输出系统信息
-m(-p -i) 32or64
-r内核版本 -a(all) -n显示主机名
cat /etc/redhat-release 查系统版本
隐藏内核版本提示. > /etc/issue
第22章 hostname
hostname 查看以及设置主机名(uname -n)
hostname 名字 (临时生效)系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机名。如果需要永久修改主机名,需要同时修改/etc/hosts和/etc/sysconfig/network的相关内容。
-I 显示IP地址
第23章 setenforce
23.1 setenforce 设置selinux状态
setenforce 0 (用于命令管理级别,数字表示设置对应的级别),不用立刻重启系统,生产环境下linux系统不能随意重启
23.2 getenforce 查看selinux状态
例[root@root ~]# getenforce
Enforcing
[root@root ~]# setenforce
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
第24章 runlevel
24.1 runlevel 查看系统的运行级别
24.2 init 修改运行级别(修改你的个人状态)
第25章 chkconfig
chkconfig 管理开机自启动服务。
chkconfig --list #列出所有的系统服务
chkconfig sshd off
chkconfig --level 1 sshd off
例如:操作命令chkconfig --list|grep 3:on|grep -vE “sshd |rsysiog |network |crond |ysstart”|awk '{print " chkconfig " "$1" off "}'|bash
第26章 date
date 查看设置时间 cal 日历
date -d -d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号
例:date -d "1 day ago" +"%Y-%m-%d" 2012-11-19
例如:[root@root data]# date +%y
16
[root@root data]# date +%Y
2016
[root@root data]# date +%Y%m%d%h
20160905Sep
[root@root data]# date +%F
2016-09-05
date -s 设置时间
第27章 history
1)history 历史记录相关
-c清空所有历史,
-d指定偏移量。
-n打印最近的几行 history 10
2)设置命令行: export HISTSIZE=5
#history size命令行历史记录数量
3)命令行命令对应的历史记录文件:export HISTFILESIZE=5
记录文件中命令数 ~/.bash_history
查看cat ~/.bash_history
第28章 ulimit
ulimit 修改shell的资源限制(ulimit -HSn 65535)
ulimit -HSn 65535 若想永久生效,需要加入到/etc/rc.local
第29章 useradd
useradd 添加用户
第30章 passwd
passwd 为用户设置或修改密码
例子:passwd oldboy 为oldboy设置修改密码,直接passwd是为当前用户修改密码
非交互式更改密码:echo“123456”|passwd--stdin oldboy
第31章 su
su 切换用户(su - oldboy)
第32章 chattr
32.1 chattr 更改文件属性(-i,-a)
32.2 lsattr 查看chattr更改后的属性
chattr 更改文件属性(-i ,-a)
1.上锁:chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
查看:
lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
解锁:-i
2.想要更安全:
可以把chattr改名转移。mv /usr/bin/chattr /usr/bin/oldboy1
解锁时需用oldboy1 -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
第33章 tree
tree 以树形的格式列目录的内容
-L(level)显示目录tree -L 1 显示一列 -d 显示目录
如果tree不出来,输入yum install tree -y ,安装。
第34章 df
df -h查看分区挂载以及使用情况 -h(human-readable)
df -a 查看全部文件系统
查看inode block的字节大小
[root@oldboy spool]# dumpe2fs /dev/sda3 |egrep -i "block count |Inode count"
[root@oldboy spool]# dumpe2fs /dev/sda3 |egrep -i "block size |Inode size"
注意:block count一般会大一Inode count的数量。
查看inode的总量和使用方法
df -i
查看文件的inode信息方法
ls -li或sata
如何生成及指定inode大小
格式化命令:mkfs.ext4 -b 2048 -I 256 /dev/sdb
第35章 cut
cut 切割
-d指定分隔符
[root@localhost text]# cat test2.txt
[root@localhost text]# cut -f2 -d";" test2.txt 以冒号为分隔符取第二列
-f指定列[root@localhost text]# cut -f 1 test.txt 1是表示取第一列
-c取字符cut -c1-3 test.txt 取一到三个字符
第36章 wc
wc 统计行数,字符,字节 -l统计行数
第37章 tar
打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。
gzip(tar z)bzip2(tar j)两种打包方式
unzip
tar
①-c 创建tar包
②-f 指定tar包名字
tar -cf etc.tar.gz etc
模型: tar 筐 苹果
③-z 调用gzip命令压缩tar包
tar -zcf etc.tar.gz etc
④-v 显示详细信息
tar -zcvf etc.tar.gz etc
tar zcvf etc.tar.gz etc
⑤--exclude=文件 不打包这个文件
tar zcvf etc_exclude.tar.gz
etc --exclude=etc/services
⑥-t 不解压查看tar包内容
[root@oldboy /]# tar tf etc_exclude.tar.gz |grep service
etc/init/readahead-disable-services.conf
[root@oldboy /]# tar tf etc.tar.gz |grep service
etc/services
etc/init/readahead-disable-services.conf
⑦x 解压
tar zxf etc.tar.gz -C /tmp 解压的常用组合:zxvf(tar zxvf etc.tar.gz)或者xf(tar xf etc.tar.gz)
⑧-C 指定解压路径
tar xf etc.tar.gz -C /tmp tar命令他会自动识别你这个包是用gzip还是其他压缩命令压缩的
压缩:zcf
解压:xf
不解压查看:tf
其他参数:
-C --directory DIR 指定目录进行操作,如解压到指定目录
-p --same-permissions 保持文件属性
--exclude PATTERN 排除不需要处理的文件或目录
-X --exclude-from FILE 指定文件列表的形式排除不需要处理的文件或目录
例:解压到指定目录下
[root@Bison tmp]# tar xf oldboy.tar.gz -C /opt/
[root@Bison opt]# ll oldboy
total 24
drwxr-xr-x 4 root root 4096 Aug 24 09:41 ext
-rw-r--r-- 1 root root 0 Aug 23 15:21 jeacen
-rw-r--r-- 1 root root 0 Aug 23 15:21 oldboy
-rw-r--r-- 1 root root 30 Aug 24 14:21 oldboy.txt
drwxr-xr-x 2 root root 4096 Aug 23 15:21 test
-rw-r--r-- 1 root root 0 Aug 23 15:21 wodi.gz
drwxr-xr-x 2 root root 4096 Aug 23 15:21 xiaodong
drwxr-xr-x 2 root root 4096 Aug 23 15:21 xiaofan
drwxr-xr-x 2 root root 4096 Aug 23 15:21 xingfujie
-rw-r--r-- 1 root root 0 Aug 23 15:21 yingsui.gz
压缩时排除单个文件:
[root@Bison opt]# tar zcvf /tmp/oldboy.tar.gz --exclude=oldboy/wodi.gz ./oldboy
./oldboy/
./oldboy/ext/
./oldboy/ext/sss/
./oldboy/ext/oldboy/
./oldboy/xiaodong/
./oldboy/oldboy.txt
./oldboy/jeacen
./oldboy/xingfujie/
./oldboy/yingsui.gz
./oldboy/test/
./oldboy/oldboy
./oldboy/xiaofan/
压缩时排出多个文件:
[root@Bison opt]# tar zcvf /tmp/oldboy.tar.gz --exclude={wodi.gz,jeacen} ./oldboy
./oldboy/
./oldboy/ext/
./oldboy/ext/sss/
./oldboy/ext/oldboy/
./oldboy/xiaodong/
./oldboy/oldboy.txt
./oldboy/xingfujie/
./oldboy/yingsui.gz
./oldboy/test/
./oldboy/oldboy
./oldboy/xiaofan/
[root@Bison opt]# tar tf /tmp/oldboy.tar.gz
./oldboy/
./oldboy/ext/
./oldboy/ext/sss/
./oldboy/ext/oldboy/
./oldboy/xiaodong/
./oldboy/oldboy.txt
./oldboy/xingfujie/
./oldboy/yingsui.gz
./oldboy/test/
./oldboy/oldboy
./oldboy/xiaofan/
排除指定文件内的文件或目录:
实例37-1
第38章 file
file命令用来探测给定文件的类型。file命令对文件的检查分为文件系统、魔法幻数检查和语言检查3个过程
选项 -b:列出辨识结果时,不显示文件名称;
-c:详细显示指令执行过程,便于排错或分析程序执行的情形;
-f<名称文件>:指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称;
-L:直接显示符号连接所指向的文件类别; [root@localhost ~]# file -L /var/spool/mail /var/spool/mail: directory
-m<魔法数字文件>:指定魔法数字文件;
-v:显示版本信息;
-z:尝试去解读压缩文件的内容。
第39章 du
du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的。
1).du:只显示当前目录下面的子目录的目录大小和当前目录的总的大小
例如:[root@root data]# du
4 ./data
4 ./test
12 ./aa
4 ./oldboy/aa
8 ./oldboy
72 .
2.)du -s 只显示总和的大小
第40章 stat
stat命令用于显示文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细
第41章 mounts
cat /proc/mounts可查看当前已经挂载文件系统的列表
umount()系统调用用于卸载已经挂载的文件系统
本文来自博客园,作者:IT老登,转载请注明原文链接:https://www.cnblogs.com/nb-blog/p/5784038.html