Linux常用命令介紹(滿足日常操作)
- 2021 年 10 月 25 日
- 筆記
大家好,今天來給大家分享一些Linux的常用命令,希望對大家有用
命令行的基本格式:
命令字 [選項] [參數]
其中,命令字、選項、參數之間用空格分開,多餘的空格將被忽略。[ ]括起來的部分
表示可以省略,即命令行可以只有命令字,也可以只有命令字、選項,或者只有命令字、參
數。
Ctrl+U 組合鍵:快速刪除當前游標處之前的所有字元內容。
Ctrl+K 組合鍵:快速刪除從當前游標處到行尾的所有字元內容。
Ctrl+L 組合鍵:快速清空當前螢幕中的顯示內容,只在左上角顯示命令提示符。
Ctrl+C 組合鍵:取消當前命令行的編輯,並切換為新的一行命令提示符。
[root@localhost ~]# help pwd //查看命令用法
pwd: pwd [-LP]
列印當前工作目錄的名稱
選項:
-L 列印$PWD 變數的值,如果它命名了當前的工作目錄
-P 列印當前的物理路徑,不帶有任何的符號鏈接
„„
[root@localhost ~]# ls –help //對於外部命令我們可以用–help來查詢它的用法
用法:ls [選項] „ [文件] „
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor –sort is specified.
[root@localhost ~]# man file //man手冊查詢命令用法
FILE(1) BSD General Commands Manual FILE(1)
NAME
file – determine file type
SYNOPSIS
file[ -bchikLnNprsvz ] [ -f namefile ] [ -F separator ] [ -m magicfiles ] file „
file -C [ -m magicfile ]
DESCRIPTION
This manual page documents version 5.11 of the file command
如果需要將 man 手冊頁的內容保存成文本文件以便在其他系統中查看,可以結合 col
命令去除手冊頁中的格式控制字元,並將顯示結果保存為新的文件。例如,以下操作可以將
ls 命令的幫助手冊保存為文本文件 lshelp.txt。
[root@localhost ~]# man ls | col -b > lshelp.txt
在這個例子中,col 是一個命令程式,用於過濾文本中的一些特殊控制字元;另外還使
用了「|」和「>」符號,這是 Shell 環境中的兩種特殊功能應用,分別稱為管道、重定向輸
出。其含義及作用如下所述。
管道:用豎杠符號「|」表示,用於將前面命令的螢幕輸出結果作為後面命令的操
作對象(輸入)。就好像一根管道一樣,從這頭塞入內容,從另一頭出來。
重定向輸出:用大於符號「>」表示,前面的命令成功執行以後,其螢幕輸出結果
將保存到「>」號後邊指定的文件中,而不是直接輸出到螢幕,因此稱為重定向。
pwd 命令 ——查看當前的工作目錄
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd /boot/grub //切換目錄
[root@localhost grub]# pwd
/boot/grub
[root@localhost grub]# pwd
/boot/grub
[root@localhost grub]# cd ~
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd –
/boot/grub
ls 命令——列表(List)顯示目錄內容
[root@localhost grub]# ls //以列表的形式查看目錄當中有哪些文件
splash.xpm.gz
[root@localhost grub]# ls -ld
drwxr-xr-x. 2 root root 27 3 月 7 16:55 . //
執行「ls -ld」命令可以只顯示當前目錄的詳細屬性,而不顯示目錄下的內容
[root@localhost grub]# ls -lh /etc/yum.conf /boot/vmlinuz-3.10.0-514.el7.x86_64 (這是一個文件)
-rwxr-xr-x. 1 root root 5.2M 11 月 23 00:53 /boot/vmlinuz-3.10.0-514.el7.x86_64 //
結合「-lh」選項可以以更易讀的長格式顯示。
[root@localhost grub]# ls -lh /etc/ns*.conf
-rw-r–r–. 1 root root 1.7K 3 月 7 17:10 /etc/nsswitch.conf //
將以長格式列出/etc/目
錄下以「ns」開頭、「.conf」結尾的文件資訊。
du 命令——統計目錄及文件的空間佔用情況
常用選項:
-a:統計磁碟空間佔用時包括所有的文件,而不僅僅只統計目錄。
-h:以更人性化的方式(默認以 KB 計數,但不顯示單位)顯示出統計結果,使用
-h 選項後將顯示出 KB、MB 等單位。
-s:只統計每個參數所佔用空間總的(Summary)大小,而不是統計每個子目錄、
文件的大小。
[root@localhost ~]# du -sh /var/log/ //
可以統計出/var/log 目錄所
佔用空間的大小,具體操作如下:
12M
/var/log/
[root@localhost ~]# du -ah /boot/ //
統計/boot 目錄中所有文件、子目錄各自佔用的空間大小
„„//省略部分內容
8.1M /boot/grub2
4.0K /boot/.vmlinuz-3.10.0-514.el7.x86_64.hmac
3.0M /boot/System.map-3.10.0-514.el7.x86_64
136K /boot/config-3.10.0-514.el7.x86_64
272K /boot/symvers-3.10.0-514.el7.x86_64.gz
5.2M /boot/vmlinuz-3.10.0-514.el7.x86_64
9.8M /boot/initrd-plymouth.img
62M
/boot/initramfs-0-rescue-8d265977c0c0459d98aff332d2544503.img
5.2M /boot/vmlinuz-0-rescue-8d265977c0c0459d98aff332d2544503
30M
/boot/initramfs-3.10.0-514.el7.x86_64.img
123M /boot/
mkdir 命令——創建新的目錄
[root@localhost ~]# mkdir public_html //創建指定目錄
[root@localhost ~]# ls -d public_html
public_html
[root@localhost ~]# mkdir -p /multimedia/movie/cartoon //層層嵌套的創建目錄
[root@localhost ~]# ls -R /multimedia
/multimedia:
movie
/multimedia/movie:
cartoon
/multimedia/movie/cartoon:
HuaMulan.rmvb NeZhaNaoHai.mp4
touch ——創建空文件
touch 1.txt //創建1.txt 文件
touch 1.txt 2.txt 3.txt //同時創建多個空文件
ln 命令——創建鏈接(Link)文件
格式:
ln [-s] 源文件或目錄„ 鏈接文件或目標位置
[root@localhost ~]# mkdir /bin/wx //創建文件
[root@localhost ~]# ln -s /bin/bzip2 /bin/wx/ //設置軟連接
[root@localhost ~]# ls -lh /bin/wx/bzip2 //查看軟連接
lrwxrwxrwx. 1 root root 10 4 月 6 02:10 /bin/wx/bzip2 -> /bin/bzip2
cp (複製)
cp [選項]„ 源文件或目錄„ 目標文件或目錄
需要複製多個文件或目錄時,目標位置必須是目錄,且目標目錄必須已經存在。cp 命
令較常用到的幾個選項如下。
-f:覆蓋目標同名文件或目錄時不進行提醒,而直接強制(Force)複製。
-i:覆蓋目標同名文件或目錄時提醒用戶確認(Interactive,互動式)。
-p:複製時保持(Preserve)源文件的許可權、屬主及時間標記等屬性不變。
-r:複製目錄時必須使用此選項,表示遞歸複製所有文件及子目錄。
[root@localhost ~]# cp /bin/touch./mytouch
[root@localhost ~]# cp /etc/yum.conf /etc/yum.conf.bak //
把/bin/touch 命令程式複製到當前目錄下,並命名為 mytouch
另外將/etc/yum.conf 文件複製一份作為備份,添加.bak 擴展名,仍存放在/etc 目錄中。
cp -r /boot/grub/ /etc/host.conf public_html/ //複製完整的目錄到指定的文件下
[root@localhost ~]# ls public_html/
grub host.conf
rm 命令——刪除(Remove)文件或目錄
-f:刪除文件或目錄時不進行提醒,而直接強制刪除。
-i:刪除文件或目錄時提醒用戶確認。
-r:刪除目錄時必須使用此選項,表示遞歸刪除整個目錄樹(應謹慎使用)
[root@localhost ~]# rm -rf public_html/grub/ //刪除指定目錄
[root@localhost ~]# ls public_html/ //看上級目錄的文件情況
host.conf
如果需要在執行刪除操作前進行確認,可以使用「-i」選項(不要和-f 選項同時使用),
rm 命令將對每個待刪除的文件或目錄提示用戶是否真的刪除,需要輸入 y(表示刪除)或 n
(表示不刪除)進行確認。例如,以下操作將以提示確認的方式刪除 public_html 目錄中的
host.conf 文件(根據提示資訊輸入 y 確認刪除)。
[root@localhost ~]# rm -i public_html/host.conf //帶有刪除的提醒
rm:是否刪除 普通文件 “public_html/host.conf”? y
3.mv 命令——移動(Move)文件或目錄
格式:
mv [選項] „ 源文件或目錄„ 目標文件或目錄
[root@localhost ~]# mv mytouch mkfile
[root@localhost ~]# ls -lh mytouch mkfile
ls: 無法訪問 mytouch: 沒有那個文件或目錄
-rwxr-xr-x. 1 root root 62K 4 月 11 10:42 mkfile
[root@localhost ~]# mv mkfile public_html/
[root@localhost ~]# ls -l public_html/mkfile
-rwxr-xr-x. 1 root root 62488 4 月 11 10:42 public_html/mkfile
另外mv 命令也有對指定文件進行重命名的作用
mv 原名 新名
但是他有一個限定的條件:就是原名和新名在同一個目錄
which 命令——查找用戶所執行的命令文件存放的目錄
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost ~]# which ls
alias ls=’ls –color=auto’
/usr/bin/ls
[root@localhost ~]# which history
/usr/bin/which: no history in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr
/bin:/root/bin)
find 命令——查找文件或目錄
find [查找範圍] [查找條件表達式]
其中,查找範圍對應的是在其中查找文件或子目錄的目錄位置(可以有多個),而查找
條件則決定了 find 命令根據哪些屬性、特徵進行查找。較常用的幾種查找條件類型如
下所述。
按名稱查找:關鍵字為「-name」,根據目標文件的名稱進行查找,允許使用「*」
及「?」通配符。
按文件大小查找:關鍵字為「-size」,根據目標文件的大小進行查找,一般使用「+」
和「-」號設置超過或小於指定的大小作為查找條件。常用的容量單位包括 kB(注
意 k 是小寫)、MB、GB。
按文件屬主查找:關鍵字為「-user」,根據文件是否屬於目標用戶進行查找。
按文件類型查找:關鍵字為「-type」,根據文件的類型進行查找,這裡的類型指的
是普通文件(
f)、目錄(
d)、塊設備文件(
b)、字元設備文件(
c)等。塊設備指
的是成塊讀取數據的設備(如硬碟、記憶體等),而字元設備指的是按單個字元讀取
數據的設備(如鍵盤、滑鼠等)。
設置 find 命令的查找條件時,若需要使用「*」或「?」通配符,最好將文件名用雙引
號括起來,以避免當前目錄下符合條件的文件干擾查找結果。例如,以下操作將在/etc 目
錄中遞歸查找名稱以「resol」開頭、以「.conf」結尾的文件。
[root@localhost ~]# find /etc –name “resol*.conf”
/etc/resolv.conf
使用「-type」查找條件可以過濾出指定類型的文件。例如,以下操作將在/boot 目錄
中查找出所有的文件夾(對應的類型為 d),而忽略其他類型的文件。第 18 頁 共 18 頁
[root@localhost ~]# find /boot -type d
/boot
/boot/grub
„„
需要同時使用多個查找條件時,各表達式之間可以使用邏輯運算符「-a」與「-o」分別
表示而且(
and)、或者(
or)。例如,以下兩個操作使用了兩個查找條件,即「超過 1024kB」
和「名稱以 1 vmlinuz 開頭」,但分別使用「-a」「-o」組合兩個條件,前者表示兩個條件必
須同時滿足,後者表示只需滿足其中任何一個條件即可。
[root@localhost ~]# find /boot -size +1024k -a -name “vmlinuz*”
/boot/vmlinuz-3.10.0-514.el7.x86_64
/boot/vmlinuz-0-rescue-8d265977c0c0459d98aff332d2544503
[root@localhost ~]# find /boot -size +1024k -o -name “vmlinuz*”
/boot/grub2/fonts/unicode.pf2
/boot/System.map-3.10.0-514.el7.x86_64
/boot/vmlinuz-3.10.0-514.el7.x86_64
以上的這些命令就基本上可以滿足大家日常的操作了,linux要會查。如有見解請指教與糾錯
謝謝!