博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux基本命令108将
阅读量:5122 次
发布时间:2019-06-13

本文共 22479 字,大约阅读时间需要 74 分钟。

1.pwd    

    Print the current working directory.  With the -P option, pwd prints

    the physical directory, without any symbolic links; the -L option

    makes pwd follow symbolic links.

    通常进入系统后,往往想知道自己当前位置,因此pwd就派上用场了,使用时注意一下-L,-P的区别,-P选项会显示物理路径。

1 mengxialeideMBP:~ mengxianglei$ ls -ld /etc2 lrwxr-xr-x@ 1 root  wheel  11 12  2  2017 /etc -> private/etc3 mengxialeideMBP:~ mengxianglei$ cd /etc4 mengxialeideMBP:etc mengxianglei$ pwd5 /etc6 mengxialeideMBP:etc mengxianglei$ pwd -L7 /etc8 mengxialeideMBP:etc mengxianglei$ pwd -P9 /private/etc
View Code

 2.paste

     The paste utility concatenates the corresponding lines of the given input files, replacing all but the last file's newline characters with a single tab character, and writes the resulting lines to standard

     output.  If end-of-file is reached on an input file while other input files still contain data, the file is treated as if it were an endless source of empty lines.

     英文的意思粘贴,可以将两个文件粘合为一个,粘贴的方式时按照行进行粘合。

1 mengxialeideMBP:mxl mengxianglei$ cat int.txt 2 1 3 2 4 3 5 4 6 5 7 6 8 7 9 810 911 1012 mengxialeideMBP:mxl mengxianglei$ cat char.txt13 a14 b15 c16 d17 e18 f19 g20 h21 i22 j23 mengxialeideMBP:mxl mengxianglei$ paste int.txt char.txt24 1    a25 2    b26 3    c27 4    d28 5    e29 6    f30 7    g31 8    h32 9    i33 10    j
View Code

-d 选项可以指定粘合的分隔符

1 mengxialeideMBP:mxl mengxianglei$ paste -d "*" char.txt int.txt 2 a*1 3 b*2 4 c*3 5 d*4 6 e*5 7 f*6 8 g*7 9 h*810 i*911 j*10
View Code

-s 选项使文本内容按照一行显示

1 mengxialeideMBP:mxl mengxianglei$ seq 1000 > test.txt2 mengxialeideMBP:mxl mengxianglei$ wc -l test.txt3     1000 test.txt4 mengxialeideMBP:mxl mengxianglei$ paste -s test.txt |wc -l5        1
View Code

 -sd配合使用格式单个文件,这个时候的分隔符是依次使用的

1 mengxialeideMBP:mxl mengxianglei$ paste -sd '+-' char.txt2 a+b-c+d-e+f-g+h-i+j
View Code

paste 还可以将列转行的时候,指定几行的内容归为一行,- 代表一行的内容,下面是把三行归为一行进行处理

1 mengxialeideMBP:mxl mengxianglei$ paste - - - 
View Code

 

 3.ps

    The ps utility displays a header line, followed by lines containing information about all of your processes that have controlling terminals.

    ps命令工作中常用,排查进程是否启动,获取进程号等等,通常可以结合grep获取到想要的进程的运行情况

    -e选项显示所有进程,-f选项显示uip,pid等

1 mengxialeideMBP:mxl mengxianglei$ ps -ef|grep server2    55    51     1   0 251018  ??         0:01.46 /System/Library/CoreServices/appleeventsd --server3     0   364     1   0 251018  ??         0:00.04 /System/Library/CoreServices/CrashReporterSupportHelper server-init4     0   408     1   0 251018  ??         0:00.19 /usr/sbin/systemsoundserverd5     0   567     1   0 261018  ??         0:00.23 /System/Library/CoreServices/SubmitDiagInfo server-init6   501  3621  3488   0 11:40上午 ttys000    0:00.00 grep server
View Code

    -u可以获取到指定用户下的相关进程

