linux常用基本命令

Posted codebuglife

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux常用基本命令相关的知识,希望对你有一定的参考价值。

wc命令

  统计指定的文件中的字节数、字数、行数,并将统计结果显示输出。如果没有给出文件名,则从标准输入读取。wc同时也给出所指文件的总统计数

  语法:wc [选项] [文件名]

  -c:统计字节数;

  -l:统计行数;

  -m:统计字符数。这个标志不能与-c一起使用;

  -w:统计字数。一个字被定义为空白、跳格或者换行字符分割的字符串;

  -L:打印最长行的长度

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@localhost wc]# cat test.txt
hnlinux
peida.cnblogs.com
ubuntu
ubuntu linux
redhat
Redhat
linuxmint
[root@localhost wc]# wc test.txt
 7  8 76 test.txt
[root@localhost wc]# wc -l test.txt
7 test.txt
[root@localhost wc]# wc -c test.txt
76 test.txt
[root@localhost wc]# wc -w test.txt
8 test.txt
[root@localhost wc]# wc -m test.txt
76 test.txt
[root@localhost wc]# wc -L test.txt
18 test.txt
[root@localhost wc]#

  uptime命令

  uptime命令能够打印系统运行了多长时间和系统平均负载。uptime命令可以显示的信息依次是:现在时间、系统已经运行了多长时间、目前有多少登录用户、系统过去的1分钟、5分钟和15分钟内的平均负载。

  语法:uptime [选项]

  -V:显示指令的版本信息

1
2
3
[root@localhost wc]# uptime -V
uptime from procps-ng 3.3.10
[root@localhost wc]#

  使用uptime命令查看系统负载:

1
2
3
[root@localhost wc]# uptime
 22:16:12 up  4:26,  1 user,  load average: 0.08, 0.04, 0.05
[root@localhost wc]#

  显示内容说明:

  22:16:12//系统当前时间

  up 4:26//主机已经运行时间,时间越大,说明你的机器越稳定

  1 user//用户连接数,是总连接数而不是用户数

  load average: 0.08, 0.04, 0.05//系统平均负载,统计最近1,5,15分钟的系统平均负载

  cut命令

  cut命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写入标准输出。

  语法:cut [-bn] [file] 或 cut [-c] [file] 或 cut [-df] [file]

  如果不指定file参数,cut命令将读取标准输入。必须制定-b、-c或-f标志之一。

  -b:已字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也制定了-n标志。

  -c:已字符为单位进行分割。

  -d:自定义分隔符,默认为制表符。

  -f:与-d一起使用,制定显示哪个区域。

  -n:取消分割多字节字符。仅和-b标志一起使用。如果字符的最后一个字节落在由-b标志的List参数指定的<br/>范围之内,该字符将被写出;否则,该字符被排除。

  cut命令可将一串字符作为列来显示,字符字段的记法:

    N-:从第N个字节、字符、字段到结尾。

    N-M:从第N个字节、字符、字段到第M个(包括M在内)字节、字符、字段。

    -M:从第1个字节、字符、字段到第M个(包括M在内)字节、字符、字段。

  以/etc/passwd的前5行内容为例:

1
2
3
4
5
6
7
[root@localhost wc]# head -n 5 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
[root@localhost wc]#

  截取用户名:-d来设置分隔符为“:”,然后用-f来设置截取第一个域:

1
2
3
4
5
6
7
[root@localhost wc]# head -n 5 /etc/passwd | cut -d ‘:‘ -f 1
root
bin
daemon
adm
lp
[root@localhost wc]#

  截取第1,3到5字段:

1
2
3
4
5
6
7
[root@localhost wc]# head -n 5 /etc/passwd | cut -d ‘:‘ -f 1,3-5
root:0:0:root
bin:1:1:bin
daemon:2:2:daemon
adm:3:4:adm
lp:4:7:lp
[root@localhost wc]#

  截取1到3个字符:

1
2
3
4
5
6
7
[root@localhost wc]# head -n 5 /etc/passwd | cut -c 1-3
roo
bin
dae
adm
lp:
[root@localhost wc]#

  截取前2个字符:

1
2
3
4
5
6
7
[root@localhost wc]# head -n 5 /etc/passwd | cut -c -2
ro
bi
da
ad
lp
[root@localhost wc]#

  截取第5个字符开始到结尾:

