tar命令和三剑客基础使用

第1章 输出文件内容的行号及内容
了解{}在这里的作用
[root@oldboyedu43-lnb oldboy]# #{} 生成序列
[root@oldboyedu43-lnb oldboy]# echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
创建环境
[root@oldboyedu43-lnb oldboy]# echo stu{01..5} |xargs -n1 >nginx.conf
[root@oldboyedu43-lnb oldboy]# cat nginx.conf
stu01
stu02
stu03
stu04
stu05
1.1 方法 cat
-n的参数表达的意思为输出的内容加行号
[root@oldboyedu43-lnb oldboy]# cat -n nginx.conf
1 stu01
2 stu02
3 stu03
4 stu04
5 stu05
1.2 vim
使用vim打开文件 :在底部输入
:set nu 显示行号
:set nonu 取消显示行号
nu==== number
1.3 grep
-n给grep命令找到的内容显示个行号
[root@oldboyedu43-lnb oldboy]# grep -n "stu" nginx.conf
1:stu01
2:stu02
3:stu03
"."点 正则表达式 表示任意一个字符
[root@oldboyedu43-lnb oldboy]# grep -n "." nginx.conf
1:stu01
2:stu02
3:stu03
1.4 awk
思路:NR行号 $0 表示这一行的内容
[root@oldboyedu43-lnb oldboy]# awk '显示行号和内容' nginx.conf
1.4.1 awk: 显示行号和内容
显示行号
#awk '{print NR}' nginx.conf
1
2
3
4
5
显示行号,并且将行对应的内容显示

awk '{print NR,$0}' nginx.conf

1 stu01
2 stu02
3 stu03
4 stu04
5 stu05 想显示逗号就用NR,$0
1.5 sed
思路:sed命令加等号,会将输出的内容以一列的形式显示,-n2以两列显示
[root@oldboyedu43-lnb oldboy]# sed '=' nginx.conf |xargs -n2
1 stu01
2 stu02
3 stu03
4 stu04
5 stu05

小结:
1.cat 配合参数-n
2.grep 配合参数-n,最好配合正则表达式.(点)
3.vim :冒号后输入set nu
4.awk 显示print 行号NR 内容$0
5.sed "="表示内容一列显示,配合|xargs -n2 显示为两列对应关系

第2章 linux系统运行级别含义
0 关机
1 单用户模式
2 不完全多用户,缺少nfs
3 完全的多用户模式,命令行,文本模式
4 未定义
5 X11,桌面模式 图形界面模式
6 重启
如何查看运行级别
runlevel
如何修改运行级别
1)init 临时修改
2)/etc/inittab 永久修改

第3章 管理不同级别开机自启动
格式:chkconfig --level 运行级别 服务 on/off

chkconfig --level 3 iptables off

chkconfig --level 3 iptables on

chkconfig |grep iptables

iptables 0:off 1:off 2:off 3:on 4:off 5:off 6:off 3运行级别iptables服务关闭

第4章 linux乱码
4.1 临时修改字符集
export LANG= en_US.UTF-8
4.2 永久修改
/etc/sysconfig/i18n

第5章 tar
5.1 格式:
tar 参数 存放路径/压缩包 文件或目录(要打包压缩的)
tar zcvf /tmp/etc.tar.gz /etc/
5.2 参数的含义
z === gzip 通过gzip进行压缩 .tar.gz
j ===bzip 通过bzip程序压缩 .tar.bz
c === create 创建包
v === verbose 显示执行过程
f === file 指定的压缩包
t === list 查看压缩包内容
x === extract 解压

5.3 tar打包压缩整个目录
tar zcvf /tmp/etc.tar.gz /etc v可以不要,打包整个/etc
打包后检查
[root@oldboyedu43-lnb ~]# ll -rt /tmp/
-rw-r--r-- 1 root root 9729685 Dec 12 04:41 etc.tar.gz
5.4 tar查看压缩包内容
tar ztf /tmp/etc.tar.gz z可省略
5.5 解压压缩包
5.5.1 默认解压到当前目录中
cd /tmp/ 想解压到哪个目录先进入其中
tar zxvf /tmp/etc.tar.gz zv可省略
5.5.2 解压到指定目录中
tar xf /tmp/etc.tar.gz -C /opt
压缩、查看、解压
tar zcf /tmp/etc.tar.gz /etc
tar tf /tmp/etc.tar.gz
tar xf /tmp/etc.tar.gz
5.6 打包目录同时排除子目录
--exclude=被排除文件名
-X或--exclude-from=被排除的文件名的列表

