linux中20个高级命令 8月26日学习笔记

linux中20个高级命令

1、ifconfig命令

ifconfig用于配置内核常驻网络接口。它用于在启动时根据需要设置接口。

[rumenz@local ~]$ ifconfig 

eth0      Link encap:Ethernet  HWaddr 40:2C:F4:EA:CF:0E  
          inet addr:192.168.1.3  Bcast:192.168.1.255  Mask:255.255.255.0 
          inet6 addr: fe80::422c:f4ff:feea:cf0e/64 Scope:Link 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 
          RX packets:163843 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:124990 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:1000 
          RX bytes:154389832 (147.2 MiB)  TX bytes:65085817 (62.0 MiB) 
          Interrupt:20 Memory:f7100000-f7120000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0 
          inet6 addr: ::1/128 Scope:Host 
          UP LOOPBACK RUNNING  MTU:16436  Metric:1 
          RX packets:78 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:78 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:0 
          RX bytes:4186 (4.0 KiB)  TX bytes:4186 (4.0 KiB)

1.1 检查所有网络接口

使用-a显示所有接口的详细信息

[rumenz@local ~]$ ifconfig -a

eth0      Link encap:Ethernet  HWaddr 40:2C:F4:EA:CF:0E  
          inet addr:192.168.1.3  Bcast:192.168.1.255  Mask:255.255.255.0 
          inet6 addr: fe80::422c:f4ff:feea:cf0e/64 Scope:Link 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 
          RX packets:163843 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:124990 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:1000 
          RX bytes:154389832 (147.2 MiB)  TX bytes:65085817 (62.0 MiB) 
          Interrupt:20 Memory:f7100000-f7120000 

1.2 禁用网卡

ifconfig eth0 down

1.3 启用网卡

ifconfig eth0 up

1.4为网卡分配 IP 地址

ifconfig eth0 192.168.1.12

1.5 更改网卡eth0的子网掩码

ifconfig eth0 netmask 255.255.255.0

1.6 更改网卡 eth0 的广播地址

ifconfig eth0 broadcast 192.168.1.255

1.7 全部

ifconfig eth0 192.168.1.12 netmask 255.255.255.0 broadcast 192.168.1.255

Note: 如果使用无线网络,则需要使用命令 iwconfig

2、netstat命令

netstat命令显示各种网络相关信息,如网络连接、路由表

2.1 列出所有网络端口

[rumenz@local ~]$ netstat -a

Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     741379   /run/user/user1/keyring-I5cn1c/gpg
unix  2      [ ACC ]     STREAM     LISTENING     8965     /var/run/acpid.socket
unix  2      [ ACC ]     STREAM     LISTENING     18584    /tmp/.X11-unix/X0
unix  2      [ ACC ]     STREAM     LISTENING     741385   /run/user/user1/keyring-I5cn1c/ssh
unix  2      [ ACC ]     STREAM     LISTENING     741387   /run/user/user1/keyring-I5cn1c/pkcs11
unix  2      [ ACC ]     STREAM     LISTENING     20242    @/tmp/dbus-ghtTjuPN46
unix  2      [ ACC ]     STREAM     LISTENING     13332    /var/run/samba/winbindd_privileged/pipe
unix  2      [ ACC ]     STREAM     LISTENING     13331    /tmp/.winbindd/pipe
unix  2      [ ACC ]     STREAM     LISTENING     11030    /var/run/mysqld/mysqld.sock
unix  2      [ ACC ]     STREAM     LISTENING     19308    /tmp/ssh-qnZadSgJAbqd/agent.3221
unix  2      [ ACC ]     STREAM     LISTENING     436781   /tmp/HotShots
unix  2      [ ACC ]     STREAM     LISTENING     46110    /run/user/ravisaive/pulse/native
unix  2      [ ACC ]     STREAM     LISTENING     19310    /tmp/gpg-zfE9YT/S.gpg-agent

2.2 列出所有 TCP 端口

