中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Unix / Linux 文件系統操作

發布時間:2020-05-26 00:10:48 來源:網絡 閱讀:1038 作者:善良快樂 欄目:系統運維

作為一名電腦使用者,不懂圖形化操作文件系統就不算會使用電腦。那么作為一名程序員,如果不懂命令行操作 Linux 文件系統,就不敢說自己是一名合格的程序員。我們工作中使用 Unix / Linux 作為應用程序服務器,無非就是把我們編寫好的軟件部署到遠程服務器,其中少不了對文件的各種操作,如果你不會操作文件那么將寸步難行。接下來我們來認識一下 Unix / Linux 文件系統。

1. 本地文件系統

在這里我們將討論面向本地磁盤的文件系統(硬盤,CD-ROM,DVD-ROM,USB)。這類文件系統UFS(Unix File System),FAT(File Allocation File 通常是 Windows 和 DOS 系統的文件系統),NTFS(New Technology File System,通常是 Windows NT,2000,XP 的文件系統),UDF(Universal Disk Formt 通常是 DVD 文件系統),HFS+(Hierarchical File System 分級文件系統,例如 Mac OS X),ISO9660 通常為 CD-ROM 文件系統 和 EXT2 擴展文件系統(它是 Linux 默認的內核文件系統)等等。

說了這么多,那我們使用的虛擬機中的 CentOS 7 使用的是什么類型的文件系統呢?使用 df -T 來查看一下。

Unix / Linux 文件系統操作

從 Type 一列我們看到它使用了 xfs 文件系統,這是一種高性能的日志文件系統,誕生于 1993 年,在 2000 年被移植到 Linux 系統上。上面介紹的都是面向磁盤的本地文件系統,其實還有面向網絡的和臨時的虛擬文件系統,例如上圖中的 tmpfs 就是一種面向內存的臨時文件系統。

2. 目錄結構

要想熟練操作文件就必須了解系統的目錄結構,Unix / Linux 使用分層的文件系統結構,"/" 是文件系統的根基,其他的所有的目錄都是從這里開始。我們使用 tree 命令來查看從根目錄開始的目錄結構,只顯示一層深度。如下:

Unix / Linux 文件系統操作?

bin 目錄主要存放二進制可執行文件,例如上一篇文章我們使用的 passwd,cat,vi 等程序。boot 目錄存放用于啟動系統的文件。dev 目錄存放設備文件。etc 目錄存放系統配置文件,如 用戶信息,hosts 信息。lib 存放共享庫的文件。media 存放掛在的媒體文件。mnt 存放掛在的移動設備文件。opt 額外安裝的軟件可以指定安裝到該目錄下,便于管理。proc 存在系統當前正在運行的進程信息。root 我的系統用戶主目錄。run 未查到相關信息。sbin -> usr/sbin 存放系統管理的必須程序。srv 存放用戶主動產生的文件,對外服務。sys 存放全局設備文件,例如總線控制等。tmp 存放臨時文件。usr 可以存放任意的文件,例如被很多用戶使用的聯機幫助頁。var 存放長度可變的文件,例如日志文件。

3. 常用的命令

要想操作文件,必須先學會文件系統的導航。接下來了解幾個常用的導航命令吧!

  • pwd 顯示當前所在的目錄,我們執行命令的時候需要確認當前目錄是否是我們預想的目錄,因此這個命令經常使用。如下顯示我們現在位于 /root 目錄Unix / Linux 文件系統操作Unix / Linux 文件系統操作?
  • cd(Change Directory)去到任何我們想去的目錄,如我們想去到 /etc目錄:?
  • which 和 whereis,我們平常使用的一些工具,假如我們想知道他們真正位于什么目錄,可以使用 which。例如我們想知道 cd 工具位于什么目錄,可以如下操作:Unix / Linux 文件系統操作? which 和 whereis 的不同之處在于 which 搜尋環境變量 PATH 里面指定的內容,whereis 將在 PATH 和 MANPATH 指定的目錄中查找。
  • find 查找目錄或者文件,例如我們需要在 /root 目錄下去查找一個叫做 test 的文件:Unix / Linux 文件系統操作?
  • file 查看文件的類型,例如查看 test 是什么類型的文件,顯示結果為一個文本文件Unix / Linux 文件系統操作?
  • ls 顯示目錄中的內容,假如我們想查看根路徑的內容,則可以如下操作:Unix / Linux 文件系統操作? -l 參數可以顯示出文件的對應的詳細內容,所有者,權限,大小,上次更改時間,符號鏈接。同時我們也可以加上 -a 參數顯示所有文件,包括 . 開頭的隱藏文件。
