Linux命令大全--初稿

LINUX常用命令

 

 

1. cd

格式 : cd [dirName]

说明 : 变换工作目录至 dirName。 其中 dirName可为绝对路径或相对路径。若目录命令省略,则变换至使用者登录时所在的目录( home directory )。另外,"~" 也表示为 home directory 的意思,"." 则是表示当前所在的目录,".." 则表示当前目录位置的上一层目录。

范例 :

    1. 跳到当前目录的子目录(如:usr/bin)当中:

       cd /usr/bin

 

       2. 跳到自己的 home directory :  

       cd ~ (或 cd )

 

       3. 跳到当前目录的上上两层 :

       cd ../..  

 

       4. 跳到父目录下的另外一个目录(如:conf):

cd ../conf

 

2. pwd

格式 : pwd

说明 : 显示当前所在目录

 

3. ls

格式 : ls [-alrtAFR] [name...]

说明 : 显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。

       -a 显示所有文件及目录 (包括"."开头的文件)

       -l 除文件名外,还将文件类型、权限、拥有者、文件大小等信息详细列出

       -r 将文件以相反次序显示(原定依英文字母次序)

       -t 将文件依建立时间之先后次序列出

       -A 同 -a ,但不列出 "." (当前目录) 及 ".." (父目录)

       -F 在列出的文件命令后加一符号;例如可执行文件则加 "*", 目录则加 "/"

       -R 若目录下有文件,则以下之档案亦皆依序列出

      

       范例:

       1. 列出当前工作目录下所有命令是 s 开头的文件,愈新的排愈后面 :

       ls -ltr s*

       2. 将 /bin 目录以下所有目录及文件详细资料列出 :

       ls -lR /bin

      

       3. 列出当前工作目录下所有文件及目录;目录后加 "/", 可执行文件后加"*" :

       ls -AF

 

4. passwd

格式:passwd [-l|-u] [username]

格式:passwd [-x max] [-n min] [-w warn] [-i inact] [username]

格式:passwd [username]

说明:用来更改使用者的密码。当具备 root 权限的使用者时,可以设置[username]的密码、更改使用者密码的有效期、锁定账户和解除锁定等。

               -l:锁定账户[username],不更改原有密码,使账户[username]不能登录

               -u:解除锁定

               -x:要求更改密码的最大天数

               -n:允许更改密码的最小天数

               -w:密码失效之前的警告天数(即提前几天警告账户密码将失效)

               -i:密码失效之后多少天,账户失效 

 -d 关闭使用者的密码认证功能, 使用者在登入时将可以不用输入密码,
          -S 显示指定使用者的密码认证种类,

                    [username] 指定帐号名称.

范例:

        1. 锁定账户: lijiangong ,使他不能登录      

passwd -l lijiangong     

        2. 解除锁定:      

passwd -u lijiangong

        3. 设定密码有效期

              passwd -x10 -n3 -w2 -i5 lijiangong

        即:3天之后才能更改密码、10天之后必须更改密码、第八天提醒修改密码、

                 密码失效5天之后账户失效

 

5. who

格式 : who - [husfV] [user]

说明 : 显示有哪些用户登录到系统中,显示的信息包含用户ID,使用的终

       端,上线时间,呆滞时间,CPU使用量,动作等等。

参数说明 :

       -h : 不显示标题列

       -u : 不显示用户的动作/工作

       -s : 使用简短的格式来显示

       -f : 不显示用户的上线位置

       -V : 显示程式版本

 

相关命令 : whoami

说明 : 显示当前用户是谁

 

6. cat

格式:cat [-AbeEnstTuv] [--help] [--version] fileName

说明:把文件串连接后输出到萤幕或加 > fileName 到另一个档案

参数:

    -A 等价于 -vET

       -n或 --number由 1 开始对所有输出的行数编号

       -b或 --number-nonblank和 -n 相似,只不过对于空白行不编号

    -e 等价于 –vE

    -E 每行末尾显示一个$符号

       -s或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行

      -t 等价于 –vT

      -T 显示制表符为 ^I

       -v或 --show-nonprinting,  dos格式的回车换行显示为^M

