日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

【Linux 高级命令】

發布時間:2023/12/13 综合教程 27 生活家
生活随笔 收集整理的這篇文章主要介紹了 【Linux 高级命令】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、13個超實用的Linux性能監測命令行工具

http://os.51cto.com/art/201304/388673_all.htm

1. Top:監測Linux進程

Linux Top命令是一個性能監測程序,它經常被許多系統管理員用來監測Linux性能,在許多類似Linux/Unix的操作系統環境下都能找到。Top命令可用于顯示所有運行中和活動的實時進程(按順序排列),并且定期更新。它可顯示處理器使用情況、內存使用情況、交換內存、緩存大小、緩沖器大小、進程標識符(PID)、用戶、命令及更多的信息。它還顯示了某個運行中進程大量使用內存和處理器的情況。Top命令對系統管理員大有用處,可用來監測,需要時還可采取正確的行動。不妨看看Top命令的實際使用情況。

# top

Top命令示例

2. VmStat:顯示虛擬內存方面的統計信息

Linux VmStat命令用來顯示虛擬內存、內核線程、磁盤、系統進程、輸入/輸出塊、中斷、處理器活動及更多方面的統計信息。默認情況下,vmstat命令并不出現在Linux系統環境下,你需要安裝一個名為sysstat的程序包,該程序包里面含有一個vmstat程序。命令格式通常這樣使用:

# vmstat

procs -----------memory----------swap-- -----io---- --system-- -----cpu----

r b swpd free inact active si so bi bo in cs us sy id wa st

1 0 0 810420 97380 70628 0 0 115 4 89 79 1 6 90 3 0

3. Lsof:列出打開的文件

Lsof命令用于許多類似Linux/Unix的系統中,用來顯示所有打開的文件和進程。打開的文件包括:磁盤文件、網絡套接字、管道、設備和進程。使用這個命令的主要場合之一是,當磁盤無法卸載,顯示文件被使用或被打開這個錯誤信息時。有了這個命令,你很容易查明哪些文件在使用中。這個命令最常見的格式如下:

# lsof

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

init 1 root cwd DIR 104,2 4096 2 /

init1root rtd DIR104,2 4096 2 /

init1root txt REG104,238652 17710339 /sbin/init

init1root mem REG104,2129900 196453 /lib/ld-2.5.so

init1root mem REG104,21693812 196454 /lib/libc-2.5.so

init1root mem REG104,220668 196479 /lib/libdl-2.5.so

init1root mem REG104,2245376 196419 /lib/libsepol.so.1

init1root mem REG104,2 93508 196431 /lib/libselinux.so.1

init1root 10u FIFO0,17953 /dev/initctl

4. Tcpdump:網絡數據包分析器

Tcpdump是使用最廣泛的命令行網絡數據包分析器或數據包嗅探程序之一,用于捕捉或過濾在網絡上通過某個接口接收或傳輸的TCP/IP數據包。它還提供了這個選項:把捕捉到的數據包保存到一個文件中,供以后分析。Tcpdump幾乎出現在所有主要的Linux發行版環境下。

# tcpdump -i eth0

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

22:08:59.617628 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 2532133365:2532133481(116) ack 3561562349 win 9648

22:09:07.653466 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 116:232(116) ack 1 win 9648

22:08:59.617916 IP 115.113.134.3.static-mumbai.vsnl.net.in.28472 > tecmint.com.ssh: . ack 116 win 64347

5. Netstat:顯示網絡方面的統計信息

除了用于監測接口方面的統計信息外,Netstat這個命令行工具還用于監測進出的網絡數據包方面的統計信息。它對每個系統管理員來說是個很有用的工具,可用于監測網絡性能,并排查網絡相關問題。

# netstat -a | more

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 *:mysql *:* LISTEN

tcp 0 0 *:sunrpc *:* LISTEN

tcp 0 0 *:realm-rusd *:* LISTEN

tcp 0 0 *:ftp *:* LISTEN

tcp 0 0 localhost.localdomain:ipp *:* LISTEN

tcp 0 0 localhost.localdomain:smtp *:* LISTEN

tcp 0 0 localhost.localdomain:smtp localhost.localdomain:42709 TIME_WAIT

tcp 0 0 localhost.localdomain:smtp localhost.localdomain:42710 TIME_WAIT

tcp 0 0 *:http *:* LISTEN

tcp 0 0 *:ssh *:* LISTEN

tcp 0 0 *:https *:* LISTEN

6. Htop:監測Linux進程

Htop是一款非常先進的交互式實時Linux進程監測工具。它非常類似Linux top命令,但是有一些豐富的功能特性,比如易于使用的界面,可用于管理進程、快捷鍵、進程的垂直和水平視圖以及其他對象。Htop是一個第三方工具,并不包含在Linux系統中,你需要使用YUM程序包管理器工具來安裝它。想了解安裝方面的更多信息,請參閱本文。

# htop

Htop命令示例的屏幕截圖

7. Iotop:監測Linux磁盤的輸入/輸出

