linux的 文件管理

文件系統結構元素  

  創建和查看文件 複製、轉移和刪除文件  


  首先簡要介紹一下 文件系統與目錄結構


  根目錄爲一級目錄 /


  根目錄下有bin boot dev etc home root run sbin tmp usr var 這些爲二級目錄


  home下 有 Alice bob eve 而usr 下 有bin local sbin tmp 和var下的tmp這些爲三級目錄


   文件和目錄被組織成一個單根倒置樹結構  

文件系統從根目錄下開始,用“/”表示 根文件系統(rootfs):root filesystem 

以.開頭的文件爲隱藏文件 路徑分隔的 /  

文件有兩類數據: 元數據:metadata 數據:data 文件系統分層結構:LSB  Linux Standard Base FHS: (Filesystem Hierarchy Standard)


文件顏色可分爲五類 分別爲

藍色-->目錄 綠色-->可執行文件 紅色-->壓縮文 件 淺藍色-->鏈接文件 灰色-->其他文件 


除了斜槓和NUL,所有字符都有效.但使用特殊字符的目錄名和 文件不推薦使用,有些字符需要用引號來引用它們。  

標準Linux文件系統(如ext4),文件名稱大小寫敏感。例如 :MAIL, Mail, mail, mAiL



  下面介紹一下 各級目錄的具體作用 和所存儲的文件


/boot:引導文件存放目錄,內核文件(vmlinuz)、引導加載器 (bootloader, grub)都存放於此目錄

/bin:供所有用戶使用的基本命令;不能關聯至獨立分區, OS啓動即會用到的程序

/sbin:管理類的基本命令;不能關聯至獨立分區,OS啓動即 會用到的程序

/lib:啓動時程序依賴的基本共享庫文件以及內核模塊文件 (/lib/modules)

/lib64:專用於x86_64系統上的輔助共享庫文件存放位置

/etc:配置文件目錄 /home/USERNAME:普通用戶家目錄

/root:管理員的家目錄

/media:便攜式移動設備掛載點

/mnt:臨時文件系統掛載點

/dev:設備文件及特殊文件存儲位置 

b: block device,隨機訪問 

c: character device,線性訪問

/opt:第三方應用程序的安裝位置

/srv:系統上運行的服務用到的數據

/tmp:臨時文件存儲位置

/usr: universal shared, read-only data 

bin: 保證系統擁有完整功能而提供的應用程序 

sbin: lib:32位使用 lib64:只存在64位系統 include: C程序的頭文件(header files) 

share:結構化獨立的數據,例如doc, man等 

local:第三方應用程序的安裝位置 

bin, sbin, lib, lib64, etc, shar

/var: variable data files cache: 應用程序緩存數據目錄 

lib: 應用程序狀態信息數據 local:專用於爲/usr/local下的應用程序存儲可變數據; 

lock: 鎖文件 log: 日誌目錄及文件 opt: 專用於爲/opt下的應用程序存儲可變數據; 

run: 運行中的進程相關數據;通常用於存儲進程pid文件 spool: 應用程序數據池 

tmp: 保存系統兩次重啓之間產生的臨時數據

/proc: 用於輸出內核與進程信息相關的虛擬文件系統

/sys:用於輸出當前系統上硬件設備相關信息虛擬文件系統

/selinux: security enhanced Linux,selinux相關的安全策 略等信息的存儲位置



   Linux上的應用程序的組成部分


主要分爲 二進制程序 庫文件 配置文件 和 幫助文件

 

二進制程序:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin  

庫文件:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64  

配置文件:/etc, /etc/DIRECTORY, /usr/local/etc  

幫助文件:/usr/share/man, /usr/share/doc, /usr/local/share/man, /usr/local/share/doc


   linux 的 文件類型 大致有下面幾項



-:普通文件 d: 目錄文件 b: 塊設備 c: 字符設備 l: 符號鏈接文件 p: 管道文件pipe s: 套接字文件socket



當然目錄的絕對路徑 有時是有變化的 特別是在 centos6.8 和7之間的區別