1
2
3
4
5
6
7
[root@localhost wc]# head -n 5 /etc/passwd | cut -c 5-
:x:0:0:root:/root:/bin/bash
x:1:1:bin:/bin:/sbin/nologin
on:x:2:2:daemon:/sbin:/sbin/nologin
x:3:4:adm:/var/adm:/sbin/nologin
:4:7:lp:/var/spool/lpd:/sbin/nologin
[root@localhost wc]#

  netstat命令

  netstat是一个告诉我们系统中所有tcp/udp/unix socket连接状态的命令行工具。它会列出所有已连接或等待连接状态的连接。该工具在识别某个应用监听哪个端口时特别有用,我们也能用它来判断某个应用是否正常的在监听某个端口。

  netstat命令还能显示其他各种各样的网络相关信息,例如路由表,网卡统计信息,虚假连接以及多播成员等。

  1)、检查所有的连接

  使用a选项可以列出系统中的所有连接。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@localhost wc]# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State     
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN    
tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN    
tcp        0     52 localhost.localdoma:ssh 10.0.30.1:lnvmaps       ESTABLISHED
tcp6       0      0 [::]:mysql              [::]:*                  LISTEN    
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN    
tcp6       0      0 localhost:smtp          [::]:*                  LISTEN    
raw6       0      0 [::]:ipv6-icmp          [::]:*                  7         
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     13568    /run/lvm/lvmetad.socket
unix  2      [ ]         DGRAM                    13571    /run/systemd/shutdownd
unix  3      [ ]         DGRAM                    8710     /run/systemd/notify
unix  2      [ ]         DGRAM                    8712     /run/systemd/cgroups-agent
unix  2      [ ACC ]     STREAM     LISTENING     21355    public/showq
unix  2      [ ACC ]     STREAM     LISTENING     8730     /run/systemd/journal/stdout
unix  5      [ ]         DGRAM                    8733     /run/systemd/journal/socket

  这会显示系统所有的tcp、udp以及unix连接。

  2)、检查所有tcp/udp/unix socket连接

  使用t选项只列出tcp连接。

1
2
3
4
5
6
7
8
9
10
[root@localhost wc]# netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State     
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN    
tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN    
tcp        0     52 localhost.localdoma:ssh 10.0.30.1:lnvmaps       ESTABLISHED
tcp6       0      0 [::]:mysql              [::]:*                  LISTEN    
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN    
tcp6       0      0 localhost:smtp          [::]:*                  LISTEN    
[root@localhost wc]#

  类似的,使用u选项只列出udp连接。

1
2
3
4
[root@localhost wc]# netstat -au
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State     
[root@localhost wc]#

  使用x选项只列出unix socket连接。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@localhost wc]# netstat -ax
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     13568    /run/lvm/lvmetad.socket
unix  2      [ ]         DGRAM                    13571    /run/systemd/shutdownd
unix  3      [ ]         DGRAM                    8710     /run/systemd/notify
unix  2      [ ]         DGRAM                    8712     /run/systemd/cgroups-agent
unix  2      [ ACC ]     STREAM     LISTENING     21355    public/showq
unix  2      [ ACC ]     STREAM     LISTENING     8730     /run/systemd/journal/stdout
unix  5      [ ]         DGRAM                    8733     /run/systemd/journal/socket
unix  12     [ ]         DGRAM                    8735     /dev/log
unix  2      [ ACC ]     SEQPACKET  LISTENING     13622    /run/udev/control
unix  2      [ ACC ]     STREAM     LISTENING     21620    /tmp/mysql.sock
unix  2      [ ACC ]     STREAM     LISTENING     21330    private/trace
unix  2      [ ACC ]     STREAM     LISTENING     21337    private/verify
unix  2      [ ACC ]     STREAM     LISTENING     21343    private/proxymap

  3)、同时列出ID/进程名称

  使用p选项可以列出连接的同时也显示PID或者进程名称,而且它还能与其他选项连用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