1 mengxialeideMBP:mxl mengxianglei$ ps -u mengxianglei2   UID   PID TTY           TIME CMD3   501   265 ??         0:06.43 /usr/sbin/cfprefsd agent4   501   266 ??         0:12.98 /usr/libexec/UserEventAgent (Aqua)5   501   268 ??         0:19.82 /usr/sbin/distnoted agent
View Code

 4.cd

    Change the current directory to DIR

    更改当前的目录到指定的路径

    用法比较简单,cd 后面直接跟需要跳转的路径即可。

    特殊符号说明

    ~代表用户家目录

    -代表用户上一次的目录

    . 代表用户当前目录

    ..代表上一级目录

    以/开头的是绝对路径,否则是以当前路径为基础的相对路径

5.mkdir

    The mkdir utility creates the directories named as operands, in the order specified, using mode rwxrwxrwx (0777) as modified by the current umask(2).

    创建目录命令,类似window里面的信件文件夹

    -p 如果创建多级目录,需要使用-p选项

    -v 显示创建详细过程

    创建目录时可以技巧性创建多个目录

1 mkdir -p ./mulu/{1,2}2 mengxialeideMBP:mxl mengxianglei$ cd mulu/3 mengxialeideMBP:mulu mengxianglei$ ls4 1    25 mengxialeideMBP:mulu mengxianglei$
View Code
1 mengxialeideMBP:mxl mengxianglei$ mkdir -p ./mulu/{1..3}2 mengxialeideMBP:mxl mengxianglei$ cd mulu3 mengxialeideMBP:mulu mengxianglei$ ls4 1    2    3
View Code
1 mengxialeideMBP:mxl mengxianglei$ cat mkmulu.txt 2 ./mulu/13 ./mulu/24 ./mulu/35 ./mulu/46 mengxialeideMBP:mxl mengxianglei$ mkdir -p `cat mkmulu.txt`7 mengxialeideMBP:mxl mengxianglei$ cd mulu8 mengxialeideMBP:mulu mengxianglei$ ls9 1    2    3    4
View Code

 6.touch

    The touch utility sets the modification and access times of files.  If any file does not exist, it is created with default permissions.

    创建空文件,如果文件存在修改文件时间

    linux文件时间介绍

    atime:文件的最后访问时间

    mtime:最后的文件修改时间(修改文件内容)

    ctime:最后的文件状态改变时间(访问、修改文件内容、文件移动、权限改变)

1 mengxialeideMBP:mxl mengxianglei$ touch touchfile 2 mengxialeideMBP:mxl mengxianglei$ ls -l 3 total 0 4 -rw-r--r--  1 mengxianglei  staff  0 11  4 13:06 touchfile 5 mengxialeideMBP:mxl mengxianglei$ stat touchfile  6 16777220 3212171 -rw-r--r-- 1 mengxianglei staff 0 0 "Nov  4 13:06:48 2018" "Nov  4 13:06:48 2018" "Nov  4 13:06:48 2018" "Nov  4 13:06:48 2018" 4194304 0 0 touchfile 7 mengxialeideMBP:mxl mengxianglei$ touch -a touchfile  8 mengxialeideMBP:mxl mengxianglei$ stat touchfile  9 16777220 3212171 -rw-r--r-- 1 mengxianglei staff 0 0 "Nov  4 13:07:41 2018" "Nov  4 13:06:48 2018" "Nov  4 13:07:41 2018" "Nov  4 13:06:48 2018" 4194304 0 0 touchfile10 mengxialeideMBP:mxl mengxianglei$ touch -m touchfile 11 mengxialeideMBP:mxl mengxianglei$ stat touchfile 12 16777220 3212171 -rw-r--r-- 1 mengxianglei staff 0 0 "Nov  4 13:07:41 2018" "Nov  4 13:08:55 2018" "Nov  4 13:08:55 2018" "Nov  4 13:06:48 2018" 4194304 0 0 touchfile
View Code

    -r 选项,可以修改目标文件时间属性与源文件一样

1 mengxialeideMBP:mxl mengxianglei$ touch 1.txt2 mengxialeideMBP:mxl mengxianglei$ stat 1.txt3 16777220 3212193 -rw-r--r-- 1 mengxianglei staff 0 0 "Nov  4 13:12:18 2018" "Nov  4 13:12:18 2018" "Nov  4 13:12:18 2018" "Nov  4 13:12:18 2018" 4194304 0 0 1.txt4 mengxialeideMBP:mxl mengxianglei$ touch 2.txt5 mengxialeideMBP:mxl mengxianglei$ stat 2.txt6 16777220 3212194 -rw-r--r-- 1 mengxianglei staff 0 0 "Nov  4 13:13:00 2018" "Nov  4 13:13:00 2018" "Nov  4 13:13:00 2018" "Nov  4 13:13:00 2018" 4194304 0 0 2.txt7 mengxialeideMBP:mxl mengxianglei$ touch -r 1.txt 2.txt8 mengxialeideMBP:mxl mengxianglei$ stat 2.txt9 16777220 3212194 -rw-r--r-- 1 mengxianglei staff 0 0 "Nov  4 13:12:18 2018" "Nov  4 13:12:18 2018" "Nov  4 13:13:14 2018" "Nov  4 13:12:18 2018" 4194304 0 0 2.txt
View Code

