centos linux/if_tr.h,Centos7 高级命令

find stat file du grep cut tr sort uniq wc split tee tree dd date diff which locate xargs

find   -- 查找文件所在的位置

基本用法: find 查找路径 查找条件

-name 名称 命令 范围路径 选项 查找的名字

# find / -name "a.txt" //全盘查找名称为a.txt的文件

-type 文件类型 //目录是d

# find /tmp/ -type f //查找/tmp目录下所有的普通文件

-size 大小

# find / -size +1G //全盘查找大于1G的文件

-user 所有者

# find / -user jim //查找文件的所有者为jim的文件

-perm 权限

# find / -perm -4000 //全盘查找有suid权限的文件

-atime -mtime -ctime 时间

# find /tmp -mtime 1 //查找/tmp目录下1天前修改过内容的文件

+2 3天以前

-2 2天以内

2 2天以前的24小时

多条件查找

逻辑运算: 与(and) 或(or) 非(!)

与: 多个条件同时满足为真 expr1 [-a|-and] expr2

# find / -size +1G -name "*.iso" //默认情况下是与的关系

或: 满足一个条件即为真 expr1 {-o|-or} expr2

# find / -size +1G -o -name "*.iso" // -o ⇔ -or

非: 不满足条件为真 { !| -not } expr1

# find /tmp ! -type d //查找/tmp下非目录文件 ! ⇔ -not

查找后执行动作

-exec 对查找到的所有文件直接执行动作

-ok 对查找到的每个文件执行动作前先询问

# find / -name a.txt -ok rm -rf {} \;

< rm ... /root/a.txt > ? y

< rm ... /tmp/a.txt > ? y

< rm ... /a.txt > ?

find [路径] [选项 选项的参数] [{-exec|-ok} command \;]

1、查找/bin目录下以a开头的命令,且这个命令由4个字符构成,拷贝到/opt/test目录内

find /bin -name “a???” -exec cp -r {} /opt/test \;

2.查找根下所属主是root,所属组不是root的文件或者目录

find / -user root -a ! -group root

stat -- 查看文件信息

用法:stat FILENAME

access time --访问时间(atime) cat,more,less... 一天中第一次访问会改变atime

modify time --内容修改(mtime) 修改文件内容

change time --状态修改(ctime) 修改文件属性,如权限,属主,属组,大小,名称...

file -- 确定文件的类型

# file zsh-5.0.2-25.el7.x86_64.rpm

zsh-5.0.2-25.el7.x86_64.rpm: RPM v3.0 bin i386/x86_64 zsh-5.0.2-25.el7

du -- 报告磁盘空间使用情况

# du -h /iso/

7.7G /iso/

grep -- 过滤满足条件的行

用法: grep [选项]... 模式 文件...

选项:

-E 支持扩展正则表达式 egrep

-i 忽略大小写

-v 取反

-n 显示行号

-c 只显示匹配的行数

-A NUMBER 显示模式匹配到的行和之后的NUMBER行

-B NUMBER 显示模式匹配到的行和之前的NUMBER行

-C NUMBER 显示模式匹配到的行和前后NUMBER行

模式:

^ 行首 以r开头的行: ^r

$ 行尾 以h结尾的行: h$

^$ 空行

# grep jim /etc/passwd

jim:x:1000:1000:JIM:/home/jim:/bin/bash

# cat /etc/passwd | grep jim

jim:x:1000:1000:JIM:/home/jim:/bin/bash

# ps aux |grep xeyes

root 1799 0.6 0.0 140048 2136 pts/2 S 16:08 0:01 xeyes

root 1817 0.1 0.0 140048 2172 pts/2 T 16:09 0:00 xeyes

root 1874 0.0 0.0 112664 964 pts/2 S+ 16:12 0:00 grep --color=auto xeyes

cut -- 打印列

用法:cut [选项]... [文件]...

选项:

-d 指定分隔符

-f 选择第几列,多列使用,隔开

# cut -d : -f 1,7 /etc/passwd

tr -- 替换或删除字符

用法:tr [选项]... SET1 [SET2]

# cat a.txt

abcdefgh

ijklm

# tr a A < a.txt //将a.txt中的a替换成A

Abcdefgh

ijklm