4. 文件的類型

也許你已經注意到了,用 ls 命令列出來的文件中的最左邊有一些信息。例如 drwxr-xr-x,第一位代表的就是文件的類型,后面的9位代表的文件的權限。- 代表這是一個文本文件,或者可執行文件。b 代表這是一個塊文件,例如硬盤。c 字符設備文件,如硬盤。d 代表這是一個目錄文件。l 代表這是一個符號鏈接,可以理解為 Windows 系統中的快捷方式。p 代表這是一個管道,用于通訊。s 代表這是套接字,用于通訊。由于我們平時操作會用到符號鏈接,因此我們簡要介紹下符號鏈接。Unix / Linux 使用 inode 來引用文件而不是文件名,inode 在一個分區中是唯一的。符號鏈接有 2 種,硬鏈接 和 軟連接。首先我們來創建一個文件,然后分別為它創建一個硬鏈接和一個軟連接。

Unix / Linux 文件系統操作?

接下來我們分別對源文件,硬鏈接,軟鏈接進行寫入操作,我們會發現,對它們中任何的一個的寫入操作在其他的上面都會反映出來。

Unix / Linux 文件系統操作?

既然效果都一樣,那么軟鏈接和硬鏈接究竟有什么區別呢?硬鏈接使用 inode 來實現,軟鏈接使用文件名來實現。因此,如果我們刪除 file 文件,然后創建一個新的 file 文件。此時我們的軟鏈接是依然生效的,而硬鏈接已經失效了。如下實驗數據:

Unix / Linux 文件系統操作?

5. 文件的權限

我們使用 ls -l 命令查看文件的時候,最左邊開始的字符串反映了文件的權限,如下例:

Unix / Linux 文件系統操作?

如上圖我們可以清楚的明白各個用戶對于文件的權限在哪里查看,那么對應的 r,w,x 分別就是讀,寫,執行權限。我們可以使用 chmod(change mode)來更改文件的權限,操作的時候有 2 中選擇,一種是使用符號模式,即rwx,另外一種是絕對模式用8 個數字分別代表一種權限。使用 chmod 用戶(a/u/g/o)+/- 權限(rwx) 文件名 命令格式來操作文件權限,實驗結果:

Unix / Linux 文件系統操作?

Unix / Linux 文件系統操作?

同時我們也可以使用絕對模式來操作文件權限,例如 chmod 777 file,代表所有用戶都用于對 file 文件的最大操作權限。絕對模式的數字代表的含義如下:

0 無權限,1 執行權限,2 寫入權限,3 執行和寫入權限,4 讀取權限,5 讀取和執行權限,6 讀取和寫入權限,7所有權限。此處留一道腦筋急轉彎,為啥不用 3 代表 讀取權限呢?

6. 查看文件

程序出錯以后難免要去查看日志文件,此時查看文件的命令就尤為重要。我們可以使用 cat,more,less,head,tail等命令查看文件內容。cat 將內容一股腦全部打印在屏幕上,不適合查看內容多的文件。此時使用 more 就可以,查看完后按 enter 鍵,繼續顯示下一行,less 命令更加強大,可以使用 上下方向鍵來移動。head 查看文件頭部的內容,tail查看尾部的內容。在查看一些不斷輸出的日志文件時候,我們可以使用 tail -f 命令來不斷刷新顯示的內容。

7. 查看分區空間使用率

如果有個笨蛋程序員寫了一個死循環的程序,那么避免不了產生一個超級大日志文件撐爆服務器。那么我們如何查看分區的空間使用率呢?df(disk free)顯示磁盤使用情況,例如:df -k

Unix / Linux 文件系統操作

掌握以上命令以后,我們已經可以對 Unix / Linux? 系統的文件一頓操作了,但是強大的系統遠不止這點命令,就讓我們在實戰的過程中,邊用邊學習吧。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

上高县| 柘荣县| 鹿泉市| 申扎县| 怀柔区| 榆林市| 东丽区| 拜城县| 屏山县| 林口县| 迁西县| 汝州市| 石首市| 苏尼特右旗| 丹寨县| 商水县| 碌曲县| 应城市| 聂拉木县| 五河县| 呈贡县| 罗田县| 西乌珠穆沁旗| 舟曲县| 江门市| 彭山县| 永善县| 栾城县| 鹿泉市| 宣城市| 颍上县| 大洼县| 会泽县| 汝阳县| 柘荣县| 晋城| 微博| 金溪县| 祁阳县| 阿巴嘎旗| 南涧|