7.ls 

    list directory contents

    显示目录内容

    常用参数介绍:

    l 长格式显示

    a 显示所有文件包扩隐藏文件

    A 显示所有文件包括隐藏文件,但不显示.、..

    t 按照最后修改时间(mtime)排序

    r 相反次序

    F 目录后面加/

    i 显示inode节点信息

    d 显示目录本身信息

    h 人类可读

    --full-time 显示完整时间

1 mengxialeideMBP:mxl mengxianglei$ ls -AlrtFih2 total 03 3212194 -rw-r--r--  1 mengxianglei  staff     0B 11  4 13:12 2.txt4 3212193 -rw-r--r--  1 mengxianglei  staff     0B 11  4 13:17 1.txt5 3212415 drwxr-xr-x  2 mengxianglei  staff    64B 11  4 13:38 mulu/
View Code

8.cp 

    In the first synopsis form, the cp utility copies the contents of the source_file to the target_file.  In the second synopsis form, the contents of each named source_file is copied to the destination

     target_directory.  The names of the files themselves are not changed.  If cp detects an attempt to copy a file to itself, the copy will fail.

    复制文件或目录,通常对一些文件的修改,我们要先备份一下,因此cp命令比较常用

    -r 复制目录时递归复制,必须加上-r选项

    -p 保留文件所有者、权限信息、时间属性

    -d 如果文件为链接文件,仅复制链接文件本身

    -a 相当于drp

1 mengxialeideMBP:mxl mengxianglei$ ls -ld script/2 drwxr-xr-x  2 mengxianglei  staff  64 11  4 14:36 script/3 mengxialeideMBP:mxl mengxianglei$ cp -r script "script.$(date +%F)"4 mengxialeideMBP:mxl mengxianglei$ ls -l5 total 06 drwxr-xr-x  2 mengxianglei  staff  64 11  4 14:36 script7 drwxr-xr-x  2 mengxianglei  staff  64 11  4 14:37 script.2018-11-04
View Code

    -i 如果存在相同文件,则提示用户进行确认

1 mengxialeideMBP:script mengxianglei$ touch getdate.sh getcurrentdate.sh2 mengxialeideMBP:script mengxianglei$ cp -i  getdate.sh getcurrentdate.sh 3 overwrite getcurrentdate.sh? (y/n [n]) y
View Code

9.mv

     In its first form, the mv utility renames the file named by the source operand to the destination path named by the target operand.  This form is assumed when the last operand does not name an already existing

     directory.

     移动文件或目录,如果目标不存在,则重命名

1 mengxialeideMBP:script mengxianglei$ mkdir dir{1..5} 2 mengxialeideMBP:script mengxianglei$ ls 3 dir1    dir2    dir3    dir4    dir5 4 mengxialeideMBP:script mengxianglei$ mv dir1 dir6 5 mengxialeideMBP:script mengxianglei$ ls -ld 6 drwxr-xr-x  7 mengxianglei  staff  224 11  4 14:52 . 7 mengxialeideMBP:script mengxianglei$ ls -l ./ 8 total 0 9 drwxr-xr-x  2 mengxianglei  staff  64 11  4 14:51 dir210 drwxr-xr-x  2 mengxianglei  staff  64 11  4 14:51 dir311 drwxr-xr-x  2 mengxianglei  staff  64 11  4 14:51 dir412 drwxr-xr-x  2 mengxianglei  staff  64 11  4 14:51 dir513 drwxr-xr-x  2 mengxianglei  staff  64 11  4 14:51 dir614 mengxialeideMBP:script mengxianglei$ mv dir2 dir615 mengxialeideMBP:script mengxianglei$ ls -l ./16 total 017 drwxr-xr-x  2 mengxianglei  staff  64 11  4 14:51 dir318 drwxr-xr-x  2 mengxianglei  staff  64 11  4 14:51 dir419 drwxr-xr-x  2 mengxianglei  staff  64 11  4 14:51 dir520 drwxr-xr-x  3 mengxianglei  staff  96 11  4 14:52 dir621 mengxialeideMBP:script mengxianglei$ ls -l dir622 total 023 drwxr-xr-x  2 mengxianglei  staff  64 11  4 14:51 dir2
View Code

