Linux基礎指令
剛接觸Linux,往往會有一個印象就是Linux操作起來比我們熟悉的windows難,其實不然,隻要了解熟知了Linux的CLI界面諸多的指令的用法就能使很多在GUI界面下的操作變的無比簡單;以下是Linux使用中的幾個基礎指令:
1.cd:
cd [-L|-P] [dir] 改變shell 的工作目錄,預設是使用者的家目錄;
cd DIR:切換到DIR目錄;
cd: 切換至目前使用者的家目錄;
cd - :将工作目錄切換至上一次的工作目錄;兩個目錄之間的來回切換!
原理: shell中的兩個變量:
$PWD
$OLDPWD
cd ~ :将工作目錄切換至家目錄;root使用者可以切換到指定普通使用者的家目錄下;
cd ~USRNAME;
2.pwd:
顯示PWD變量的内容,即顯示目前目錄;pwd [-LP]
3.ls:
顯示目錄内容(檔案名)
在Linux檔案系統中,所有以“.”開始的檔案稱為隐藏檔案;
選項:
-A :顯示除了“.”和“..”的所有檔案,包括隐藏檔案
-d :不顯示目錄的内容,隻顯示該目錄名;
-l,--long:以長格式顯示檔案的詳細屬性資訊
/*例如:drwxr-xr-x. 2 whj1 whj1 4096 Mar 4 14:15 Desktop
d:檔案類型辨別
rwxr-xr-x:檔案權限
rwx:檔案的屬主所具備的權限;
r-x:檔案的屬組所具備的權限;
r-x:其他使用者對該檔案所具備的權限;
. :表示該檔案是否具有特殊屬性;.表示特殊屬性
2:該檔案被硬連接配接的次數;
whj1:檔案的屬主;
whj1:檔案的數組;
4096:檔案的大小;
Mar 4 14:15-- 檔案最後一次被修改的時間;
Desktop:檔案名稱(檔案名不屬于檔案的屬性資訊-中繼資料)
*除了檔案名以外的所有資訊都是檔案的屬性;
裝置的詳細資訊:
8:主裝置号(major)用于辨別裝置類型,進而确定要加載何種驅動程式;
0:次裝置号(minor)用于辨別同一種裝置類型的不同裝置;
裝置号使用8位二進制表示,預設表示範圍:0-255;*/
-h:易于人讀取的檔案大小格式,1024進制換算;
-F:--classify 檔案類型辨別(/@*|=)
-r: 按字母順序倒順序輸出結果
-R:--recursive 遞歸顯示目錄及子目錄的内容 (Ctrl+C 結束程序)
-S:根據檔案大小排序顯示
-1:每行顯示一個檔案
-Z:顯示檔案的SELinux的安全上下文(Security Context)
Exit Status:
0: if OK,成功執行
1: if minor problems(e.g. cannot access subdirectory)
2: if serious problems(e.g. 目标檔案或目錄不存在等等)
4.mkdir:
mkdir [opt] DIRECTORY...
-p:在建立目錄時,如果父目錄不存在則優先建立之;
-v:在執行指令時顯示指令的執行過程;
5.rmdir:
隻可以删除空目錄; 選項同mkdir
6.rm: 移除檔案或目錄;
rm [opt]... FILE...
-i:與使用者進行互動式删除;
-f:強制删除;
-r,-R:遞歸删除目錄;
7.touch:
change file timestamps 修改時間戳,可以使檔案的三個時間一緻。
touch [opt]... FILE...
8.stat:
display file or file system status
stat [opt]... FILE...
Access: 通路時間
Modify: 修改時間,檔案内容變化時改變
Change: 中繼資料變化,改變時間變化
-c FORMAT:以特定的格式顯示檔案指定屬性;
例如:%a,access rights in octal
9.nano:
全屏編輯工具,
^表示Ctrl鍵;
o:儲存
x:退出
……
10.cat:
concatenate(連接配接) files and print on the standard output
-E:顯示末尾隐藏的行結束“$”符号;
-n:所有行進行行編号;
-b:對于非空行内容進行行編号,即不顯示空行的行号;
-s:合并多行空白行為一行;
注意:如沒有參數,則通過标準輸入進行操作,Ctrl+D退
11.tac:
concatenate and print files in reverse
實際上就是cat的逆序輸出;
12.head:
output the first part of files
選項:
-c #[b|k|m|g]:
顯示檔案的前#多個字元;
b:512Byte;K:1024;
-n, --lines=[-]K
顯示檔案的前n行内容,也可以簡寫為-#;
注意:不加選項時預設顯示前十行;不足十行全部輸出;
13.tail:
output the last part of files
選項幾乎和head相同:
-f:實時監測檔案末尾變化情況;^+c退出;
★分頁顯示内容;
14 more:man指令顯示的格式 空格翻頁,回車進行;
more隻能下翻頁,不能回翻;
15 less:可以回翻頁
★日期時間相關指令:
有兩個時鐘:
硬體時鐘:hwclock,clock。精确到1微秒
系統時鐘:date
cal
16.date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
設定方法有很多:
如 date "031211012017.40"
date -s "2017/10/10 10:10:10"
格式:
%F:完整格式的日期;
%T:完整格式的時間;
%Y:年;
%m:月;
%d:日;
%HMS:時分秒;1day 24h 1440m 86400s
%s:時間戳;從1970-1-1 00:00:00到目前系統時間所經過的秒數;
……
17.hwclock:
-s,--hctosys :
Set the System Time from the Hardware Clock.
以硬體時鐘為參考設定系統時鐘;
-w, --systohc
Set the Hardware Clock to the current System Time.
以系統時鐘為參考設定硬體時鐘
--set --date "TIME":
将硬體時鐘設定為"TIME";
18.cal:顯示月曆;
NTP伺服器:網絡時間協定,誤差控制在ms;自動同步;
關機指令:
19.halt、poweroff:
20.shutdown:較前面兩者更為安全;
shutdown [OPTIONS...] [TIME] [WALL...]
TIME:
絕對時間:12:00;
相對時間:+#,在#分鐘之後執行;
+0相當于now
-h:關閉系統;
-r:重新開機;(reboot);
-c;Cancel a pending shutdown.
21.登出,登出:
exit:登出一個shell
logout:退出一個登入 shell.
22.cp:
拷貝檔案和目錄:
cp [OPTION]... SOURCE DEST(單源複制)
cp [OPTION]... SOURCE... DIRECTORY(多源複制)
單源複制可以修改檔案名;
選項:
-d 複制符号連結檔案本身,而非源檔案;
-p 在複制檔案時,能夠保留檔案的權限、所有權及時間戳資訊;
-r、R:遞歸的複制目錄及目錄中的檔案;
-a:相當于-dpr的組合;
注意:1.cp指令至少需要兩個參數;
2.通常情況下,最後一個參數是此次拷貝行為的目标;
3.如果進行單源複制,目标可以不存在,目标可以為非目錄檔案;
4.如果進行多源複制,目标必須為多源目錄,且過程中無法更改檔案名;
23.mv:
mv [OPTION]... SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
-f : 強制覆寫目标位置中的重名檔案;
24.which:
shows the full path of (shell) commands.
檢視可執行指令的路徑
【文法】which COMMAND
【選項】:
-a,--all:顯示所有比對的可執行檔案,而不僅僅是第一個。
25.whatis:
search the whatis database for complete words
在 whatis庫裡查找完整的指令
是一個輔助的指令,輔助man這個幫助指令
26.whereis:
locate the binary, source, and manual page files for a command
查找檔案、手冊頁、指令等的相關位置,
【文法】whereis [options] argument
【選項】
-b:隻查找二進制檔案位置
-m:隻查找手冊頁部分
-s:隻查找源代碼部分
27.w who whoami:
w - 顯示已經登入的使用者及正在進行的操作
who - 顯示已經登入的使用者
【選項】:
-q, --count顯示全部的登入名和登入數
whoami - 顯示登入系統的時候的使用者名,即使已經切換到其他使用者也顯示登入時的使用者
28.du:報告磁盤空間使用情況
POSIX 選項
-a 顯示所有檔案的統計,不隻是包含子目錄
-k 用1024位元組作為計數機關
-x 隻輸出指定參數的實際使用空間,而不包括其下的子目錄
GNU 選項
-a, --all
顯示對所有檔案的統計,而不隻是包含子目錄