[rumenz@local ~]$ netstat -at

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 localhost:mysql         *:*                     LISTEN     
tcp        0      0 *:5901                  *:*                     LISTEN     
tcp        0      0 *:5902                  *:*                     LISTEN     
tcp        0      0 *:x11-1                 *:*                     LISTEN     
tcp        0      0 *:x11-2                 *:*                     LISTEN     
tcp        0      0 *:5938                  *:*                     LISTEN     
tcp        0      0 localhost:5940          *:*                     LISTEN     
tcp        0      0 ravisaive-OptiPl:domain *:*                     LISTEN     
tcp        0      0 ravisaive-OptiPl:domain *:*                     LISTEN     
tcp        0      0 localhost:ipp           *:*                     LISTEN     
tcp        0      0 ravisaive-OptiPle:48270 ec2-23-21-236-70.c:http ESTABLISHED
tcp        0      0 ravisaive-OptiPle:48272 ec2-23-21-236-70.c:http TIME_WAIT  
tcp        0      0 ravisaive-OptiPle:48421 bom03s01-in-f22.1:https ESTABLISHED
tcp        0      0 ravisaive-OptiPle:48269 ec2-23-21-236-70.c:http ESTABLISHED
tcp        0      0 ravisaive-OptiPle:39084 channel-ecmp-06-f:https ESTABLISHED

2.3 显示所有端口的统计信息

[rumenz@local ~]$ netstat -s
Ip:
    4994239 total packets received
    0 forwarded
    0 incoming packets discarded
    4165741 incoming packets delivered
    3248924 requests sent out
    8 outgoing packets dropped
Icmp:
    29460 ICMP messages received
    566 input ICMP message failed.
    ICMP input histogram:
        destination unreachable: 98
        redirects: 29362
    2918 ICMP messages sent
    0 ICMP messages failed
    ICMP output histogram:
        destination unreachable: 2918
IcmpMsg:
        InType3: 98
        InType5: 29362
        OutType3: 2918
Tcp:
    94533 active connections openings
    23 passive connection openings
    5870 failed connection attempts
    7194 connection resets received

如果你不想将主机、端口和用户名解析为 netstat 的输出。

[rumenz@local ~]$ netstat -an
你可能需要不断获取 netstat 的输出,直到通过中断指令(ctrl+c)。

[rumenz@local ~]$ netstat -c

3、nslookup命令

一种网络实用程序,用于获取有关 Internet 服务器的信息。顾名思义,该实用程序通过查询来查找域的名称服务器信息DNS.

[rumenz@local ~]$ nslookup rumenz.com 

Server:  192.168.1.1 
Address: 192.168.1.1#53 

Non-authoritative answer: 
Name: rumenz.com 
Address: 50.16.67.239

3.1 查询邮件交换记录

[rumenz@local ~]$ nslookup -query=mx rumenz.com 

Server:  192.168.1.1 
Address: 192.168.1.1#53 

Non-authoritative answer: 
rumenz.com mail exchanger = 0 smtp.secureserver.net. 
rumenz.com mail exchanger = 10 mailstore1.secureserver.net. 

Authoritative answers can be found from:

3.2 查询名称服务器

[rumenz@local ~]$ nslookup -type=ns rumenz.com 

Server:  192.168.1.1 
Address: 192.168.1.1#53 

Non-authoritative answer: 
rumenz.com nameserver = ns3404.com. 
rumenz.com nameserver = ns3403.com. 
Authoritative answers can be found from:

3.3 查询 DNS 记录

[rumenz@local ~]$ nslookup -type=any rumenz.com 

Server:  192.168.1.1 
Address: 192.168.1.1#53 

Non-authoritative answer: 
rumenz.com mail exchanger = 10 mailstore1.secureserver.net. 
rumenz.com mail exchanger = 0 smtp.secureserver.net. 
rumenz.com nameserver = ns06.domaincontrol.com. 
rumenz.com nameserver = ns3404.com. 
rumenz.com nameserver = ns3403.com. 
rumenz.com nameserver = ns05.domaincontrol.com. 

Authoritative answers can be found from:

3.4 查询权限开始

[rumenz@local ~]$ nslookup -type=soa rumenz.com 

Server:  192.168.1.1 
Address: 192.168.1.1#53 

Non-authoritative answer: 
rumenz.com 
  origin = ns3403.hostgator.com 
  mail addr = dnsadmin.gator1702.hostgator.com 
  serial = 2012081102 
  refresh = 86400 
  retry = 7200 
  expire = 3600000 
  minimum = 86400 

Authoritative answers can be found from:

3.5 查询端口号

更改要连接的端口号

[rumenz@local ~]$ nslookup -port 56 rumenz.com

Server:  rumenz.com
Address: 50.16.76.239#53

Name: 56
Address: 14.13.253.12

4、dig命令

dig是一个查询工具DNSnameservers 获取有关主机地址、邮件交换、名称服务器和相关信息的信息。这个工具可以在任何 Linux (Unix) 或Macintosh OS X操作系统。最典型的用途dig是简单地查询单个主机。

[rumenz@local ~]$ dig rumenz.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> rumenz.com 
;; global options: +cmd 
;; Got answer: 
;; ->>HEADER<

4.1 关闭注释行