范例:

       1. 把 textfile1 的文件内容加上行号后输入到 textfile2 文件里:

      cat -n textfile1 > textfile2  

       2. 把 textfile1 和 textfile2 的文件内容加上行号(空白行不加)之后将内容附加到 textfile3 :

     cat -b textfile1 textfile2 >> textfile3

       ( > 为重定向操作符, >>为重定向追加操作符 )

 

7. mkdir

格式: mkdir  dirName

说明: 创建目录。

        

范例:

       1. 在当前目录下创建一子目录,名为 AAA:

      mkdir AAA

 

8. rmdir

格式: rmdir [-p] dirName

说明: 删除空的目录。

参数: -p 是当子目录被删除后使它也成为空目录时,则顺便一并删除。

范例:

       1. 将当前目录下,名为 AAA 的子目录删除 :

          rmdir AAA

       2. 在当前目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。

            rmdir -p BBB/Test

 

9. chmod

格式 : chmod [-cfvR] [--help] [--version] mode file...

说明 : Linux/Unix 的文件存取权限分为三级 : 文件拥有者、组、其他。利用 chmod 控制文件的存取权限。  

参数 :

       mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwx]...][,...],其中u表示该文件的拥有者,g 表示与该文件的拥有者属于同一个组(group)者,o 表示其他以外的人,a 表示这三者皆是。

       + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。

       r 表示可读取,w 表示可写入,x 表示可执行。X 表示只有当该档案是个子目录
  或者该档案已经被设定过为可执行。

        -c : 若该档案权限确实已经更改,才显示其更改动作
        -f : 若该档案权限无法被更改也不要显示错误讯息
        -v : 显示权限变更的详细资料
        -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐
  个变更)
        --help : 显示辅助说明
        --version : 显示版本

范例 :

   1. 将文件 file1.txt 设为所有人皆可读取 :

   chmod ugo+r file1.txt或 chmod a+r file1.txt

  

   2. 将文件 file1.txt 与 file2.txt 设为该文件拥有者,与其所属同一个组的人可写入,但其他以外的人则不可写入 :

   chmod ug+w,o-w file1.txt file2.txt

 

       3. 将 ex1.py 设定为只有该文件拥有者可以执行 :

       chmod u+x ex1.py

 

       4. 将目前目录下的所有档案与子目录皆设为任何人可读取 :
        chmod -R a+r *

10. chown

格式 : chmod [-cfhvR] [--help] [--version] user[:group] file...

说明 :利用 chown 可以将文件的拥有者加以改变。     

参数 :

         user : 新的档案拥有者的使用者

IDgroup : 新的档案拥有者的使用者群体(group)

-c : 若该档案拥有者确实已经更改,才显示其更改动作

-f : 若该档案拥有者无法被更改也不要显示错误讯息

-h : 只对于连结(link)进行变更,而非该link 真正指向的档案

-v : 显示拥有者变更的详细资料

-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)

--help : 显示辅助说明

--version : 显示版本

范例 :

       1. 将文件 file1.txt 的拥有者设为 users 组的使用者 jessie :

       chown jessie:users file1.txt

 

       2. 将当前目录下的所有文件与子目录的拥有者都设为 users 组的使用者 lamport :

       chmod -R lamport:users *

 

11. chgrp

格式 : chgrp [-R] group file...

说明 : 改变文件的所属的组。  

参数 :

      -R : 对当前目录下的所有文件与子目录(包括子目录下的文件)进行相同的变更

 

范例 :

       1. 将文件 file1.txt 的所属组设为 users 组:

        chgrp users file1.txt

 

       2. 将当前目录下的所有文件与子目录(包括子目录下的文件)都设为 bin 组:

       chmod -R bin *

 

12. touch

格式:    touch [-acfm]
                  [-r reference-file] [--file=reference-file]
                  [-t MMDDhhmm[[CC]YY][.ss]]
                   [-d time] [--date=time] [--time={atime,access,use,mtime,modify}]
                  [--no-create] [--help] [--version]
                  file1 [file2 ...]

说明:touch 指令改变文件的时间记录。 ls -l 可以显示文件的时间记录。    

参数:

       -a 改变文件的读取时间记录。

       -m 改变文件的修改时间记录。

       -c 假如目的文件不存在,不会建立新的文件。与 --no-create 的效果一样。

    -r 使用参考文件的时间记录,与 reference-file 的效果一样。    

       -d 设定时间与日期,可以使用各种不同的格式。  

     -f 不使用,是为了与其他 unix 系统的相容性而保留。
     -t 设定档案的时间记录,格式与 date 指令相同。
        --no-create 不会建立新档案。
        --help 列出指令格式。
        --version 列出版本讯息。

