标签:alt 转换 正则表达式 idt sys 默认 下标 大小 style
三剑客听说是入门运维的小伙伴们是必备的技能,但广深小龙不是运维也大致学习了解一下。
但也有人说是四剑客,包括:find 当然我们也会一起了解下,如下图三剑客的价值犹如同sql的语法的重要性。
支持正则表达式,通常作为连接运行下一个命令。
格式:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
参数:
1、过滤配置文件的注释和空行:
[root@iZbp19lugf22zbsubsf1y6Z ~]# grep -v "#" ~/hrun_django/httprunnermanger_web/HttpRunnerManager/settings.py|grep -v "^$"
2、使用正则匹配:
[root@iZbp19lugf22zbsubsf1y6Z gsxl]# grep "[1-9]" t.txt vm.swappiness = 6661111 [root@iZbp19lugf22zbsubsf1y6Z gsxl]#
我还是常用这种:杀掉进程:①ps -ef | grep mysql ②ps -aux | grep python|xargs kill -9
[root@iZbp19lugf22zbsubsf1y6Z gsxl]# ps -ef | grep mysql root 2580 10112 0 12:53 pts/0 00:00:00 grep --color=auto mysql polkitd 13411 13395 0 Apr04 ? 00:06:01 mysqld root 23790 23603 0 Mar30 ? 00:00:00 /bin/sh /opt/zbox/run/mysql/mysqld_safe --defaults-file=/opt/zbox/etc/mysql/my.cnf 65534 24026 23790 0 Mar30 ? 00:00:01 /opt/zbox/run/mysql/mysqld --defaults-file=/opt/zbox/etc/mysql/my.cnf --basedir=/opt/zbox/run/mysql --datadir=/opt/zbox/data/mysql --plugin-dir=/opt/zbox/run/lib/mysql/plugin --user=nobody --log-error=/opt/zbox/logs/mysql_error.log --pid-file=/opt/zbox/tmp/mysql/mysqld.pid --socket=/opt/zbox/tmp/mysql/mysql.sock --port=3306 [root@iZbp19lugf22zbsubsf1y6Z gsxl]#
格式:sed [-hnV][-e<script>][-f<script文件>][文本文件]
参数:
动作:
1、替换文件内容:sed "s/替换内容/新内容/g" 文件名
[root@iZbp19lugf22zbsubsf1y6Z gsxl]# cat t.txt vm.swappiness = 6661111 asd hello # 加上 -i 参数既不打印显示 [root@iZbp19lugf22zbsubsf1y6Z gsxl]# sed "s/asd/gsxl/g" t.txt vm.swappiness = 6661111 gsxl hello
2、替换指定行内容:sed -i "2c\gsxl" t.txt
[root@iZbp19lugf22zbsubsf1y6Z gsxl]# cat t.txt vm.swappiness = 6661111 asd hello [root@iZbp19lugf22zbsubsf1y6Z gsxl]# sed -i "2c\gsxl" t.txt [root@iZbp19lugf22zbsubsf1y6Z gsxl]# cat t.txt vm.swappiness = 6661111 gsxl hello
格式:akw ‘条件{动作}‘
简单打印此文件的全部内容:awk ‘{print $0}‘ /etc/passwd
[root@iZbp19lugf22zbsubsf1y6Z gsxl]# awk ‘{print $0}‘ /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:999:998:User for polkitd:/:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin chrony:x:998:996::/var/lib/chrony:/sbin/nologin ntp:x:38:38::/etc/ntp:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
常用AWK内置变量,当然还有运算符、函数等更多请自行了解,小龙能力有限只是了解一下。
变量 | 描述 |
---|---|
$n | 当前记录的第n个字段,字段间由FS分隔 |
$0 | 完整的输入记录 |
ARGC | 命令行参数的数目 |
ARGIND | 命令行中当前文件的位置(从0开始算) |
ARGV | 包含命令行参数的数组 |
CONVFMT | 数字转换格式(默认值为%.6g)ENVIRON环境变量关联数组 |
ERRNO | 最后一个系统错误的描述 |
FIELDWIDTHS | 字段宽度列表(用空格键分隔) |
FILENAME | 当前文件名 |
FNR | 各文件分别计数的行号 |
FS | 字段分隔符(默认是任何空格) |
IGNORECASE | 如果为真,则进行忽略大小写的匹配 |
NF | 一条记录的字段的数目 |
NR | 已经读出的记录数,就是行号,从1开始 |
OFMT | 数字的输出格式(默认值是%.6g) |
OFS | 输出记录分隔符(输出换行符),输出时用指定的符号代替换行符 |
ORS | 输出记录分隔符(默认值是一个换行符) |
RLENGTH | 由match函数所匹配的字符串的长度 |
RS | 记录分隔符(默认是一个换行符) |
RSTART | 由match函数所匹配的字符串的第一个位置 |
SUBSEP | 数组下标分隔符(默认值是/034) |
格式:find path -option [ -print ] [ -exec -ok command ] {} \;
成为四剑客的:find 所以我们也应了解一下。查找可以使用通配符。
1、-type参数,文件类型:①文件:f ②目录:d
[root@iZbp19lugf22zbsubsf1y6Z ~]# find ~/gsxl/ -name *.txt -type f /root/gsxl/t.txt
2、-mtime参数,查找匹配文件创建的前或后时间
[root@iZbp19lugf22zbsubsf1y6Z ~]# find ~/gsxl/ -name *.txt -mtime -1 /root/gsxl/t.txt [root@iZbp19lugf22zbsubsf1y6Z ~]# find ~/gsxl/ -name *.txt -mtime +30 [root@iZbp19lugf22zbsubsf1y6Z ~]#
3、-size参数,字母是大写,1M以上的文件: +1M
[root@iZbp19lugf22zbsubsf1y6Z ~]# find / -name *.txt -size +1M /usr/share/perl5/Unicode/Collate/allkeys.txt /usr/share/hwdata/oui.txt /usr/share/hwdata/iab.txt
4、-perm参数,查找文件权限为755
[root@iZbp19lugf22zbsubsf1y6Z ~]# find / -name *.txt -perm 755 /usr/lib/firmware/ivtv-firmware-license-oemihvisv.txt /usr/lib/firmware/ivtv-firmware-license-end-user.txt [root@iZbp19lugf22zbsubsf1y6Z ~]#
如何批量改文件权限,当然目录也可以type参数改为:d,就可以通过用find来批量改:
[root@iZbp19lugf22zbsubsf1y6Z gsxl]# find ~/gsxl/ -type f -exec chmod -R 644 {} \; [root@iZbp19lugf22zbsubsf1y6Z gsxl]# ll total 8 drwxr-xr-x 2 root root 4096 Apr 11 22:55 test -rw-r--r-- 1 root root 34 Apr 12 10:10 t.txt
当然以上四剑客还有很多用法,这只是其中一小小部分,更多使用请根据实际需求进行度娘一下,哈哈!
欢迎来大家QQ交流群一起学习:482713805 !!!
标签:alt 转换 正则表达式 idt sys 默认 下标 大小 style
原文地址:https://www.cnblogs.com/gsxl/p/12684742.html