[rumenz@local ~]$ dig rumenz.com +nocomments 

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> rumenz.com +nocomments 
;; global options: +cmd 
;rumenz.com.   IN A 
rumenz.com.  14400 IN A 40.216.66.239 
;; Query time: 418 msec 
;; SERVER: 192.168.1.1#53(192.168.1.1) 
;; WHEN: Sat Jun 29 13:53:22 2013 
;; MSG SIZE  rcvd: 45

4.2 关闭来源段

[rumenz@local ~]$ dig rumenz.com +noauthority 

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> rumenz.com +noauthority 
;; global options: +cmd 
;; Got answer: 
;; ->>HEADER<

4.3 关闭附加段

[rumenz@local ~]$ dig  rumenz.com +noadditional 

; <<>> DiG 9.9.2-P1 <<>> rumenz.com +noadditional
;; global options: +cmd
;; Got answer:
;; ->>HEADER<

4.4 关闭统计段

[rumenz@local ~]$ dig rumenz.com +nostats 

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> rumenz.com +nostats 
;; global options: +cmd 
;; Got answer: 
;; ->>HEADER<

4.5 关闭结果段

[rumenz@local ~]$ dig rumenz.com +noanswer 

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> rumenz.com +noanswer 
;; global options: +cmd 
;; Got answer: 
;; ->>HEADER<

4.6 一次禁用所有部分

[rumenz@local ~]$ dig rumenz.com +noall 

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> rumenz.com +noall 
;; global options: +cmd       

5、uptime命令

uptime命令能够打印系统总共运行了多长时间和系统的平均负载

5.1 查看运行时间以及负载

rumenz@local ~]$ uptime

14:37:10 up  4:21,  2 users,  load average: 0.00, 0.00, 0.04

6、 wall命令

管理员最重要的命令之一,wall向使用他们登录的每个人发送消息mesg权限设置为 yes。该消息可以作为参数给出wall,也可以发送到 wall 的标准输入。

6.1 查看登录信息

[rumenz@local ~]$ wall "we will be going down for maintenance for one hour sharply at 03:30 pm"

Broadcast message from root@localhost.localdomain (pts/0) (Sat Jun 29 14:44:02 2013): 

we will be going down for maintenance for one hour sharply at 03:30 pm

7、mesg命令

让你控制人们是否可以使用 write 命令,通过屏幕向你发送文本。

mesg [n|y]
n - prevents the message from others popping up on the screen.
y – Allows messages to appear on your screen.

8、write命令

让你直接将文本发送到另一台 Linux 机器的屏幕,如果 mesg是y。

[rumenz@local ~]$ write ravisaive

9、talk命令

对write命令,talk命令可让你与登录用户交谈。

[rumenz@local ~]$ talk ravisaive
Note: 如果talk命令未安装,你可以随时apt或yum所需的包。

[rumenz@local ~]$ yum install talk
OR
[rumenz@local ~]$ apt-get install talk

10、w命令

什么命令w 看起来你很有趣吗?但实际上并非如此。这是一个命令,即使它只有一个字母长!命令 w 的组合uptime和who命令一个接一个地发出,按照这个顺序。

[rumenz@local ~]$ w
15:05:42 up  4:49,  3 users,  load average: 0.02, 0.01, 0.00 
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT 
server   tty7     :0               14:06    4:43m  1:42   0.08s pam: gdm-passwo 
server   pts/0    :0.0             14:18    0.00s  0.23s  1.65s gnome-terminal 
server   pts/1    :0.0             14:47    4:43   0.01s  0.01s bash

11、rename命令

顾名思义,此命令重命名文件。rename 将通过替换文件名中的第一个匹配项来重命名指定的文件。

Give the file names a1, a2, a3, a4.....1213
只需键入命令。

rename a1 a0 a?
rename a1 a0 a??

12、top命令

显示进程CPU.默认情况下,此命令会自动刷新并继续显示CPU除非给出中断指令,否则处理。

[rumenz@local ~]$ top