[root@localhost wc]# netstat -ap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name   
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN      992/sshd           
tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN      1563/master        
tcp        0     52 localhost.localdoma:ssh 10.0.30.1:lnvmaps       ESTABLISHED 1813/sshd: root@pts
tcp6       0      0 [::]:mysql              [::]:*                  LISTEN      1631/mysqld        
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN      992/sshd           
tcp6       0      0 localhost:smtp          [::]:*                  LISTEN      1563/master        
raw6       0      0 [::]:ipv6-icmp          [::]:*                  7           686/NetworkManager 
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   PID/Program name     Path
unix  2      [ ACC ]     STREAM     LISTENING     13568    1/systemd            /run/lvm/lvmetad.socket
unix  2      [ ]         DGRAM                    13571    1/systemd            /run/systemd/shutdownd
unix  3      [ ]         DGRAM                    8710     1/systemd            /run/systemd/notify
unix  2      [ ]         DGRAM                    8712     1/systemd            /run/systemd/cgroups-agent
unix  2      [ ACC ]     STREAM     LISTENING     21355    1563/master          public/showq
unix  2      [ ACC ]     STREAM     LISTENING     8730     1/systemd            /run/systemd/journal/stdout
unix  5      [ ]         DGRAM                    8733     1/systemd            /run/systemd/journal/socket
unix  12     [ ]         DGRAM                    8735     1/systemd            /dev/log
unix  2      [ ACC ]     SEQPACKET  LISTENING     13622    1/systemd            /run/udev/control
unix  2      [ ACC ]     STREAM     LISTENING     21620    1631/mysqld          /tmp/mysql.sock
unix  2      [ ACC ]     STREAM     LISTENING     21330    1563/master          private/trace
unix  2      [ ACC ]     STREAM     LISTENING     21337    1563/master          private/verify
unix  2      [ ACC ]     STREAM     LISTENING     21343    1563/master          private/proxymap
unix  2      [ ACC ]     STREAM     LISTENING     21346    1563/master          private/proxywrite
unix  2      [ ACC ]     STREAM     LISTENING     21349    1563/master          private/smtp
unix  2      [ ACC ]     STREAM     LISTENING     21352    1563/master          private/relay
unix  2      [ ACC ]     STREAM     LISTENING     21358    1563/master          private/error
unix  2      [ ACC ]     STREAM     LISTENING     21361    1563/master          private/retry

  4)、列出端口号而不是服务名

  使用n选项可以加快输出,它不会执行任何反向查询,而是直接输出数字。由于无需查询,因此结果输出会很快。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[root@localhost wc]# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN    
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN    
tcp        0     52 10.0.30.102:22          10.0.30.1:2284          ESTABLISHED
tcp6       0      0 :::3306                 :::*                    LISTEN    
tcp6       0      0 :::22                   :::*                    LISTEN    
tcp6       0      0 ::1:25                  :::*                    LISTEN    
raw6       0      0 :::58                   :::*                    7         
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     13568    /run/lvm/lvmetad.socket
unix  2      [ ]         DGRAM                    13571    /run/systemd/shutdownd
unix  3      [ ]         DGRAM                    8710     /run/systemd/notify
unix  2      [ ]         DGRAM                    8712     /run/systemd/cgroups-agent
unix  2      [ ACC ]     STREAM     LISTENING     21355    public/showq
unix  2      [ ACC ]     STREAM     LISTENING     8730     /run/systemd/journal/stdout
unix  5      [ ]         DGRAM                    8733     /run/systemd/journal/socket
unix  12     [ ]         DGRAM                    8735     /dev/log
unix  2      [ ACC ]     SEQPACKET  LISTENING     13622    /run/udev/control
unix  2      [ ACC ]     STREAM     LISTENING     21620    /tmp/mysql.sock
unix  2      [ ACC ]     STREAM     LISTENING     21330    private/trace
unix  2      [ ACC ]     STREAM     LISTENING     21337    private/verify
unix  2      [ ACC ]     STREAM     LISTENING     21343    private/proxymap
unix  2      [ ACC ]     STREAM     LISTENING     21346    private/proxywrite
unix  2      [ ACC ]     STREAM     LISTENING     21349    private/smtp
unix  2      [ ACC ]     STREAM     LISTENING     21352    private/relay

  5)、只输出监听端口

  使用l选项只输出监听端口。它不能与a选项连用,因为a会输出所有端口。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
