centos 6.5 文件目錄管理


Linux不存在像Windows那樣分盤符的概念,Linux在安裝之后就以文件目錄的形式來進行管理,存儲。即當我們安裝完系統之后,我們就會看到有一堆的目錄出現在根目錄下。同時Linux使用正斜杠“/”,而不是反斜杠“\”來標識目錄。

先來個例子:

用戶間文件共享:

共享文件對一個團隊來說很重要,團隊成員通常需要在一台服務器上共同完成一項任務。下面介紹如何實現用戶間共享文件,假設這個團隊的成員在服務器上的用戶名為lucy,liwei,tian,他們屬於workgroup工作組。可以用一下命令來模擬這個場景:

## 新建一個用戶名為workgroup的用戶組
$ sudo groupadd workgroup
## 新建用戶並歸入workgroup 用戶組
$ sudo useradd  -G workgroup  lucy
$ sudo passwd lucy

$ sudo useradd  -G workgroup  liwei
$ sudo passwd liwei

$ sudo useradd  -G workgroup  tian
$ sudo passwd tian

首先在/home目錄下新建一個work目錄,作為這個小組的工作目錄,注意這個需要root權限的哦。

$ cd home/
$ sudo mkdir work    ##  建立一個名為work的目錄

現在任何人都可以訪問這個新建的目錄,而只有root用戶具有該目錄的寫權限。現在我們希望前面我們創建的workgroup具有讀寫權限,並禁止其他無關的用戶查看這個目錄。

$ sudo chgrp workgroup work/    ## 將work目錄的所有權交給workgroup組
$ sudo chmod g+rwx work/    ## 增加workgroup組對work目錄的讀,寫,執行權限
$ sudo chmod 0-rwx work/  ## 撤銷其他用戶對work目錄的讀,寫,執行權限

接下來把這個目錄交給一個組長liwei

$ sudo chown liwei work/    ##  將work目錄的所有者更改為liwei用戶

現在所有屬於這個組的成員都可以訪問並修改這個目錄中的內容了,而其他未經過授權的用戶,除了root外都無法開導里面的內容。舉例來說,liwei在work目錄下新建了一個名為test的文件,那么同屬於一個組的tian如果認為這個文件沒什么必要,可以有權限刪除它。

$ su liwei    ## 切換到用戶liwei
$ cd /home/work
$ touch test    ##  建立一個空文件test
$ su tian     ##切換到用戶tian
$ cd /home/work/
$ rm test       ##   刪除test文件

 建立文件與目錄

建立目錄:mkdir

mkdir命令可以一次創建一個或者是多個目錄,下面的命令在用戶主目錄下建立兩個目錄:document,picture

$ cd ~     ##   進入用戶主目錄
$ mkdir document picture        ##  新建兩個目錄

用戶也可以使用絕對路徑來新建文件

$ mkdir ~/picture/temp        ##    在主目錄下新建temp的目錄

由於主目錄先picture 這個目錄已經存在,所以這條命令是合法的,但當用戶試圖運行下面的命令,mkdir將提示有錯

$ mkdir ~tempx/job 
mkdir:無法創建目錄

但是可以使用-p選項,來完整地創建一個子目錄結構

$ mkdir -p  ~tempx/job 

建立一個空文件:touch

touch使用非常簡單,只需在后面跟上一個文件名作為參數。下面這個命令在當前目錄下新建一個名為hello的文件

$ touch hello    

touch命令的另一個用途是更新一個文件的建立日期與時間。

移動,復制與刪除

1、移動與重命名:mv

mv這個命令用來移動文件,下面這個命令將hello文件移動到bin目錄下

$ mv hello bin/

當然也可以用來移動目錄,下面這條命令把photos目錄移動到【桌面】這個目錄下

$ mv photos/  桌面/

mv再把一個文件或者是目錄移動到目標目錄中的時候,如果出現了同名的文件的時候會是什么樣子呢?

如果出現同名的文件將會覆蓋掉目標文件中的同名文件。別擔心Linux提供了一個-i的選項用來提示用戶石是否要覆蓋這個文件,如下:

$ mv -i  hello  test/                    ##test目錄下有一個hello文件
mv:是否覆蓋“test/hello”?

回到y表示覆蓋,回答n表示跳過這個文件。

另一個有一用的選項是-b,這個選項也可以解決上述問題。在移動文件前,首先在目標目錄的同名文件的文件名后加一個“~”,從而避免了這個文件被覆蓋。

$ mv -b hello test/
$ cd  test/
$ ls
hello    hello~

在Linux中沒有重命名這個命令,重命名無非就是同一個文件在同一個目錄下移動,這個mv就可以解決了,

$ mv hello~ hello_bak
$ ls
hello hello_back

mv可以在移動文件和目錄的同時實現重命名。

復制文件與目錄:cp

cp命令用來復制文件與目錄,下面這個條命令將test.js復制到test目錄下

$ cp test.js test/

和mv命令一樣,cp默認情況下會覆蓋目標目錄下的同名文件,像上面一樣可以使用-i命令對這種情況進行提示。也可使用-b選項對同名文件改名后在復制。

$ cp -b test.js test/
$ cd test/
$ ls
test.js       test.js~

cp命令在執行復制任務的時候會自動的跳過目錄。

$ cp test/ 桌面/
cp:略過目錄"test/"

可以使用-r選項來解決這個問題,這個選項將子目錄連同其中的文件一起復制到另一個子目錄下:

$ cp -r test/ 桌面/

刪除目錄和文件:rmdir和rm

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM