bash grep查找关键字 grep -n root /etc/passwd 显示/etc/passwd文件所有包含root关键字的行并显示关键字处于文本中哪一行 cut提取文件内容中指定的字段(列) cut [选项]... [文件]... 选项: -b 按照字节切,utf-8编码中每个汉字占3个字节,例如 4个汉字就得取12个字节。 -c 按照字符切 -d 指定分割符 -f 指定以分割符分割的哪个字段
head -5 /etc/passwd > /tmp/pass cat /tmp/pass cut -d: -f 6 /tmp/pass 显示/tmp/pass文件中以:分隔的第6列的内容,家目录内容 cut -d: -f 6,7,8 /tmp/pass取6,7,8列 cut -d: -f 6- /tmp/pass 取6列至最后一列 cut -d: -f -6 /tmp/pass 取第一列至第6列 cut -c 1-3 /tmp/pass 取第一到第3个字符 echo '×××' | cut -b 1-12 取1-12个字节(3个字节为一个字) seq按顺序打印一些数字 用法:seq [选项]... 尾数 或:seq [选项]... 首数 尾数 或:seq [选项]... 首数 增量 尾数
seq 10按顺序输出1到10 seq 5 11按顺序输出5到11 seq 1 2 10输出1到10之间的奇数 seq 2 2 10 输出1到10之间的偶数 seq -w 1 50 200 用前导零填充使宽度相等
sort 排序(升序、降序)默认是按升序排列 -n, --numeric-sort 根据数值比较,默认是按单个字符来比较 -r, --reverse 逆序输出排序结果 -t 指定分割符(separator) -k 排序键(key,即排序的列字段) -u 去掉重复行,u是uniq唯一的缩写 例:执行如下命令。熟悉soft排序的基本用法 seq 1 5 seq 1 5|sort seq 1 5|sort -n seq 1 5|sort -nr 例 cat > a.txt <<EOF root:1:0:bin bin:2:200:bash jim:10:300:bash tom:102:10:bash EOF 查文件内容 cat a.txt sort a.txt //默认按升序排列 bin:2:200:bash jim:10:300:bash root:1:0:bin tom:102:10:bash sort -r a.txt// 逆序输出排序结果(按第一列字符排) tom:102:10:bash root:1:0:bin jim:10:300:bash bin:2:200:bash sort -t: -k 2 -n a.txt//分割开的以第2列的数值大小排序(用得最多) root:1:0:bin bin:2:200:bash jim:10:300:bash tom:102:10:bash
echo "bin:2:200:bash" >> a.txt 将echo命令后的文本追加到a.txt文件中 cat a.txt bin:2:200:bash bin:2:200:bash jim:10:300:bash root:1:0:bin tom:102:10:bash
sort -u a.txt 去掉重复行 bin:2:200:bash jim:10:300:bash root:1:0:bin tom:102:10:bash wc统计行数 单词数 字节数 wc统计行数 单词数 字节数 wc /etc/passwd会出现3个结果 wc -l /etc/passwd 统计行数 wc -c /etc/passwd 统计字节数 wc -w /etc/passwd 统计单词数 wc -m /etc/passwd 统计字符数 统计/bin目录下有多少个命令 ls /bin | wc -l 1690 uniq 合并连续重复的行 -u 只显示没有连续重复的行 -c 统计连续重复行的次数 -d 只显示连续重复行一次,哪一行连续重复了就显示哪行 -i 忽略大小写 cat > a.txt <<EOF jim tom root aa bb cc aa bb cc jim aa bb cc tom tom abc tom tom abc EOF
uniq -u a.txt 不显示连续重复的行
jim tom root jim aa bb cc tom tom abc tom tom abc
uniq -c a.txt 统计连续出现的次数 1 jim tom root 2 aa bb cc 1 jim 1 aa bb cc 1 tom 1 tom abc 1 tom 1 tom abc
uniq -d a.txt 仅显示连续出现的内容一次
aa bb cc
sort a.txt | uniq -c 同上,并统计次数,结果如下 3 aa bb cc 1 jim 1 jim tom root 2 tom 2 tom abc diff文件差异的对比 准备要比较差异的文件: head -3 /etc/passwd > /tmp/pas3 head -5 /etc/passwd > /tmp/pas5 vimdiff比较两个文件的差异,不同涂红色 cd /tmp 切换到/tmp目录 vimdiff pas3 pas5 说明: 用:qa!强制关闭所有文件并退出vimdiff命令 注:在vimdiff中可以按i键进入vim的编辑模式修改文件内容。按Esc键退出编辑模式,用:wq保存并退出vim编辑器。(用ctrl+w放手后再按w 在窗口之间切换) diff 文件差异的对比 diff 文件1 文件2 diff pas3 pas5 > 35.patch 制作补丁(增加内容) diff pas5 pas3 > 53.patch 制作补丁(减少内容) patch打补丁 要先安装patch yun -y install patch 用法:patch 原文件 补丁文件 cd /tmp patch pas3 35.patch 给pas3文件打补丁,提示如下 patching file pas3
cat -n pas3 读pas3文件并显示行号,发现文件中多了2行内容
patch pas3 53.patch 给pas3文件打补丁,提示如下 cat pas3 发现文件中少了2行内容 stat命令:查看文件的状态信息(即详细属性) stat命令:查看文件的状态信息(即详细属性),包括文件的路径、大小、访问时间(atime)、修改时间(mtime)、属性修改时间(ctime)、索引号(inode)等属性。 stat /etc/passwd 进程管理的命令 查进程pstree ps top pidof pgrep 进程状态信息:R运行 S休眠 Z僵尸 T暂停 s包含子进程 +进程组 < 高优先级 n低优先级 杀进程:kill pkill killall xkill 调优先级:renice nice 谦让nice值范围-20~19,nice值越小优先级(PR)越高,PR默认值是20
linux高级命令: grep匹配关键字 cut取出字符 sort排序 wc统计单词 uniq去重 diff比较差异 patch打补配 which查文件路径 stat查文件状态 tr替换字符 被替换的字符与替换的字符数必须是相等的 tr 旧字符 新字符 cat > a.txt <<EOF root:1:0:bin bin:2:200:bash jim:10:300:bash tom:102:10:bash bin:2:200:bash EOF
cat a.txt | tr 20 89 将cat a.txt结果中的20替换成89。 root:1:9:bin bin:8:899:bash jim:19:399:bash tom:198:19:bash bin:8:899:bash
cat a.txt | tr "a-z" "A-Z" 在替换的时候是一一对应的替换
ROOT:1:0:BIN BIN:2:200:BASH JIM:10:300:BASH TOM:102:10:BASH BIN:2:200:BASH \n 换行符
