top - 14:06:45 up 10 days, 20:57,  2 users,  load average: 0.10, 0.16, 0.21
Tasks: 240 total,   1 running, 235 sleeping,   0 stopped,   4 zombie
%Cpu(s):  2.0 us,  0.5 sy,  0.0 ni, 97.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:   2028240 total,  1777848 used,   250392 free,    81804 buffers
KiB Swap:  3905532 total,   156748 used,  3748784 free,   381456 cached

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+ COMMAND                                                                                                            
23768 ravisaiv  20   0 1428m 571m  41m S   2.3 28.9  14:27.52 firefox                                                                                                            
24182 ravisaiv  20   0  511m 132m  25m S   1.7  6.7   2:45.94 plugin-containe                                                                                                    
26929 ravisaiv  20   0  5344 1432  972 R   0.7  0.1   0:00.07 top                                                                                                                
24875 ravisaiv  20   0  263m  14m  10m S   0.3  0.7   0:02.76 lxterminal                                                                                                         
    1 root      20   0  3896 1928 1228 S   0.0  0.1   0:01.62 init                                                                                                               
    2 root      20   0     0    0    0 S   0.0  0.0   0:00.06 kthreadd                                                                                                           
    3 root      20   0     0    0    0 S   0.0  0.0   0:17.28 ksoftirqd/0                                                                                                        
    5 root       0 -20     0    0    0 S   0.0  0.0   0:00.00 kworker/0:0H                                                                                                       
    7 root       0 -20     0    0    0 S   0.0  0.0   0:00.00 kworker/u:0H                                                                                                       
    8 root      rt   0     0    0    0 S   0.0  0.0   0:00.12 migration/0                                                                                                        
    9 root      20   0     0    0    0 S   0.0  0.0   0:00.00 rcu_bh                                                                                                             
   10 root      20   0     0    0    0 S   0.0  0.0   0:26.94 rcu_sched                                                                                                          
   11 root      rt   0     0    0    0 S   0.0  0.0   0:01.95 watchdog/0                                                                                                         
   12 root      rt   0     0    0    0 S   0.0  0.0   0:02.00 watchdog/1                                                                                                         
   13 root      20   0     0    0    0 S   0.0  0.0   0:17.80 ksoftirqd/1                                                                                                        
   14 root      rt   0     0    0    0 S   0.0  0.0   0:00.12 migration/1                                                                                                        
   16 root       0 -20     0    0    0 S   0.0  0.0   0:00.00 kworker/1:0H                                                                                                       
   17 root       0 -20     0    0    0 S   0.0  0.0   0:00.00 cpuset                                                                                                             
   18 root       0 -20     0    0    0 S   0.0  0.0   0:00.00 khelper                                                                                                            
   19 root      20   0     0    0    0 S   0.0  0.0   0:00.00 kdevtmpfs                                                                                                          
   20 root       0 -20     0    0    0 S   0.0  0.0   0:00.00 netns                                                                                                              
   21 root      20   0     0    0    0 S   0.0  0.0   0:00.04 bdi-default                                                                                                        
   22 root       0 -20     0    0    0 S   0.0  0.0   0:00.00 kintegrityd                                                                                                        
   23 root       0 -20     0    0    0 S   0.0  0.0   0:00.00 kblockd                                                                                                            
   24 root       0 -20     0    0    0 S   0.0  0.0   0:00.00 ata_sff

13、mkfs.ext4命令

此命令创建一个新的ext4指定设备上的文件系统,如果在此命令后跟随错误的设备,整个块将被擦除和格式化,因此建议不要运行此命令,除非并且直到你明白你在做什么。

Mkfs.ext4 /dev/sda1 (sda1 block will be formatted)
mkfs.ext4 /dev/sdb1 (sdb1 block will be formatted)

14、vi命令

vi/emacs/nano
vi,emacs,nano是 Linux 中一些最常用的编辑器。它们通常用于编辑文本、配置、文件。

vi 编辑器
[rumenz@local ~]$ touch a.txt (creates a text file a.txt) 
[rumenz@local ~]$ vi a.txt (open a.txt with vi editor)
[按i 进入插入模式,否则你将无法输入任何内容]

echo "Hello"  (your text here for the file)
alt+x(退出插入模式,记得在最后一个字母之间保留一些空格。
ctrl+x命令或你的最后一句话将被删除)。
:wq!(保存文件,用当前文本,记住!是覆盖)。
nano编辑器
[rumenz@local ~]$ nano a.txt (open a.txt file to be edited with nano)
edit, with the content, required
ctrl +x(关闭编辑器)。它将显示输出为:

Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ?                    
 Y Yes 
 N No           ^C Cancel
点击 y 到 yes 并输入文件名,你就完成了。

15、rsync命令

Rsync复制文件并有一个-P切换进度条。所以如果你安装了 rsync,你可以使用一个简单的别名。

alias cp='rsync -aP'

现在尝试在终端中复制一个大文件并查看包含剩余项目的输出,类似于进度条。

此外,保持和维护备份是系统管理员需要执行的最重要和最无聊的工作之一。Rsync 是一个非常好的工具(存在,还有其他几个)用于在终端中创建和维护备份。