Iotop也非常類似top命令和Htop程序,但是它有記賬功能,可用于監測和顯示實時磁盤輸入/輸出及進程。這個工具非常有用,可用于查找具體的進程以及進程的頻繁使用的磁盤讀取/寫入操作。

# iotop

Iotop命令示例的屏幕截圖

8. Iostat:顯示輸入/輸出方面的統計信息

IoStat是款簡單的工具,可以收集和顯示系統輸入/輸出存儲設備方面的統計信息。這個工具經常用于追查存儲設備性能方面的問題,包括設備、本地磁盤和NFS等遠程磁盤。

# iostat

Linux 2.6.18-238.9.1.el5 (tecmint.com) 09/13/2012

avg-cpu: %user %nice %system %iowait %steal %idle

2.60 3.65 1.04 4.29 0.00 88.42

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn

cciss/c0d0 17.79 545.80 256.52 855159769 401914750

cciss/c0d0p1 0.00 0.00 0.00 5459 3518

cciss/c0d0p2 16.45 533.97 245.18 836631746 384153384

cciss/c0d0p3 0.63 5.58 3.97 8737650 6215544

cciss/c0d0p4 0.00 0.00 0.00 8 0

cciss/c0d0p5 0.63 3.79 5.03 5936778 7882528

cciss/c0d0p6 0.08 2.46 2.34 3847771 3659776

9. IPTraf:實時監測IP局域網

IPTraf是一個基于控制臺的開源實時網絡(IP LAN)監測實用工具,面向Linux。它可以收集通過網絡傳輸的眾多信息(比如IP流量監測器),包括TCP標記信息、ICMP詳細信息、TCP/UDP流量故障、TCP連接數據包以及字節計數。它還可以收集接口方面普通和詳細的統計信息,比如TCP、UDP、IP、ICMP、非IP、IP校驗和錯誤以及接口活動等。

IP流量監測器

10. psacct或acct:監測用戶活動

psacct或acct這兩個工具大有用處,可用于監測系統上每個用戶的活動。這兩個守護程序都在后臺運行,監測系統上每個用戶的總體活動,還監測它們在使用什么資源。

這些工具對系統管理員們來說大有用處,可用于跟蹤每個用戶的活動,比如用戶在從事什么操作,他們發出了什么命令,他們使用了多少資源,以及他們在系統上處于活動狀態已有多久,等等。

11. Monit:監測Linux進程和服務

Monit是一款免費的開源、基于Web的進程監測實用工具,可以自動監測和管理系統進程、程序、文件、目錄、許可權限、校驗和以及文件系統。

它可以監測Apache、MySQL、Mail、FTP、ProFTP、Nginx和SSH等服務。可以從命令行或使用其自己的Web界面來查看系統狀態。

Monit Linux進程監測

12. NetHogs:監測每個進程的網絡帶寬

NetHogs是一款優秀、小巧的開源程序(類似Linux top命令),可密切監測系統上每個進程的網絡活動。它還密切跟蹤每個程序或應用軟件所使用的實時網絡流量帶寬。

NetHogs Linux帶寬監測

13. iftop:監測網絡帶寬

iftop是另一款基于終端的免費開源系統監測實用工具,可顯示一份經常更新的列表,該列表顯示了通過系統上網絡接口的網絡帶寬使用情況。iftop通常用于監測網絡使用情況,就像top通常用于監測處理器使用情況。iftop是屬于top家族的工具,可監測某個所選擇的接口,并顯示兩個主機之間目前的帶寬使用情況。

Iftop:網絡帶寬監測

我們想知道各位使用哪種監測程序來監測Linux服務器的性能?要是我們遺漏了任何你希望我們補充進來的重要工具,請留言告知我們,歡迎分享。

二、20個對Linux專家非常有用命令

http://os.51cto.com/art/201308/406979_all.htm

1. 命令: ifconfig

ifconfig用來配置常駐內核的網絡接口信息。在系統啟動必要時用來設置網絡適配器的信息。之后,它通常是只需要在調試時或當系統需要調整時使用。

檢查活動網絡適配器

[avishek@tecmint~]$ifconfig
eth0Linkencap:EthernetHWaddr40:2C:F4:EA:CF:0E
inetaddr:192.168.1.3Bcast:192.168.1.255Mask:255.255.255.0
inet6addr:fe80::422c:f4ff:feea:cf0e/64Scope:Link
UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1
RXpackets:163843errors:0dropped:0overruns:0frame:0
TXpackets:124990errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:1000
RXbytes:154389832(147.2MiB)TXbytes:65085817(62.0MiB)
Interrupt:20Memory:f7100000-f7120000
loLinkencap:LocalLoopback
inetaddr:127.0.0.1Mask:255.0.0.0
inet6addr:::1/128Scope:Host
UPLOOPBACKRUNNINGMTU:16436Metric:1
RXpackets:78errors:0dropped:0overruns:0frame:0
TXpackets:78errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:0
RXbytes:4186(4.0KiB)TXbytes:4186(4.0KiB)