范例:

       1. 最简单的命令格式,将文件的创建时间改为现在的时间。若文件不存在,系统会建立一

个新的文件。

       touch file

       touch file1 file2

       2. 将 file 的时间记录改变成与 referencefile 一样。

       touch -r referencefile file

       3. 将 file 的时间记录改成 5 月 6 日 18 点 3 分,公元两千年。时间可以使用 am, pm 或是 24 小时的格式,日期可以使用其他格式如 6 May 2000 。

       touch -d "6:03pm" file

       touch -d "05/06/2000" file

       touch -d "6:03pm 05/06/2000" file

 

13. cp

格式:cp [-arf] source dest

         cp [-arf] source... directory

       说明:将一个文件拷贝至另一文件,或将数个文件拷贝至另一目录。

 

参数:

       -a将文件状态、权限等信息都照原状予以复制。

       -r 若 source 中含有目录名,则将目录下的文件顺序拷贝至目的地。

       -f 若目的地已经有相同的文件名存在,则在复制前先予以删除再行复制。

 

       范例:

       1. 将文件 aaa 复制一份名字为 bbb 的文件:

       cp aaa bbb

       2. 将当前目录下的所有C程序拷贝到当前目录下的Finished 子目录中 :

       cp *.c Finished

 

此外,还有一条命令是远程拷贝scp

14. mv

格式: mv [-i] source dest

          mv [-i] source... directory

说明:将一个文件改名为另一文件,或将数个文件移至另一目录。

参数:-i 若目的地已有同名文件,则先询问是否覆盖旧文件。

        

范例:

       1. 将文件 aaa 改名为 bbb :

       mv aaa bbb

      

       2. 将所有的C程序移至 Finished 子目录中 :

       mv -i *.c  Finished

 

15. rm

格式:rm [-ifr] name...

说明:删除文件及目录。

参数:

       -i 删除前逐一询问确认。

       -f 即使原文件属性设为只读,也直接删除,无需逐一确认。

       -r 将目录及以下之文件逐一删除。

        

       范例:

       1. 删除所有C程序文件并删除前逐一询问确认 :

       rm -i *.c

      

       2. 将 Finished 子目录及子目录中所有文件删除 :

       rm -r Finished

16. find

各式 : find [path...] [expression]

说明 : 将符合 expression 的文件列出来。           

    -amin n : 在过去 n 分钟内被读取过的文件

       -anewer file : 比文件 file 更晚被读取过的文件

       -atime n : 在过去 n 天被读取过的文件

       -cmin n : 在过去 n 分钟内被修改过的文件

       -cnewer file :比文件 file 更新的文件

       -ctime n : 在过去 n 天过修改过的文件

       -name filename, -iname filename : 符合 filename 的文件。iname 会忽略大小写

     -size n : 档案大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k表示 kilo bytes,w 是二个位元组。-type c : 档案类型是 c 的档案。

       范例:

       1. 将当前目录及其子目录下所有扩展名是 c 的文件列出来。

       # find . -name "*.c"

      

       2. 将当前目录及其子目录下所有最近 20 分钟内更新过的文件列出

       # find . -cmin -20

 

17. grep

格式:grep [-no] pattern files

说明:搜索字符串命令

参数:

           -n 显示行号

           -o 只显示匹配的串

范例:

1. grep   printf *

             file1.c:   printf("\nHello\n");

             file2.c:   printf("\nSample\n");

            

        grep -n  printf *

             file1.c:4   printf("\nHello\n");

             file2.c:9   printf("\nSample\n");

 

        grep -o  printf *

             file1.c:   printf

             file2.c:   printf

        

        2. 如果搜索的串中有空格,则用引号括起来

             grep "asd abc" *

 

18. more

格式:more  [-num] [+linenum] [fileNames..]

说明:类似 cat ,不过是以一页一页的方式显示。而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示。

参数:-num 一次显示的行数

        +linenum 从第 num 行开始显示

        fileNames 欲显示内容的文件,可为多个文件