例如 

  /bin 和 /usr/bin /sbin 和 /usr/sbin /lib 和/usr/lib /lib64 和 /usr/lib64 


還有一些 顯示當前 路徑的寫法 命令行


 每個shell和系統進程都有一個當前的工作目錄 CWD:current work directory 顯示當前shell CWD的絕對路徑 #pwd: printing working directory


   例如 絕對路徑 和相對路徑的 區別 和用法 

絕對路徑 以正斜槓開始 完整的文件的位置路徑 可用於任何想指定一個文件名的時候 相對路徑名 不以斜線開始 指定相對於當前工作目錄或某目錄的位置 可以作爲一個簡短的形式指定一個文件名

   cd  改變目錄 爲絕對或相對路徑: cd /home/joshua/work cd project/docs 到上一級目錄: cd .. 爲了你的主目錄: cd 到以前的工作目錄: cd 相關的環境變量: PWD:保存了當前目錄路徑 OLDPWD:上一次所在目錄路徑


列出當前目錄的內容或指定目錄 用法: ls [options] [files_or_dirs] Example: ls -a 包含隱藏文件 ls -l 顯示額外的信息 ls -R 目錄遞歸通過 ls -ld 目錄和符號鏈接信息 ls -1  文件分行顯示 ls –S  按從大到小排序 ls –u   配合-t選項,顯示並按atime從新到舊排序 ls –U  不排序按目錄存放順序顯示


  文件通配符的使用


* 匹配零個或多個字符

? 匹配任何單個字符

~ 當前用戶家目錄

~username 用戶家目錄

~+ 當前工作目錄

~- 前一個工作目錄

[0-9] 匹配一個數字範圍

[a-z]:大寫和小寫字母

[A-Z]:大寫字母



[wxc] 匹配列表中的任何的一個字符

[^wxc] 匹配列表中的所有字符以外的字符  

預定義的字符類:#man 7 glob 

[:digit:]:任意數字,相當於0-9 

[:lower:]:任意小寫字母 

[:upper:]: 任意大寫字母 

[:alpha:]: 任意大小寫字母 

[:alnum:]:任意數字或字母 

[:space:]:空格 

[:punct:]:標點符號


文件的 複製 移動 刪除 創建 空文件夾 和tree命令的用法 


cp常用選項

-i:交互式  

-r, -R: 遞歸複製目錄及內部的所有內容;  

-a: 歸檔,相當於-dR --preserv=all  

-d:--no-dereference --preserv=links 不復制原文件,只複製鏈接名  

--preserv[=ATTR_LIST] mode: 權限 ownership: 屬主屬組 timestamp: links xattr context all  

-p: 等同--preserv=mode,ownership,timestamp



移動和重命名文件


mv [OPTION]... [-T] SOURCE DEST mv [OPTION]... SOURCE... DIRECTORY mv [OPTION]... 

-t DIRECTORY SOURCE... 常用選項: 

-i: 交互式 -

f: 強制


 刪除的用法


rm [OPTION]... FILE... 常用選項: 

-i: 交互式 

-f: 強制刪除 

-r: 遞歸 

--no-preserve-root  

例: #rm -rf /



   目錄操作tree的 用法



tree 顯示目錄樹 

-d: 只顯示目錄 

-L level:指定顯示的層級數目 

-P pattern: 只顯示由指定pattern匹配到的路徑


mkdir 創建目錄 

-p: 存在於不報錯,且可自動創建所需的各目錄; 

-v: 顯示詳細信息 -m MODE: 創建目錄時直接指定權限;


rmdir 刪除空目錄 

-p: 遞歸刪除父空目錄 

-v: 顯示詳細信息


rm -

r 遞歸刪除目錄樹


最後還有 命名別名


編輯配置給出的新配置不會立即生效;

bash進程重新讀取配置文件: 

source /path/to/config_file .  /path/to/config_file

撤消別名:unalias unalias [-a] name [name ...] 如果別名同原命令同名,如果要執行原命令,可使用 “\COMMAND” ’COMMAND’ /PATH/COMMAND:外部命令




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章