在第一部分文章中我們討論了那些都只是切換到 Linux 和linux新手所需的必要知識的用戶的命令。
第二篇文章中我們討論了中級用戶管理自己的系統所需要的命令。
接下來呢?在這篇文章中我將解釋管理Linux 服務器所需的一些命令。
41. 命令: ifconfig
ifconfig用來配置常駐內核的網絡接口信息。在系統啓動必要時用來設置網絡適配器的信息。之後,它通常是只需要在調試時或當系統需要調整時使用。
檢查活動網絡適配器
01 |
[avishek@tecmint
~]$ ifconfig |
02 |
03 |
eth0
Link encap:Ethernet HWaddr 40:2C:F4:EA:CF:0E |
04 |
inet
addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0 |
05 |
inet6
addr: fe80::422c:f4ff:feea:cf0e/64 Scope:Link |
06 |
UP
BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 |
07 |
RX
packets:163843 errors:0 dropped:0 overruns:0 frame:0 |
08 |
TX
packets:124990 errors:0 dropped:0 overruns:0 carrier:0 |
09 |
collisions:0
txqueuelen:1000 |
10 |
RX
bytes:154389832 (147.2 MiB) TX bytes:65085817 (62.0 MiB) |
11 |
Interrupt:20
Memory:f7100000-f7120000 |
12 |
13 |
lo
Link encap:Local Loopback |
14 |
inet
addr:127.0.0.1 Mask:255.0.0.0 |
15 |
inet6
addr: ::1/128 Scope:Host |
16 |
UP
LOOPBACK RUNNING MTU:16436 Metric:1 |
17 |
RX
packets:78 errors:0 dropped:0 overruns:0 frame:0 |
18 |
TX
packets:78 errors:0 dropped:0 overruns:0 carrier:0 |
19 |
collisions:0
txqueuelen:0 |
20 |
RX
bytes:4186 (4.0 KiB) TX bytes:4186 (4.0 KiB) |
檢查所有的網絡適配器
“-a”參數用來顯示所有網絡適配器(網卡)的詳細信息,包括那些停用的適配器。
01 |
[avishek@tecmint
~]$ ifconfig -a |
02 |
03 |
eth0
Link encap:Ethernet HWaddr 40:2C:F4:EA:CF:0E |
04 |
inet
addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0 |
05 |
inet6
addr: fe80::422c:f4ff:feea:cf0e/64 Scope:Link |
06 |
UP
BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 |
07 |
RX
packets:163843 errors:0 dropped:0 overruns:0 frame:0 |
08 |
TX
packets:124990 errors:0 dropped:0 overruns:0 carrier:0 |
09 |
collisions:0
txqueuelen:1000 |
10 |
RX
bytes:154389832 (147.2 MiB) TX bytes:65085817 (62.0 MiB) |
11 |
Interrupt:20
Memory:f7100000-f7120000 |
12 |
13 |
lo
Link encap:Local Loopback |
14 |
inet
addr:127.0.0.1 Mask:255.0.0.0 |
15 |
inet6
addr: ::1/128 Scope:Host |
16 |
UP
LOOPBACK RUNNING MTU:16436 Metric:1 |
17 |
RX
packets:78 errors:0 dropped:0 overruns:0 frame:0 |
18 |
TX
packets:78 errors:0 dropped:0 overruns:0 carrier:0 |
19 |
collisions:0
txqueuelen:0 |
20 |
RX
bytes:4186 (4.0 KiB) TX bytes:4186 (4.0 KiB) |
21 |
22 |
virbr0
Link encap:Ethernet HWaddr 0e:30:a3:3a:bf:03 |
23 |
inet
addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0 |
24 |
UP
BROADCAST MULTICAST MTU:1500 Metric:1 |
25 |
RX
packets:0 errors:0 dropped:0 overruns:0 frame:0 |
26 |
TX
packets:0 errors:0 dropped:0 overruns:0 carrier:0 |
27 |
collisions:0
txqueuelen:0 |
28 |
RX
bytes:0 (0.0 B) TX bytes:0 (0.0 B) |
停用網絡適配器
1 |
[avishek@tecmint
~]$ ifconfig eth0
down |
啓用網絡適配器
1 |
[avishek@tecmint
~]$ ifconfig eth0
up |
指定IP地址到網絡適配器
爲網絡適配器eth0設定IP地址“192.168.1.12”.
1 |
[avishek@tecmint
~]$ ifconfig eth0
192.168.1.12 |
更改網絡適配器eth0的子網掩碼
1 |
[avishek@tecmint
~]$ ifconfig eth0
netmask 255.255.255. |
更改網絡適配器eth0的廣播地址
1 |
[avishek@tecmint
~]$ ifconfig eth0
broadcast 192.168.1.255 |
爲網絡適配器eth0指定IP地址,子網掩碼,廣播地址
1 |
[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命令顯示各種網絡相關的信息,如網絡連接,路由表,接口統計,僞裝連接,組播成員身份等....
列出所有的網絡端口
01 |
[avishek@tecmint
~]$ netstat -a |
02 |
03 |
Active
UNIX domain sockets (servers and established) |
04 |
Proto
RefCnt Flags Type State I-Node Path |
05 |
unix
2 [ ACC ] STREAM LISTENING 741379 /run/user/user1/keyring-I5cn1c/gpg |
06 |
unix
2 [ ACC ] STREAM LISTENING 8965 /var/run/acpid.socket |
07 |
unix
2 [ ACC ] STREAM LISTENING 18584 /tmp/.X11-unix/X0 |
08 |
unix
2 [ ACC ] STREAM LISTENING 741385 /run/user/user1/keyring-I5cn1c/ ssh |
09 |
unix
2 [ ACC ] STREAM LISTENING 741387 /run/user/user1/keyring-I5cn1c/pkcs11 |
10 |
unix
2 [ ACC ] STREAM LISTENING 20242 @/tmp/dbus-ghtTjuPN46 |
11 |
unix
2 [ ACC ] STREAM LISTENING 13332 /var/run/samba/winbindd_privileged/pipe |
12 |
unix
2 [ ACC ] STREAM LISTENING 13331 /tmp/.winbindd/pipe |
13 |
unix
2 [ ACC ] STREAM LISTENING 11030 /var/run/mysqld/mysqld.sock |
14 |
unix
2 [ ACC ] STREAM LISTENING 19308 /tmp/ ssh -qnZadSgJAbqd/agent.3221 |
15 |
unix
2 [ ACC ] STREAM LISTENING 436781 /tmp/HotShots |
16 |
unix
2 [ ACC ] STREAM LISTENING 46110 /run/user/ravisaive/pulse/native |
17 |
unix
2 [ ACC ] STREAM LISTENING 19310 /tmp/gpg-zfE9YT/S.gpg-agent |
18 |
.... |
顯示所有tcp相關端口
01 |
[avishek@tecmint
~]$ netstat -at |
02 |
03 |
Active
Internet connections (servers and established) |
04 |
Proto
Recv-Q Send-Q Local Address Foreign Address State |
05 |
tcp
0 0 localhost:mysql *:* LISTEN |
06 |
tcp
0 0 *:5901 *:* LISTEN |
07 |
tcp
0 0 *:5902 *:* LISTEN |
08 |
tcp
0 0 *:x11-1 *:* LISTEN |
09 |
tcp
0 0 *:x11-2 *:* LISTEN |
10 |
tcp
0 0 *:5938 *:* LISTEN |
11 |
tcp
0 0 localhost:5940 *:* LISTEN |
12 |
tcp
0 0 ravisaive-OptiPl:domain *:* LISTEN |
13 |
tcp
0 0 ravisaive-OptiPl:domain *:* LISTEN |
14 |
tcp
0 0 localhost:ipp *:* LISTEN |
15 |
tcp
0 0 ravisaive-OptiPle:48270 ec2-23-21-236-70.c:http ESTABLISHED |
16 |
tcp
0 0 ravisaive-OptiPle:48272 ec2-23-21-236-70.c:http TIME_WAIT |
17 |
tcp
0 0 ravisaive-OptiPle:48421 bom03s01- in -f22.1:https
ESTABLISHED |
18 |
tcp
0 0 ravisaive-OptiPle:48269 ec2-23-21-236-70.c:http ESTABLISHED |
19 |
tcp
0 0 ravisaive-OptiPle:39084 channel-ecmp-06-f:https ESTABLISHED |
20 |
... |
顯示所有連接的統計信息
01 |
[avishek@tecmint
~]$ netstat -s |
02 |
03 |
Ip: |
04 |
4994239
total packets received |
05 |
0
forwarded |
06 |
0
incoming packets discarded |
07 |
4165741
incoming packets delivered |
08 |
3248924
requests sent out |
09 |
8
outgoing packets dropped |
10 |
Icmp: |
11 |
29460
ICMP messages received |
12 |
566
input ICMP message failed. |
13 |
ICMP
input histogram: |
14 |
destination
unreachable: 98 |
15 |
redirects:
29362 |
16 |
2918
ICMP messages sent |
17 |
0
ICMP messages failed |
18 |
ICMP
output histogram: |
19 |
destination
unreachable: 2918 |
20 |
IcmpMsg: |
21 |
InType3:
98 |
22 |
InType5:
29362 |
23 |
OutType3:
2918 |
24 |
Tcp: |
25 |
94533
active connections openings |
26 |
23
passive connection openings |
27 |
5870
failed connection attempts |
28 |
7194
connection resets received |
29 |
.... |
好的!由於某些原因如果你不想解析netstat 輸出的主機、端口和用戶名稱的話 。
1 |
[avishek@tecmint
~]$ netstat -an |
好,你可能需要獲取的 netstat 持續輸出的動態信息,通過傳遞中斷輸出指令 (ctrl + c)來停止。
1 |
[avishek@tecmint
~]$ netstat -c |
更多關於“netstat”的例子和使用方法,瀏覽文章“20個netstat 的使用案例”。
43. 命令: nslookup
網絡實用程序,用於獲得互聯網服務器的信息。顧名思義,該實用程序將發現通過查詢 DNS 域的名稱服務器信息。
1 |
[avishek@tecmint
~]$ nslookup tecmint.com |
2 |
3 |
Server:
192.168.1.1 |
4 |
Address:
192.168.1.1 #53 |
5 |
6 |
Non-authoritative
answer: |
7 |
Name:
tecmint.com |
8 |
Address:
50.16.67.239 |
查詢 郵件 交換器 記錄
01 |
[avishek@tecmint
~]$ nslookup -query=mx
tecmint.com |
02 |
03 |
Server:
192.168.1.1 |
04 |
Address:
192.168.1.1 #53 |
05 |
06 |
Non-authoritative
answer: |
07 |
tecmint.com
mail exchanger = 0 smtp.secureserver.net. |
08 |
tecmint.com
mail exchanger = 10 mailstore1.secureserver.net. |
09 |
10 |
Authoritative
answers can be found from: |
查詢域名服務器
01 |
[avishek@tecmint
~]$ nslookup - type =ns
tecmint.com |
02 |
03 |
Server:
192.168.1.1 |
04 |
Address:
192.168.1.1 #53 |
05 |
06 |
Non-authoritative
answer: |
07 |
tecmint.com
nameserver = ns3404.com. |
08 |
tecmint.com
nameserver = ns3403.com. |
09 |
10 |
Authoritative
answers can be found from: |
查詢DNS記錄
01 |
[avishek@tecmint
~]$ nslookup - type =any
tecmint.com |
02 |
03 |
Server:
192.168.1.1 |
04 |
Address:
192.168.1.1 #53 |
05 |
06 |
Non-authoritative
answer: |
07 |
tecmint.com
mail exchanger = 10 mailstore1.secureserver.net. |
08 |
tecmint.com
mail exchanger = 0 smtp.secureserver.net. |
09 |
tecmint.com
nameserver = ns06.domaincontrol.com. |
10 |
tecmint.com
nameserver = ns3404.com. |
11 |
tecmint.com
nameserver = ns3403.com. |
12 |
tecmint.com
nameserver = ns05.domaincontrol.com. |
13 |
14 |
Authoritative
answers can be found from: |
查詢 起始 授權機構
01 |
[avishek@tecmint
~]$ nslookup - type =soa
tecmint.com |
02 |
03 |
Server:
192.168.1.1 |
04 |
Address:
192.168.1.1 #53 |
05 |
06 |
Non-authoritative
answer: |
07 |
tecmint.com |
08 |
origin
= ns3403.hostgator.com |
09 |
mail
addr = dnsadmin.gator1702.hostgator.com |
10 |
serial
= 2012081102 |
11 |
refresh
= 86400 |
12 |
retry
= 7200 |
13 |
expire
= 3600000 |
14 |
minimum
= 86400 |
15 |
16 |
Authoritative
answers can be found from: |
查詢端口號
更改使用你想要連接的端口號
1 |
[avishek@tecmint
~]$ nslookup -port
56 tecmint.com |
2 |
3 |
Server:
tecmint.com |
4 |
Address:
50.16.76.239 #53 |
5 |
6 |
Name:
56 |
7 |
Address:
14.13.253.12 |
更多閱讀 8個Nslookup 命令
44. 命令: dig
dig是查詢DNS 域名服務器的工具,可以查詢的主機地址、 郵件交流、 域名服務器相關的信息。在任何 Linux (Unix) 或 Macintosh OS X 操作系統上,都可以使用該工具。dig的最典型的用法是單個主機的查詢。
1 |
[avishek@tecmint
~]$ dig tecmint.com |
2 |
3 |
;
<<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> tecmint.com |
4 |
;;
global options: +cmd |
5 |
;;
Got answer: |
6 |
;;
->>HEADER< |
關閉註釋行
01 |
[avishek@tecmint
~]$ dig tecmint.com
+nocomments |
02 |
03 |
;
<<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> tecmint.com +nocomments |
04 |
;;
global options: +cmd |
05 |
;tecmint.com.
IN A |
06 |
tecmint.com.
14400 IN A 40.216.66.239 |
07 |
;;
Query time :
418 msec |
08 |
;;
SERVER: 192.168.1.1 #53(192.168.1.1) |
09 |
;;
WHEN: Sat Jun 29 13:53:22 2013 |
10 |
;;
MSG SIZE rcvd: 45 |
關閉認證塊
1 |
[avishek@tecmint
~]$ dig tecmint.com
+noauthority |
2 |
3 |
;
<<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> tecmint.com +noauthority |
4 |
;;
global options: +cmd |
5 |
;;
Got answer: |
6 |
;;
->>HEADER< |
關閉 其他 塊
1 |
[avishek@tecmint
~]$ dig tecmint.com
+noadditional |
2 |
3 |
;
<<>> DiG 9.9.2-P1 <<>> tecmint.com +noadditional |
4 |
;;
global options: +cmd |
5 |
;;
Got answer: |
6 |
;;
->>HEADER< |
關閉 統計塊
1 |
[avishek@tecmint
~]$ dig tecmint.com
+nostats |
2 |
3 |
;
<<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> tecmint.com +nostats |
4 |
;;
global options: +cmd |
5 |
;;
Got answer: |
6 |
;;
->>HEADER< |
關閉回覆塊
1 |
[avishek@tecmint
~]$ dig tecmint.com
+noanswer |
2 |
3 |
;
<<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> tecmint.com +noanswer |
4 |
;;
global options: +cmd |
5 |
;;
Got answer: |
6 |
;;
->>HEADER< |
關閉所有塊
1 |
[avishek@tecmint
~]$ dig tecmint.com
+noall |
2 |
3 |
;
<<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> tecmint.com +noall |
4 |
;;
global options: +cmd |
45.命令: uptime
你連接到你的 Linux 服務器時發現一些不尋常或惡意的東西,你會做什麼?猜測......不,絕不!你可以運行uptime來驗證當服務器無人值守式到底發生了什麼事情。
1 |
[avishek@tecmint
~]$ uptime |
2 |
3 |
14:37:10
up 4:21, 2 users ,
load average: 0.00, 0.00, 0.04 |
46. 命令: wall
對系統管理員來說一個最重要的命令.wall發送一條消息到大家登錄端將其 mesg 權限設置爲"yes"。這條信息可以被wall作爲參數,或者可以將它作爲wall的標準輸入。
1 |
[avishek@tecmint
~]$ wall "we
will be going down for maintenance for one hour sharply at 03:30 pm" |
2 |
3 |
Broadcast
message from [email protected] (pts/0) (Sat Jun 29 14:44:02 2013): |
4 |
5 |
we
will be going down for maintenance for one
hour sharply at 03:30 pm |
47. 命令: mesg
其他人們可以使用"wtrite"命令,將在在向您發送文本到屏幕上。你可以控制是否顯示。
1 |
mesg
[<strong>n</strong>|<strong>y</strong>] <strong>n</strong> - prevents the message f |
48. 命令: write
如果 'mesg' 是 'y',讓你的文本直接發送到另一臺 Linux 機器的屏幕。.
1 |
[avishek@tecmint
~]$ write ravisaive |
49. 命令: talk
增強的write命令,talk命令可讓你與其他登錄的用戶交談。
1 |
[avishek@tecmint
~]$ talk ravisaive |
註釋: 如果 talk 命令沒安裝的話,可以通過apt 或yum 安裝所需的包.
1 |
[avishek@tecmint
~]$ yum install talk |
2 |
OR |
3 |
[avishek@tecmint
~]$ apt-get install talk |
50. 命令:w
是否覺得命令'w'很滑稽?但是事實上不是的。它是一個命令,儘管只有一個字符長!命令"w"是uptime和who命令,以前後的順序組合在一起。
1 |
[avishek@tecmint
~]$ w |
2 |
3 |
15:05:42
up 4:49, 3 users ,
load average: 0.02, 0.01, 0.00 |
4 |
USER
TTY FROM LOGIN@ IDLE JCPU PCPU WHAT |
5 |
server
tty7 :0 14:06 4:43m 1:42 0.08s pam: gdm-passwo |
6 |
server
pts/0 :0.0 14:18 0.00s 0.23s 1.65s gnome-terminal |
7 |
server
pts/1 :0.0 14:47 4:43 0.01s 0.01s bash |
51. 命令: rename
見名知意,這個命令重命名文件。rename將會通過從文件名的首字符開始替換,重命名爲指定的文件名。
1 |
Give
the file names
a1, a2, a3, a4.....1213 |
僅僅寫這些命令:[@Lesus 注: 在Ubuntu上不支持這種格式, rename與mv不同的是,rename可以批量修改,如同帶了while的mv操作。]
1 |
rename
a1 a0 a? |
2 |
rename
a1 a0 a?? |
52. 命令: top
顯示CPU進程信息。這個命令自動刷新,默認是持續顯示CPU進程信息,除非使用了中斷指令。
01 |
[avishek@tecmint
~]$ top |
02 |
03 |
top -
14:06:45 up 10 days, 20:57, 2 users ,
load average: 0.10, 0.16, 0.21 |
04 |
Tasks:
240 total, 1 running, 235 sleeping, 0 stopped, 4 zombie |
05 |
%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 |
06 |
KiB
Mem: 2028240 total, 1777848 used, 250392 free ,
81804 buffers |
07 |
KiB
Swap: 3905532 total, 156748 used, 3748784 free ,
381456 cached |
08 |
09 |
PID
USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND |
10 |
23768
ravisaiv 20 0 1428m 571m 41m S 2.3 28.9 14:27.52 firefox |
11 |
24182
ravisaiv 20 0 511m 132m 25m S 1.7 6.7 2:45.94 plugin-containe |
12 |
26929
ravisaiv 20 0 5344 1432 972 R 0.7 0.1 0:00.07 top |
13 |
24875
ravisaiv 20 0 263m 14m 10m S 0.3 0.7 0:02.76 lxterminal |
14 |
1
root 20 0 3896 1928 1228 S 0.0 0.1 0:01.62 init |
15 |
2
root 20 0 0 0 0 S 0.0 0.0 0:00.06 kthreadd |
16 |
3
root 20 0 0 0 0 S 0.0 0.0 0:17.28 ksoftirqd/0 |
17 |
5
root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H |
18 |
7
root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/u:0H |
19 |
8
root rt 0 0 0 0 S 0.0 0.0 0:00.12 migration/0 |
20 |
9
root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh |
21 |
10
root 20 0 0 0 0 S 0.0 0.0 0:26.94 rcu_sched |
22 |
11
root rt 0 0 0 0 S 0.0 0.0 0:01.95 watchdog/0 |
23 |
12
root rt 0 0 0 0 S 0.0 0.0 0:02.00 watchdog/1 |
24 |
13
root 20 0 0 0 0 S 0.0 0.0 0:17.80 ksoftirqd/1 |
25 |
14
root rt 0 0 0 0 S 0.0 0.0 0:00.12 migration/1 |
26 |
16
root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/1:0H |
27 |
17
root 0 -20 0 0 0 S 0.0 0.0 0:00.00 cpuset |
28 |
18
root 0 -20 0 0 0 S 0.0 0.0 0:00.00 khelper |
29 |
19
root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs |
30 |
20
root 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns |
31 |
21
root 20 0 0 0 0 S 0.0 0.0 0:00.04 bdi-default |
32 |
22
root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kintegrityd |
33 |
23
root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kblockd |
34 |
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文件系統,如果這個命令後面跟的是個錯誤的設備,那麼整個設備就會被擦除和格式化,所以建議不要運行這個命令,除非你清楚自己正在幹什麼。
1 |
Mkfs.ext4
/dev/sda1 (sda1 block will be formatted) |
2 |
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 編輯器:
1 |
[avishek@tecmint
~]$ touch a.txt
(創建一個名爲a.txt的文本文件) |
2 |
[avishek@tecmint
~]$ vi a.txt
(用 vi 打開a.txt) |
[按下‘i’鍵進入插入模式, 否則你不能輸入任何內容]
1 |
echo "Hello" (這裏的文本會存到文件中) |
- alt+x (退出插入模式, 記得在最後的字符間留有一些空格.
- ctrl+x 命令或你上一個單詞將被刪除).
- :wq! (以當前的文本保存文件, 記住‘!’ 是覆蓋的意思).
nano 編輯器:
1 |
[avishek@tecmint
~]$ nano a.txt (用nano打開 a.txt) |
1 |
edit,
with the content, required |
ctrl +x (關閉編輯器).它會顯示如下的提示輸出信息:
1 |
Save
modified buffer (ANSWERING "No" WILL
DESTROY CHANGES) ? |
2 |
Y
Yes |
3 |
N
No ^C Cancel |
點擊‘y’ 選擇 yes 並輸入文件名,就完成編輯了.
55. 命令: rsync
Rsync複製文件,參數-P開啓進度條。如果你已經安裝了rsync,你可以使用一個簡單的別名。
1 |
alias cp = 'rsync
-aP' |
現在嘗試在終端複製一個大文件,這樣將會看到顯示剩餘部分的輸出,與進度條類似。
而且,保持和維護備份是系統管理員不得不做的最重要、最無聊的工作之一。Rsync是一個用於新建和維護備份的非常好用的終端工具(也存在許多其它工具)。
1 |
[avishek@tecmint
~]$ rsync -zvr
IMG_5267\ copy\=33\ copy\=ok.jpg ~/Desktop/ |
2 |
3 |
sending
incremental file list |
4 |
IMG_5267
copy=33 copy=ok.jpg |
5 |
6 |
sent
2883830 bytes received 31 bytes 5767722.00 bytes/sec |
7 |
total
size is 2882771 speedup is 1.00 |
注意: -z表示壓縮, -v表示詳細信息,-r表示遞歸。
56. 命令: free
跟蹤內存的使用和資源一樣重要,就像管理員執行的任何其它任務,可以使用 'free' 命令來在這裏救援.
當前內存使用狀態Current Usage Status of Memory
1 |
[avishek@tecmint
~]$ free |
2 |
3 |
total
used free shared
buffers cached |
4 |
Mem:
2028240 1788272 239968 0 69468 363716 |
5 |
-/+
buffers/cache: 1355088 673152 |
6 |
Swap:
3905532 157076 3748456 |
設置輸出單位爲KB,MB或GB
1 |
[avishek@tecmint
~]$ free -b |
2 |
3 |
total
used free shared
buffers cached |
4 |
Mem:
2076917760 1838272512 238645248 0 71348224 372670464 |
5 |
-/+
buffers/cache: 1394253824 682663936 |
6 |
Swap:
3999264768 160845824 3838418944 |
1 |
[avishek@tecmint
~]$ free -k |
2 |
3 |
total
used free shared
buffers cached |
4 |
Mem:
2028240 1801484 226756 0 69948 363704 |
5 |
-/+
buffers/cache: 1367832 660408 |
6 |
Swap:
3905532 157076 3748456 |
1 |
[avishek@tecmint
~]$ free -m |
2 |
3 |
total
used free shared
buffers cached |
4 |
Mem:
1980 1762 218 0 68 355 |
5 |
-/+
buffers/cache: 1338 641 |
6 |
Swap:
3813 153 3660 |
1 |
[avishek@tecmint
~]$ free -g |
2 |
3 |
total
used free shared
buffers cached |
4 |
Mem:
1 1 0 0 0 0 |
5 |
-/+
buffers/cache: 1 0 |
6 |
Swap:
3 0 3 |
以可讀的格式顯示,檢查當前內存使用
1 |
[avishek@tecmint
~]$ free -h |
2 |
3 |
total
used free shared
buffers cached |
4 |
Mem:
1.9G 1.7G 208M 0B 68M 355M |
5 |
-/+
buffers/cache: 1.3G 632M |
6 |
Swap:
3.7G 153M 3.6G |
設定 時間間隔 後 ,持續檢查 使用狀態
01 |
[avishek@tecmint
~]$ free -s
3 |
02 |
03 |
total
used free shared
buffers cached |
04 |
Mem:
2028240 1824096 204144 0 70708 364180 |
05 |
-/+
buffers/cache: 1389208 639032 |
06 |
Swap:
3905532 157076 3748456 |
07 |
08 |
total
used free shared
buffers cached |
09 |
Mem:
2028240 1824192 204048 0 70716 364212 |
10 |
-/+
buffers/cache: 1389264 638976 |
11 |
Swap:
3905532 157076 3748456 |
閱讀更多10個Free命令使用實例
57. mysqldump 命令
好了,現在你從名字上就能明白這個命令所代表的作用。mysqldump 命令會轉儲(備份)數據庫的全部或特定一部分數據到一個給定的文件中。例如:
1 |
[avishek@tecmint
~]$ mysqldump -u root -p --all-databases > /home/server/Desktop/backupfile.sql |
注意: mysqldump 需要 mysql 在運行中並且有正確的授權密碼。我們在 用mysqldump命令備份數據庫中討論了一些有用的 “mysqldump” 命令用法。
58. mkpasswd 命令
根據指定的長度,產生一個難猜的隨機密碼。
1 |
[avishek@tecmint
~]$ mkpasswd -l 10 |
2 |
3 |
zI4+Ybqfx9 |
1 |
[avishek@tecmint
~]$ mkpasswd -l 20 |
2 |
3 |
w0Pr7aqKk&hmbmqdrlmk |
注意: -l 10 產生一個10個字符的隨機密碼,而-l 20 產生 20個字符的密碼,它可以設置爲任意長度來取得所希望的結果。這個命令很有用,經常在腳本語言裏使用來產生隨機的密碼。你可能需要 yum 或 apt ‘expect’ 包來使用這個命令。
1 |
[avishek@tecmint
~]$ yum install expect |
2 |
或 |
3 |
[avishek@tecmint
~]$ apt-get install expect |
59. Command: paste
合併兩個或多個文本文件,按行來進行合併。示例。如果 file1 的內容是:
01 |
1 |
02 |
2 |
03 |
3 |
04 |
05 |
file2
是這樣的: |
06 |
07 |
a |
08 |
b |
09 |
c |
10 |
d |
11 |
<pre
class= "brush:shell" >[avishek@tecmint
~]$ paste file1
file2 > file3</pre> |
12 |
<br> |
13 |
結果file3將是: |
14 |
1
a |
15 |
2
b |
16 |
3
c |
17 |
d |
60.Command: lsof
lsof 是"list open files("列表中打開的文件") 的縮寫,顯示您的系統當前已打開的所有文件。這是非常有用的對於想找出哪些進程使用某一特定文件,或顯示爲單個進程打開所有文件。一些有用的 10 個lsof 命令示例,你可能會感興趣閱讀。
01 |
[avishek@tecmint
~]$ lsof |
02 |
03 |
COMMAND
PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME |
04 |
init
1 root cwd DIR 8,1 4096 2 / |
05 |
init
1 root rtd DIR 8,1 4096 2 / |
06 |
init
1 root txt REG 8,1 227432 395571 /sbin/init |
07 |
init
1 root mem REG 8,1 47080 263023 /lib/i386-linux-gnu/libnss_files-2.17.so |
08 |
init
1 root mem REG 8,1 42672 270178 /lib/i386-linux-gnu/libnss_nis-2.17.so |
09 |
init
1 root mem REG 8,1 87940 270187 /lib/i386-linux-gnu/libnsl-2.17.so |
10 |
init
1 root mem REG 8,1 30560 263021 /lib/i386-linux-gnu/libnss_compat-2.17.so |
11 |
init
1 root mem REG 8,1 124637 270176 /lib/i386-linux-gnu/libpthread-2.17.so |
12 |
init
1 root mem REG 8,1 1770984 266166 /lib/i386-linux-gnu/libc-2.17.so |
13 |
init
1 root mem REG 8,1 30696 262824 /lib/i386-linux-gnu/librt-2.17.so |
14 |
init
1 root mem REG 8,1 34392 262867 /lib/i386-linux-gnu/libjson.so.0.1.0 |
15 |
init
1 root mem REG 8,1 296792 262889 /lib/i386-linux-gnu/libdbus-1.so.3.7.2 |
16 |
init
1 root mem REG 8,1 34168 262840 /lib/i386-linux-gnu/libnih-dbus.so.1.0.0 |
17 |
init
1 root mem REG 8,1 95616 262848 /lib/i386-linux-gnu/libnih.so.1.0.0 |
18 |
init
1 root mem REG 8,1 134376 270186 /lib/i386-linux-gnu/ld-2.17.so |
19 |
init
1 root 0u CHR 1,3 0t0 1035 /dev/null |
20 |
init
1 root 1u CHR 1,3 0t0 1035 /dev/null |
21 |
init
1 root 2u CHR 1,3 0t0 1035 /dev/null |
22 |
init
1 root 3r FIFO 0,8 0t0 1714 pipe |
23 |
init
1 root 4w FIFO 0,8 0t0 1714 pipe |
24 |
init
1 root 5r 0000 0,9 0 6245 anon_inode |
25 |
init
1 root 6r 0000 0,9 0 6245 anon_inode |
26 |
init
1 root 7u unix 0xf5e91f80 0t0 8192 @/com/ubuntu/upstart |
27 |
init
1 root 8w REG 8,1 3916 394 /var/log/upstart/teamviewerd.log.1 (deleted) |
這裏並沒有結束,系統管理員會很多東西,爲你提供漂亮的界面,服務於你的工作。系統管理實際上是學習和實現的一門優雅的藝術。我們會盡力給你介紹 linux 專業人員必須瞭解的知識以及一些其他必要東西,linux本身是基礎的,簡單的。深入理解是不斷學習的過程。你的美言好詞總是在不斷鼓勵我們寫出更多的優秀,豐富的文章。"喜之以分享,助我來傳播"。