【Linux初學】常用命令

前言:此文章爲觀看tony老師的linux視頻整理而來,整理做自己查閱用,如侵必刪

liunx命令格式:

命令 [選項] [參數]

注意:個別命令使用不遵循此格式

當有多個選項時,可以寫在一起

簡化選項與完整選項:-a 等於 --all

顯示當前所在位置:pwd

切換目錄:cd [目標目錄]

簡化操作

cd ~ 進入當前用戶的家目錄 cd 

cd -  進入上次目錄

cd .. 進入上一級目錄

cd .  進入當前目錄

查詢目錄中內容:ls [選項] [文件或目錄]

選項:-a 顯示所有文件,包括隱藏文件

           -l  顯示詳細信息

           -d 查看目錄屬性

           -h 人性化顯示文件大小

           -i  顯示inode

注: -rw-r--r--

- 代表文件類型( - 文件 d 目錄 l 軟連接文件)(不止這三種,其他爲系統文件或硬件文件,不需要掌握)

剩下的三個爲一組,代表用戶的操作權限,第一組爲u所有者的操作權限,第二組爲g所屬組,第三組爲o其他人

r讀 w寫 x執行

Ps: -h 通常與 -l 一起使用,單獨使用 -h 沒有作用

 

建立目錄:mkdir -p [目錄名]

-p 遞歸創建

刪除空目錄:rmdir [目錄名]

刪除文件或目錄:rm -rf [文件或目錄]

選項:-r 刪除目錄

           -f 強制

複製:cp [選項] [原文件或目錄] [目標目錄]

選項:-r  複製目錄

           -p 連帶文件屬性複製

           -d 若原文件是鏈接文件,則複製鏈接屬性

           -a 相當於 -pdr

注:-p 及 -a 不能連帶inode一起復制 inode是獨一無二的,只能通過鏈接

剪切或改名:mv [原文件或目錄] [目標目錄]

注:mv命令操作目錄不需要 -r

 鏈接:ln -s [原文件] [目標文件]

選項: -s 創建軟鏈接

軟鏈接和硬鏈接的區別:

硬鏈接特徵:

1.擁有相同的i節點的存儲block塊,可以看做是同一個文件

2.可通過i節點識別(相同i節點)

3.不能跨分區(相同block塊當然不能跨分區)

4.不能針對目錄使用

5.刪除原文件該鏈接仍能使用

軟鏈接特徵:

1.類似Windows快捷方式,刪除原文件後鏈接不可以使用

2.軟鏈接擁有自己的i節點和block塊,但數據塊中只保存原文件的文件名和i節點號,並沒有實際的數據文件

3.lrwxrwxrwx l代表軟鏈接,軟鏈接的文件權限都是777,但是具體操作權限由原文件確定

4.修改任意文件,另一個都改變(硬鏈接也一樣)

5.可以針對目錄使用

注意!!!創建軟鏈接一定要使用絕對路徑!!!

文件搜索命令

locate [文件名]   

#在後臺數據庫中文件名搜索,搜索速度更快

/var/lib/mlocate

#locate命令所搜索的後臺數據庫

updatedb

#更新數據庫

注:touch命令

touch命令通常用來創建新的空文件,也可以用來把已存在文件的時間標籤更新爲系統當前的時間(默認方式)

後一種功能不常用,不在此多介紹。

 注:locate 的搜索配置文件 爲 /etc/updatedb.conf,裏面配置了locate命令的搜索範圍,whereis和which命令也同樣遵守這個配置文件。

搜索命令的命令:whereis [命令名]

#搜索命令所在路徑及幫助文檔所在位置 

選項:-b  只查找可執行文件

           -m 只查找幫助文件

which 類似於whereis但是which不會顯示幫助文檔所在位置,會額外顯示命令的別名。

注:whereis和which命令都只能查linux系統命令,不能查shell內置的命令

linux環境變量

 

find [搜索範圍] [搜索條件]

#需要避免大範圍搜索,會非常耗費系統資源

#find是在系統當中搜索符合條件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配

linux的通配符

*  匹配任意內容

?匹配任意一個字符

[]  匹配任意一個括號內的字符

 

find /root -iname install.log

#不區分大小寫

find /root -user root

#按照所有者搜索