# tr abc ABC < a.txt //将abc一一对应替换成ABC

ABCdefgh

ijklm

选项:

-s 将连续出现的字符缩减替换成一个

-d 删除SET1

# cat a.txt

aaaa

aabab

# tr -s a A < a.txt //将连续出现的a缩减替换成一个A

A

AbAb

# tr -d a < a.txt //删除a

bb

# tr -s "\n" < a.txt //删除空行

sort   -- 排序,

默认情况下按每行的第一个字符进行顺序排序用法:sort [选项]... [文件]...

选项:

-n 按照数值从小到大进行排序

-t 指定分隔符 一般和-k结合使用

-k 使用分隔符分隔的第几列

-r 逆序显示

-u 去掉连续的重复行

# sort -t" " -k2 -n -r a.txt //以空格为分隔符,按照第二列从大到小的顺序进行排列

ac 2123 asdjfs

de 78 djlsdjf

ab 78 hello

cd 35 world

ad 33 bjsdfs

uniq -- 去重,去掉连续的重复行

用法:uniq [选项]... [文件]

选项:

-c 去重后统计重复的行数,将数字显示在每行的前面

-u 不打印连续重复的行

-d 只打印连续重复的行

wc -- 统计,统计行数,单词数,字节数

wc [选项]... [文件名]...

选项:

-l 统计行数 line

# wc /etc/passwd

51 96 2564 /etc/passwd

行数 单词数 字节数 文件名

# wc -l /etc/passwd //统计/etc/passwd文件内一共有多少行内容

51 /etc/passwd

# rpm -qa |wc -l //统计安装了多少个软件包

1344

split -- 切割文件

用法:split [选项]... [输入 [前缀]]

选项:

-b 指定切割后的文件大小,默认单位是Byte

-l 指定切割后文件的行数

-d 以数字作为切割后文件名称后缀,一般和-a结合使用

-a 指定数字的长度,一般和-d结合使用

# split -b 100 -d -a 4 b.txt //将b.txt按每个文件100字节进行切割

# ls

b.txt x0000 x0001 x0002

tee -- 输出+保存,将标准输入复制到每个指定文件,并显示到标准输出,默认为覆盖保存

用法:tee [选项]... [保存到的文件]...

选项:

-a 追加保存到文件

# head -3 /etc/passwd |tee /tmp/pass //将/etc/passwd文件的前3行的内容覆盖保存到/tmp/pass文件中

# head -2 /etc/passwd |tee -a /tmp/pass //将/etc/passwd文件的前2行的内容追加保存到/tmp/pass文件中

tree -- 树状显示目录内容

用法: tree [选项]... [目录]...

选项:

-L 指定深度

-o 输出到文件,而非标准输出

# tree -L 1 /

dd

用法:dd if=/dev/zero of=文件名 bs=块大小 count=块数量

if 从哪里读取

of 写到哪里去

bs 指定块大小block size

count 指定块的数量

/dev/zero 特殊设备 无限0资源

# dd if=/dev/zero of=/tmp/a.txt bs=1M count=50 //在/tmp/目录下创建a.txt空文件,此文件大小为50M

date 查看和修改系统时间日期

# date 查看时间日期

2018年 06月 07日 星期四 23:06:17 CST

# date -s "2018/6/7 15:05" 修改时间日期

2018年 06月 07日 星期四 15:05:00 CST

# date +%F

2018-06-07

# date +%Y%m%d

20180607

hwclock 查看和修改硬件时间日期

# hwclock 查看时间日期

2018年06月07日 星期四 23时09分03秒 -0.074195 秒

# hwclock -w //将硬件时间修改和系统一致

# date

2018年 06月 07日 星期四 15:07:51 CST

# hwclock

2018年06月07日 星期四 15时07分55秒 -0.130538 秒

--------------------------------------------------

` ` 先执行引号内命令

# date +%Y%m%d

20180607

# echo today is :

today is :

# echo today is :date +%Y%m%d

today is :date +%Y%m%d

# echo today is :`date +%Y%m%d`

today is :20180607

# which vim

/usr/bin/vim

# rpm -qf /usr/bin/vim

vim-enhanced-7.4.160-1.el7.x86_64

# rpm -qf `which vim`

vim-enhanced-7.4.160-1.el7.x86_64

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值