Linux檔案和目錄管理

weixin_50513782 發表於 2020-10-28

提示:這裡可以新增系列文章的所有文章的目錄,目錄需要自己手動新增
例如:第一章 Python 機器學習入門之pandas的使用


提示:寫完文章後,目錄可以自動生成,如何生成可參考右邊的幫助文件



提示:以下是本篇文章正文內容,下面案例可供參考

一、命令mkdir,rmdir

命令mkdir(make directory)用於建立目錄
命令rmdir(remove directory)用於刪除一個空目錄,只刪除目錄,不刪除檔案

1、使用步驟

1). mkdir語法

其格式為

mkdir (選項)(引數)
2).mkdir選項
-m-p
用於指定要建立目錄的許可權可以建立一大串級聯目錄
3). mkdir引數
  • 目錄:指定要建立的目錄列表

2、mkdir示例

直接建立目錄(示例):

mkdir /tmp/test/123

輸出結果:

mkdir:無法建立目錄 '/tmp/test/123':沒有那個檔案或目錄

使用-p選項建立:

mkdir -p /tmp/test/123/
ls -ld /tmp/test/123

輸出結果:

drwxr-xr-x, 2 root root 4096 5月 9 19 19:10 /tmp/test/123

二、命令 rm

-r-f-rf
刪除目錄,類似於rmdir,但可以刪除非空目錄。表強制刪除能將檔案和目錄一起刪除

1.選項-r(示例)

mkdir -p /tmp/test/123
rm -r /tmp/test/123
#   輸出結果
rm:是否刪除目錄 '/tmp/test/123'? y
#

和rmdir不同的是,使用rm -r命令刪除目錄時,會詢問是否刪除,如果輸入“y”則會刪除,如果輸入“n”則不刪除

2.選項-f(示例)

rm /tmp/test/123/123
#   輸出結果
rm: 無法刪除 '/tmp/test/123/123':沒有那個檔案或目錄
#
rm -f /tmp/test/123/123

加上-f選項後,即使目錄不存在,但也不會報錯

3.選項-rf(示例)

rm -f /tmp/test/123
#   輸出結果
rm:無法刪除 '/tmp/test/123':是一個目錄
#
rm -rf /tmp/test/123

使用得最多的是-rf選項,這樣刪除檔案和目錄比較方便

三、命令cp(copy複製)

命令cp(copy複製),格式 cp [選項] [來原始檔] [目的檔案]

-r-i
如果要複製一個目錄,必須加-r,否則不能複製這是安全選項,如果遇到個已存在的問價,會詢問是否覆蓋

1.選項-r(示例)

mkdir 123
cp 123
#   輸出結果
cp:略過目錄 "123"
#
cp -r 123 456
ls -ld 123 456
#   輸出結果
drwxr-xr-x 2 root root 6 2月 18 09:49 123
drwxr-xr-x 2 root root 6 2月 18 09:49 123
#

2.選項-i(示例)

cd 123
ls
touch 111
touch 222
cp -i 111 222
#   輸出結果
cp:是否覆蓋'222'? n
#
echo 'abc'>111
echo 'def'>222
cat 111 222
#   輸出結果
abc
def
#
/bin/cp 111 222
cat 111
#   輸出結果
abc
#
cat 222
#   輸出結果
abc
#

四、命令mv

mv是move的簡寫,該命令的格式為mv [選項] [原始檔或目錄] [目標檔案或目錄]

  • 目標檔案是目錄,但該目錄不存在。
  • 目標檔案是目錄,且該目錄存在。
  • 目標檔案是檔案,且檔案不存在。
  • 目標檔案是檔案,但該檔案存在。

如果該目錄存在,則會把原始檔或目錄移動到該目錄中;如果該目錄不存在,則會把原始檔重新命名為給定的目標檔案命。
如果該檔案存在,則會詢問是否覆蓋;如果該檔案不存在,則會把原始檔重新命名給定的目標資料夾。

五、命令cat和命令tac

cat後面不加任何選項,直接跟檔名

-n-A
檢視檔案時,把行號也顯示到螢幕上顯示所有的內容,包括 特殊字元

1.選項-n(示例)

echo '11111111'>dirb/filee
echo '22222222'>>dirb/filee
cat dirb/filee
#   輸出結果
11111111
22222222
#
cat -n dirb/filee
#   輸出結果
   1  11111111
   2  22222222
#

2.選項-A(示例)

cat -A dirb/filee
#   輸出結果
11111111$
22222222$

六、命令head

命令head用於顯示檔案的前10行,後面直接跟檔名。如果加-n選項,則顯示檔案的前幾行。

七、命令tail

命令tail和命令head類似,命令tail用於顯示檔案的最後幾行另外tail的-f選項也常用,他可以動態的顯示檔案的最後10行。

八、命令chgrp

命令chgrp(change group的簡寫)命令可以更改檔案的所屬組,其格式為:charp [組名] [檔名]

九、命令chown

命令chown(change owner的簡寫)更改檔案的所有者,其格式為:chown [-R] 賬戶名 檔名或者chown [-R] 賬戶名:組名 檔名

十、命令chmod

命令chmod(change mode的簡寫),Linux使用數字代替rwx,規則為r=4,w=2,x=1,-=0,其格式為chmod [-R] xyz(xyz代表數字),其中,-R選項的作用等同於chown的-R選項
用u、g和o來分別表示user、group和others的屬性,用a代表all。

十一、命令chatter

命令chattr(change attribute),其格式為:chattr [±=] [Asaci] [檔案或者目錄名],其中,+、-和=分別表示增加、減少和設定

  1. A:增加該屬性後,表示檔案或目錄的atime將不可修改。
  2. s:增加該屬性後,會將資料同步寫入磁碟中。
  3. a:增加該屬性後,表示只能追加不能刪除,非root使用者不能設定該屬性。
  4. c:增加該屬性後,表示自動壓縮該檔案,讀取時會自動解壓。
  5. i:增加該屬性後,表示檔案不能刪除、重新命名、設定連結、寫入以及新增資料

十二、命令lsattr

命令lsattr(list attribute)用於讀取檔案或者目錄的特殊許可權,其格式為:lsattr [-aR] [檔案/目錄名]

  1. -a:類似於ls的-a選項,即連同隱藏檔案一同列出。
  2. -R:連同子目錄的資料一同列出。

當有特殊許可權時,第一位數字可以是0、1(–t)、2(-s-)、3(-st)、4(s–)、5(s-t)、6(ss-)、7(sst)

十三、在Linux下搜尋檔案

  1. 命令which查詢可執行檔案的絕對路徑
  2. 命令whereis查詢檔案,其格式為:whereis [-bms] [檔名稱]
    (1). -b:只查詢二進位制檔案。
    (2). -m:只查詢幫助檔案(在man目錄下的檔案)。
    (3). -s:只查詢原始碼檔案。
  3. 命令locate查詢檔案
  4. 命令find搜尋檔案,其格式為find [路徑] [引數]
    (1). -atime +n/-n:表示訪問或執行時間大小或小於n天的檔案。
    (2). -ctime +n/-n:表示寫入、更改inode屬性(如更改所有者、許可權或者連結)的事件大於或者小於n天的檔案。
    (3). -mtime +n/-n:表示寫入事件大於或者小於n天的檔案,該引數用得最多。
    (4). -name filename:表示直接查詢改檔名的檔案,這個選項比較常用
    (5). -type filetype:表示通過檔案型別查詢檔案。filetype包含了f、b、c、d、l、s等型別

總結

以上就是今天要講的內容,本文僅僅簡單介紹了一些命令