Day10
Georgekai-习惯:操作前备份,操作后检查
注:生成序列,连续输入显示到屏幕,包括数字和字母
例1:[george@georgekai ~]$ echo {1..10}
1 2 3 4 5 6 7 8 9 10
例二:[george@georgekai ~]$ echo {01..10}
01 02 03 04 05 06 07 08 09 10
例三:[george@georgekai ~]$ echo stu{1..5}
stu1 stu2 stu3 stu4 stu5
例四:[george@georgekai ~]$ 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
1) echo输出序列内容并多行显示,保存到指定文件
注:xargs -n 多少列
[root@georgekai ~]# echo stu{1..5} |xargs -n3 > /data/nginx.conf
2)cat -n查看文件并显示行号
[root@georgekai ~]# cat -n /data/nginx.conf
1 stu1 stu2 stu3
2 stu4 stu5
3)vim 里面加set nu显示行号,set nonu取消显示行号
:set nu :set nonu
4)grep -n
注:1. grep 中的 . 表示任意一个字符
2. -n 给grep命令找到的内容显示行号
[root@georgekai ~]# grep -n "." /data/kai.txt
5)awk显示行号
注:RN 表示显示行号,$0 表示这一行的内容
[root@georgekai ~]# awk '{print NR,$0}' /data/kai.txt
6)sed显示行号
注:= 表示显示行号
[root@georgekai ~]# sed '=' /data/wa.txt |xargs -n2
[root@georgekai ~]# chkconfig --level 3 iptables off
注:也能同时指定多个运行级别,如345 ,同时指定345运行级别
1)查看系统字符集 echo $LANG
2)查看Xshell字符集
3)修改字符集
临时修改:export.UTF-8
永久修改:vim /etc/sysconfig/i18n 将LANG=en_US.UTF-8 放到最下面
创建压缩包常见错误提示:
tar:Removing leading '/' fron hard link targets
不是错误,绝对路径====>相对路径,是为了安全,防止解压时候覆盖原来的文件。
解决方法:使用相对路径打包,先cd到文件路径中,在打包
[root@georgekai ~]# tar zcvf /tmp/la.tar.gz /etc/hosts
注:格式:tar zcvf 压缩包(框) 文件 文件 目录
参数:z === gzip 通过gzip进行压缩,使用tar后,一般以tar.gz结尾
c === create 创建包
v === verbose 显示执行过程
f === file 指定的压缩包(归档)
[root@georgekai ~]# tar ztf /tmp/etc.tar.gz
注: t === list 查看压缩包内容
[root@georgekai ~]# tar zxvf /tmp/etc.tar.gz -C /tmp/
注: x === extract解压缩
默认解压到当前目录
-C === specify指定压缩位置
[root@georgekai /]# tar zcvf /tmp/paichu.tar.gz etc --exclude=etc/services
注:--exclude= 指定要排除的文件
-X或--exclude-from= 被排除的文件名列表(将排除的文件写入)
[root@georgekai /]# tar ztf /tmp/paichu.tar.gz |grep "services"
注:查看一下是否排除成功
[root@georgekai oldboy]# sed 's#I am ##g' oldboy.txt |sed 's#,myqq is##g'
oldboy 976060283
注:用空格替换了I am
[root@georgekai oldboy]# awk -F "[, ]" '{print $3,$5,$6}' oldboy.txt
oldboy is 976060283
注 :1. awk默认分隔符为空格
2. $1 表示第一列 $0 表示这一行所有 $NF 表示最后一列
3. 在awk逗号作为空格
4. -F 指定分隔符,空格也是,[]里面任何一个字符都算分隔符
5. '{print ","$3,$NF}' awk中想显示,某个字符,放在双引号中
[root@georgekai oldboy]# awk -F "[, ]" '{print $3","$NF}' oldboy.txt
oldboy,976060283
[root@georgekai oldboy]# sed 's#,# #g' oldboy.txt|cut -d " " -f3,6
注:1. cut -d 指定分隔符,每次只能指定一个分隔符
2. -f 显示某一列,-f1 表示第1列,-f3,5 表示第3列和第5列,-f2-5 表示第2到第5列
[root@georgekai oldboy]# wc -l /etc/services
10774 /etc/services
注:1. -l 统计多少行
2. -c 统计多少个字符
3. -w 统计多少个单词
[root@georgekai oldboy]# ps -ef |grep "/sshd"|wc -l
2
注:1. PID:process id 进程对应的进程号
2. CMD: 进程名
[root@georgekai oldboy]# egrep "1521|3306" /etc/services
注:1. egrep 是正则表达式的高级版,等于grep -E
2. | :在这里表示或者的意思,如果是grep的话,只会把它当做一个字符
关注微信公众号:linux运维菜鸟之旅
显示行号的6种方法、chkconfig、tar、awk、cut过滤字符串、ps配合wc查看过滤进程
原文地址:http://blog.51cto.com/13055758/2052632