cat
#cat 文件名称 打印文件内容到当前屏幕上
#cat -n 文件名 打印文件并显示行号
#cat> a.sh 重定向内容到a.sh
[root@shuo /]# cat > a.sh
1234
abcd
ctrl+d 退出编辑(结束)==>ctrl+c 中断操作
[root@shuo /]# cat a.sh
1234
abcd
> 输出重定向(覆盖原来文本的内容)
>> 输出重定向(在原来文本的内容基础上追加)
< 输入重定向(cata.txt 默认会有"<"cat < a.txt)
**************************************************************************************************
tr替换
替换单个字符和sed里面的y子命令一样
# cat a.txt | trd D把d换成D
# cat a.txt | tr[a-z] [A-Z] 把小写字母替换成大写字母
**************************************************************************************************
tac
查看文本的命令(倒序显示文本内容)
**************************************************************************************************
tee 写入文本内容
#ls| tee a.txt执行前面命令的同时写入指定的文本文件
#tee-a 在原来内容的基础上追加
**************************************************************************************************
cut 切割
#cat /etc/passwd | cut -d ":" -f 1 查看以":"为分割符的第一列的内容
#cat /etc/passwd | cut -d : -f 1
#cat /etc/passwd | cut -d: -f 1
#cat /etc/passwd | cut -d ":" -f 1,3,7取1,3,7列
#cat /etc/passwd | cut -d ":" -f 2-取第2行以后的列(包含2)
#cat /etc/passwd | cut -d ":" -f -2取第2列以前的列(包含2)
#cat /etc/passwd | cut -d ":" -f 2-7取第2列到第7列
-d delimiter 指定分割符 -d""(-d:也可以不加空格) ,""里面为特殊字符的要加"",和指定的分割符之间没有空格,默认的分割符是一个tab键
-f field 区域指定想要把第几列切出
*****************************************************************************************
wc word count 统计
#wc-l 文件名统计行数
#wc-c 文件名统计字符数
#wc-w 文件名统计word数(没有空格就会认为是一个word)
[root@shuo/]# cat /etc/passwd | wc -lline 行
45
[root@shuo/]# cat /etc/passwd | wc -ccharacters 字符数(包含换行符等)
2153
[root@shuo/]# cat /etc/passwd | wc -wword 字符
73
[root@shuo/]# cat /etc/passwd | wc
45 73 2153
*****************************************************************************************
sort排序
#cat a.txt | sort 从第一个字符开始排序,首字母相同的排序第二个字符
[root@shuo /]# cat a.txt | sort
Abc
Aek
Aip
-t 指定分割符
-k 指定区域
-n 按数字排序
-r 倒序排列
[root@shuo/]# cat a.txt | sort -t : -k 2.3指定":"为分割符,排序第2个区域的第3个字符
e:Abc
d:Aek
a:Aip
**************************************************************************************************
uniq唯一
[root@shuo/]# cat a.txt
12345
qwert
12345
qwert
qwert
[root@shuo/]# vim a.txt
[root@shuo/]# cat a.txt | uniq -c 统计连续重复的行数
1 12345
1 qwert
1 12345
2 qwert
[root@shuo/]# cat a.txt | uniq -u 列出没有连续重复的行
12345
qwert
12345
[root@shuo/]# cat a.txt | uniq -d 只列出连续重复的行
qwert
[root@shuo/]# cat a.txt | sort | uniq -c 不连续的行排序后查看
2 12345
3 qwert
**************************************************************************************************
diff 比较文本内容
-u 以标准格式显示
#diff -ua.txt b.txt> c.txt 比较a和b的差别,并生成c.txt 补丁文件
#patch a.txt c.txt 给a.txt 打补丁,升级到b.txt
**************************************************************************************************
查找:
which 查找命令的绝对路径#which ls
whereis 查找命令的绝对路径和man手册的位置 #whereisrpm
whatis=man -f 查询命令都在man手册的哪一章有解释#whatis rpm#man -f rpm
locate 维护着一个查询数据库#locate 文件或命令
/etc/updatedb.conf 更改之后不会立即生效,需要更新数据库 #updatedb
1.文件系统类型 PRUNEFS里面的文件类型不会被local查找到
2.目录PRUNEPATHS里面的目录不会被local查找到
#locate*.txt*为通配符
find
#find路径条件跟条件相关的操作符 [-exec|-ok 动作]
路径默认不写路径时,查找的是当前路径
条件
-name "文件名称"按名称查找,加""或''更容易查找到一般情况下{}不能用
#find/ -name "*a.tx?" 查找与*a.tx? 相关的文件
[abc][a-z] [a-Z] [a-zA-Z] [!a-z] {1..100} {abc,abd,efg} 通配符 !取反
-size 大小按照大小查找
#find / -size 2500M 在根下面查找2500M的文件
#find / -size +2500M 在根下面查找大于2500M的文件
#find / -size -2500M 在根下面查找小于2500M的文件
#find / -size +10M -a -size -20M 在根下面查找大于10M并且小于20M的文件(-a 可以换成-and)
#find / -size -10M -o -size +20M 在根下面查找小于10M或者大于20M的文件(-o 可以换成-or)
#find ./ ! -size-10M 不小与10M的文件
dd 做指定大小的文件
#dd if=/dev/zero of=/tmp/aa.txt bs=5M count=3 在tmp下面创建一个15M的文件
if(inputfile) of(output file) bs(block size)
/dev/zero一般用来借用空间
-type 类型按文件类型查找
f 一般文件
d 目录
b 块设备
c 字符设备
p 管道设备
s 套接字
l 链接
#find / -type c -exec ls -l {} \; 按c查找查找到的内容放到{}中以ls -l 显示,"\"把后面的;转译成普通字符一般情况下;用来链接两个命令
#find ./ -size 20M -exec rm -i {} \; 删除大小为20M的文件,并且提示是否删除
#find ./ -size 20M -ok rm {} \;删除大小为20M的文件,并且提示是否删除
-exec 对之前查找出来的文件做进一步操作
-ok 不管后面命令如何,都会给予提示
-perm 权限按权限查找
#find ./ -perm 644 按权限为644的查找
-user按用户查找
#find ./ -user root
-group 按组查找
#find ./ -group root
-atime (天)access访问时间
#find /tmp -atime +2查找两天以前访问过的文件
#find /tmp -atime -2查找两天以内访问过的文件
-mtime (天)modify修改时间
#find /tmp -mtime +2查找两天以前修改过的文件
#find /tmp -mtime -2查找两天以内修改过的文件
-ctime (天)change改变时间
#find /tmp -ctime +2查找两天以前改变过的文件
#find /tmp -ctime -2查找两天以内改变过的文件
-amin(分)access访问时间
#find /tmp -amin +2查找两分钟以前访问过的文件
#find /tmp -amin -2查找两分钟以内访问过的文件
-mmin(分)modify修改时间
#find /tmp -mmin +2查找两分钟以前修改过的文件
#find /tmp -mmin -2查找两分钟以内修改过的文件
-cmin(分)change改变时间
#find /tmp -cmin +2查找两分钟以前改变过的文件
#find /tmp -cmin -2查找两分钟以内改变过的文件
#stat 文件查看该文件的所有时间
[root@shuo tmp]# stat c.txt
File: "c.txt"
Size: 20971520Blocks: 40960IO Block: 4096普通文件
Device: 802h/2050dInode: 1318914Links: 1
Access: (0644/-rw-r--r--)Uid: (0/root)Gid: (0/root)
Access: 2013-11-29 10:10:48.114876718 +0800
Modify: 2013-11-29 11:07:24.176875733 +0800
Change: 2013-11-29 11:07:24.176875733 +0800
本文出自 “Linux_Yuxin” 博客,转载请与作者联系!