10.rm

     The rm utility attempts to remove the non-directory type files specified on the command line.  If the permissions of the file do not permit writing, and the standard input device is a terminal, the user is

     prompted (on the standard error output) for confirmation.

     删除文件或者目录,系统运行会产生一些垃圾文件,因此为了节省磁盘,会经常将不需要的备份或者垃圾文件进行删除操作

     -r 可以递归删除目录及目录里面的内容

     -f 强制删除,无需提示

1 mengxialeideMBP:script mengxianglei$ rm -rf dir62 mengxialeideMBP:script mengxianglei$ ls3 dir3    dir4    dir5
View Code

     通常可以结合find命令进行文件删除操作

1 mengxialeideMBP:script mengxianglei$ ls2 dir3    dir4    dir53 mengxialeideMBP:script mengxianglei$ find ./ -type d -name "dir3"|xargs rm -rf4 mengxialeideMBP:script mengxianglei$ ls5 dir4    dir5
View Code

11.ln 

     The ln utility creates a new directory entry (linked file) which has the same modes as the original file.  It is useful for maintaining multiple copies of a file in many places at once without using up storage

     for the ``copies''; instead, a link ``points'' to the original copy.  There are two types of links; hard links and symbolic links.  How a link ``points'' to a file is one of the differences between a hard and

     symbolic link.

     linux下创建链接分为硬链接合软链接,两种链接方式时由区别的,默认创建硬链接,-s参数创建软链接,即快捷方式。硬链接相当于文件的另一个入口,与源文件是同一个inode编号,软链接则由自己的inode,是一个链接文件。

     平时的应用创建软链接的情况较多,另外,目录是不可以创建硬链接的。

1 mengxialeideMBP:script mengxianglei$ touch file1 2 mengxialeideMBP:script mengxianglei$ ln file1 hard_link 3 mengxialeideMBP:script mengxianglei$ ln -s file1 soft_link 4 mengxialeideMBP:script mengxianglei$ ls -l 5 total 0 6 -rw-r--r--  2 mengxianglei  staff  0 11  4 15:15 file1 7 -rw-r--r--  2 mengxianglei  staff  0 11  4 15:15 hard_link 8 lrwxr-xr-x  1 mengxianglei  staff  5 11  4 15:16 soft_link -> file1 9 mengxialeideMBP:script mengxianglei$ ls -lhi10 total 011 3213173 -rw-r--r--  2 mengxianglei  staff     0B 11  4 15:15 file112 3213173 -rw-r--r--  2 mengxianglei  staff     0B 11  4 15:15 hard_link13 3213177 lrwxr-xr-x  1 mengxianglei  staff     5B 11  4 15:16 soft_link -> file114 mengxialeideMBP:script mengxianglei$
View Code

12.find 

     The find utility recursively descends the directory tree for each path listed, evaluating an expression (composed of the ``primaries'' and ``operands'' listed below) in terms of each file in the tree.

     通常为了查找一些内容,进行find命令,比较常用。

     -type 查找类型

     -name 文件名称

     -mtime 修改时间 +、-

     ! 取反

     -user 属于某个用户的文件

    -nouser 不属于任何用户的文件

    -maxdepth 1 最深一级目录

1 mengxialeideMBP:script mengxianglei$ touch {1..5}.txt2 mengxialeideMBP:script mengxianglei$ ls3 1.txt    2.txt    3.txt    4.txt    5.txt4 mengxialeideMBP:script mengxianglei$ find ./ -name "1.txt" |xargs rm 5 mengxialeideMBP:script mengxianglei$ ls6 2.txt    3.txt    4.txt    5.txt7 mengxialeideMBP:script mengxianglei$ find ./ -name "2.txt" -exec rm {} \; 8 mengxialeideMBP:script mengxianglei$ ls9 3.txt    4.txt    5.txt
View Code

    通过-exec命令,给找到的文件批量改名字,逐条处理