檢查所有的網絡適配器

“-a”參數用來顯示所有網絡適配器(網卡)的詳細信息,包括那些停用的適配器。

[avishek@tecmint~]$ifconfig-a
eth0Linkencap:EthernetHWaddr40:2C:F4:EA:CF:0E
inetaddr:192.168.1.3Bcast:192.168.1.255Mask:255.255.255.0
inet6addr:fe80::422c:f4ff:feea:cf0e/64Scope:Link
UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1
RXpackets:163843errors:0dropped:0overruns:0frame:0
TXpackets:124990errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:1000
RXbytes:154389832(147.2MiB)TXbytes:65085817(62.0MiB)
Interrupt:20Memory:f7100000-f7120000
loLinkencap:LocalLoopback
inetaddr:127.0.0.1Mask:255.0.0.0
inet6addr:::1/128Scope:Host
UPLOOPBACKRUNNINGMTU:16436Metric:1
RXpackets:78errors:0dropped:0overruns:0frame:0
TXpackets:78errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:0
RXbytes:4186(4.0KiB)TXbytes:4186(4.0KiB)
virbr0Linkencap:EthernetHWaddr0e:30:a3:3a:bf:03
inetaddr:192.168.122.1Bcast:192.168.122.255Mask:255.255.255.0
UPBROADCASTMULTICASTMTU:1500Metric:1
RXpackets:0errors:0dropped:0overruns:0frame:0
TXpackets:0errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:0
RXbytes:0(0.0B)TXbytes:0(0.0B)

停用網絡適配器

[avishek@tecmint~]$ifconfigeth0down

啟用網絡適配器

[avishek@tecmint~]$ifconfigeth0up

指定IP地址到網絡適配器

為網絡適配器eth0設定IP地址“192.168.1.12”.

[avishek@tecmint~]$ifconfigeth0192.168.1.12

更改網絡適配器eth0的子網掩碼:

[avishek@tecmint~]$ifconfigeth0netmask255.255.255.

更改網絡適配器eth0的廣播地址:

[avishek@tecmint~]$ifconfigeth0broadcast192.168.1.255

為網絡適配器eth0指定IP地址,子網掩碼,廣播地址:

[avishek@tecmint~]$ifconfigeth0192.168.1.12netmask255.255.255.0broadcast192.168.1.255

注Note: 如果你設置一塊無線網卡的信息,你可以使用的命令是“iwconfig”.欲知更多ifconfig命令的例子和使用方法,讀“15個有用的ifconfig 命令”。

2. 命令: netstat

netstat命令顯示各種網絡相關的信息,如網絡連接,路由表,接口統計,偽裝連接,組播成員身份等....

列出所有的網絡端口

[avishek@tecmint~]$netstat-a
ActiveUNIXdomainsockets(serversandestablished)
ProtoRefCntFlagsTypeStateI-NodePath
unix2[ACC]STREAMLISTENING741379/run/user/user1/keyring-I5cn1c/gpg
unix2[ACC]STREAMLISTENING8965/var/run/acpid.socket
unix2[ACC]STREAMLISTENING18584/tmp/.X11-unix/X0
unix2[ACC]STREAMLISTENING741385/run/user/user1/keyring-I5cn1c/ssh
unix2[ACC]STREAMLISTENING741387/run/user/user1/keyring-I5cn1c/pkcs11
unix2[ACC]STREAMLISTENING20242@/tmp/dbus-ghtTjuPN46
unix2[ACC]STREAMLISTENING13332/var/run/samba/winbindd_privileged/pipe
unix2[ACC]STREAMLISTENING13331/tmp/.winbindd/pipe
unix2[ACC]STREAMLISTENING11030/var/run/mysqld/mysqld.sock
unix2[ACC]STREAMLISTENING19308/tmp/ssh-qnZadSgJAbqd/agent.3221
unix2[ACC]STREAMLISTENING436781/tmp/HotShots
unix2[ACC]STREAMLISTENING46110/run/user/ravisaive/pulse/native
unix2[ACC]STREAMLISTENING19310/tmp/gpg-zfE9YT/S.gpg-agent
....

顯示所有tcp相關端口

[avishek@tecmint~]$netstat-at
ActiveInternetconnections(serversandestablished)
ProtoRecv-QSend-QLocalAddressForeignAddressState
tcp00localhost:mysql*:*LISTEN
tcp00*:5901*:*LISTEN
tcp00*:5902*:*LISTEN
tcp00*:x11-1*:*LISTEN
tcp00*:x11-2*:*LISTEN
tcp00*:5938*:*LISTEN
tcp00localhost:5940*:*LISTEN
tcp00ravisaive-OptiPl:domain*:*LISTEN
tcp00ravisaive-OptiPl:domain*:*LISTEN
tcp00localhost:ipp*:*LISTEN
tcp00ravisaive-OptiPle:48270ec2-23-21-236-70.c:httpESTABLISHED
tcp00ravisaive-OptiPle:48272ec2-23-21-236-70.c:httpTIME_WAIT
tcp00ravisaive-OptiPle:48421bom03s01-in-f22.1:httpsESTABLISHED
tcp00ravisaive-OptiPle:48269ec2-23-21-236-70.c:httpESTABLISHED
tcp00ravisaive-OptiPle:39084channel-ecmp-06-f:httpsESTABLISHED
...

