谢谢你你给了我们在这篇文章前两个部分的喜欢,美言和支持。在第一部分文章中我们讨论了那些都只是切换到 Linux 和linux新手所需的必要知识的用户的命令。
第二篇文章中我们讨论了中级用户管理自己的系统所需要的命令。
接下来呢?在这篇文章中我将解释管理 Linux 服务器所需的一些命令。
41. 命令: ifconfig
ifconfig用来配置常驻内核的网络接口信息。在系统启动必要时用来设置网络适配器的信息。之后,它通常是只需要在调试时或当系统需要调整时使用。
检查活动网络适配器
[avishek@tecmint ~]$ 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)
检查所有的网络适配器
“-a”参数用来显示所有网络适配器(网卡)的详细信息,包括那些停用的适配器。
[avishek@tecmint ~]$ 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
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)
virbr0 Link encap:Ethernet HWaddr 0e:30:a3:3a:bf:03
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
停用网络适配器
[avishek@tecmint ~]$ ifconfig eth0 down
启用网络适配器
[avishek@tecmint ~]$ ifconfig eth0 up
指定IP地址到网络适配器
为网络适配器eth0设定IP地址“192.168.1.12”.
[avishek@tecmint ~]$ ifconfig eth0 192.168.1.12
更改网络适配器eth0的子网掩码
[avishek@tecmint ~]$ ifconfig eth0 netmask 255.255.255.
更改网络适配器eth0的广播地址
[avishek@tecmint ~]$ ifconfig eth0 broadcast 192.168.1.255
为网络适配器eth0指定IP地址,子网掩码,广播地址
[avishek@tecmint ~]$ ifconfig eth0 192.168.1.12 netmask 255.255.255.0 broadcast 192.168.1.255
注Note: 如果你设置一块无线网卡的信息,你可以使用的命令是“iwconfig”.欲知更多ifconfig命令的例子和使用方法,读“15个有用的ifconfig 命令”.
42. 命令: netstat
netstat命令显示各种网络相关的信息,如网络连接,路由表,接口统计,伪装连接,组播成员身份等....
列出所有的网络端口
[avishek@tecmint ~]$ 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
....
显示所有tcp相关端口
[avishek@tecmint ~]$ 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
...
显示所有连接的统计信息
[avishek@tecmint ~]$ 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 输出的主机、端口和用户名称的话 。
[avishek@tecmint ~]$ netstat -an
好,你可能需要获取的 netstat 持续输出的动态信息,通过传递中断输出指令 (ctrl + c)来停止。
[avishek@tecmint ~]$ netstat -c
更多关于“netstat”的例子和使用方法,浏览文章“20个netstat 的使用案例”。
43. 命令: nslookup
网络实用程序,用于获得互联网服务器的信息。顾名思义,该实用程序将发现通过查询 DNS 域的名称服务器信息。
[avishek@tecmint ~]$ nslookup tecmint.com
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
Name: tecmint.com
Address: 50.16.67.239
查询
邮件
交换器
记录
[avishek@tecmint ~]$ nslookup -query=mx tecmint.com
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
tecmint.com mail exchanger = 0 smtp.secureserver.net.
tecmint.com mail exchanger = 10 mailstore1.secureserver.net.
Authoritative answers can be found from:
查询域名服务器
[avishek@tecmint ~]$ nslookup -type=ns tecmint.com
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
tecmint.com nameserver = ns3404.com.
tecmint.com nameserver = ns3403.com.
Authoritative answers can be found from:
查询DNS记录
[avishek@tecmint ~]$ nslookup -type=any tecmint.com
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
tecmint.com mail exchanger = 10 mailstore1.secureserver.net.
tecmint.com mail exchanger = 0 smtp.secureserver.net.
tecmint.com nameserver = ns06.domaincontrol.com.
tecmint.com nameserver = ns3404.com.
tecmint.com nameserver = ns3403.com.
tecmint.com nameserver = ns05.domaincontrol.com.
Authoritative answers can be found from:
查询
起始
授权机构
[avishek@tecmint ~]$ nslookup -type=soa tecmint.com
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
tecmint.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:
查询端口号
更改使用你想要连接的端口号
[avishek@tecmint ~]$ nslookup -port 56 tecmint.com
Server: tecmint.com
Address: 50.16.76.239#53
Name: 56
Address: 14.13.253.12
更多阅读 8个Nslookup 命令
44. 命令: dig
dig是查询DNS 域名服务器的工具,可以查询的主机地址、 邮件交流、 域名服务器相关的信息。在任何 Linux (Unix) 或 Macintosh OS X 操作系统上,都可以使用该工具。dig的最典型的用法是单个主机的查询。
[avishek@tecmint ~]$ dig tecmint.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> tecmint.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<
关闭注释行
[avishek@tecmint ~]$ dig tecmint.com +nocomments
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> tecmint.com +nocomments
;; global options: +cmd
;tecmint.com. IN A
tecmint.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
关闭认证块
[avishek@tecmint ~]$ dig tecmint.com +noauthority
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> tecmint.com +noauthority
;; global options: +cmd
;; Got answer:
;; ->>HEADER<
关闭
其他
块
[avishek@tecmint ~]$ dig tecmint.com +noadditional
; <<>> DiG 9.9.2-P1 <<>> tecmint.com +noadditional
;; global options: +cmd
;; Got answer:
;; ->>HEADER<
关闭 统计块
[avishek@tecmint ~]$ dig tecmint.com +nostats
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> tecmint.com +nostats
;; global options: +cmd
;; Got answer:
;; ->>HEADER<
关闭回复块
[avishek@tecmint ~]$ dig tecmint.com +noanswer
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> tecmint.com +noanswer
;; global options: +cmd
;; Got answer:
;; ->>HEADER<
关闭所有块
[avishek@tecmint ~]$ dig tecmint.com +noall
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> tecmint.com +noall
;; global options: +cmd
45.命令: uptime
你连接到你的 Linux 服务器时发现一些不寻常或恶意的东西,你会做什么?猜测......不,绝不!你可以运行uptime来验证当服务器无人值守式到底发生了什么事情。
[avishek@tecmint ~]$ uptime
14:37:10 up 4:21, 2 users, load average: 0.00, 0.00, 0.04
46. 命令: wall
对系统管理员来说一个最重要的命令.wall发送一条消息到大家登录端将其 mesg 权限设置为"yes"。这条信息可以被wall作为参数,或者可以将它作为wall的标准输入。
[avishek@tecmint ~]$ 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
47. 命令: mesg
其他人们可以使用"wtrite"命令,将在在向您发送文本到屏幕上。你可以控制是否显示。
mesg [n|y] n - prevents the message from others popping up on the screen. y – Allows messages to appear on your screen.
48. 命令: write
如果 'mesg' 是 'y',让你的文本直接发送到另一台 Linux 机器的屏幕。.
[avishek@tecmint ~]$ write ravisaive
49. 命令: talk
增强的write命令,talk命令可让你与其他登录的用户交谈。
[avishek@tecmint ~]$ talk ravisaive
注释: 如果 talk 命令没安装的话,可以通过apt 或yum 安装所需的包.
[avishek@tecmint ~]$ yum install talk
OR
[avishek@tecmint ~]$ apt-get install talk
50. 命令:w
是否觉得命令'w'很滑稽?但是事实上不是的。它是一个命令,尽管只有一个字符长!命令"w"是uptime和who命令,以前后的顺序组合在一起。
[avishek@tecmint ~]$ 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
51. 命令: rename
见名知意,这个命令重命名文件。rename将会通过从文件名的首字符开始替换,重命名为指定的文件名。
Give the file names a1, a2, a3, a4.....1213
仅仅写这些命令:[@Lesus 注: 在Ubuntu上不支持这种格式, rename与mv不同的是,rename可以批量修改,如同带了while的mv操作。]
rename a1 a0 a?
rename a1 a0 a??
52. 命令: top
显示CPU进程信息。这个命令自动刷新,默认是持续显示CPU进程信息,除非使用了中断指令。
[avishek@tecmint ~]$ 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
另查看 12 TOP命令例子 ·[@Lesus 注:htop比top命令更好用,不过需要自己安装
]
53. 命令: mkfs.ext4
这个命令在指定的设备上创建一个新的ext4文件系统,如果这个命令后面跟的是个错误的设备,那么整个设备就会被擦除和格式化,所以建议不要运行这个命令,除非你清楚自己正在干什么。
Mkfs.ext4 /dev/sda1 (sda1 block will be formatted)
mkfs.ext4 /dev/sdb1 (sdb1 block will be formatted)
更多查看: Ext4是什么及怎么创建和转换
54. vi/emac/nano 命令
vi (visual), emac, nano 是 linux 中最常用的一些编辑器。它们经常用于编辑文本,配置,… 等文件. A quick guide to work around vi and nano is, emac is a.
vi 编辑器:
[avishek@tecmint ~]$ touch a.txt (创建一个名为a.txt的文本文件)
[avishek@tecmint ~]$ vi a.txt (用vi打开a.txt)
[按下‘i’键进入插入模式, 否则你不能输入任何内容]
echo "Hello" (这里的文本会存到文件中)
- alt+x (退出插入模式, 记得在最后的字符间留有一些空格.
- ctrl+x 命令或你上一个单词将被删除).
- :wq! (以当前的文本保存文件, 记住‘!’ 是覆盖的意思).
nano 编辑器:
[avishek@tecmint ~]$ nano a.txt (用nano打开 a.txt)
edit, with the content, required
ctrl +x (关闭编辑器).它会显示如下的提示输出信息:
Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ?
Y Yes
N No ^C Cancel
点击‘y’ 选择 yes 并输入文件名,就完成编辑了.