Linux常用命令很多比如cd、ls、pwd、du、df、tail、head、yum、mv、touch、mkdir、cp、tar等,根據工作內容不同,經常使用的命令也不同,比如運維人員使用tail、head、move、mkdir、cd、ls、cat、tar等,開發人員經常使用grep、mkdir、touch、ls、pwd、cat、echo、rm、tail、wget、find、mv等。下面我將簡單說明一些常用的linux
1.cd
cd命令常用於目錄之間的切換,如:cd /opt 從當前目錄切換到/opt目錄下;說到了目錄就不得不說一說絕對路徑和相對路徑了
- 絕對路徑:是指目錄下的絕對位置,通常是從根目錄開始,windows根目錄是指盤符如"C:/"、"D:/"等,linux的根目錄是指"/"。絕對路徑下切換工作目錄例如:cd /opt/abc/
- 相對路徑:是指從當前目錄下開始的相對位置,也就是說這個目錄在當前目錄的什麼位置,相對路徑的代表"./"和"../"。相對路徑下切換目錄例如:cd ./abc 表示切換到當前目錄下的abc目錄,cd ../abc 表示切換到當前目錄的上一級目錄下的abc目錄
示例:
root@jia:~# cd /opt //此處爲絕對路徑,切換目錄到”/opt“
root@jia:/opt#
root@jia:/opt# cd / //此處爲絕對路徑,切換目錄到根目錄也就是”/“
root@jia:/#
root@jia:/opt# cd ../home/ //此處爲相對路徑,切換到當前目錄的上一級目錄中的home目錄
root@jia:/home#
root@jia:/home# cd ./jia/ //此處爲相對路徑,切換到當前目錄的jia目錄
root@jia:/home/jia#
2.ls
ls命令是用來列出目錄中內容以及文件夾,語法: ls 參數 路徑/目錄名,此處路徑可以是絕對路徑也可以是相對路徑
ls常用參數介紹:
參數 | 解釋 |
---|---|
-a | 列出目錄下所有內容,包括隱藏內容 |
-A | 列出目錄下所以內容,包括隱藏內容,但不包括 "." 和 "../" |
-b | 列出目錄本身,即 "." |
-f | 不排序進行列出 |
-i | 列出目錄內容並列出索引號 |
-l | 以長格式進行列出,列出權限、所有者、大小、創建時間等 |
-n | 列出目錄同時顯示UID和GID和 ”-l” 類似 |
-R | 遞歸顯示目錄,也就是同時顯示當目錄下目錄中的內容,依次類推 |
-S | 根據文件大小進行排序 |
-t | 根據時間進行排序 |
示例:
root@jia:/opt# ls //列出當前目錄內容
root@jia:/opt# ls -a //列出當前目錄下所有內容,包括隱藏目錄
root@jia:/opt# ll //相當於"ls -l",長格式列出
root@jia:/opt# ls / //列出根目錄下內容
root@jia:/opt# ls ../ //列出當前目錄的上一級目錄的內容
3.pwd
pwd命令用於查看當前的工作目錄,也就是當前所在目錄的路徑,此處查看的是絕對路徑
示例:
root@jia:/opt# pwd
/opt/
root@jia:/etc/apt# pwd
/etc/apt/
4.touch
touch命令用於創建文件,語法:"touch 參數 文件名稱",這裏需要注意的是touch命令不是文件編輯器
示例:
root@jia:/opt# touch abc
root@jia:/opt# ls
jia abc
root@jia:/opt# touch test test1 test2 //同時在當前目錄下創建多個文件
root@jia:/opt# ls
jia abc test test1 test2
root@jia:/opt# touch /home/test /home/test1 /home/test2 //在home目錄下創建多個文件
root@jia:/opt# ls /home/
jia test test1 test2
5.mkdir
mkdir命令用於創建目錄,語法:"mkdir 參數 目錄名"
常用參數介紹:
參數 | 解釋 |
---|---|
-m | 創建目錄同時設置權限,類似於chmod |
-p | 遞歸創建目錄 |
-v | 顯示創建目錄的過程信息 |
示例:
root@jia:/opt# mkdir test
root@jia:/opt# ls
jia abc test
root@jia:/opt# mkdir -p a/b/c/d //遞歸創建
root@jia:/opt# ls -R //遞歸列出
jia abc test
./a:
b
./a/b:
c
./a/b/c:
d
6.rm
rm命令用於刪除文件,可以刪除目錄或者文件,語法: "rm 參數 文件名/目錄名",在這裏提醒大家一句:在正式環境中不建議使用此命令,使用前請三思而行,一不留神就會讓你終身難忘的
常用參數介紹:
參數 | 解釋 |
---|---|
-f | 強制刪除,刪除時不提示 |
-i | 刪除前進行確認 |
-r | 刪除目錄 |
-R | 遞歸刪除 |
-v | 顯示刪除過程詳細信息 |
示例:
root@jia:/opt# ls
jia abc test test1 test2
root@jia:/opt# rm test
root@jia:/opt# ls
jia abc test1 test2
root@jia:/opt# rm -r jia
root@jia:/opt# ls
abc test1 test2
root@jia:/opt# rm -rf abc //刪除文件不提示,可刪除目錄和文件,常用但不建議用
root@jia:/opt# ls
test1 test2
7.cp
cp命令用於複製文件以及目錄,語法:cp 參數 源文件 目錄/目標文件,默認只能複製文件,複製目錄需要加 "-r" 參數
常用參數介紹:
參數 | 解釋 |
---|---|
-f | 覆蓋前不詢問 |
-i | 覆蓋前進行詢問 |
-l | 不進行復制鏈接文件 |
-n | 不覆蓋已有的文件 |
-r | 複製目錄 |
-R | 遞歸進行復制目錄下的文件及目錄 |
示例:
root@jia:/opt# cp test1 /etc/ //複製當前目錄下test1到/etc目錄下
root@jia:/opt# ls /etc/
....忽略其他 test1
root@jia:/opt# cp -r abc /etc/ //複製目錄下abc目錄到/etc目錄下
8.mv
mv命令用於移動文件及目錄,語法:mv 參數 源文件 目標目錄,這裏爲大家提供一個mv的技巧,mv不但可以移動文件還可以對文件進行重命名,當源文件目錄和目標目錄相同時會將文件進行改名
常用參數介紹:
參數 | 解釋 |
---|---|
-f | 覆蓋前不進行詢問 |
-i | 覆蓋前進行詢問 |
-n | 移動時不進行覆蓋 |
示例:
root@jia:/opt# mv test1 / //將文件test1移動到根目錄
root@jia:/opt# ls
test2
root@jia:/opt# mv test2 test1 //重命名test2爲test1
root@jia:/opt# ls
test1
9.cat
cat命令用於顯示文件所有內容,語法:cat 參數 文件
常用參數介紹:
參數 | 解釋 |
---|---|
-b | 對於非空行輸出行進行編號 |
-E | 在行結束最後加$符號 |
-n | 對所有行輸出進行編號 |
-s | 多行空行將以一行空行進行顯示 |
示例:
root@jia:/opt# cat test2
文件內容
root@jia:/opt# cat >>test2<<EOF //特殊用法cat >>文件名<<EOF ......EOF表示向文件中增加內容
>輸入行1
>輸入行2
>輸入行3
EOF
10.head
head命令用於顯示文件內容,用於查看文件前幾行內容,語法:head 參數 文件
示例:
root@jia:/opt# head -100 test1 //顯示文件前100行內容
文件前一百行內容
root@jia:/opt# head -10 test1 //顯示文件前10行內容
文件前10行內容
11.tail
tail命令用於動態顯示文件內容,用於查看文件後幾行內容,與head想反一個前幾行一個後幾行,語法:tail 參數 文件
常用參數介紹:
參數 | 解釋 |
---|---|
-f | 實時顯示文件內容,也就是動態查看文件內容 |
-n | 輸出文件的多少行 |
示例:
root@jia:/opt# tail -100 test1 //顯示test1文件中後100行內容
後100行內容
root@jia:/opt# tail -f test1 //動態顯示文件內容,多用於日誌查詢,以及日誌排測,強烈建議運維人員記住
12.df
df命令用於查看磁盤分區,語法:df 參數 ,常用參數組合:df -lh
常用參數介紹:
參數 | 介紹 |
---|---|
-a | 顯示所有文件系統的使用情況 |
-h | 以可讀的大小單位進行顯示 |
-H | 以可讀大小單位顯示,但不以1024計算,以1000進行計算 |
-i | 顯示文件系統的索引信息 |
-k | 以K爲單位進行顯示文件系統使用清空 |
-t | 顯示指定文件系統類型的信息 |
-T | 只顯示文件系統類型 |
-l | 以長格式顯示文件系統信息 |
示例:
root@jia:/opt# df -lh //查看文件系統的詳細信息
Filesystem Size Used Avail Use% Mounted on
udev 921M 0 921M 0% /dev
tmpfs 193M 944K 192M 1% /run
/dev/sda2 98G 3.7G 90G 4% /
tmpfs 962M 0 962M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 962M 0 962M 0% /sys/fs/cgroup
/dev/loop0 90M 90M 0 100% /snap/core/7917
/dev/loop1 55M 55M 0 100% /snap/lxd/12211
tmpfs 193M 0 193M 0% /run/user/0
13.du
du命令常用於查看磁盤使用量,查看文件目錄及文件的大小,語法:du 參數,常用命令:du -sh
常用參數介紹:
參數 | 解釋 |
---|---|
-a | 輸出所有文件磁盤大小,包括目錄 |
-c | 顯示總大小 |
-h | 以可讀的方式顯示文件大小 |
-k | 以K爲單位顯示文件大小 |
-m | 以M爲單位顯示文件大小 |
-S | 不顯示子目錄的大小 |
-s | 顯示查詢文件大小的總和 |
root@jia:/opt# du -sh //顯示查詢文件的總大小
5.2M .
14.echo
echo命令用於打印字符,語法:echo 字符
示例:
root@jia:/opt# echo 123
123
root@jia:/opt# echo abc > test1 //輸出字符到test1文件,覆蓋文件
root@jia:/opt# echo 123 test1 //輸出字符到test1文件,增加到文件
15.find
find命令用於文件查找或者目錄查找,語法:find 路徑 參數 參數值
常用參數介紹:
參數 | 解釋 |
---|---|
- -name | 以名稱進行查詢文件 |
-user | 安照用戶進行查詢文件 |
-group | 按照屬組查詢文件 |
-mtime | 安照更改時間進行查詢文件 |
-ctime | 安照創建時間進行查詢文件 |
-type | 按照文件類型進行查詢 |
-size | 按照文件大小進行查詢 |
-prune | 忽略某個目錄進行查詢 |
-depth | 查找完當前目錄再查詢子目錄 |
示例:
root@jia:/opt# find ./ -name “*.txt” | xargs rm //刪除當前目錄下所有以txt結尾的文件
root@jia:/opt# find /home -size +512k //查大於512k的文件
root@jia:/opt# find /home -size -512k //查小於512k的文件
root@jia:/opt# find /home -links +2 // 查硬連接數大於2的文件或目錄
root@jia:/opt# find /home -perm 0700 //查權限爲700的文件或目錄
root@jia:/opt# find / -amin -10 //查找在系統中最後10分鐘訪問的文件
root@jia:/opt# find / -atime -2 //查找在系統中最後48小時訪問的文件
root@jia:/opt# find / -empty //查找在系統中爲空的文件或者文件夾
root@jia:/opt# find / -group cat //查找在系統中屬於 groupcat的文件
root@jia:/opt# find / -mmin -5 // 查找在系統中最後5分鐘裏修改過的文件
root@jia:/opt# find / -mtime -1 //查找在系統中最後24小時裏修改過的文件
root@jia:/opt# find / -nouser //查找在系統中屬於作廢用戶的文件
root@jia:/opt# find / -user fred //查找在系統中屬於FRED這個用戶的文件
16.wget
wget是一個下載文件的工具,它用在命令行下,語法:wget 參數 連接地址
常用參數介紹:
參數 | 解釋 |
---|---|
-b | 後臺進行下載 |
-q | 靜默下載 |
-v | 下載時顯示詳細信息 |
-nc | 已下載文件不重複下載文件 |
-c | 繼續下載以下載部分的文件 |
-S | 打印服務器的響應 |
-4 | 僅連接ipv4的連接 |
-6 | 僅連接ipv6的連接 |
-nd | 不創建目錄 |
-x | 強制創建目錄 |
-nH | 不要創建主目錄 |
--http-user=user | 設置http用戶名 |
--http-password=pass | 設置http用戶密碼 |
--secure-protocol=auto | 選擇安全協議進行下載,參數有auto、SSLv2、SSLv3、TLS v1 |
--ftp-user=user | 設置ftp用戶名 |
--ftp-password=pass | 設置ftp密碼 |
-r | 遞歸進行下載 |
示例:
root@jia:/opt# wget http://nginx.org/download/nginx-1.17.6.tar.gz //下載nginx到當前目錄,文件名爲nginx-1.17.6.tar.gz