范例:

       1. 从第 20 行开始显示 testfile 之文件内容。

       more +20 testfile

 

19. less

格式: less [Option]  filename

说明: less 的作用与 more 十分相似,都可以用来浏览文本文件的内容,不同的是 less 允许使用者往回卷动(PageUp PageDown)以浏览已经看过的部份,同时因为 less 并未在一开始就读入整个文件,因此在遇上大型文件的开启时,会比一般的文本编辑器(如      vi)来的快速。

20. head

格式:head  [-n|c num] fileName

说明:显示文件头部内容。没有参数时,显示最前10行

参数:

       -n num 显示最前num行

       -c  num显示最前num 字符

 

 

21. tail

格式:tail  [-n|c num] fileName

说明:显示文件尾部内容。没有参数时,显示最后10行

参数:

        -n num 显示最后num行

        -c num 显示最后num 字符

              -f        跟踪,随文件增长显示新的内容。(用Ctrl+C退出)

 

22. cut

格式:cut -cnum1-num2  filename

说明:显示每行从开头算起第 num1 到 num2 的字符。

 

范例:

       1. shell>> cat example

       test2

       this is test1

 

    显示每行开头算起前 6 个字符 

    shell>> cut -c0-6 example  

       test2

       this   i

 

23. at

格式 : at TIME command

说明 : 指定在 TIME 这个特定时刻执行某个程序或指令,TIME 的格式

是 HH:MM,其中的 HH 为小时,MM 为分钟,甚至你也可以指定 am, pm, midnight, noon,

teatime(就是下午 4 点)等口语词。

       如果想要指定超过一天内的时间,则可以用 MMDDYY 或者 MM/DD/YY 的格式,

其中 MM 是月份,DD 是第几日,YY是指年份。另外,使用者甚至也可以使用是 now + 时间间隔来弹性指定时间,其中的时间间隔可以是 minutes, hours,days, weeks

       另外,使用者也可指定 today 或 tomorrow 来表示今天或明天。当指定了时间并按下

enter 之后,at会进入交谈模式并要求输入指令或程式,当你输入完后按下 ctrl+D 即可完

成所有动作。       

       范例 :

       1. 三天后的下午 5 点钟执行 /bin/ls :

       at 5pm + 3 days /bin/ls

       2. 三个星期后的下午 5 点执行 /bin/ls :

       at 5pm + 2 weeks /bin/ls

       3. 明天的 17:20 执行 /bin/date :

       at 17:20 tomorrow /bin/date

       4. 1999 年的最后一天的最后一分钟印出 hello world !

       at 23:59 12/31/1999  hello world !

 

24. crontab

格式 :

       crontab [ -u user ] filecrontab [ -u user ] { -l | -r | -e } cmd

说明 :

       crontab 是用来在固定时间或固定间隔执行程序。

       -u user 设定指定user 的时间表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user ,就是表示设定自己的时间表。

 

参数 :

       -e : 执行文字编辑器来设定时程表,默认的文字编辑器是 VI

       -r : 删除当前的时程表

       -l : 列出当前的时程表

       时程表的格式如下 :

       f1 f2 f3 f4 f5 program

       其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天(0~6,0为星期天)。cmd 表示要执行的程序。

当 f1 为 * 时表示每分钟都要执行,f2 为 * 时表示每小时都要执行,其余类推;

    当 f1 为 a-b 时,表示从第 a 分钟到第 b 分钟这段时间内要执行,f2为 a-b 时,表示从第 a 到第 b小时都要执行,其余类推;

       当 f1 为 */n 时,表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示,每n 小时个时间间隔执行一次,其余类推;

        当 f1 为 a, b, c,... 时,表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示,第 a, b, c...个小时要执行,其余类推;

       使用者也可以将所有的设定先存放在文件 file 中,用 crontab file 的方式来设定时间表。

 

范例 :

       1. 每月每天每小时的第 0 分钟执行一次 /bin/ls :

       0 * * * * /bin/ls

2. 在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup :

       0/20 6-12 * 12 * /usr/bin/backup

       3. 周一到周五每天下午 5:00 执行一次 /bin/ls :

       0 17 * * 1-5 /bin/ls

       4. 每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"

       20 0-23/2 * * * echo "haha"

5.每分钟执行一次