tar zcf /tmp/etc-pai.tar.gz /etc/ --exclude=/etc/services 排除/etc/services

检查
[root@oldboyedu43-lnb ~]# tar tf /tmp/etc-pai.tar.gz |grep "services"
etc/init/readahead-disable-services.conf
5.7 创建压缩包常见警告及原因
5.7.1 原因
tar: Removing leading /' from member names<br/>压缩包中每个文件名开头的"/" 删除掉<br/>tar: Removing leading/' from hard link targets
删除/的原因
压缩包中的 绝对路径 ==== >相对路径
假设不会这么做
解压之前的压缩包的时候,会把新的文件覆盖,绝对路径更改为相对路径 为了安全,防止解压的时候覆盖原来文件
5.7.2 解决方案
使用相对路径创建压缩包
[root@oldboyedu43-lnb tmp]# cd /
[root@oldboyedu43-lnb /]# tar zcf /tmp/etc.tar.gz etc/
5.8 小结:
1.创建,查看,解压压缩包分别为tar zcf,tf,xf
2.-C 解压到指定的目录
3.--exclude或-X 压缩的时候排除

第6章 截取显示
6.1 方法1-sed
(标点符号和空格都可过滤)
sed 's#I am ##g' oldboy.txt |sed 's#,myqq is # #g'
oldboy 31333741
6.2 方法2-awk
$N代表第几列,特殊:$0代表本行内容,$NF代表
[root@oldboyedu43-lnb oldboy]# awk '{print $1}' oldboy.txt $1表示取第一列
I
[root@oldboyedu43-lnb oldboy]# awk '{print $1,$3}' oldboy.txt $1,$3表示取第一列和第三列
I oldboy,myqq
-F表示重新定义分隔符,[]中写入分隔符,这里写的为空格和逗号,代表空格和逗号都是分隔符,
[root@oldboyedu43-lnb oldboy]# awk -F "[ ,]" '{print $3,$6}' oldboy.txt
oldboy 31333741 没有逗号
如果想让输出的内容中间有逗号,把$3和$6之间的逗号打上"",不打为空格
[root@oldboyedu43-lnb oldboy]# awk -F "[ ,]" '{print $3","$6}' oldboy.txt
oldboy,31333741 (有括号)
6.3 方法3-cut
awk的简易版
-d 指定分隔符(只能指定一个)
-f 显示某一列(-f1显示第一列,-f2,5显示第二列和第五列。-f3-f6显示第三列到第六列)
#cut -d " " -f3,6 oldboy.txt (" "中指定的分隔符为空格)
#oldboy,myqq (这里是有逗号的)
cut -d " " -f1 用空格分割,如果有多余的不想要的符号等,可以用sed过滤

sed 's#,# #g' oldboy.txt |cut -d " " -f3,6

oldboy 31333741 (这里没有逗号)

第7章 双重过滤
需要使用正则表达式中的 | 代表或者的意思

egrep "3306|1521" /etc/services (代表3306或者1521的意思不是必须符合这两个条件)

mysql 3306/tcp # MySQL
mysql 3306/udp # MySQL
ncube-lm 1521/tcp # nCube License Manager
ncube-lm 1521/udp # nCube License Manager

|正则中的战斗机 grep使用|必须变为egrep才可以使用

第8章 wc
查看文件信息,-l参数代表显示行

wc -l /etc/services

10774 /etc/services

第9章 ps -ef
查看当前linux中全部正在运行的进程
查找指定的进程是否运行
[root@oldboyedu43-lnb oldboy]# ps -ef |grep "sshd"
root 1507 1 0 Dec11 ? 00:00:00 /usr/sbin/sshd
root 4079 1507 0 02:43 ? 00:00:01 sshd: root@pts/0
root 4399 1507 0 03:38 ? 00:00:00 sshd: root@pts/1
root 4628 4081 0 06:51 pts/0 00:00:00 grep sshd
可将wc -l 和ps -ef配合使用
ps -ef |grep "/usr/sbin/sshd"|wc -l
2 (显示为2代表查找的进程正在运行)

第10章 总结:
1.显示文件行号cat、vi/vim、grep、awk、sed。
2.使用tar打包压缩
3.截取显示使用sed、awk、cut
4.统计行数及显示进程ps -ef和wc -l搭配
5.多个过滤条件:使用|

转载于:https://blog.51cto.com/12928749/2052831

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值