顯示所有連接的統計信息

[avishek@tecmint~]$netstat-s
Ip:
4994239totalpacketsreceived
0forwarded
0incomingpacketsdiscarded
4165741incomingpacketsdelivered
3248924requestssentout
8outgoingpacketsdropped
Icmp:
29460ICMPmessagesreceived
566inputICMPmessagefailed.
ICMPinputhistogram:
destinationunreachable:98
redirects:29362
2918ICMPmessagessent
0ICMPmessagesfailed
ICMPoutputhistogram:
destinationunreachable:2918
IcmpMsg:
InType3:98
InType5:29362
OutType3:2918
Tcp:
94533activeconnectionsopenings
23passiveconnectionopenings
5870failedconnectionattempts
7194connectionresetsreceived
....

好的!由于某些原因如果你不想解析netstat 輸出的主機、端口和用戶名稱的話 。

[avishek@tecmint~]$netstat-an

好,你可能需要獲取的 netstat 持續輸出的動態信息,通過傳遞中斷輸出指令 (ctrl + c)來停止。

[avishek@tecmint~]$netstat-c

更多關于“netstat”的例子和使用方法,瀏覽文章“20個netstat 的使用案例”。

3. 命令: nslookup

網絡實用程序,用于獲得互聯網服務器的信息。顧名思義,該實用程序將發現通過查詢 DNS 域的名稱服務器信息。

[avishek@tecmint~]$nslookuptecmint.com
Server:192.168.1.1
Address:192.168.1.1#53
Non-authoritativeanswer:
Name:tecmint.com
Address:50.16.67.239

查詢郵件 交換器 記錄

[avishek@tecmint~]$nslookup-query=mxtecmint.com
Server:192.168.1.1
Address:192.168.1.1#53
Non-authoritativeanswer:
tecmint.commailexchanger=0smtp.secureserver.net.
tecmint.commailexchanger=10mailstore1.secureserver.net.
Authoritativeanswerscanbefoundfrom:

查詢域名服務器

[avishek@tecmint~]$nslookup-type=nstecmint.com
Server:192.168.1.1
Address:192.168.1.1#53
Non-authoritativeanswer:
tecmint.comnameserver=ns3404.com.
tecmint.comnameserver=ns3403.com.
Authoritativeanswerscanbefoundfrom:

查詢DNS記錄

[avishek@tecmint~]$nslookup-type=anytecmint.com
Server:192.168.1.1
Address:192.168.1.1#53
Non-authoritativeanswer:
tecmint.commailexchanger=10mailstore1.secureserver.net.
tecmint.commailexchanger=0smtp.secureserver.net.
tecmint.comnameserver=ns06.domaincontrol.com.
tecmint.comnameserver=ns3404.com.
tecmint.comnameserver=ns3403.com.
tecmint.comnameserver=ns05.domaincontrol.com.
Authoritativeanswerscanbefoundfrom:

查詢 起始 授權機構

[avishek@tecmint~]$nslookup-type=soatecmint.com
Server:192.168.1.1
Address:192.168.1.1#53
Non-authoritativeanswer:
tecmint.com
origin=ns3403.hostgator.com
mailaddr=dnsadmin.gator1702.hostgator.com
serial=2012081102
refresh=86400
retry=7200
expire=3600000
minimum=86400
Authoritativeanswerscanbefoundfrom:

查詢端口號

更改使用你想要連接的端口號:

[avishek@tecmint~]$nslookup-port56tecmint.com
Server:tecmint.com
Address:50.16.76.239#53
Name:56
Address:14.13.253.12

更多閱讀8個Nslookup 命令。

4. 命令: dig

dig是查詢DNS 域名服務器的工具,可以查詢的主機地址、 郵件交流、 域名服務器相關的信息。在任何 Linux (Unix) 或 Macintosh OS X 操作系統上,都可以使用該工具。dig的最典型的用法是單個主機的查詢。

[avishek@tecmint~]$digtecmint.com
;<<>>DiG9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6<<>>tecmint.com
;;globaloptions:+cmd
;;Gotanswer:
;;->>HEADER<

關閉注釋行

[avishek@tecmint~]$digtecmint.com+nocomments
;<<>>DiG9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6<<>>tecmint.com+nocomments
;;globaloptions:+cmd
;tecmint.com.INA
tecmint.com.14400INA40.216.66.239
;;Querytime:418msec
;;SERVER:192.168.1.1#53(192.168.1.1)
;;WHEN:SatJun2913:53:222013
;;MSGSIZErcvd:45

關閉認證塊