1 mengxialeideMBP:script mengxianglei$ touch {1..9}.txt2 mengxialeideMBP:script mengxianglei$ find ./ -name "*.txt" -exec mv {} {}.bak \; 3 mengxialeideMBP:script mengxianglei$ ls4 1.txt.bak    2.txt.bak    3.txt.bak    4.txt.bak    5.txt.bak    6.txt.bak    7.txt.bak    8.txt.bak    9.txt.bak
View Code

    通过xargs,将查找的结果集一起处理

1 mengxialeideMBP:script mengxianglei$ find ./ -name "*.txt"|xargs2 .//9.txt .//8.txt .//5.txt .//4.txt .//6.txt .//7.txt .//3.txt .//2.txt .//1.txt3 mengxialeideMBP:script mengxianglei$ find ./ -name "*.txt"|xargs rm -r
View Code

13.xargs

     The xargs utility reads space, tab, newline and end-of-file delimited strings from the standard input and executes utility with the strings as arguments

     标准输入处理为入参

     -n 每行显示个数

     -d 指定分隔符号

1 mengxialeideMBP:script mengxianglei$ cat int.txt 2 1 3 2 4 3 5 4 6 5 7 6 8 7 9 810 911 1012 mengxialeideMBP:script mengxianglei$ xargs < int.txt13 1 2 3 4 5 6 7 8 9 1014 mengxialeideMBP:script mengxianglei$ xargs -n 2 < int.txt15 1 216 3 417 5 618 7 819 9 10
View Code

14.rename

     替换文件名

     rename from to file

15.basename

     显示文件名,不显示路径

1 mengxialeideMBP:script mengxianglei$ ls2 int.txt3 mengxialeideMBP:script mengxianglei$ basename int.txt4 int.txt5 mengxialeideMBP:script mengxianglei$ basename int.txt .txt6 int
View Code

16.dirname

   显示路径,参数如果是相对路径,则返回内容也同样相对,参数如果是绝对路径,返回内容也是绝对。

1 mengxialeideMBP:script mengxianglei$ dirname /Users/mengxianglei/mxl/script/int.txt2 /Users/mengxianglei/mxl/script3 mengxialeideMBP:script mengxianglei$ dirname int.txt4 .
View Code

17.chattr

    修改文件扩展属性

    a 只能想文件追加数据。+a 、 -a

    i. 文件不能被删除、改名、写入或者新增 +i、-i

18.lsattr

    查看文件扩展属性

19.chown

     The chown utility changes the user ID and/or the group ID of the specified files.  Symbolic links named by arguments are silently left unchanged unless -h is used.

     更改文件所属用户即属主

     -R 递归更改目录下文件

1 chown  mengxianglei ./dir12 chown  -R mengxianglei.staff ./dir3 chown -R  .staff ./dir4 chown -R  :staff ./dir
View Code

20.chmod

    改变文件或者目录权限

    -R 递归处理

    r  读权限

    w 写权限

    x  执行权限 

    4,2,1 通过4,2,1来计算,可以理解4,2,1为读写执行的权重,计算的总和即文件的执行权限。

    ls  -l 查看文件时候,第一位为文件的类型,后面9位分别代表属主、属组、其他用户的读、写、执行

21.cat

     cat -- concatenate and print files

     查看或者聚合文件,与paste不同的是,是按照文件内容依次结合,而非逐行结合

     通过cat将两个文件内容简单合并

1 mengxialeideMBP:mxl mengxianglei$ cat int.txt 2 1 3 2 4 3 5 4 6 5 7 6 8 7 9 810 911 1012 mengxialeideMBP:mxl mengxianglei$ cat char.txt13 a14 b15 c16 d17 e18 f19 g20 h21 i22 j23 k24 l25 m26 n27 o28 p29 q30 r31 s32 t33 u34 v35 w36 x37 y38 z39 mengxialeideMBP:mxl mengxianglei$ cat int.txt char.txt40 141 242 343 444 545 646 747 848 949 1050 a51 b52 c53 d54 e55 f56 g57 h58 i59 j60 k61 l62 m63 n64 o65 p66 q67 r68 s69 t70 u71 v72 w73 x74 y75 z
View Code

      -n 显示行号