[root@localhost wc]# netstat -l
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State     
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN    
tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN    
tcp6       0      0 [::]:mysql              [::]:*                  LISTEN    
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN    
tcp6       0      0 localhost:smtp          [::]:*                  LISTEN    
raw6       0      0 [::]:ipv6-icmp          [::]:*                  7         
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     13568    /run/lvm/lvmetad.socket
unix  2      [ ACC ]     STREAM     LISTENING     21355    public/showq
unix  2      [ ACC ]     STREAM     LISTENING     8730     /run/systemd/journal/stdout
unix  2      [ ACC ]     SEQPACKET  LISTENING     13622    /run/udev/control
unix  2      [ ACC ]     STREAM     LISTENING     21620    /tmp/mysql.sock
unix  2      [ ACC ]     STREAM     LISTENING     21330    private/trace
unix  2      [ ACC ]     STREAM     LISTENING     21337    private/verify
unix  2      [ ACC ]     STREAM     LISTENING     21343    private/proxymap
unix  2      [ ACC ]     STREAM     LISTENING     21346    private/proxywrite
unix  2      [ ACC ]     STREAM     LISTENING     21349    private/smtp
unix  2      [ ACC ]     STREAM     LISTENING     21352    private/relay
unix  2      [ ACC ]     STREAM     LISTENING     21358    private/error
unix  2      [ ACC ]     STREAM     LISTENING     21361    private/retry
unix  2      [ ACC ]     STREAM     LISTENING     21364    private/discard
unix  2      [ ACC ]     STREAM     LISTENING     21367    private/local
unix  2      [ ACC ]     STREAM     LISTENING     21370    private/virtual
unix  2      [ ACC ]     STREAM     LISTENING     21373    private/lmtp
unix  2      [ ACC ]     STREAM     LISTENING     21377    private/anvil
unix  2      [ ACC ]     STREAM     LISTENING     21380    private/scache
unix  2      [ ACC ]     STREAM     LISTENING     13436    /run/systemd/private
unix  2      [ ACC ]     STREAM     LISTENING     16805    /run/dbus/system_bus_socket
unix  2      [ ACC ]     STREAM     LISTENING     21297    public/pickup
unix  2      [ ACC ]     STREAM     LISTENING     21302    public/cleanup
unix  2      [ ACC ]     STREAM     LISTENING     21305    public/qmgr
unix  2      [ ACC ]     STREAM     LISTENING     21340    public/flush
unix  2      [ ACC ]     STREAM     LISTENING     21309    private/tlsmgr
unix  2      [ ACC ]     STREAM     LISTENING     21321    private/rewrite
unix  2      [ ACC ]     STREAM     LISTENING     21324    private/bounce
unix  2      [ ACC ]     STREAM     LISTENING     21327    private/defer
unix  2      [ ACC ]     STREAM     LISTENING     13761    /run/lvm/lvmpolld.socket
unix  2      [ ACC ]     STREAM     LISTENING     17657    /var/run/vmware/guestServicePipe
[root@localhost wc]#

  6)、输出网络状态

  使用s选项输出每个协议的统计信息,包括接收/发送的包数量。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
[root@localhost wc]# netstat -s
Ip:
    4688 total packets received
    0 forwarded
    0 incoming packets discarded
    4408 incoming packets delivered
    4110 requests sent out
Icmp:
    818 ICMP messages received
    409 input ICMP message failed.
    ICMP input histogram:
        destination unreachable: 818
    818 ICMP messages sent
    0 ICMP messages failed
    ICMP output histogram:
        destination unreachable: 818
IcmpMsg:
        InType3: 818
        OutType3: 818
Tcp:
    409 active connections openings
    1 passive connection openings
    409 failed connection attempts
    0 connection resets received
    1 connections established
    3574 segments received
    2888 segments send out
    409 segments retransmited
    0 bad segments received.
    0 resets sent
Udp:
    16 packets received
    0 packets to unknown port received.
    0 packet receive errors
    16 packets sent
    0 receive buffer errors
    0 send buffer errors
UdpLite:
TcpExt:
    14 delayed acks sent
    1 delayed acks further delayed because of locked socket
    1041 packet headers predicted
    556 acknowledgments not containing data payload received
    1386 predicted acknowledgments
    409 other TCP timeouts
    TCPRcvCoalesce: 1
    TCPSpuriousRtxHostQueues: 760
    TCPSynRetrans: 409
    TCPOrigDataSent: 2440
IpExt:
    InBcastPkts: 280
    InOctets: 374032
    OutOctets: 465867
    InBcastOctets: 27427
    InNoECTPkts: 4688
[root@localhost wc]#

  7)、输出网卡状态

  使用i选项只显示网卡的统计信息。

1
2
3
4
5
6
[root@localhost wc]# netstat -i
Kernel Interface table
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
ens33     1500     4152      0      0 0          5224      0      0      0 BMRU
lo       65536      822      0      0 0           822      0      0      0 LRU
[root@localhost wc]#

  8)、显示多播组信息

  使用g选项输出IPV4以及IPV6的多播信息。

1
2
3
4
5
6
7
8
[root@localhost wc]# netstat -g
IPv6/IPv4 Group Memberships
Interface       RefCnt Group
--------------- ------ ---------------------
lo              1      all-systems.mcast.net
ens33           1      all-systems.mcast.net
lo              1      ff02::1
lo              1      ff01::1

  9)、显示网络路由信息

  使用r选项输出网络路由信息。

1
2
3
4
5
6
[root@localhost wc]# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         gateway         0.0.0.0         UG        0 0          0 ens33
10.0.30.0       0.0.0.0         255.255.254.0   U         0 0          0 ens33
[root@localhost wc]#

  10)、持续输出

  使用c选项持续输出信息。

1
[root@localhost wc]# netstat -c

以上是关于linux常用基本命令的主要内容,如果未能解决你的问题,请参考以下文章

基本linux命令

linux,unix常用基本命令

linux常用基本命令

Linux—— vim常用操作命令

linux常用基本命令

Linux - 常用 Linux 命令的基本使用