linux学习笔记之高级命令

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” 博客,转载请与作者联系!

你可能感兴趣的:(linux,命令,查找,时间,查看)