*/1 * * * * /bin/ls

 

 

25. sleep

格式 : sleep [--help] [--version] number[smhd]

说明 : sleep 可以用来将当前动作延迟一段时间

参数 :

         --help : 显示辅助讯息
       --version : 显示版本编号
       number : 时间长度,后面可接 s、m、h 或 d, 其中 s 为秒,m 为 分钟,h 为小时,d 为日数

 

范例 :

       1. 显示当前时间后延迟 1 分钟,之后再次显示时间 :

       date;sleep 1m;date

 

 

26. kill

格式: kill [ -s signal ] pid ...

            kill -l [ signal ]

说明:kill 送出一个特定的信号 (signal) 给进程号为 pid 的进程。根据该信号而做特定的动作, 若没有指定,默认是送出终止 (TERM) 信号

        

参数:

 -s (signal) : 其中常用的一个信号(9) 杀死进程; 详细的信号可以用 kill -l

    -l (signal) : 列出所有可用的信号名称
      

范例:

  1. 将 pid 为 323 的进程杀死 :

       kill -9 323

  2. 将 pid 为 456 的行程重跑 (restart) :
  kill -HUP 456

 

27. ps

格式:ps [options] [--help]

说明:显示进程的名称、占用资源、状态等

参数:

       ps 的参数非常多, 在此仅列出3个

     -A 列出所有的行程

       -e  列出所有的进程

       -f  显示详细的信息(包括命令行参数)

范例:
  ps
  PID TTY TIME CMD
  2791 ttyp0 00:00:00 tcsh
  3092 ttyp0 00:00:00 ps
  % ps -A
  PID TTY TIME CMD
  1 ? 00:00:03 init
  2 ? 00:00:00 kflushd
  2 ? 00:00:00 kflushd
  3 ? 00:00:00 kpiod
  4 ? 00:00:00 kswapd
  5 ? 00:00:00 mdrecoveryd
  .......

28.   pstree

格式:   pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-G|-U] [pid|user]
                  pstree -V
说明:将所有行程以树状图显示, 树状图将会以 pid (如果有指定) 或是以init 这个基本行程为根 (root) ,如果有指定使用者 id , 则树状图会只显示该使用者所拥有的行程