[avishek@tecmint~]$digtecmint.com+noauthority
;<<>>DiG9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6<<>>tecmint.com+noauthority
;;globaloptions:+cmd
;;Gotanswer:
;;->>HEADER<

關閉其他塊

[avishek@tecmint~]$digtecmint.com+noadditional
;<<>>DiG9.9.2-P1<<>>tecmint.com+noadditional
;;globaloptions:+cmd
;;Gotanswer:
;;->>HEADER<

關閉統計塊

[avishek@tecmint~]$digtecmint.com+nostats
;<<>>DiG9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6<<>>tecmint.com+nostats
;;globaloptions:+cmd
;;Gotanswer:
;;->>HEADER<

關閉回復塊

[avishek@tecmint~]$digtecmint.com+noanswer
;<<>>DiG9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6<<>>tecmint.com+noanswer
;;globaloptions:+cmd
;;Gotanswer:
;;->>HEADER<

關閉所有塊

[avishek@tecmint~]$digtecmint.com+noall
;<<>>DiG9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6<<>>tecmint.com+noall
;;globaloptions:+cmd

閱讀更多10 個Linux Dig 命令實例。

5.命令: uptime

你連接到你的 Linux 服務器時發現一些不尋常或惡意的東西,你會做什么?猜測......不,絕不!你可以運行uptime來驗證當服務器無人值守式到底發生了什么事情。

[avishek@tecmint~]$uptime
14:37:10up4:21,2users,loadaverage:0.00,0.00,0.04

6. 命令: wall

對系統管理員來說一個最重要的命令.wall發送一條消息到大家登錄端將其 mesg 權限設置為"yes"。這條信息可以被wall作為參數,或者可以將它作為wall的標準輸入。

[avishek@tecmint~]$wall"wewillbegoingdownformaintenanceforonehoursharplyat03:30pm"
Broadcastmessagefromroot@localhost.localdomain(pts/0)(SatJun2914:44:022013):
wewillbegoingdownformaintenanceforonehoursharplyat03:30pm

7. 命令: mesg

其他人們可以使用"wtrite"命令,將在在向您發送文本到屏幕上。你可以控制是否顯示。

mesg[<strong>n</strong>|<strong>y</strong>]<strong>n</strong>-preventsthemessagefromotherspoppinguponthescreen.<strong>y</strong>–Allowsmessagestoappearonyourscreen.

8. 命令: write

如果 'mesg' 是 'y',讓你的文本直接發送到另一臺 Linux 機器的屏幕。

[avishek@tecmint~]$writeravisaive

9. 命令: talk

增強的write命令,talk命令可讓你與其他登錄的用戶交談。

[avishek@tecmint~]$talkravisaive

注釋: 如果 talk 命令沒安裝的話,可以通過apt 或yum 安裝所需的包.

viewsourceprint?
[avishek@tecmint~]$yuminstalltalk
OR
[avishek@tecmint~]$apt-getinstalltalk

10. 命令:w

是否覺得命令'w'很滑稽?但是事實上不是的。它是一個命令,盡管只有一個字符長!命令"w"是uptime和who命令,以前后的順序組合在一起。

[avishek@tecmint~]$w
15:05:42up4:49,3users,loadaverage:0.02,0.01,0.00
USERTTYFROMLOGIN@IDLEJCPUPCPUWHAT
servertty7:014:064:43m1:420.08spam:gdm-passwo
serverpts/0:0.014:180.00s0.23s1.65sgnome-terminal
serverpts/1:0.014:474:430.01s0.01sbash

11. 命令: rename

見名知意,這個命令重命名文件。rename將會通過從文件名的首字符開始替換,重命名為指定的文件名。

Givethefilenamesa1,a2,a3,a4.....1213

僅僅寫這些命令:[@Lesus 注: 在Ubuntu上不支持這種格式, rename與mv不同的是,rename可以批量修改,如同帶了while的mv操作。]

viewsourceprint?
renamea1a0a?
renamea1a0a??

12. 命令: top

顯示CPU進程信息。這個命令自動刷新,默認是持續顯示CPU進程信息,除非使用了中斷指令。

