Linux上的常用文件管理命令
mkdir??????????
? ? ? ? mkdir:make directories,此命令用來創建一個空目錄
??????? 語法格式:mkdir [OPTION] … DIRECTORY…
常用方法:
-p:自動按需要來創建一個父目錄;
-v:verbose,用來顯示創建的詳細過程;
-m:MODE,用來分配目錄的權限;(極少會用到)
*:路徑的基名方為命令的作用對象;基名之前的路徑必須存在。
示例:
rmdir
?????? rmdir:remove empty directories,此命令用來刪除一個空目錄;
?????? 語法格式:rmdir? [OPTION] … DIRECTORY …
常用方法:
-p:刪除某個目錄后,如果其父目錄為空,則一并刪除;
-v:用來顯示刪除操作的詳細過程;
示例:
tree
????? tree:以倒置的樹狀結構來顯示其目錄結構
????? 語法格式:tree? [options] … [directory] …
常用方法:
tree:顯示目錄的全部層級結構
tree ?-L:指定要顯示的目錄層級
示例:
?
cp
??? cp:復制文件或目錄;
?? 語法格式:
單源復制:cp? [option]…[T]…SOURCE DEST
多源復制:cp? [option]…SOURCE…DIRECTORY
? ? ? ? ? ? ? ? ? ? cp? [option]…-t DIRECTORY? SOURCE…
說明:
???? 單源復制:
如果目標不存在:則事先創建此文件,并復制源文件的數據流到目標文件中;
如果目標存在:假如目標是非目錄文件,則覆蓋目標文件;
假如目標是目錄文件,則先在目標目錄下創建一個與源文件同名的文件,并復制其數據流;
常用選項:
-i:交互式復制,即覆蓋之前提醒用戶確認;
-f:強制復制目標文件;
-r,-R:遞歸復制目錄;
-d:復制符號鏈接文件本身,而并非指向源文件;
-a:-dR? –preserve=all,archive,用于實現歸檔;
元數據表:
–preserve=
mode:權限
ownership:屬主和屬組
timestamps:時間戳
context:安全標簽
xattr:擴展屬性
links:符號鏈接
all:上述的所有屬性
示例:
mv
mv:move,移動文件或目錄
語法格式:mv? [OPTION]…[-T]? SOURCE DEST
????????? mv? [OPTION]…SOURCE…DIRECTORY
????????? mv? [OPTION]…-t? DIRECTORY? SOURCE
常用方法:
-i:交互式移動
-f:force,強制性移動
示例:
?rm
rm:remove,刪除文件或目錄
語法格式:rm? [OPTION]…FILE…
常用選項:
-i:交互式;
-f:force,強制刪除;
-r:recursivev,遞歸刪除目錄
*:建議所有不用的文件不要直接刪除,而是移動到某個專用的目錄下;(模擬回收站)
示例:
Bash的工作特性
Bash的基礎特性
命令補全:
???? Shell程序在接受到用戶執行命令的請求時,在分析完成之后,最左側的字符串會被當作命令;
??? 命令查找機制:查找內部命令時,根據PATH環境變量中設定的目錄,從左至右逐個搜索目錄下的文? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 件名;?? ~]# echo $PATH
??? 如果給定的大頭字符串能唯一標識某命令程序文件,則直接不全;
??? 如果不能唯一表示某個命令程序文件,敲中兩次tab,會給出列表進行選擇;
路徑補全:
??? 在給定的起始路徑下,以對應路徑下的打頭字串來逐一匹配起始路徑下的每個文件;如果能唯一標? ? ? ? ? ? 識,一次tab鍵補全;不然擊中兩次tab,給出列表選擇;
Bash的基礎特性之命令行展開
符號:~,{ }
~:自動展開為用戶的家目錄,或指定的用戶的家目錄;
{ }:可承載一個以逗號分隔的路徑列表,并能夠將其展開為多個路徑;
- ??? 例:/tmp/{a,b}等價于/tmp/a? /tmp/b
Bash的基礎特性之命令的執行狀態結果
命令執行的狀態結果:
???? Bash通過狀態的返回值來輸出此結果:
??????????? 成功:0
??????????? 失?。?-255
????? 命令執行完成之后,其狀態返回值保存于bash的特殊變量$?中;
? ? ? 命令正常執行時,有的還會有命令返回值;根據命令及其功能的不同,結果各不相同;
Bash基礎特性之引用
????? 強引用:‘ ‘
????? 弱引用:“ ”
????? 命令引用:`? `
Bash基礎特性之快捷鍵
????? Ctrl+a:跳轉至命令行行首
????? Ctrl+e:跳轉至命令行行尾
????? Ctrl+u:刪除行首至光標所在處之間的所有字符
? ? ? Ctrl+k:刪除光標所在處至尾的所有字符
????? Ctrl+l:清屏,等價于clear命令
Bash的基礎特性之文件名通配
????? globbing:文件名通配(整體文件名匹配,而非部分)
匹配模式:元字符
*:匹配任意長度的任意字符
?? 例:pa*, *pa*, *pa, *p*a*
示例:
?:匹配任意單個字符
Pa?,? ??pa,? p?a,? p?a?
示例:
?[ ]:匹配指定范圍內的任意單個字符
幾種特殊格式:
[a-z],? [A-Z],? [0-9],? [a-z0-9]
[[:upper:]]:所有大寫字母
[[:lower:]]:所有小寫字母
[[:alpha:]]:所有字母
[[:digit:]]:所有數字
[[:alnum:]]:所有的字母和數字
[[:space:]]:所有空白字符
[[:punct:]]:所有標點符號
[^]:匹配指定氛圍外的任意單個字符
[^[:upper:]]? [^0-9]? [^[:alnum:]]
示例:
文件的元數據信息
文件的兩類數據
???? 元數據:metadata,文件的屬性數據
??? ??數據:data,文件的實際數據
元數據信息
File:文件或目錄的路徑
Size:文件的大小
Access:文件類型,屬主,屬組和其他用戶的權限
Uid:文件的屬主ID
Gid:文件的屬組ID
…….
Stat命令:
Stat:display file or file system status
語法格式:stat? FILE ….
示例:
時間戳信息
??????? access time :文件最近一次的訪問時間
??????? modify time :文件最近一次的修改時間
??????? change time :文件屬性最近一次改動的時間
touch命令
????? touch:change file timestamps
????? 語法格式:touch ?[OPTION]…FILE…
常用方法:
-c:指定的文件路徑不存在時不予創建
-a:僅修改access time
-m:僅修改modify time
-t:stamp? [[CC]YY]MMDDhhmm[.ss]
定義命令的別名
alias命令
?????? alias:此命令用來定義一個命令的別名,可以給命令取一個新的名字。
?????? 語法格式:alias? NAME = ‘COMMAND’
? *:此命令只對當前的shell進程有效
有定義別名就有撤銷別名:unalias? NAME
練習示例
命令行展開功能
1.創建/tmp目錄下的:a_c, ?a_d, ?b_c, ?b_d
?? 完成命令:mkdir ?-v? {a, b}_{c, d}
2.創建/tmp/mylinux目錄下的樹結構
文件名通配
- 顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可有其他字符)的文件或目錄。
? ? ? ? ? 完成命令:ls? /var/l*[a-z]
- 顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄
? ? ? ? ? 完成命令:ls /etc/[0-9]*[^0-9]
- 顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其他任意長度任意字符的文件或目錄。
? ? ? ? ?完成命令:ls? /etc/[^[:alpha:]][a-z]*
- 在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
? ? ? ? ?完成命令:mkdir -v /tmp/tfile-$(date +%Y-%m-%d-%H-%M-$S)
- 復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄下。
? ? ? ? ?完成命令:cp? -rv? /etc/p*[^0-9]? /tmp/mytest1
?
- 復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中
? ? ? ? ? 完成命令:mkdir? /tmp/mytest2?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cp? -rv? /etc/*.d? /tmp/mytest2
- 復制/etc目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中
? ? ? ? ? 完成命令:mkdir ?/tmp/mytest3
? ? ? ? ? ? ? ? ? ? cp? -rv? /etc/{l,m,n}*.conf? /tmp/mytest3
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/92088
mkdir -p 參數P代表parents,表示遞歸創建目錄。
其他沒有問題