Linux下的常用的命令

一、cat命令

cat命令用来读取短文件非常方便(如果一个文件非常大的时候,用页命令如more、less、head、tail是比较方便的)

参数:
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行

用法:(1)一次显示整个文件,用cat命令查看文件:$ cat test.log

         (2)$ cat -n test.log:在查看的时候加上行号

         (3)可以使用通配符:$ cat -n *.log,把所有的log文件都显示出来(顺序显示)
                 也可以这样:$ cat -n test.log test1.log test2.log;结果用通配符输出结果是完全一样的

         (4)与重定向操作符(>)一起使用,用于合并文件:$ cat test.log>> test1.log,这样就把test.log合并到

                  test1.log后面去了,合并的时候注意顺序,不能搞错。

                cat -n textfile1 > textfile2 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
                cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)

                之后将内容附加到 textfile3 里

          (5)从键盘创建一个文件。$ cat  >  filename 只能创建新文件,不能编辑已有文件

                 使用cat命令新建一个文件并通过键盘直接向文件中输入内容:$ cat > myfile.php

                 输入完成以后使用ctrl+d来保存并退出文件

           (6)cat  /dev/null > /etc/test.txt 此为清空/etc/test.txt内容

二、more命令

       显示输出的内容、分页显示、提示文件的百分比

        more [参数选项] [文件]

        参数如下

        +num         从第num行开始显示;
        -num          定义屏幕大小,为num行;
        -c               从顶部清屏然后显示;
        -d              提示Press space to continue, 'q' to quit.(按空格继续,按q键退出,禁用响铃功能);
        -p              通过清除窗口而不是滚屏来对文件进行换页。和-c参数有点相似; 
        -s               把连续的多个空行显示为一行;
        +/pattern       从第一个pattern 单词前两行开始显示

       参数举例:

      more +4 /etc/profile    从profile的第4行开始显示;
      more -4 /etc/profile     每屏显示4行;

      more -dc /etc/profile    显示提示,并从终端或控制台顶部显示

      more +/MAIL /etc/profile    从profile中的第一个MAIL单词的前两行开始显示;



     more 的动作指令

     退出more的动作指令是q

     我们查看一个内容较大的文件时,ctrl+f(或空格键)是向下显示一屏,ctrl+b是返回上一屏

     Enter键可以向下滚动显示n行,n自定义,默认为1行

     v     调用vi编辑器



   三、 less命令

     less 与 more 类似,但是比 more 更好的是,他可以[pg dn][pg up]翻页

    区别:

    1)more:以百分比的形式分页显示,提示给用户已经显示了多少内容

         less:没有百分比的提示

    2)less更加灵活,不仅可以有more的相同的翻页键,还可以通过【page down】【page up】上翻下翻页查看

        已经显示出的内容,而more不具备

    3)对less显示出的内容中可以使用 /'字符' 输入需要查找的字符或者字符串并高亮显示,而more 不具备



    less搜索

     当使用命令 less filename打开一个文件后,可以使用下面的方式在文件中搜索。搜索时整个文本中匹配的部分会

     被高亮显示。

    向前搜索

    / - 使用一个模式进行搜索,并定位到下一个匹配的文本

    n - 向前查找下一个匹配的文本

    N - 向后查找前一个匹配的文本



    向后搜索

    ? - 使用模式进行搜索,并定位到前一个匹配的文本

    n - 向后查找下一个匹配的文本

    N - 向前查找前一个匹配的文本



    v - 使用配置的编辑器编辑当前文件

    退出less命令 按q键



    浏览多个文件

    方式一,传递多个参数给 less,就能浏览多个文件。less file1 file2

    方式二,正在浏览一个文件时,使用 :e 打开另一个文件。less file1   :e file2

    当打开多个文件时,使用如下命令在多个文件之间切换 

    :n - 浏览下一个文件(next下一个)

    :p - 浏览前一个文件(prev上一个)



    三、head命令和tail命令

          head -n  100  test.log   显示test.log前100行,若不加参数-n就默认输出前面十行

          tail -n 100 test.log   显示test.log最后100行

          tail -f  runlog.log   可以实时的显示新追加到文件中的信息,常用来跟踪日志文件

        (执行del、ctrl-C、ctrl-X、ctrl-\均可以退出实时显示)



   四、grep查找命令

         grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是 

   Global Regular Expression Print,表示全局正则表达式版本(打印与指定模式匹配的所有行)

   grep [options]主要参数:

   -n:显示匹配行及行号

   -i:不区分大小写(只适用于单字符 默认情况区分大小写)

   - x:输出完全匹配的内容

   pattern正则表达式

  [ ]:单个字符,如[A]即A符合要求 。
  [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
   .  :匹配一个字符(所有的单个字符)。
   * :匹配0或多个字符。

   举例:

       $ grep ‘test’ d*     显示所有以d开头的文件中包含 test的行。
       $ grep ‘test’ aa bb cc    显示在aa,bb,cc文件中匹配test的行。

       $ more log.txt | grep -i 'error'  显示在log.txt中匹配error或ERROR的行



   五、查看进程ps命令

         ps命令是linex下查看进程最常用的命令,用于查看和监控后台进程的工作情况

         参数:

         -e  :显示所有的进程

         -a :显示终端上所有的进程,包括其他用户的进程(all)

         -u : 显示有效使用者 (effective user) 相关的进程

     -x :通常与 a 这个参数一起使用,可列出较完整信息

         -f  :全格式显示(full) 做一个更为完整的输出

         -l  : 长格式显示(long)较长、较详细的将该 PID 的的信息列出

     最常用的参数是aux

     举例:

     ps aux

     显示的项目有:USER , PID , %CPU , %MEM , VSZ , RSS , TTY , STAT , START , TIME , COMMAND     ps -ef|grep java 是用标准的格式显示含有java的进程     显示的项目有:UID , PID , PPID , C , STIME , TTY , TIME , CMD



  六、中止进程kill命令

     中止进程首先要知道进程ID(PID),用ps -ef查看一下PID,然后kill pid,这是最简单的用法

     参数:

     -s:指定发送的信号(signal),其中可用的信号有 HUP (1), KILL (9), TERM (15), 分别代表著重跑,

          砍掉, 结束; 详细的信号可以用 kill -l

     kill -Signal pid

     经常看到kill -9 pid,用于强行中止进程(即杀死进程)

    这个-9表示什么意思呢?9是信号量,kill命令的工作原理是,向Linux系统的内核发送一个系统操作信号和某个进

    程标识号,然后内核对进程标识号指定的进程进行操作。所以kill实际上是用来发送信号量给进程。可以通过

    man kill查看信号量列表。TERM(或数字9)表示“无条件终止”;因此 kill - 9 表示强制杀死该进程;     而单独的kill则有局限性,例如后台进程,守护进程等;



    停止和重启进程

    有时候只想简单地停止和重启进程,可以用命令:kill -HUP pid 或者kill -1(数字1) pid

    该命令让linux内核和缓地执行进程关闭,然后立即重新启动该进程,在配置应用程序时这个命令很方便

    对配置文件做修改后需要使之生效就可以使用该命令重启进程即可。

 

    最好在使用完kill -9命令后,再用free命令回收内存(kill -9突然中止运行的进程

    中止后不能自我清理,导致系统 资源无法释放)

    例:$ kill -9 XXX 

        $ free

        其中,XXX是无用的进程标识号。然后使用下面命令:$ free 此时会发现可用内存容量增加了。    TERM信号:给父进程发送一个TERM信号,试图杀死它和它的子进程  如 $ kill -TERM pid

   

   

    Linux下还提供了一个  killall命令

    killall 杀死同一进程组内所有的进程,并且允许使用进程名而不是进程ID指定要终止的进程

    例如:$ killall httpd   



七、who命令

     该命令主要用于查看当前在线上的用户情况

     这个命令非常有用。如果用户想和其他用户建立即时通讯,比如使用talk命令,那么首先要确定的就是该用户确实在线上,不然talk进程就无法建立起来。又如,系统管理员希望监视每个登录的用户此时此刻的所作所为,也要使用who命令。

     who命令显示以下信息

     ebpp     pts/0        2011-12-26 14:20 (144.131.254.134)
     ebpp     pts/1        2011-12-26 17:06 (172.16.26.23)

      第一列是登录用户的帐号;

      第二列是登录所使用的终端;

      第三列是登录时间;

      第四列是用户从什么地方登录的网络地址,这里是域名。

      参数

         -m 和“who am i”的作用一样,显示运行该程序的用户名

         -q    count 只显示用户的登录帐号和登录用户的数量



八、netstat命令

     Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连

     接情况。利用netstat命令可以得知整个Linux系统的网络情况



常用参数:

netstat -a   本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接,断开连接(CLOSE_WAIT)或者处于联机等待状态的(TIME_WAIT)等
netstat -n   显示所有已建立的有效连接。

例子:netstat

显示结果:

Proto  Local Address          Foreign Address        State
TCP    Eagle:2929             219.137.227.10:4899    ESTABLISHED
协议(Proto):指是传输层通讯协议
本地机器名(Local  Address):Eagle,俗称计算机名了,安装系统时设置的,可以在“我的电脑”属性中修改,本地打开并用于连接的端口:2929)  
远程机器名(Foreign  Address):219.137.227.10
远程端口:4899 
状态:ESTABLISHED





如何只查询tomcat的连接呢?

netstat -na|grep ESTAB|grep 80|wc -l

netstat -na|grep ESTAB|grep 8080|wc -l

猜你喜欢

转载自wy649898543.iteye.com/blog/1440502