1 mengxialeideMBP:mxl mengxianglei$ cat -n char.txt 2      1    a 3      2    b 4      3    c 5      4    d 6      5    e 7      6    f 8      7    g 9      8    h10      9    i11     10    j12     11    k13     12    l14     13    m15     14    n16     15    o17     16    p18     17    q19     18    r20     19    s21     20    t22     21    u23     22    v24     23    w25     24    x26     25    y27     26    z
View Code

     通过cat命令清空文件内容

1 mengxialeideMBP:mxl mengxianglei$ cat /dev/null>test.txt 2 mengxialeideMBP:mxl mengxianglei$ cat test.txt 3 mengxialeideMBP:mxl mengxianglei$
View Code

     通过cat 非交互式写入文件内容,如果结尾<<-EOF,最后的EOF可以不顶格

1 mengxialeideMBP:mxl mengxianglei$ cat >>test.txt<
aaa3 > ddd4 > ddd5 > EOF6 mengxialeideMBP:mxl mengxianglei$ cat test.txt 7 aaa8 ddd9 ddd
View Code
mengxialeideMBP:mxl mengxianglei$ cat <<-EOF> fsdf> fsdfsdf> EOFfsdffsdfsdf
View Code

22.less

     根据需要加载文件,支持分页查看

      -N 显示每页行号

      输入空格,跳转到下一页,输入b,返回到上一页,上下键逐行移动

1 mengxialeideMBP:mxl mengxianglei$ less -N /etc/services
View Code 

23.head

     head -- display first lines of a file

     显示文件开头几行

     -n 指定显示的行数

1 mengxialeideMBP:mxl mengxianglei$ head -n 11 int.txt 2 1 3 2 4 3 5 4 6 5 7 6 8 7 9 810 911 1012 11
View Code

24.tail

     tail -- display the last part of a file

     显示文件的后面行数,通常查看日志时常用该命令监控日志文件信息

     -n 指定显示多少行

     -f 实时监控文件变化

     -F 实时监控文件变化,文件不存在是不报错,一直等待