[rumenz@local ~]$ rsync -zvr IMG_5267\ copy\=33\ copy\=ok.jpg ~/Desktop/ 

sending incremental file list 
IMG_5267 copy=33 copy=ok.jpg 

sent 2883830 bytes  received 31 bytes  5767722.00 bytes/sec 
total size is 2882771  speedup is 1.00
Note:-z用于压缩,-v 用于详细,-r 用于递归。

16、free命令

跟踪内存和资源与管理员执行的任何其他任务一样重要,并且free命令来拯救这里。

16.1 内存使用现状

[rumenz@local ~]$ free

             total       used       free     shared    buffers     cached
Mem:       2028240    1788272     239968          0      69468     363716
-/+ buffers/cache:    1355088     673152
Swap:      3905532     157076    3748456
> 以 KB、MB 或 GB 为单位的调谐输出
[rumenz@local ~]$ free -b

             total       used       free     shared    buffers     cached
Mem:    2076917760 1838272512  238645248          0   71348224  372670464
-/+ buffers/cache: 1394253824  682663936
Swap:   3999264768  160845824 3838418944
[rumenz@local ~]$ free -k

             total       used       free     shared    buffers     cached
Mem:       2028240    1801484     226756          0      69948     363704
-/+ buffers/cache:    1367832     660408
Swap:      3905532     157076    3748456
[rumenz@local ~]$ free -m

             total       used       free     shared    buffers     cached
Mem:          1980       1762        218          0         68        355
-/+ buffers/cache:       1338        641
Swap:         3813        153       3660
[rumenz@local ~]$ free -g

             total       used       free     shared    buffers     cached
Mem:             1          1          0          0          0          0
-/+ buffers/cache:          1          0
Swap:            3          0          3
人类可读格式展示
[rumenz@local ~]$ free -h

             total       used       free     shared    buffers     cached
Mem:          1.9G       1.7G       208M         0B        68M       355M
-/+ buffers/cache:       1.3G       632M
Swap:         3.7G       153M       3.6G
定期检查输出
[rumenz@local ~]$ free -s 3

             total       used       free     shared    buffers     cached
Mem:       2028240    1824096     204144          0      70708     364180
-/+ buffers/cache:    1389208     639032
Swap:      3905532     157076    3748456

             total       used       free     shared    buffers     cached
Mem:       2028240    1824192     204048          0      70716     364212
-/+ buffers/cache:    1389264     638976
Swap:      3905532     157076    3748456

17、mysqldump命令

你应该已经从该命令的名称中了解了该命令的实际含义。mysqldump命令将所有或特定的数据库数据转储(备份)到给定的文件中。例如,

[rumenz@local ~]$ mysqldump -u root -p --all-databases > /home/server/Desktop/backupfile.sql
Note:mysqldump需要运行 mysql 并正确密码进行授权。我们已经介绍了一些有用的 mysqldump使用 mysqldump命令进行数据库备份的命令

18、mkpasswd命令

制作指定长度的难以猜测的随机密码。

[rumenz@local ~]$ mkpasswd -l 10

zI4+Ybqfx9
[rumenz@local ~]$ mkpasswd -l 20 

w0Pr7aqKk&hmbmqdrlmk
Note:-l 10生成一个随机密码10字符而-l 20生成字符密码20,它可以设置为任何以获得所需的结果。此命令非常有用,通常以脚本语言实现以生成随机密码。你可能需要yum或aptexpect' 包来使用这个命令。

[root@rumenz ~]# yum install expect 
OR
[root@rumenz ~]# apt-get install expect

19、paste命令

使用行合并两个或多个文本文件

[rumenz@local ~] cat rumenz1.txt                  #rumenz1.txt文件的内容  
1
2
3
[rumenz@local ~] cat rumenz2.txt                  #rumenz2.txt   文件的内容  
4
[rumenz@local ~] cat rumenz3.txt                  #rumenz3.txt文件的内容  
5
6
[rumenz@local ~] paste rumenz1.txt rumenz2.txt  rumenz3.txt   
1
2
3
4
5
6

20、lsof命令

lsof代表 list open files 并显示你的系统当前打开的所有文件。找出哪些进程使用某个文件或显示单个进程的所有文件非常有用。

[rumenz@local ~]$ lsof 

COMMAND     PID   TID            USER   FD      TYPE     DEVICE SIZE/OFF       NODE NAME
init          1                  root  cwd       DIR        8,1     4096          2 /
init          1                  root  rtd       DIR        8,1     4096          2 /
init          1                  root  txt       REG        8,1   227432     395571 /sbin/init
...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈小c

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值