歡迎光臨
每天分享高質量文章

10 個鮮為人知的 Linux 命令(5)

英文:Tecmint,編譯:Linux中國/Luoxcat

linux.cn/article-2514-1.html

在前四篇 “鮮為人知的Linux命令” 系列文章受到高度贊賞之後,我們將為廣大讀者呈上此系列的最後一篇文章,雖然是最後一篇,但是其重要性毫不遜於前幾篇。



本系列文章:

鮮為人知的 Linux 命令(第1篇)

鮮為人知的 Linux 命令(第2篇)

鮮為人知的 Linux 命令(第3篇)

鮮為人知的 Linux 命令(第4篇)


    42. lsb_release


    ‘lsb_release’ 命令會打印特殊發行版的信息。如果 lsb_release 還沒安裝,你可以在基於 Debain 的發行版中用命令 apt 安裝,在基於 Red Hat 系統下用 yum 來安裝包。

    # lsb_release -a

    LSB Version:    :base4.0ia32:base4.0noarch:core4.0ia32:core4.0noarch:graphics4.0ia32:

    Distributor ID: CentOS

    Description:    CentOS release 6.3 (Final)

    Release:        6.3

    Codename:       Final

    註意:選項‘-a’,會顯示有關版本、ID、詳情、發行號和研發代號的全部可用信息。

    43. nc -zv localhost 80

    檢查 80 端口是否被打開。我們可以用任何其他端口號替換‘80’來檢查端口是否被打開或關閉。

    $ nczv localhost 80

    Connection to localhost 80 port [tcp/http] succeeded!

    (譯註:出現該信息表示80端口已被打開。)

    檢查 8080 端口是否啟用

    $ nczv localhost 8080

    nc: connect to localhost port 8080 (tcp) failed: Connection refused

    (譯註:該信息顯示了8080端口並未打開。)

    44. curl ipinfo.io

    該命令會輸出並提供 IP 地址 的 ‘地理位置’ 。

    $ curl ipinfo.io 


    “ip”: “xx.xx.xx.xx”, “hostname”: “triband-del-aa.bbb.cc.ddd.bol.net.in”, “city”: “null”, “region”: “null”, “country”: “IN”, “loc”: “20,77”, “org”: “AS17813 Mahanagar Telephone Nigam Ltd”.

    45. find . -user root

    該命令會輸出當前目錄下( root )用戶所擁有的檔案(譯註:即owner為root)。下麵是在當前目錄下列出的所有 ‘root’用戶擁有的檔案。

    # find . -user root

    ./.recentlyused.xbel

    ./.mysql_history

    ./.aptitude

    ./.aptitude/config

    ./.aptitude/cache

    ./.bluefish

    ./.bluefish/session2.0

    ./.bluefish/autosave

    ./.bash_history

    在當前路徑下列出所有 ‘avi’ 用戶擁有的檔案

    # find . -user avi

    ./.cache/chromium/Cache/f_002b66

    ./.cache/chromium/Cache/f_001719

    ./.cache/chromium/Cache/f_001262

    ./.cache/chromium/Cache/f_000544

    ./.cache/chromium/Cache/f_002e40

    ./.cache/chromium/Cache/f_00119a

    ./.cache/chromium/Cache/f_0014fc

    ./.cache/chromium/Cache/f_001b52

    ./.cache/chromium/Cache/f_00198d

    ./.cache/chromium/Cache/f_003680

    46. sudo apt-get build-dep ffmpeg

    該命令會在相應的包安裝時自動構建依賴關係。因此包安裝的過程將非常流暢,也是非常容易的。

    # apt-get build-dep ffmpeg

    libxineramadev libxmlnamespacesupportperl libxmlsaxexpatperl

    libxmlsaxperl libxmlsimpleperl libxrandrdev libxrenderdev

    x11protorenderdev x11protoxineramadev xulrunnerdev

    The following packages will be upgraded:

    libpixman10

     

    1 upgraded, 143 newly installed, 0 to remove and 6 not upgraded.

    Need to get 205 MB of archives.

    After this operation, 448 MB of additional disk space will be used.

    Do you want to continue [Y/n]?

    47. lsof -iTCP:80 -sTCP:LISTEN

    該命令會輸出所用正在使用 80 端口的 行程/服務 的名稱。在 80 端口運行下列命令會更好理解這個命令,它會列出所用運行在該端口的 行程/服務 。

    root@localhost:/home/avi# lsof -iTCP:80 -sTCP:LISTEN

    COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

    apache2 1566 root 5u IPv6 5805 0t0 TCP *:www (LISTEN)

    apache2 1664 wwwdata 5u IPv6 5805 0t0 TCP *:www (LISTEN)

    apache2 1665 wwwdata 5u IPv6 5805 0t0 TCP *:www (LISTEN)

    apache2 1666 wwwdata 5u IPv6 5805 0t0 TCP *:www (LISTEN)

    apache2 1667 wwwdata 5u IPv6 5805 0t0 TCP *:www (LISTEN)

    apache2 1668 wwwdata 5u IPv6 5805 0t0 TCP *:www (LISTEN)

    同樣,你可以檢查運行在端口 22 的行程/服務。

    root@localhost:/home/avi# lsof -iTCP:22 -sTCP:LISTEN

    COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

    sshd 2261 root 3u IPv4 8366 0t0 TCP *:ssh (LISTEN)

    sshd 2261 root 4u IPv6 8369 0t0 TCP *:ssh (LISTEN)

    48. find -size +100M

    這條find命令會在當前目錄下列出所有超過指定大小的檔案(這裡指定為100 MB),遞迴查詢。

    # find -size +100M

    ./.local/share/Trash/files/linuxmint15cinnamondvd32bit.iso

    ./Downloads/FedoraLiveDesktopi686191.iso

    ./Downloads/Ant Videos/shakira 2.avi

    ./Downloads/Deewar.avi

    ./Desktop/101MSDCF/MOV02224.AVI

    ./Desktop/101MSDCF/MOV02020.AVI

    ./Desktop/101MSDCF/MOV00406.MP4

    ./Desktop/squeeze.iso

    在當前目錄遞迴的列出所用大於 1000 MB 的檔案。

    root@localhost:/home/avi# find -size +1000M

    ./Downloads/The Dark Knight 2008 hindi BRRip 720p/The Dark Knight.mkv.part

    ./Downloads/Saudagar(1991)DVDRiPx264AAC 5.1ChaptersEsubs[DDR]/Saudagar

    (1991)DVDRiPx264AAC 5.1ChaptersEsubs[DDR].mkv

    ./Downloads/Deewar.avi

    ./Desktop/squeeze.iso

    49. pdftk

    pdftk命令用來合併幾個pdf檔案。你必須安裝有 pdftk 程式。如果還沒有,請用apt或yum來獲取相應的包。

    $ pdftk 1.pdf 2.pdf 3.pdf …. 10.pdf cat output merged.pdf


    50. ps -LF -u user_name

    該命令會輸出一個用戶的行程和執行緒。選項“L”(列出執行緒),選項“-F”(完整格式化)

    $ psLFu avi

    avi 21645 3717 21766 0 5 66168 117164 1 18:58 ? 00:00:00 /usr/

    avi 21645 3717 21768 0 5 66168 117164 1 18:58 ? 00:00:00 /usr/

    avi 22314 3717 22314 0 2 42797 50332 0 19:00 ? 00:00:40 /usr/

    avi 22314 3717 22316 0 2 42797 50332 1 19:00 ? 00:00:00 /usr/

    avi 22678 24621 22678 0 1 969 1060 1 21:05 pts/1 00:00:00 psL

    avi 23051 3717 23051 0 2 37583 45444 1 19:03 ? 00:00:52 /usr/

    avi 23051 3717 23053 0 2 37583 45444 0 19:03 ? 00:00:03 /usr/

    avi 23652 1 23652 0 2 22092 12520 0 19:06 ? 00:00:22 gnome

    avi 23652 1 23655 0 2 22092 12520 0 19:06 ? 00:00:00 gnome

    51. startx – :1

    分享 X 會話。如果你需要頻繁的(以不同用戶身份)登入或登出桌面時,那就需要 startx 來救場。這個命令建立了一個新的會話從而避免了在一個會話中反覆的登入和登出。為了在X會話間進行交換,我們可以通過‘ctrl+Alt+F7’和‘ctrl+Alt+F8’的組合鍵來完成。

    註意:快捷鍵“ctrl+Alt+F1~F6“是為了控制台會話準備的,而“ctrl+Alt+F7~F12”則為X會話服務。因此我們有6個控制台會話和6個X會話,不需要頻繁的登入登出。上面的順序適用於大多數的發行版,然而不同發行版可能會有不同的實現。我在Debian中嘗試過,運行的很好。


    ●本文編號413,以後想閱讀這篇文章直接輸入413即可

    ●輸入m獲取到文章目錄

    推薦↓↓↓

    運維

    更多推薦18個技術類公眾微信

    涵蓋:程式人生、演算法與資料結構、黑客技術與網絡安全、大資料技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。

赞(0)

分享創造快樂