[avishek@tecmint~]$top
top-14:06:45up10days,20:57,2users,loadaverage:0.10,0.16,0.21
Tasks:240total,1running,235sleeping,0stopped,4zombie
%Cpu(s):2.0us,0.5sy,0.0ni,97.5id,0.0wa,0.0hi,0.0si,0.0st
KiBMem:2028240total,1777848used,250392free,81804buffers
KiBSwap:3905532total,156748used,3748784free,381456cached
PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND
23768ravisaiv2001428m571m41mS2.328.914:27.52firefox
24182ravisaiv200511m132m25mS1.76.72:45.94plugin-containe
26929ravisaiv20053441432972R0.70.10:00.07top
24875ravisaiv200263m14m10mS0.30.70:02.76lxterminal
1root200389619281228S0.00.10:01.62init
2root200000S0.00.00:00.06kthreadd
3root200000S0.00.00:17.28ksoftirqd/0
5root0-20000S0.00.00:00.00kworker/0:0H
7root0-20000S0.00.00:00.00kworker/u:0H
8rootrt0000S0.00.00:00.12migration/0
9root200000S0.00.00:00.00rcu_bh
10root200000S0.00.00:26.94rcu_sched
11rootrt0000S0.00.00:01.95watchdog/0
12rootrt0000S0.00.00:02.00watchdog/1
13root200000S0.00.00:17.80ksoftirqd/1
14rootrt0000S0.00.00:00.12migration/1
16root0-20000S0.00.00:00.00kworker/1:0H
17root0-20000S0.00.00:00.00cpuset
18root0-20000S0.00.00:00.00khelper
19root200000S0.00.00:00.00kdevtmpfs
20root0-20000S0.00.00:00.00netns
21root200000S0.00.00:00.04bdi-default
22root0-20000S0.00.00:00.00kintegrityd
23root0-20000S0.00.00:00.00kblockd
24root0-20000S0.00.00:00.00ata_sff

另查看12 TOP命令例子·[@Lesus 注:htop比top命令更好用,不過需要自己安裝]

13. 命令: mkfs.ext4

這個命令在指定的設備上創建一個新的ext4文件系統,如果這個命令后面跟的是個錯誤的設備,那么整個設備就會被擦除和格式化,所以建議不要運行這個命令,除非你清楚自己正在干什么。

Mkfs.ext4/dev/sda1(sda1blockwillbeformatted)
mkfs.ext4/dev/sdb1(sdb1blockwillbeformatted)

更多查看:Ext4是什么及怎么創建和轉換

14. vi/emac/nano 命令

vi (visual), emac, nano 是 linux 中最常用的一些編輯器。它們經常用于編輯文本,配置,… 等文件. A quick guide to work around vi and nano is, emac is a.

vi 編輯器:

[avishek@tecmint~]$toucha.txt(創建一個名為a.txt的文本文件)
[avishek@tecmint~]$via.txt(用vi打開a.txt)

[按下‘i’鍵進入插入模式, 否則你不能輸入任何內容]

echo"Hello"(這里的文本會存到文件中)

alt+x (退出插入模式, 記得在最后的字符間留有一些空格.
ctrl+x 命令或你上一個單詞將被刪除).
:wq! (以當前的文本保存文件, 記住‘!’ 是覆蓋的意思).

nano 編輯器:

[avishek@tecmint~]$nanoa.txt(用nano打開a.txt)
edit,withthecontent,required

ctrl +x (關閉編輯器).它會顯示如下的提示輸出信息:

Savemodifiedbuffer(ANSWERING"No"WILLDESTROYCHANGES)?
YYes
NNo^CCancel

點擊‘y’ 選擇 yes 并輸入文件名,就完成編輯了。

15. 命令: rsync

Rsync復制文件,參數-P開啟進度條。如果你已經安裝了rsync,你可以使用一個簡單的別名。

aliascp='rsync-aP'

現在嘗試在終端復制一個大文件,這樣將會看到顯示剩余部分的輸出,與進度條類似。

而且,保持和維護備份是系統管理員不得不做的最重要、最無聊的工作之一。Rsync是一個用于新建和維護備份的非常好用的終端工具(也存在許多其它工具)。

[avishek@tecmint~]$rsync-zvrIMG_5267copy=33copy=ok.jpg~/Desktop/
sendingincrementalfilelist
IMG_5267copy=33copy=ok.jpg
sent2883830bytesreceived31bytes5767722.00bytes/sec
totalsizeis2882771speedupis1.00

注意: -z表示壓縮, -v表示詳細信息,-r表示遞歸。

16. 命令: free

跟蹤內存的使用和資源一樣重要,就像管理員執行的任何其它任務,可以使用 'free' 命令來在這里救援。

當前內存使用狀態Current Usage Status of Memory

[avishek@tecmint~]$free
totalusedfreesharedbufferscached
Mem:20282401788272239968069468363716
-/+buffers/cache:1355088673152
Swap:39055321570763748456

設置輸出單位為KB,MB或GB

[avishek@tecmint~]$free-b
totalusedfreesharedbufferscached
Mem:20769177601838272512238645248071348224372670464
-/+buffers/cache:1394253824682663936
Swap:39992647681608458243838418944
[avishek@tecmint~]$free-k
totalusedfreesharedbufferscached
Mem:20282401801484226756069948363704
-/+buffers/cache:1367832660408
Swap:39055321570763748456
[avishek@tecmint~]$free-m
totalusedfreesharedbufferscached
Mem:19801762218068355
-/+buffers/cache:1338641
Swap:38131533660
[avishek@tecmint~]$free-g
3
totalusedfreesharedbufferscached
Mem:110000
-/+buffers/cache:10
Swap:303

以可讀的格式顯示,檢查當前內存使用:

[avishek@tecmint~]$free-h
totalusedfreesharedbufferscached
Mem:1.9G1.7G208M0B68M355M
-/+buffers/cache:1.3G632M
Swap:3.7G153M3.6G

