linux文件系統管理
目錄結構
文件有兩類數據
元數據:metadata (裝備屬性)文件大小 文件名 如人的身高
數據:data
linux 文件名不同顏色代表的含義:
藍色:目錄;綠色:可執行文件;紅色:壓縮文件;淺藍色:鏈接文件;灰色:其他文件
文件系統結構回憶
/
/boot:引導文件存放目錄,內核文件,引導加載器
/bin:供所有用戶使用的基本命令
/sbin:管理類基本命令
/lib:啓動時程序以來的基本共享文件及內核模塊文件
/lib64:專用於x86_64系統上的輔助共享庫文件存放位置
/etc:配置文件目錄
/home:普通用戶家目錄
/root:管理員家目錄
/media:便攜式移動設備掛載點
/mnt:臨時文件系統掛載點
/dev:設備文件及特殊文件存儲位置
/opt:第三方應用城區的安裝位置
/srv:系統上運行的服務用到數據
/tmp:臨時文件存儲位置
/usr:操作系統軟件資源存放位置
/var:經常變化的文件的存放位置
/proc:用於輸出內核與進程信息相關的虛擬文件系統
/sys:用於輸出當前系統上硬件設備相關信息虛擬文件系統
/selinux:selinux相關的安全策略嘻嘻的存儲位置
linux 下的文件類型
-:普通文件
d:目錄文件
b:塊設備
c:字符設備
l:符號鏈接文件
p:管道文件pipe
s:套接字文件socket
命令加深印象
cd 命令
到上一級目錄
cd ..
回到你的主目錄
cd
到之前的工作目錄
cd -
pwd:查看當前目錄路徑
OLDPWD:上次所在的目錄路徑
pwd -p 顯示 物理路徑
ls 命令
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]
[xhb] 匹配列表中的任何一個字符
[^xhb] 匹配列表中的所有字符以外的字符
[] 內包含的其他通配符
[:digit:] : 任意數字 相當於 [0-9]
[:lower:] : 任意小寫字母
[:upper:] : 任意大寫字母
[:alpha:] : 任意大小寫字母
[:alnum:] : 任意數字或字母
[:space:] : 空格
[:punct:] : 標點符號
查看文件狀態
stat
例如
三個時間戳
access time : 訪問時間,atime,讀取文件內容時間
modify time : 修改時間,mtime,改變文件內容時間(數據)
change time : 改變時間,ctime,元數據發生改變時間(metadata)
創建空文件和刷新時間
touch 命令
touch [OPTION] FILE
-a 僅改變 atime
-m 僅改變 mtime
-t 200808080808.08 改變amtime 時間戳
-c 如果文件不存在,則不創建
cp
一個文件複製 如果 目標文件存在 則 覆蓋目標
如果 不存在 則 新建填充
如果 目標爲目錄 則 在其下新建與源文件同名的文件並填充
多個文件複製 如果 目標文件不存在 則 報錯
如果 目標存在且是文件 則 報錯
如果 目標存在且是目錄 則 在目標下建立與源文件相同名字的文件並內容複製進新文件
複製目錄 如果 目標不存在 則 建立目標並把源文件下文件複製到目標
如果 目標存在且是文件 則 報錯
如果 目標存在且是目錄 則 在目標下建立與源文件同名的目錄並複製目錄內內容
cp 常用選項
-i 交互式 (詢問yes or no)
-r -R 遞歸複製目錄及內部的所有內容
-a 歸檔(複製文件的元數據等不更改)
-d 不復制源文件,只複製鏈接名 此處如果單純複製鏈接文件,會複製鏈接文件指向的源文件,如只想複製鏈接文件就要加 -d 選項
-p 保持源文件的屬性信息
-f 強制覆蓋
-v 顯示過程
命令別名 alias
alias NAME='VALUE'
在命令行中定義的別名,僅當前shell進程有效,如果想永久有效,要定義在配置文件中
僅對當前用戶;~/.bashrc
對所有用戶有效: /etc/bashrc
編輯配置給出的新配置不會立即生效!!!
需 bash 進程重新讀取配置文件:
source /path/to/config_file
或
. /path/to/config_file
撤銷別名
unalias
unalias name
如果別名同原命令同名,如果要執行原命令,可使用
\COMMAND
'COMMAND'
/PATH/COMMAND
mv移動和重命名文件
mv
-i 交互式(詢問)
-f 強制
刪除
rm
-i
-f
-r 遞歸(目錄)
--no-preserve-root 刪除 / 數據需要的參數,防止誤操作
tree
tree 顯示目錄樹
-d 只顯示目錄
-L 指定顯示目錄層級數目
tree -L 1 /root
/root
├── Desktop
├── Documents
├── Downloads
├── Music
├── myfirst.sh
├── Pictures
├── Public
├── Templates
├── Videos
└── xx.x
-P ????只顯示由指定pattern匹配到的路徑
mkdir 創建目錄
-p 創建目錄樹
-v 顯示創建詳情過程信息
-m 指定權限
rmdir 刪除空目錄
-p 遞歸刪除父 空目錄
-v 顯示過程
rm -r 遞歸刪除目錄樹