find /root -nouser

#查找沒有所有者的文件(用於查找垃圾文件,外來文件(U盤和光盤)和內核產生的文件(proc和sys目錄下))

find /var/log/ -mtime +10

#查找10天前修改的文件

# -10       10天內修改的文件

# 10        10天當天修改的文件

# +10      10天前修改的文件

# atime 文件訪問時間

# ctime 改變文件屬性時間

# mtime 修改文件內容時間

find . -size 25k

#查找文件大小是25KB的文件

# -25k    小於25KB的文件

# 25k     等於25KB的文件

# +25k   大於25KB的文件

注意:搜索MB單位爲大寫M,搜索KB爲小寫k,不寫默認單位爲數據塊

find . -inum 262422

#查找i節點是262422的文件

find /etc -size +20k -a -size -50k

#查找/etc/目錄下,大於20KB並且小於50KB的文件

-a and 邏輯與,兩個條件都滿足

-o or    邏輯或,兩個條件滿足一個即可

find /etc -size +20k -a -size -50k -exec ls -lh {} \;

#查找/etc、目錄下,大於20KB並且小於50KB的文件,並顯示詳細信息

#-exec/-ok 命令{} \;對搜索結果執行操作

 字符串搜索命令:grep [選項] 字符串 文件名

#在文件當中匹配符合條件的字符串

選項:-i 忽略大小寫

          -v 排除指定字符串

注:如果需要匹配,使用正則表達式匹配,屬於包含匹配

 幫助命令

man [命令]

#獲取指定命令的幫助

小技巧:因爲幫助文檔過於長,所以我們常常需要對文檔內容進行搜索,假如我們需要搜索-d,則輸入/-d即可

 壓縮文件

.zip格式壓縮

zip [壓縮文件名] [原文件]

#壓縮文件

zip -r [壓縮文件名] [目錄]

#壓縮目錄

unzip [壓縮文件]

#解壓縮.zip文件

注意:壓縮目錄時不要寫絕對路徑,否則會連同路徑一起壓縮進壓縮文件

.gz格式壓縮

gzip [原文件]

#壓縮爲.gz格式的壓縮文件,原文件會消失 ,壓縮文件會以原文件名命名,加.gz後綴

gzip -c [原文件] > [壓縮文件]

#壓縮爲.gz格式,原文件保留

gzip -r [目錄]

#壓縮目錄下所有的子文件,但是不能壓縮目錄

gzip -d [壓縮文件]  /  gunzip [壓縮文件]

#解壓縮.gz文件(解壓後以該壓縮文件名命名新文件)

.bz2格式壓縮

bzip2 [原文件]

#壓縮爲.bz2格式,不保留原文件

bzip2 -k [原文件]

#壓縮之後保留源文件(注意與gzip區分)

注意:.bzip2不能壓縮目錄

bzip2 -d [壓縮文件] / bunzip [壓縮文件]

#解壓縮,-k保留壓縮文件

打包命令:tar -cvf [打包文件名] [原文件]

選項:-c  打包

           -v  顯示過程

           -f   指定打包後的文件名

tar -xvf [打包文件名]

選項:-x 解打包

tar -zcvf [壓縮包名] [原文件]

選項:-z 壓縮爲.tar.gz格式

           -j  壓縮爲.tar.bz2格式

tar -ztvf [壓縮包名]

選項:-t 查看壓縮包內容

tar -zxvf [壓縮包名]

#解壓縮.tar.gz

tar -jxvf [壓縮包名]

#解壓縮.tar.bz2

注:以上兩種壓縮可以同時壓縮多個文件和目錄

關機和重啓命令

shutdown  [選項] [時間]

選項:-c  取消前一個關機命令

           -h 關機   (halt / poweroff / init 0)(這三個不安全)

           -r  重啓    (reboot)

掛載命令

mount

#查詢系統中已經掛載的設備

mount -a

#依據配置文件/etc/fstab的內容,自動掛載

mount [-t文件系統] [-o特殊選項] [設備] [文件名] [掛載點]

選項:-t 文件系統:假如文件系統類型類指定掛載的類型,可以ext3、ext4、iso9660(光盤)等文件系統

          -o 特殊選項:可以指定掛載的額外選項

umount [設備文件名或掛載點]