設定 時間間隔 后 ,持續檢查使用狀態:

[avishek@tecmint~]$free-s3
totalusedfreesharedbufferscached
Mem:20282401824096204144070708364180
-/+buffers/cache:1389208639032
Swap:39055321570763748456
totalusedfreesharedbufferscached
Mem:20282401824192204048070716364212
-/+buffers/cache:1389264638976
Swap:39055321570763748456

閱讀更多10個Free命令使用實例。

17. mysqldump 命令

好了,現在你從名字上就能明白這個命令所代表的作用。mysqldump 命令會轉儲(備份)數據庫的全部或特定一部分數據到一個給定的文件中。例如:

[avishek@tecmint~]$mysqldump-uroot-p--all-databases>/home/server/Desktop/backupfile.sql

注意: mysqldump 需要 mysql 在運行中并且有正確的授權密碼。我們在用mysqldump命令備份數據庫中討論了一些有用的 “mysqldump” 命令用法。

18. mkpasswd 命令

根據指定的長度,產生一個難猜的隨機密碼。

[avishek@tecmint~]$mkpasswd-l10
zI4+Ybqfx9
[avishek@tecmint~]$mkpasswd-l20
w0Pr7aqKk&hmbmqdrlmk

注意: -l 10 產生一個10個字符的隨機密碼,而-l 20 產生 20個字符的密碼,它可以設置為任意長度來取得所希望的結果。這個命令很有用,經常在腳本語言里使用來產生隨機的密碼。你可能需要 yum 或 apt ‘expect’ 包來使用這個命令。

[avishek@tecmint~]$yuminstallexpect

[avishek@tecmint~]$apt-getinstallexpect

19. Command: paste

合并兩個或多個文本文件,按行來進行合并。示例。如果 file1 的內容是:

1
2
3
file2是這樣的:
a
b
c
d
<preclass="shell">[avishek@tecmint~]$pastefile1file2>file3</pre>
<br>
結果file3將是:
1a
2b
3c
d

20.Command: lsof

lsof 是"list open files("列表中打開的文件") 的縮寫,顯示您的系統當前已打開的所有文件。這是非常有用的對于想找出哪些進程使用某一特定文件,或顯示為單個進程打開所有文件。一些有用的 10 個lsof 命令示例,你可能會感興趣閱讀。

[avishek@tecmint~]$lsof
COMMANDPIDTIDUSERFDTYPEDEVICESIZE/OFFNODENAME
init1rootcwdDIR8,140962/
init1rootrtdDIR8,140962/
init1roottxtREG8,1227432395571/sbin/init
init1rootmemREG8,147080263023/lib/i386-linux-gnu/libnss_files-2.17.so
init1rootmemREG8,142672270178/lib/i386-linux-gnu/libnss_nis-2.17.so
init1rootmemREG8,187940270187/lib/i386-linux-gnu/libnsl-2.17.so
init1rootmemREG8,130560263021/lib/i386-linux-gnu/libnss_compat-2.17.so
init1rootmemREG8,1124637270176/lib/i386-linux-gnu/libpthread-2.17.so
init1rootmemREG8,11770984266166/lib/i386-linux-gnu/libc-2.17.so
init1rootmemREG8,130696262824/lib/i386-linux-gnu/librt-2.17.so
init1rootmemREG8,134392262867/lib/i386-linux-gnu/libjson.so.0.1.0
init1rootmemREG8,1296792262889/lib/i386-linux-gnu/libdbus-1.so.3.7.2
init1rootmemREG8,134168262840/lib/i386-linux-gnu/libnih-dbus.so.1.0.0
init1rootmemREG8,195616262848/lib/i386-linux-gnu/libnih.so.1.0.0
init1rootmemREG8,1134376270186/lib/i386-linux-gnu/ld-2.17.so
init1root0uCHR1,30t01035/dev/null
init1root1uCHR1,30t01035/dev/null
init1root2uCHR1,30t01035/dev/null
init1root3rFIFO0,80t01714pipe
init1root4wFIFO0,80t01714pipe
init1root5r00000,906245anon_inode
init1root6r00000,906245anon_inode
init1root7uunix0xf5e91f800t08192@/com/ubuntu/upstart
init1root8wREG8,13916394/var/log/upstart/teamviewerd.log.1(deleted)

這里并沒有結束,系統管理員會很多東西,為你提供漂亮的界面,服務于你的工作。系統管理實際上是學習和實現的一門優雅的藝術。我們會盡力給你介紹 linux 專業人員必須了解的知識以及一些其他必要東西,linux本身是基礎的,簡單的。深入理解是不斷學習的過程。你的美言好詞總是在不斷鼓勵我們寫出更多的優秀,豐富的文章。“喜之以分享,助我來傳播”。

三、11 個很有用但鮮有人知的 Linux 命令

http://os.51cto.com/art/201310/414075.htm

這篇文章的目的是介紹一些少有人知的Linux命令,它們一定會高效地幫你管理你的桌面/服務器。