25.cut

     The cut utility cuts out selected portions of each line (as specified by list) from each file and writes them to the standard output.  If no file arguments are specified, or a file argument is a single dash

     (`-'), cut reads from the standard input.  The items specified by list can be in terms of column position or in terms of fields delimited by a special character.  Column numbering starts from 1.

     从文本中提取文字

     -b 以字节单位进行分隔

     -c 以字符为单位进行分隔

     -d 指定分隔符

     -f 指定显示区域

1 mengxialeideMBP:mxl mengxianglei$ cat char.txt  2 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 3 mengxialeideMBP:mxl mengxianglei$ cut -c 1-5 char.txt  4 a b c 5 mengxialeideMBP:mxl mengxianglei$ cut -b 1-5 char.txt  6 a b c 7 mengxialeideMBP:mxl mengxianglei$ cut -b 1-5,7 char.txt  8 a b cd 9 mengxialeideMBP:mxl mengxianglei$ cut -d " " -f 2 char.txt 10 b
View Code
1 mengxialeideMBP:mxl mengxianglei$ cut -d : -f 1 /etc/passwd 2 ## 3 # User Database 4 #  5 # Note that this file is consulted directly only when the system is running 6 # in single-user mode.  At other times this information is provided by 7 # Open Directory. 8 # 9 # See the opendirectoryd(8) man page for additional information about10 # Open Directory.11 ##12 nobody13 root14 daemon15 _uucp16 _taskgated17 _networkd18 _installassistant19 _lp20 _postfix21 _scsd22 _ces23 _appstore24 _mcxalr25 _appleevents26 _geod27 _serialnumberd28 _devdocs29 _sandbox30 _mdnsresponder
View Code

26.split

     split -- split a file into pieces

     将大文件分割为小软件

     -l 指定分隔的行数

1 mengxialeideMBP:mxl mengxianglei$ wc -l int.txt 2      100 int.txt 3 mengxialeideMBP:mxl mengxianglei$ split -l 30 int.txt int_s_ 4 mengxialeideMBP:mxl mengxianglei$ ls -l 5 total 40 6 -rw-r--r--  1 mengxianglei  staff  292 11  5 00:02 int.txt 7 -rw-r--r--  1 mengxianglei  staff   81 11  5 00:12 int_s_aa 8 -rw-r--r--  1 mengxianglei  staff   90 11  5 00:12 int_s_ab 9 -rw-r--r--  1 mengxianglei  staff   90 11  5 00:12 int_s_ac10 -rw-r--r--  1 mengxianglei  staff   31 11  5 00:12 int_s_ad
View Code

     -a 指定文件扩展名长度

1 mengxialeideMBP:mxl mengxianglei$ split -l 10 -a 5  int.txt  2 mengxialeideMBP:mxl mengxianglei$ ls -l 3 total 88 4 -rw-r--r--  1 mengxianglei  staff  292 11  5 00:02 int.txt 5 -rw-r--r--  1 mengxianglei  staff   21 11  5 00:16 xaaaaa 6 -rw-r--r--  1 mengxianglei  staff   30 11  5 00:16 xaaaab 7 -rw-r--r--  1 mengxianglei  staff   30 11  5 00:16 xaaaac 8 -rw-r--r--  1 mengxianglei  staff   30 11  5 00:16 xaaaad 9 -rw-r--r--  1 mengxianglei  staff   30 11  5 00:16 xaaaae10 -rw-r--r--  1 mengxianglei  staff   30 11  5 00:16 xaaaaf11 -rw-r--r--  1 mengxianglei  staff   30 11  5 00:16 xaaaag12 -rw-r--r--  1 mengxianglei  staff   30 11  5 00:16 xaaaah13 -rw-r--r--  1 mengxianglei  staff   30 11  5 00:16 xaaaai14 -rw-r--r--  1 mengxianglei  staff   31 11  5 00:16 xaaaaj
View Code

27.sort

     sort -- sort or merge records (lines) of text and binary files

     -n 按照数值大小排序

     -r 倒叙

     -t 指定分隔

     -k 指定排序

1 mengxialeideMBP:mxl mengxianglei$ cat test.txt  2 1    z 3 2    y 4 3    x 5 4    w 6 5    v 7 6    u 8 7    t 9 8    s10 9    r11 10    q12     p13     o14     n15     m16     l17     k18     j19     i20     h21     g22     f23     e24     d25     c26     b27     a28 mengxialeideMBP:mxl mengxianglei$ sort -t " " -k 2 test.txt 29     a30     b31     c32     d33     e34     f35     g36     h37     i38     j39     k40     l41     m42     n43     o44     p45 1    z46 10    q47 2    y48 3    x49 4    w50 5    v51 6    u52 7    t53 8    s54 9    r
View Code

28.uniq

    The uniq utility reads the specified input_file comparing adjacent lines, and writes a copy of each unique input line to the output_file.  If input_file is a single dash (`-') or absent, the standard input is

     read.  If output_file is absent, standard output is used for output.  The second and succeeding copies of identical adjacent input lines are not written.  Repeated lines in the input will not be detected if

     they are not adjacent, so it may be necessary to sort the files first.

    去除重复行,只能去除相邻的重复行,如果想去除所有重复行,需要先排序

     -c 去除重复行,统计出重复行的个数

1 mengxialeideMBP:mxl mengxianglei$ sort -n int.txt |uniq -c 2    5 1 3    5 2 4    5 3 5    5 4 6    5 5 7    5 6 8    5 7 9    5 810    5 911    5 10
View Code

29.wc

     wc -- word, line, character, and byte count

     -l  统计行数

     -L 统计最长行长度

     -m 统计字符数 

1 mengxialeideMBP:mxl mengxianglei$ who|wc -l2        2
View Code

30.diff

    diff - compare files line by line

    逐行比较文件

 31.tr

    The tr utility copies the standard input to the standard output with substitution or deletion of selected characters.

     -d 删除字符

     -s 保留连续字符的第一个字符     

1 mengxialeideMBP:mxl mengxianglei$ cat test.txt 2 aafdfdsfsfaaaaafsdfsdffn1122111fsf3433 mengxialeideMBP:mxl mengxianglei$ tr 'abc' '123' 
View Code

32.tee

     tee -- pipe fitting

     多重定向

     -a 追加

1 mengxialeideMBP:mxl mengxianglei$ cat a.txt|tee b.txt 2 1 3 2 4 3 5 4 6 5 7 6 8 7 9 810 911 1012 mengxialeideMBP:mxl mengxianglei$ cat a.txt|tee -a  b.txt13 114 215 316 417 518 619 720 821 922 1023 mengxialeideMBP:mxl mengxianglei$ cat b.txt 24 125 226 327 428 529 630 731 832 933 1034 135 236 337 438 539 640 741 842 943 10
View Code

34.grep

 

     the grep utility searches any given input files, selecting lines thatmatch one or more patterns.

     -v 排除,显示不匹配的行

1 mengxialeideMBP:mxl mengxianglei$ cat a.txt 2 1 3 2 4 3 5 4 6 5 7 6 8 7 9 810 911 1012 mengxialeideMBP:mxl mengxianglei$ grep -v 2 a.txt13 114 315 416 517 618 719 820 921 10
View Code

     -n 显示匹配行或者行号

     -i  不区分大小写

     -E 扩展的grep

1 mengxialeideMBP:mxl mengxianglei$ grep "1|2" a.txt 2 mengxialeideMBP:mxl mengxianglei$ grep -E "1|2" a.txt 3 14 25 10
View Code

     --color=auto

     -w 只匹配过滤的单词 

1 mengxialeideMBP:mxl mengxianglei$ grep -w  --color=auto hello 2.txt2 hello3 hello
View Code

     去除空行和日志

grep -EV "^$|#" nginx.conf

 

35.sed

     the sed utility reads the specified files, or the standard input if no files are specified, modifying the input as specified by a list of commands.

     添加内容指定行前增加内容

sed '2i 2' int.txt 指定行后增加内容 sed '2a 2' int.txt 增加多行 sed '2a 2\n3' int.txt 删除文件中一行 sed '2d' int.txt 删除多行 sed '2,5d' int.txt 文本替换 sed -i 's#1#2#g' int.txt 打印 sed -n '2p' int.txt N的特殊用法 sed 'N;s#\n#=#g' int.txt

36.awk

    awk scans each input file for lines that match any of a set of patterns specified literally in prog or in one or more files specified as -f progfile.

    -F 指定分隔符

    NR 行号

    NF 尾

    $0 整行

    输出指定的行信息

1 awk 'NR==5' b.txt
View Code

    输出指定行范围信息

1 awk 'NR==2,NR==6' a.txt
View Code
1 awk '{print NR $0}' int.txt
View Code

    gsub函数使用

    gsub("替换对象",“替换成什么内容”,哪一列)

1 awk '{gsub("/sbing/nologin","/bin/bash",$0);print $0}' int.txt

    获取以太网eth0的ip地址

ifconfig etc0|awk -F "(adds:)|( Bcast)" 'NR==2{print $2}'
ifconfig eth0|awk -F "[ :]+" 'NR==2{print $4}'
awk -F '/' '{print $3}' int.txt|sort|uniq -c

 

37.uname

      uname -- Print operating system name

      -r 显示内核版本

      -m 显示硬件架构

      -a 显示所有信息

      -n 显示主机名

 

38.hostname

     hostname -- set or print name of current host system

     /etc/sysconfig/network

     /etc/hostname

    -a显示主机别名

    -i 主机IP

    -I 主机IP,不依赖DNS解析,速度快

 

39.stat

40.du

41.date

42.echo

转载于:https://www.cnblogs.com/vmxl/p/9902934.html

你可能感兴趣的文章
Codeforces 719B Anatoly and Cockroaches
查看>>
ionic2+ 基础
查看>>
使用word发布博客
查看>>
GDOI DAY1游记
查看>>
MyBaits动态sql语句
查看>>
拉格朗日乘子法 那些年学过的高数
查看>>
vs code 的便捷使用
查看>>
用户空间与内核空间,进程上下文与中断上下文[总结]
查看>>
JAVA开发环境搭建
查看>>
Visual Studio基于CMake配置opencv1.0.0、opencv2.2
查看>>
SDN第四次作业
查看>>
django迁移数据库错误
查看>>
Data truncation: Out of range value for column 'Quality' at row 1
查看>>
字符串处理
查看>>
HtmlUnitDriver 网页内容动态抓取
查看>>
ad logon hour
查看>>
罗马数字与阿拉伯数字转换
查看>>
Eclipse 反编译之 JadClipse
查看>>
Python入门-函数
查看>>
距离公式汇总以及Python实现
查看>>