1.awk
擅长列
1)支持正则,表示不以oldboy开头的行
[root@protest ~]# awk /[^oldboy]/ test.txt
liyao
sadfsa
2)包含oldboy的行
[root@protest ~]# awk /oldboy/ test.txt
oldboy
3)NR表示行号,$0表示打印整行
[root@protest ~]# awk '{if(NR>19&&NR<25) print $0}' test.tct
20
21
22
23
24
[root@protest ~]# awk '{if(NR==19) print $0}' test.tct
19
4)-F指定":"分割符,打印第一列
[root@protest ~]# awk -F ":" '{print $1}' /etc/passwd
root
bin
daemon
adm
lp
2.sed
-n取消默认输出 p打印 d删除
[root@protest ~]# sed /old/p test.txt --没有取消默认输出
liyao
sadfsa
oldboy
oldboy
[root@protest ~]# sed -n /old/p test.txt --取消默认输出
oldboy
[root@protest ~]# sed /^old/d test.txt --以oldboy开始
liyao
sadfsa
[root@protest ~]# sed /old/d test.txt
liyao
sadfsa
打印20到22行
[root@protest ~]# sed -n 20,22p test.tct
20
21
22
打印10到20行
[root@iZ236u31846Z ~]# sed -n 10,20p test.sql
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-- Table structure for table `test_sed`
--
查找替换,只打印不改变文件内容
[root@protest ~]# sed s#oldboylinux#oldboywindows#g test.txt
oldboywindows
[root@protest ~]# cat test.txt
oldboylinux
-i参数表示要改变文件内容
[root@protest ~]# sed s#oldboylinux#oldboywindows#g test.txt -i
[root@protest ~]# cat test.txt
oldboywindows
多个文件的查找并替换
[root@protest ~]# find / -type f -name "test.txt"|xargs cat
oldboywindows
oldboywindows
oldboywindows
[root@protest ~]# find / -type f -name "test.txt"|xargs sed s#oldboywindows#oldboylinuxs#g
oldboylinuxs
oldboylinuxs
oldboylinuxs
[root@protest ~]# find / -type f -name "test.txt"|xargs sed s#oldboywindows#oldboylinuxs#g -i
[root@protest ~]# find / -type f -name "test.txt"|xargs cat
oldboylinuxs
oldboylinuxs
oldboylinuxs
3.grep -v
作用:剔除过滤,不包含指定字串的行
[root@protest ~]# grep -v "oldboy" test.txt
liyao
sadfsa
4.find
作用:查找文件 -type -name -mtime
例子:按文件名查找文件名为install.log的文件路劲
[root@protest ~]# find / -name 'install.log'
/root/install.log
查找类型为file,且5天之内修改过得文件
[root@protest ~]# find /root/ -type f -mtime -5
/root/install.log.syslog
/root/.bash_history
/root/anaconda-ks.cfg
/root/test.tct
/root/install.log
/root/.viminfo
5.xargs
作用:用于把find、ls的输出交给后面处理,对符合条件的文件执行所给的linux命令
[root@protest ~]# find / -name 'test.txt'|xargs rm -fr
[root@protest ~]# find / -name 'test.txt' -exec rm -fr {} \;
{}表示命令的参数即为所找到的文件,以;表示comman命令的结束。\是转义符,
因为分号在命令中还有它用途,所以就用一个\来限定表示这是一个分号而不是表示其它意思。
6.tail -n 行数 filename
作用:打印最后n行
[root@protest ~]# tail test.txt -n 1
oldboy
动态打印输出
tail -f
7.seq
-s指定分隔符
打印从1到8步长为3且以-号分割的序列
[root@protest ~]# seq -s "-" 1 3 8
1-4-7
echo 可以打印字母序列
[root@protest ~]# 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
8.vimdiff
比较文件
[root@iZ236u31846Z ~]# vimdiff imptest.text imptest.txt
2 files to edit
100 max sydow | 100 Max Sydow
101 count Drewe | 101 Count Dewe
9.history
-c 清空历史命令
-d删除指定命令
执行给定历史命令号的命令
[root@iZ236u31846Z ~]# !1008
sed -n 10,20p qwifi.sql
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `Wifidog_authrc`
--
10.alias 命令取别名 --安全
查看别名
[root@protest ~]# cat ~/.bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
11.ls
-alrht
-a 显示包括隐藏文件的所有文件
-l长格式显示文件属性
-r反向排序
-h显示较为人性化,文件大小带单位
-t按修改时间排序
12.init
13.runlevel
阅读(674) | 评论(0) | 转发(0) |