1. sudo !!命令

沒有特定輸入sudo命令而運行,將給出沒有權限的錯誤。那么,你不需要重寫整個命令,僅僅輸入'!!'就可以抓取最后的命令。

$apt-getupdate
E:Couldnotopenlockfile/var/lib/apt/lists/lock-open(13:Permissiondenied)
E:Unabletolockdirectory/var/lib/apt/lists/
E:Couldnotopenlockfile/var/lib/dpkg/lock-open(13:Permissiondenied)
E:Unabletolocktheadministrationdirectory(/var/lib/dpkg/),areyouroot?
$sudo!!
sudoapt-getupdate
[sudo]passwordforserver:

..
Fetched474kBin16s(28.0kB/s)
Readingpackagelists...Done
server@localhost:~$

2. python命令

下面的命令生產一個通過HTTP顯示文件夾結構樹的簡單網頁,可以通過瀏覽器在端口8000訪問,直到發出中斷信號。

#python-mSimpleHTTPServer

3. mtr命令

我們大多數都熟悉ping和traceroute。那對于把兩個命令的功能合二為一的mtr命令呢。如果mtr沒在你的機子上安裝,apt或者yum需要的包。

$sudoapt-getinstallmtr(OnDebianbasedSystems)
#yuminstallmtr(OnRedHatbasedSystems)

現在運行mtr命令,開始查看mtr運行的主機和google.com直接的網絡連接。

#mtrgoogle.com

mtr命令

4. Ctrl+x+e命令

這個命令對于管理員和開發者非常有用。為了使每天的任務自動化,管理員需要通過輸入vi、vim、nano等打開編輯器。

僅僅從命令行快速的敲擊“Ctrl-x-e”,就可以在編輯器中開始工作了。

5. nl命令

“nl命令”添加文件的行數。一個叫做'one.txt'的文件,其每行的內容是(Fedora、Debian、Arch、Slack和Suse),給每行添加行號。首先使用cat命令顯示“one.txt”的文件內容。

#catone.txt
fedora
debian
arch
slack
suse

現在運行“nl命令”,以添加行號的方式來顯示。

#nlone.txt
1fedora
2debian
3arch
4slack
5suse

6. shuf命令

“Shut”命令隨機從一個文件或文件夾中選擇行/文件/文件夾。首先使用ls命令來顯示文件夾的內容。

#ls
DesktopDocumentsDownloadsMusicPicturesPublicTemplatesVideos
#ls|shuf(shuffleInput)
Music
Documents
Templates
Pictures
Public
Desktop
Downloads
Videos
#ls|shuf-n1(pickonrandomselection)
Public
#ls|shuf-n1
Videos
#ls|shuf-n1
Templates
#ls|shuf-n1
Downloads

注意:你可以把‘n1’替換成‘n2’來輸出兩個隨機選擇或者使用n3、n4等數字輸出其他任意的隨機選擇。

7. ss命令

“ss”表示socket統計。這個命令調查socket,顯示類似netstat命令的信息。它可以比其他工具顯示更多的TCP和狀態信息。

#ss
StateRecv-QSend-QLocalAddress:PortPeerAddress:Port
ESTAB00192.168.1.198:41250*.*.*.*:http
CLOSE-WAIT10127.0.0.1:8000127.0.0.1:41393
ESTAB00192.168.1.198:36239*.*.*.*:http
ESTAB3100127.0.0.1:8000127.0.0.1:41384
ESTAB00192.168.1.198:41002*.*.*.*:http
ESTAB00127.0.0.1:41384127.0.0.1:8000

8. last命令

“last”命令顯示的是上次登錄用戶的歷史信息。這個命令通過搜索文件“/var/log/wtmp”,顯示logged-in和logged-out及其tty‘s的用戶列表。

#last
serverpts/0:0TueOct2212:03stillloggedin
servertty8:0TueOct2212:02stillloggedin

...
(unknowntty8:0TueOct2212:02-12:02(00:00)
serverpts/0:0TueOct2210:33-12:02(01:29)
servertty7:0TueOct2210:05-12:02(01:56)
(unknowntty7:0TueOct2210:04-10:05(00:00)
rebootsystemboot3.2.0-4-686-paeTueOct2210:04-12:44(02:39)
wtmpbeginsFriOct414:43:172007

9. curl ifconfig.me

那么如何得到你的外部IP地址呢?使用google?那么這個命令就在你的終端輸出你的外部IP地址。

#curlifconfig.me

注意:你可能沒有按照curl包,你需要apt/yum來按照包。

10. tree命令

以樹式的格式得到當前文件夾的結構。

11. pstree

這個命令顯示當前運行的所有進程及其相關的子進程,輸出的是類似‘tree’命令的樹狀格式

目前為止就這么多。在下篇文章中,我將涉及一些其他很少有人知道的有趣的Linux命令。到那時連接Tecmint保持收看。喜歡和分享將有助于我們傳播。

總結

以上是生活随笔為你收集整理的【Linux 高级命令】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。