一:在Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例。
在Linux中,文件管理類命令主要有cp,mv,rm三個
其中cp命令的使用格式如下:
cp [OPTION]… [-T] SOURCE DEST
cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
第一種:cp SRC DEST:主要表示從原文件進行復制到目標文件。
而這時,分為兩種情況。
一:目標文件不存在:此時,會先創建一個目標文件,然后把源文件的內容復制到目標文件中,如下所示:
二:目標文件存在時:此時,又會分為兩種情況:
第一種:目標文件是文件,則會讓用戶進行確認,如果確認。則會把源文件里的內容覆蓋掉目標文件的內容。如下圖
第二種:目標文件是個目錄:則會把源文件拷貝到目標目錄中。如圖所示:
第二種:cp [OPTION]… SOURCE… DIRECTORY:
同時拷貝多個源文件,最后到一個目錄文件。
此時分為兩種情況:
一:目標目錄不存在:則會失敗。如下圖
二:如果目標目錄存在:則會把源文件都拷貝到目標目錄中。如下圖:
第三種:cp [OPTION]… -t DIRECTORY SOURCE…
加上-t參數之后,則可以把目標目錄放在前面,源文件放在后面。
注意:放在前面的只能是目錄。
cp的常用選項:
-a:完全備份,歸檔拷貝 -r和-preserv=all。
-i:交互式命令。
-f:強制執行命令,不需要用戶提示是否。
-p:表示–preserv=屬主屬組,時間戳,權限
-r,R:遞歸拷貝。
–no-dereference:不追蹤符號鏈接。
-t:復制時,把源放在后面,把目標目錄放再前面。
-v:每次執行的命令都反饋告訴用戶。
mv命令:
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…
其主要的用法,和cp沒有本質上的區別。
只是,mv中沒有-r這個選項。移動目錄時,會把目錄下的所有文件都做相應移動。同時,若是目標文件或者目錄存在時,則詢問用戶是否覆蓋。
-i:交互式。
-f:強制執行。
rm命令:主要用于刪除。
常用的選項:
-f:強制執行
-r:遞歸刪除
-i:和用戶交互
-v:顯示過程
通常情況下:一般使用rm -rf file 對文件或者命令進行刪除。同時可以使用-v進行顯示其過程,如下圖:
二:bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容。
用戶執行命令之后,返回的狀態只有兩種:分別就是成功和失敗。
我們可以用echo來查看返回的狀態碼。
如果是成功,則是返回0
如果是失敗,則是返回1-255
成功如下圖:
失敗如下圖:
命令行展開模式有3種:
(1)~:展開為用戶的主目錄。
(2)~USERNAME:展開為username的主目錄
(3){}:可以承載一個以逗號分隔的列表,并且將其展開為多個路徑。其中{}內是相加屬性,{}外是相乘屬性
三:創建以下目錄:
(1)/tmp目錄下的:a_c,a_d,b_c,b_d:如下圖所示
(2)/創建/tmp/mylinux目錄下的
四:文件的元數據信息分別表示什么含義,有哪些,如何查看?如何修改文件的時間戳信息
stat:獲取文件元數據的命令。
文件元數據分別有:大小,塊,IO塊,類型,設備,Inode,硬鏈接,權限,屬主UID,屬組GID
最近訪問時間:最近查看這個文件的時間
最近修改時間:最近改變這個文件內容的時間
最近改變時間:最近改變這個文件的屬性的時間
touch:修改文件的時間戳信息。
-c:如果文件不存在,也不會創建新文件
-a:改變訪問時間
-m:改變修改時間
-a和-m需要配合-t timestamp 使用,時間戳的格式是年月日小時分鐘.秒,例如201606061616.30表示2016年6月6日16點16分30秒
五:定義一個命令的別名,在一個命令中引用另一個命令的執行結果。 alias:定義命令別名.
alais command=“value”:通過這種方法,可以定義一個命令別名。此時,這個別名只是在當前shell中生效。
若是想要對所有用戶生效,則需要修改:/etc/bashrc文件
若是想對特定的用戶生效,則需要修改特定用戶家目錄下的~/.bashrc文件。
修改文件之后,如果想立即生效,則需要source /path/to/file
unalias:別名取消。
-a:取消所有的命令別名。
unalias COMMAND:撤銷某個命令別名。
若是命令別名是本身命令的擴展,比如cp=“cp -i”。若是想使用本身的命令,則需要\cp:\表示轉義字符
六:顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
ll -d /var/l*[0-9]*[[:lower:]]
7:顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
ll -d /etc/[[:digit:]]*[^[:digit:]]
8:顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
ll -d /etc/[^[:alpha:]][[:alpha:]]*
9:在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
touch /tmp/tfile-`date +%Y-%m-%d-%H-%M-%S`
10:復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
cp -r /etc/p*[^[:digit:]] /tmpmytest1
11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
cp -r /etc/*,d /tmp/mytest2
12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
cp -r /etc/[m,n,l]*.config /tmp/mytest3
原創文章,作者:N21—明明,如若轉載,請注明出處:http://www.www58058.com/23941
寫的很好,排版還可以在改進一下,就不要把黑屏截上來了。加油