参数: 
  -a 显示该行程的完整指令及参数, 如果是被记忆体置换出去的行程则会加上括号
  -c 如果有重覆的行程名, 则分开列出 (预设值是会在前面加上 *
  -c 如果有重覆的行程名, 则分开列出 (预设值是会在前面加上 *
范例:
  1. pstree
  init-+-amd
  |-apmd
  |-atd
  |-httpd---10*[httpd]
  %pstree -p
  init(1)-+-amd(447)
  |-apmd(105)
  |-atd(339)
  %pstree -c
  init-+-amd
  |-apmd
  |-atd
  |-httpd-+-httpd
  | |-httpd
  | |-httpd
  | |-httpd
  ....

 

29. top

格式:top

说明:显示CPU的使用率、内存大小、内存使用率、进程状态等

 

30. expr

格式: expr [option] expresion

说明:字符串处理命令

范例:

       1 求字串长度

       shell>> expr length "this is a test"

       14

      

       2. 数字运算

       shell>> expr 14 +[-*/%] 9

       13[5、126、1、5]

      

       3. 从位置处抓取字串

       shell>> expr substr "this is a test" 3 5

       is is

        

       4. 字符串首次出现的索引值

       shell>> expr index "testforthegame" e

       2

      

       5. 字串真实重现

       shell>> expr quote thisisatestformela

   thisisatestformela

 

31. locate

格式: locate [-q] [-d ] [--database=]
          locate [-r ] [--regexp=]

          locate [-qv] [-o ] [--output=]

  locate [-Vh] [--version] [--help]
说明:
  locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的资料库,之后当寻找时就只需查询这个资料库,而不必实际深入档案系统之中了。在一般的 distribution 之中,资料库的建立都被放在 contab 中自动执行。一般使用者在使用时只要用
  # locate your_file_name  的型式就可以了。

参数:

  -n  至多显示 个输出。

范例:
  1. locate chdrv : 寻找所有叫 chdrv 的档案
  2. locate -n 100 a.out : 寻找所有叫 a.out 的档案,但最多只显示 100 个

 

32. split

格式:split [OPTION] [INPUT [PREFIX]]

说明:将一个档案分割成数个。而从 INPUT 分割输出成固定大小的档案,其档名依序为PREFIXaa, PREFIXab...;PREFIX 预设值为 `x。若没有 INPUT 档或为 `-,则从标准输入读进资料。
参数:
  -b, --bytes=SIZE
  -b, --bytes=SIZE       SIZE 值为每一输出档案的大小,单位为 byte。
  -C, --line-bytes=SIZE   每一输出档中,单行的最大 byte 数。
  -l, --lines=NUMBER    NUMBER 值为每一输出档的列数大小。
  -NUMBER            与 -l NUMBER 相同。
  --verbose             于每个输出档被开启前,列印出侦错资讯到标准错误输出。
  --help                显示辅助资讯然后离开。
  --version             列出版本资讯然后离开。
  SIZE 可加入单位: b 代表 512, k 代表 1K, m 代表 1 Meg。
  范例:
  1. PostgresSQL 大型资料库备份与回存:
  因 Postgres 允许表格大过你系统档案的最大容量,所以要将表格 dump 到单一的档案可能会有问题,使用 split进行档案分割。
  % pg_dump dbname | split -b 1m - filename.dump.
  重新载入
  % createdb dbname
  % cat filename.dump.* | pgsql dbname
  % cat filename.dump.* | pgsql dbname

 

33. ln
格式: ln [options] source dist,

其中 option 的格式为 :
        [-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]  [--help] [--version] [--]
说明:Linux/Unix 档案系统中,有所谓的连结(link),我们可以将其视为档案的别名,而连结又可分为两种 : 硬连结(hard link)与软连结(symbolic link)的别名,而连结又可分为两种 : 硬连结(hard link)与软连结(symbolic link),硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬连结是存在同一个档案系统中,而软连结却可以跨越不同的档案系统。ln source dist 是产生一个连结(dist)到 source,至于使用硬连结或软链结则由参数决定。不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。
参数:

-f : 链结时先将与 dist 同档名的档案删除

-d : 允许系统管理者硬链结自己的目录

-i : 在删除与 dist 同档名的档案时先进行询问

-n : 在进行软连结时,将dist 视为一般的档案

-s : 进行软链结(symbolic link)

-v : 在连结之前显示其档名

-b : 将在链结时会被覆写或删除的档案进行备份

-S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾

-V METHOD : 指定备份的方式

--help : 显示辅助说明

--version : 显示版本

范例 :
  1. 将档案 yy 产生一个 symbolic link : zz
  ln -s yy zz
  2. 将档案 yy 产生一个 hard link : zz
  ln yy xx

 

34. man,info

man、info :在线手册命令

格式:man command

范例:man cat   [info cat]

 

35. alias

说明:建别名

参数:alias aaa=“ls –l”

36. unalias

说明:取消别名

参数:unalias aaa

 

 

37. clear

说明:清屏命令

 

 

 

 

 

 

38. ssh

从一台机器登录到另一台机器

格式: ssh [-option] hostname/ipadderss

说明:从一台机器以文本界面形式登录到另一台机器。

参数:-p 登录端口。

         -l 登录用户名

         

范例:

Ssh video@jp01-testing-video03.jp01

Ssh –p 50022 –l video 211.152.16.235

 

 

 

 

39. ll

格式: ll [OPTION]... [FILE]...

说明: 列出目录的清单。

参数: -a  列出所有的,包括隐藏的文件。

          -l  每一行列出一个文件

          -h  按可读的格式列出

       -t  按修改的时间从新到旧排序列出

       -r  逆序列出

          -s  列出时同时列出文件大小

       -S  按文件大小列出

       -x  只列出文件名

范例:

ll –xhs filename

 

 

 

 

 

40. awk

格式: awk [POSIX or GNU style options] -f progfile [--] file ...

awk [POSIX or GNU style options] [--] 'program' file ...

说明:对列进行编辑,通常和正则表达式一起使用。

参数:-F 指明域分隔符, -F:    -F/

      -f 指明awk脚本

模式:B E G I N和E N D。使用B E G I N语句设置计数和打印头。B E G I N语句使用在任何文本浏览动作之前,之后文本浏览动作依据输入文件开始执行。E N D语句用来在a w k完成文本浏览动作后打印输出文本总数和结尾状态标志。如果不特别指明模式, a w k总是匹配或打印行数。

内置变量:

NF  显示每一条读记录中有多少个域

NR  打印输入文件的记录个数。

FS  指定分隔域符

FILENAME打印输入文件名

OFS 指定输出域分隔符

 

范例:

awk ‘{print $1}’ abc.txt     打印abc.txt 的第一列

awk ‘{print $0}’ abc.txt     打印abc.txt 的所有列

awk ‘$7 ~ /^(\/search\/cs\?)/{print $7}’ net_access_log.201008191200  将文件net_access_log.201008191200里第7列以/search/cs? 开头的打印出来

awk -F"\t" '$7 == 5{print $0}' serials_record_jp.txt.cyf.all  打印第7列等于5的所有行

awk ‘{print NF, NR, $0}END{print FILENAME}’ abc.txt 打印出所有行,包括域的数量,已读文件记录数,并在行尾打印出文件的名字

awk ‘{if($6<$7) print $1}’ abc.txt  比较每行的域6和域7的值,如果域6的值大于域7的值,打印出此行的第一列

awk ‘$1 ~ /^…a/’ abc.txt 查询域1为前3位为任意字符,第4位为a的行

awk ‘{if($4~/Brown/) print $0}’ abc.txt   等于  awk ‘$4~/Brown/’ abc.txt  打印域4包含Brown的行

 

 

 

41. sed

格式: sed [OPTION]... {script-only-if-no-other-script} [input-file]...

说明:对行进行编辑。

参数:-n 打印出行

      -f如果正在调用s e d脚本文件,使用此选项

      -e 打印匹配的行号

        

范例:

Sed –n ‘2p’ abc.txt    打印出第二行

Sed –n ‘1,3p’ abc.txt   打印出1到3行

Sed –n ‘/The/’ abc.txt  打印出有The的行

Sed ‘$d’             删除最后一行

Sed ‘1d’             删除第一行

Sed ‘s/^0*//g’        删除以0或00或000开头的行

Sed ‘/\^M\\g’         删除控制字符^M

Sed ‘s/[^.*$]$/& passed/g’  在任意字符结尾的行后加passed

Sed ‘s/[A-Z a-z 0-9]$/& passed/g’在以大写字母或小写字母或数字结尾的行后加passed

Sed ‘^.d’   删除首个字符

 

 

 

42. tar

格式: tar [OPTION]... [FILE]...

说明:在产品库中现存2中压缩文件,一种是xxx.tar.gz,另一种是xxx.tar.bz2

参数:-c 创建新文件

      -f 输出到默认设备

      -v 显示内容

      -x 解包

      -z 调用gzip

      -j 调用bzip2

 

        

范例:

tar –zxvf xxxx.tar.gz     解压xxxx.tar.gz

tar –jxvf xxx.biz2       解压xxx.biz2

tar –zcvf xxx.tar.gz abc   压缩abc为xxx.tar.gz

 

 

 

 

 

43. scp

格式: scp

说明:将本地文件上传到远程机器,从远程机器上下载文件。

参数:-r 传输文件夹

         -I 限制传输速度

        

范例:

copy 本地的文件到远程的机器上

scp /etc/lilo.conf my@http://176ku.com/home/my

将本地的 /etc/lilo.conf 这个文件 copy 到 http://176ku.com,使用者my 的家目录下。

copy远程机器上的文件到本地来

scp my@http://176ku.com:/etc/lilo.conf /etc

将 http://176ku.com 中 /etc/lilo.conf 文件 copy 到本地的 /etc 目录下。

=====================================================

 

 

 

44. netstat

格式: netstat

说明:查看端口使用情况。

参数:-a 查看所有连接的socket

         -l 查看正监听的sever socket

         -p 展示socket的进程名字或PID

      -r 展示出路由表

范例:

Netstat -lnp

 

 

在Vim里面显示tab,默认的是使用 set list ,显示出来的Tab是^I。

 

但是如果设置一下listchar就会好多了,所以在.vimrc中又加入了两句:

set list

set listchars=tab:>-,trail:-

 

posted @ 2018-04-09 14:24  gracesu0413  阅读(130)  评论(0编辑  收藏  举报