Linux基礎知識
1、文件管理類命令
-
mkdir:創建空目錄
格式
mkdir [選項](可跟多個選項) 要創建的目錄名
選項
-p:遞歸創建多個目錄
命令演示:想要在/tmp/linux/centos下創建test目錄
因為/tmp/linux/centos路徑不存在,提示無法創建目錄
若加上選項-p后,若路徑不存在則直接創建路徑并創建目錄
-v:顯示創建過程即命令執行過程
命令演示:在/tmp/redhat/fedora下創建創建test1,且路徑不存在
與-p選項同時使用,直接創建路徑及目錄,并顯示執行步驟。
-m:設定目錄權限,不加則為默認權限
命令演示:在/tmp/linux下創建test2目錄,并設定權限為777
-
rmdir:刪除空目錄
格式同mkdir
選項:
-p:連同上一級空目錄一同刪除
命令演示:與-v同時使用
由于/tmp不是空目錄,所以無法刪除,只能刪除/linux/centos/test
-
cp:復制
格式:
復制單個文件:cp [選項](可跟多個選項) [-T] 源文件 目標文件
復制多個文件:cp [選項](可跟多個選項) 源文件 目標目錄
cp [選項](可跟多個選項) -t 目標目錄 源文件
復制單個文件時,目標文件不存在,則會創建目標文件并將源文件中的數據流抽取填充到目標文件。目標文件存在,如果是非目錄文件,則會復制源文件的數據流至目標文件中,覆蓋目標文件;如果是目錄文件,則現在目標目錄中創建一個與源文件同名的文件,并復制數據流。
復制多個文件時,目標必須是目錄,否則無法執行。
選項:
-i,覆蓋前詢問
-f,強制覆蓋目標文件
-r,遞歸復制目錄及目錄下的所有文件
-d,復制鏈接文件本身,但不跟蹤源文件
-a,為每個已存在的目標文件創建備份
命令演示:復制/tmp/centos1/下的abc到/tmp/centos2下的test,目標文件不存在
命令演示:復制/tmp/centos1下的123a到/tmp/linux/centos1/123a
復制單個文件時,若目標文件存在,會提示是否覆蓋目標文件,因為cp=‘cp -i’。
命令演示:復制/tmp/centos1/下的123a,12a3,a123到/tmp/centos3/下
-
mv:用來移動文件(若源文件與目標同目錄,則重命名)
格式:
mv [選項] 源文件或目錄 目標文件或目
選項:
-b :若需覆蓋文件,則覆蓋前先行備份。
-f :force 強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋;
-i :若目標文件 (destination) 已經存在時,就會詢問是否覆蓋!
-u :若目標文件已經存在,且源文件比較新,才會更新
命令演示:復制/tmp/centos2/test1的Abc到/tmp/centos1/下
命令執行后,Abc移動到/tmp/centos1下
若源文件與目標在同一目錄,則重命名文件
-
rm:刪除文件或目錄
格式:
rm [選項] 文件名或目錄名
常用選項:
-f, –force 忽略不存在的文件,從不給出提示。
-i, –interactive 進行交互式刪除
-r, -R, –recursive 指示rm將參數中列出的全部目錄和子目錄均遞歸地刪除。
-v, –verbose 詳細顯示進行的步驟
–help 顯示此幫助信息并退出
–version 輸出版本信息并退出
命令演示:刪除/tmp/centos1下的Abc123
系統會詢問是否刪除,輸入y,則確認刪除,rm=‘rm -i’
注意:不需要的文件,建議不要直接刪除,而是自己創建一個目錄,把不需要的文件都移動到該目錄,起到類似window回收站的作用,防止誤刪操作。
-
pwd:顯示當前目錄
-
ls:顯示指定目錄下的內容列表,默認為當前目錄
格式:
ls [選項] 目錄名
選項:
-a,顯示所有文件,包括隱藏文件
-l,顯示所有文件及其詳細信息
-
cat:查看文本文件內容,并輸出,默認輸出到標準輸出(顯示器)
-
tail:查看文件后n行,命令后跟-n,表示查看后n行,默認后10行。
2、bash工作特性
-
命令執行狀態返回值
echo $?:顯示最近一條命令的執行結果
只能查看最近一條命令的執行的狀態結果返回值
命令執行成功,則顯示:0
命令執行失敗,則顯示:1-255之間的任意數字
返回值為0,最近的命令tail /etc/passwd執行成功
輸入錯誤命令,返回值為1,命令執行失敗
找不到命令,返回值為127,命令執行失敗
命令行展開
-
~:自動展開為用戶家目錄或指定用戶的家目錄
-
{}:可以承載一個以逗號分隔的文件或目錄列表,并能夠將其展開為多個路徑或文件
例如:mkdir /tmp/{centos1,centos2,centos3},則為分別創建/tmp/centos1,/tmp/centos2,/tmp/centos3
演示1:
演示2:
顯示樹狀結構:
3、元數據
文件包含兩類數據:數據和元數據
元數據信息包括:
File: 文件
Size: 文件大小
Blocks: block塊數量
IO Block: 設備block塊
Device: 設備號
Links: 文件硬鏈接次數
Access: 文件權限
Uid: 文件ID號及所有者
Gid: 組ID號及所有者
Access: 最近訪問時間
Modify: 最近更改時間
Change: 最近改動時間
Birth:文件創建時間
-
stat:查看文件的元數據
-
touch:修改文件的時間戳信息
格式:
touch [選項] 文件名,若文件不存在,則直接創建空文件
-c不創建空文件
-a只修改最近訪問時間
-m只修改最近更改時間
-t設置時間戳時間
[[CC]YY]MMDDhhmm[.SS],例如:201609242222.22就是2016年9月24日22點22分22秒
命令演示:更改/tmp/centos1/abc的最后更改時間為2016年9月24日22點22分22秒
[root@localhost centos1]# touch -m -t 201609242222.22 /tmp/centos1/abc
4、命令別名設置及命令結果引用
-
alias:定義命令別名
例如:alias hs=‘history’
-
unalias:取消命令別名
例如:unalias history
-
$(COMMAND),mkdir $(date +%H-%M-%S)
-
`COMMAND`,mkdir `date +%H-%M-%S`
5、顯示/var下所有以l開頭,以一個小寫字母結尾,并且中間至少出現一位數字(可以有其他字符)的文件或目錄
[root@localhost centos1]# ls -d /etc/[0-9]*[^0-9]
執行結果說明 /var目錄下沒有符合條件的文件或目錄
6、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄
[root@localhost centos1]# ls -d /etc/[0-9]*[^0-9]
7、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件
[root@localhost centos1]# touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)
8、復制/etc目錄下所有以p開頭的文件,以非數字結尾的文件或目錄到/tmp/mytest1目錄中
[root@localhost centos1]# mkdir /tmp/mytest1
[root@localhost centos1]# cp -r /etc/p*[^0-9] /tmp/mytest1
9、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中
[root@localhost centos1]# mkdir /tmp/mytest2
[root@localhost centos1]# cp -r /etc/*\.d /tmp/mytest2
10、復制/etc目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3中
[root@localhost centos1]# mkdir /tmp/mytest3
[root@localhost centos1]# cp -r /etc/[lmn]*.conf /tmp/mytest3
原創文章,作者:孫永奎,如若轉載,請注明出處:http://www.www58058.com/48803
總結的很詳細,并且把自己的實驗過程總結出來,看起來更加直觀,贊。