linux命令的基本格式:命令 【選項】【參數】,如 cd -l anaconda3
-
ls:顯示當前目錄下的內容(list)
ls -a | (all)顯示所有文件,包括隱藏的文件 |
ls -l | 長格式顯示,顯示文件的詳細信息,文件大小是字節 |
ls -lh | 字節的顯示格式:K:KB千字節,M:MB兆字節 |
-
cd:切換目錄(change directory)
cd / | 根目錄 |
cd ~ | home目錄 |
cd - | 上次所在目錄 |
cd . | 當前目錄 |
cd .. | 上一目錄 |
pdw | 査看當前所在的目錄 |
-
絕對路徑vs相對路徑
絕對路徑:路徑是從根目錄開始一級一級指定的
相對路徑:從當前所在目錄開始切換目錄
-
mkdir:創建目錄(make directories )
示例 | 作用 | |
mkdir | mkdir cangls | 建立目錄 |
mkdir -p | mkdir -p movie/jp/cangls | 遞歸建立目錄 |
-
rmdir:刪除空目錄(remove empty directories)
rmdir | rmdir cangls | 刪除空目錄cangls |
rmdir -p | rmdir -p movie/jp/cangls | 遞歸刪除空目錄 |
注:只能刪除空目錄,一旦目錄中有內容就會報錯,故一般使用rm命令
-
touch:觸摸,用於修改文件的時間戳。如果文件不存在則會建立空文件,如果文件已存在則會修改文件的時間戳(change file timestamps)
示例 作用 touch touch file 修改file文件是時間戳 touch -a touch -a file 只修改文件的訪問時間 touch -c touch -c file 如果文件不存在,則不建立新文件 touch -d
? 把文件的時間改爲指定的時間 touch -m touch -m file 只修改文件的數據修改時間
注:linux中每個文件都有三個時間:訪問時間(access time),數據修改時間(modify time),狀態修改時間(change time)
在linux中, 文件沒有創建時間
不過,touch 命令只能人爲指定只修改訪問時間,或是隻修改數據修改時間,而不能指定只修改狀態修改時間。因爲不論是修改訪問時間,還是修改文件的數據時間,對文件來講,狀態都會發生改變,即狀態修改時間會隨之自動改變
-
stat:顯示文件或文件系統的詳細信息(display file or file system status)
示例 作用 stat stat file 查看文件的信息(含有時間戳) stat -f stat -f file 查看文件所在的文件系統信息 -
cat:查看文件的內容,即連接文件並打印輸出到標準輸出(concatenate files and print on the standard output)
注:cat適應於查看小文件cat -A 相當於 -vET 選項的整合,用於列出所有隱藏符號; cat -E 列出每行結尾的回車符 $ cat -n 顯示行號 cat -T 把 Tab 鍵 ^I 顯示出來 cat-V 列出特殊字符 -
more:分屏顯示文件(適用於大文件,功能類似cat)
-
head:查看文件的開頭(output the first part of files)
示例 作用 head head file 顯示文件開頭(默認開頭10行) head -n head -n 20 file or head -20 file 顯示文件開頭20行 head -v head -v file 顯示文件名 -
tail 顯示文件的結尾(output the last part of files)
示例 | 作用 | |
tail | tail file | 顯示文件結尾(默認10行) |
tail -n | tail -n 20 file or tail -20 file | 顯示文件定義行數的結尾 |
tail -f | tail -f file | 監聽文件的新增內容,光標不會退出命令,會一直監聽文件的結尾處,等待顯示新增內容 |
-
rm:強大的刪除命令,可以刪除文件和目錄(remove files or directories)。
rm | 刪除 |
rm -f |
強制刪除(force) |
rm -i | 交互刪除,在刪除之前會詢問用戶 |
rm -r | 遞歸刪除,可以刪除目錄 |
rm -rf | 最常用,可強制刪除文件和目錄 |
-
cp:複製,可複製文件和目錄(copy files and directories)
-
命令格式:cp [選項] 源文件 目標文件
- 複製文件:cp bols /tmp/
- 複製目錄:cp -r /test/ /test_copy/
-
mv:剪切,可剪切文件和目錄。命令格式:mv [選項] 源文件 目標文件
mv -f 強制覆蓋,如果目標文件已經存在,則不詢問,直接強制覆蓋; mv -i 交互移動,如果目標文件已經存在,則詢問用戶是否覆蓋(默認選項) mv -n 如果目標文件已經存在,則不會覆蓋移動,而且不詢問用戶; mv -v 顯示詳細信息; -
linux文件的權限:
-
所有者:文件的建立者
-
所屬組:所屬的用戶組
-
其他人:其他的人
-
linux文件的權限位
- 第1位:文件類型。例如:
“-” 普通文件 “c” 字符設備文件。這也是特殊設備文件,輸入設備一般都是這種文件,如鼠標、鍵盤d等 “d” 目錄文件。Linux 中一切皆文件,所以目錄也是文件的一種。 - 2~4位:文件所有者的權限
r read,讀取權限 w write,寫權限 x execute,執行權限 - 如果有上述字母,則代表擁有對應的權限;如果是"-",則代表沒有對應的權限 - 5~7位:文件所屬組的權限。同上
- 8~10位:其他人的權限。同上
-
chmod:修改權限(change mode)。命令格式:chmod [選項] 權限模式 文件名
- 選項:
-R 遞歸設置權限,也就是給子目錄中的所有文件設定權限 -
權限模式:【用戶身份】【賦予方式】【權限】
-
用戶身份:
u 所有者user g 所屬組group o 其他other a 所有身份all -
賦予方式
+ 加入權限 - 減去權限 = 直接設置權限,用着方便 -
權限
r 讀取 w 寫 x 執行execute -
舉例:chmod u+x file #將file文件的所有者加入執行權限; chmod g+w,o-w file#給多個身份同時加入權限 chmod u=rwx,g=rw,o=rw file #直接通過“=”設置權限(注:注意兩個權限之間的逗號)
-
權限對文件的作用。
- -讀(r):對文件有讀(r)權限,代表可以讀取文件中的數據。如果把權限對應到命令上,那麼一旦對文件有讀(r)權限,就可以對文件執行 cat、more、less、head、tail 等文件查看命令。
- -寫(w):對文件有寫(w)權限,代表可以修改文件中的數據。如果把權限對應到命令上,那麼一旦對文件有寫(w)權限,就可以對文件執行 vim、echo 等修改文件數據的命令。注意,對文件有寫權限,是不能刪除文件本身的,只能修改文件中的數據。如果要想刪除文件,則需要對文件的上級目錄擁有寫權限。
- -執行(x):對文件有執行(x)權限,代表文件擁有了執行權限,可以運行。在 Linux 中,只要文件有執行(x)權限,這個文件就是執行文件了。只是這個文件到底能不能正確執行,不僅需要執行(x)權限,還要看文件中的代碼是不是正確的語言代碼。對文件來說,執行(x)權限是最高權限。
-
權限對目錄的作用
- -讀(r):對目錄有讀 (r)權限,代表可以查看目錄下的內容,也就是可以查看目錄下有哪些子文件和子目錄。如果把權限對應到命令上,那麼一旦對目錄擁有了讀(r)權限,就可以在目錄下執行 ls 命令,查看目錄下的內容了。
- -寫(w):對目錄有寫(r)權限,代表可以修改目錄下的數據,也就是可以在目錄中新建、刪除、複製、剪切子文件或子目錄。如果把權限對應到命令上,那麼一旦對目錄擁有了寫(w)權限,就可以在目錄下執行 touch、rm、cp、mv 命令。對目錄來說,寫(w)權限是最高權限。
- -執行(x):目錄是不能運行的,那麼對目錄擁有執行(x)權限,代表可以進入目錄。如果把權限對應到命令上,那麼一旦對目錄擁有了執行(x)權限,就可以對目錄執行 cd 命令,進入目錄。
-
chown:修改文件和目錄的所有者和所屬組(change file owner and group)
- 修改文件所有者:chown user file #file文件原所有者是zongyu,現在修改爲user
- 修改文件的所屬組:chown user:uesr file #將file文件的所有者改爲user,所屬組改爲user。注:在 Linux 中,每個用戶建立之後(如zongyu),都會建立和用戶名同名的用戶組,作爲這個用戶的初始組
-
chgrp:修改文件和目錄的所屬組(change group ownership)
- chgrp uesr file # 修改file文件的所屬組爲user用戶組
-
umask:查看和設置linux系統中文件和目錄的默認初始權限
- umask -S:查看系統文件和目錄默認權限
-
linux查看命令幫助信息是幾個命令
- man 命令:最常用,可查看外部命令和shell內置命令是幫助。如:man ls
- info 命令 : info命令的幫助信息是一套完整的資料,每個單獨命令的幫助信息只是這套完整資料中的某一個小章節。大家可以把 info 幫助信息看成一部獨立的電子書,所以每個命令的幫助信息都會和書籍一樣,擁有章節編號
- help 命令:只能獲取shell內置命令的幫助 (但在 Linux 中絕大多數命令是外部命令,所以 help 命令的作用非常有限)
- --help選項: 絕大多數命令都可以使用"--help"選項來査看幫助,這種方法非常簡單,輸出的幫助信息基本上是 man 命令的信息簡要版。如:ls --help
-
whereis:搜索系統命令,而不能搜索普通文件
whereis | 不僅可以搜索二進制命令,還可以找到命令的幫助文檔的位置。 |
whereis -b | 只搜索二進制命令 |
whereis-m | 只搜索幫助文檔 |
-
which:也是搜索系統命令的命令
-
和 whereis 命令的區別在於,whereis 命令可以在查找到二進制命令的同時,查找到幫助文檔的位置;而which命令在查找到二進制命令的同時,如果這個命令有別名,則還可以找到別名命令.如:which ls
-
locate:按照文件名搜索普通文件(find files by name)
- 基本用法:locate file
- 注:因爲 locate 命令不會直接搜索硬盤空間,而會先建立 locate 數據庫,然後在數據庫中按照文件名進行搜索,是快速的搜索命令。(這樣做的好處是耗費系統資源小、搜索速度快;缺點是不是實時更新的,而要等用戶退出登錄或重啓系統時,locate 數據庫纔會更新)所以我們無法查找到新建立的文件。可通過updatedb命令更新數據庫,這樣locate就可以搜索到了