您需要了解的最常用 Linux 命令
Linux 是一種在開發(fā)人員和普通用戶中非常流行的操作系統(tǒng) (OS)。其受歡迎的主要原因之一是其卓越的命令支持。我們僅通過命令行界面(CLI)就可以管理整個Linux操作系統(tǒng)。這使我們能夠用更少的命令完成復(fù)雜的任務(wù)。
在本指南中,我們將討論一些對經(jīng)驗豐富或初學(xué)者系統(tǒng)管理員有用的常用命令。遵循本指南后,用戶可以放心運行Linux系統(tǒng)。
為了更好地組織,這些命令分為三個部分:文件系統(tǒng)、連接和系統(tǒng)信息。
Linux 文件系統(tǒng)命令
在本節(jié)中,我們將討論一些與 Linux 中的文件和文件夾相關(guān)的有用命令。
cat命令主要用于顯示文件的內(nèi)容。它讀取文件的內(nèi)容并將其顯示在標(biāo)準(zhǔn)輸出(stdout)上。
cat 命令的常見語法是:
$cat[選項][文件1][文件2]
讓我們使用 cat 命令顯示 /etc/os-release 文件的內(nèi)容:
$cat /etc/os-release
另外,我們-n還可以使用命令選項來顯示帶有行號的內(nèi)容:
$ cat -n /etc/os-release
cp 命令對于復(fù)制文件、文件組和文件夾非常有用。
cp命令的常見語法是:
$cp[選項]
這里方括號([])代表可選參數(shù),而方括號(<>)代表主要參數(shù)。
讓我們將 /etc/os-release 文件復(fù)制到 /tmp 文件夾:
$cp /etc/os-release/tmp/new-file.txt
現(xiàn)在,讓我們顯示文件的內(nèi)容來檢查文件是否已被復(fù)制:
$cat /tmp/new-file.txt
同樣,我們可以使用cp命令來下載該文件夾。讓我們將 /etc/cron.d 目錄復(fù)制到 /tmp 目錄中:
$cp -r /etc/cron.d/tmp
我們將-r選擇與 cp 命令一起使用,它代表遞歸操作。它經(jīng)常備份包含其文件和子文件夾的文件夾。
在下一個示例中,我們將了解如何檢查文件夾是否已成功下載。
$ ls / tmp / cron .d
$ls -l /tmp/cron.d
ls 命令用于列出文件夾的內(nèi)容,并按大小和上次修改時間降序?qū)ξ募M(jìn)行排序。
ls 命令的常見語法是:
$ls [選項] [文件1] [文件2] …
如果我們不給 ls 命令提供任何參數(shù),那么它會列出當(dāng)前文件夾的內(nèi)容。
$ls
在前面的示例中,我們將 /etc/cron.d 文件夾復(fù)制到 /tmp 文件夾。讓我們驗證它是否存在并包含必要的文件:
$ ls / tmp / cron .d
我們可以使用-lls 命令的選項來顯示更詳細(xì)的信息,例如 – 文件權(quán)限、所有者、時間戳、大小等。
讓我們詳細(xì)了解 /tmp/cron.d 文件夾中的文件:
$ls -l /tmp/cron.d
我們通常創(chuàng)建一個文件夾結(jié)構(gòu)來組織內(nèi)容。在Linux中,我們可以使用mkdir命令創(chuàng)建多個文件夾或文件夾,并為文件夾設(shè)置適當(dāng)?shù)臋?quán)限。
mkdir 命令的典型語法是:
$ mkdir [ 選項 ] < 目錄 1 > < 目錄 2 > ...
讓我們在 /tmp 目錄中創(chuàng)建一個名為 dir-1 的目錄:
$ mkdir /tmp/dir-1
現(xiàn)在,讓我們看看該文件夾是否已創(chuàng)建:
$ls /tmp/dir-1
在這里,我們可以看到 ls 命令沒有報告任何指示該目錄存在的錯誤。
有時我們需要創(chuàng)建嵌套目錄結(jié)構(gòu)以更好地組織數(shù)據(jù)。在這種情況下,我們可以使用命令-p選項在 /tmp/dir-1 文件夾下創(chuàng)建一些嵌套文件夾:
$ mkdir -p /tmp/dir-1/dir-2/dir-3/dir-4/dir-5
在上面的示例中,我們創(chuàng)建了 4 層嵌套目錄。我們用ls命令來驗證一下:
$ls -R /tmp/dir-1
這里,我們使用-R選項和命令以遞歸方式顯示庫的內(nèi)容。
要分析最后執(zhí)行的命令,您可以使用歷史命令,它顯示終端會話期間最后執(zhí)行的命令的列表。
$ 歷史記錄
要查看命令歷史記錄和時間戳,您需要在 bash 歷史記錄中設(shè)置時間戳,運行:
$ HISTTIME FORMAT="%d/%m/%y %T" #臨時設(shè)置歷史時間戳
$ export HIST TIME FORMAT="%d/%m/%y %T " #永久設(shè)置歷史時間戳
$ 歷史記錄
如何跟蹤占用磁盤空間的前 10 個文件?從 du 命令創(chuàng)建的簡單單行腳本,主要用于文件空間使用。
$du -hsx * | 黑色-rh | 頭-10
上述運行命令選項和變量的描述。
的
運行 – 考慮文件空間使用情況。
-hsx –(-h)人類可讀格式、(-s)快捷方式格式、(-x)單個文件格式、. 參考其他文件格式的文件夾。
sort – 對文本文件行進(jìn)行排序。
-rh –(-r)返回比較結(jié)果,(-h)以比較人類可讀的格式。
print – 輸出文件的前 n 行。
的
stat 命令用于檢索有關(guān)文件大小、訪問權(quán)限、訪問時間以及文件的用戶 ID 和組 ID 的信息。
$ stat anaconda - x .cfg
Linux 網(wǎng)絡(luò)命令
在本節(jié)中,我們將討論一些與網(wǎng)絡(luò)相關(guān)的問題。
任何網(wǎng)絡(luò)中最常見的任務(wù)之一是確定特定主機(jī)是否可達(dá)。我們可以使用 ping 命令來檢查與其他主機(jī)的連接。
ping 命令的簡單語法是:
$ ping [ 選項 ] < 目的地 >
這里的目的地可以是 IP 地址或完全限定域名 (FQDN),例如 google.com。我們看看當(dāng)前系統(tǒng)是否可以與google通信:
$ ping -c4 google.com
在上面的示例中,該命令顯示網(wǎng)絡(luò)連接統(tǒng)計信息,表明已收到所有四個網(wǎng)絡(luò)請求(數(shù)據(jù)包)的響應(yīng)。需要注意的是,我們使用-c該命令的選項來限制發(fā)送到特定主機(jī)的請求數(shù)量。
讓我們看一下兩臺主機(jī)之間的連接斷開時的示例。
為了模擬這種情況,我們將嘗試訪問無法訪問的 IP 地址。在本例中為 192.168.10.100:
$ 平 -c 4 192.168.10.100
此時,我們可以看到我們還沒有收到網(wǎng)絡(luò)請求的響應(yīng)。因此該命令報告錯誤 – 目標(biāo)主機(jī)無法訪問。
有時我們需要查找特定域的IP地址。為此,我們可以使用 host 命令,該命令執(zhí)行 DNS 查找并將 FQDN 轉(zhuǎn)換為 IP 地址,反之亦然。
主機(jī)命令的簡單語法是:
$主機(jī)[選項]<目的地>
這里的目標(biāo)可以是 IP 地址或 FQDN。
讓我們使用 host 命令來查找 google.com 的 IP 地址:
$ 托管 google.com
有關(guān)注冊域的所有信息都存儲在中央數(shù)據(jù)庫中,可以使用 whois 命令進(jìn)行查詢,該命令顯示有關(guān)特定域的信息。
Whois 命令的簡單語法是:
$whois [ 選項 ] < FQDN >
我們來看看 google.com:
$ whois google.com
在這里,我們可以看到很多詳細(xì)信息,例如域名注冊/更新/到期日期、域名服務(wù)器等。
需要注意的是,whois 命令并非默認(rèn)在所有系統(tǒng)上都可用。但是,我們可以使用包管理器安裝它。例如,在 apt 包管理器上:
$sudo apt install whois
在基于 RHEL 的發(fā)行版和其他發(fā)行版上,您可以如圖所示進(jìn)行安裝。
$ sudo yum install whois [在RHEL/CentOS/Fedora和Rocky Linux/AlmaLinux上]
$ sudo emerge -a net-misc/whois [在Gentoo Linux上]
$ sudo apk add whois [在Alpine Linux上]
$sudo pacman -S whois [在Arch Linux上]
$sudo zypper install whois [在OpenSUSE上]
Linux 系統(tǒng)信息命令
在本節(jié)中,我們將討論一些可以提供有關(guān)當(dāng)前系統(tǒng)的詳細(xì)信息的命令。
使用 uptime 命令查找系統(tǒng)上次重新啟動的時間是一個非常常見的要求,該命令指定系統(tǒng)已經(jīng)運行了多長時間。
讓我們知道當(dāng)前系統(tǒng)花費的時間:
$ 正常運行時間 -p
12:10:57 至 2:00,1 個用戶,平均負(fù)載:0.48、0.60、0.45
在這個例子中,我們使用-p選擇以漂亮的格式顯示結(jié)果。
用戶經(jīng)常需要查找有關(guān)已安裝、可用和已使用內(nèi)存的詳細(xì)信息。這些信息在解決性能問題時發(fā)揮著重要作用。我們可以使用 free 命令來查找內(nèi)存詳細(xì)信息:
$免費-m
-m在這里,我們在命令中使用了一個選項,以兆字節(jié)為單位顯示輸出。
以同樣的方式,我們可以分別用選項 、 和 來表示結(jié)果,以吉比字節(jié)、太字節(jié)和皮字節(jié)為單位-g。-t-p
軟件將數(shù)據(jù)存儲在阻塞設(shè)備上。阻止設(shè)備的示例包括硬盤驅(qū)動器 (HDD)、固態(tài)驅(qū)動器 (SSD) 等。我們可以使用 lsblk 命令來顯示有關(guān)阻塞設(shè)備的詳細(xì)信息:
$ lsblk
在這個例子中,我們可以看到只有一個塊設(shè)備,它的名稱是/dev/sda。在那道屏障上劃分了三個師。
在本文中,我們討論一些對 Linux 初學(xué)者有用的命令。首先,我們討論文件系統(tǒng)命令。然后我們討論了網(wǎng)絡(luò)法規(guī)。最后,我們討論一些提供當(dāng)前系統(tǒng)詳細(xì)信息的代碼。