/
/boot
/bin
/sbin
/lib.modules
/lib64
/etc/redhat-release
/etc/centos-release
/home/zczx
/mnt
/media
/misc
/proc/meminfo
/proc/cpuinfo
/proc/partition
/sya
/opt
/tmp
/usr/local/
/usr/share/man
/usr/share/doc
/usr/share/dict
/var/log/
/var/www
/var/ftp
/var
/dev/
sda,sda1
/dev/null
/dve/zero
/dve/random
/dve/tty
/srv
/root
文件通配符
* 匹配零個或多個字符
? 匹配任何單個字符
~ 當前用戶家目錄
~+ 當前工作目錄
~- 前一個工作目錄
[:digit:]任意數字,相當于0-9
[:lower:]任意小寫字母
[:upper:]任意大寫字母
[:alpha:]任意大小寫字母
[:alnum:]任意數字或字母
[:space:]空格
[:punct:]標點符號
ls /var/l*[[:digit:]]*[[:lower:]]
ls -d /etc/[0-9]*[^0-9]
ls -da /etc/*.d
ls -da [nmrp]*.conf
touch命令
-a 改變atime
-m 改變mtime
-c 如果文件存在就刷新時間,如果沒有也不創造
-t
touch -d yesterday f2 f2文件昨天的時間,Ctime不改變
cp指令
單一文件,源文件復制在一個沒有的目錄,就會在生成一個以不存在目錄為名字的復制文件。
復制目錄有同一樣名字的文件,root用戶提示你是否覆蓋,普通用戶不提示,因為root 使用的是別名 cp -i
cp -n 如果有相同的文件則不覆蓋
多個源文件cp必須到真實存在的目錄
目錄要使用-r選項
-i: 交互式
-r,-R:遞歸復制目錄及內部的所有內容
-a:歸檔,-dR–preserv=all
-d:不復制原文件,只復制連接名
–preserv
mode:權限
ownership:屬主屬組
timestamp:時間
all:所有保留
links
xattr
context
all
-p:等同–preserv=mode,ownership,timestamp
-V:備份過程可見
cp –preserv=mode -R
alias
更改之后永久有效要放在配置文件中
僅對當前用戶:~/.bashrc
對所有用戶都有效:~/etc/bashrc
移動和重名名文件
mv core.3106 /testdir/
-i:詢問你是否移動
-f:強制移動
rm
-f:強制刪除
-r:遞歸(一個一個刪除)
root 用戶刪除會詢問你是否刪除
普通用戶只會直接刪除
#rm -rf / 7版本之后是會提示你操作危險
7版本之后要使用 rm -rf /*
tree 目錄樹
-d: 只顯示目錄
-L level: 指定顯示的層級數目
-p pattern: 只顯示指定pattern匹配到的路徑
mkdir 創建目錄
-p:存在于不報錯,且可以制動創建所需的各目錄;
-v:顯示詳細信息
-m MODE:創建目錄時直接指定權限
rmdir 刪除空目錄
-p:遞歸刪除父空目錄
-V:顯示詳細信息
ls -i
inode 號
在一個分區中節點號是唯一的,在不同的分區中可以節點號相同。
df -i 可以查看各分區的inode 號的多少
df 看各分區的容量
ln 鏈接
ln aa bb 硬鏈接aa到bb ,inode號相同,文件內容大小相同,修改也相同。
如果刪除其中一個,另外一個還存在。如果都刪去,則數據塊數據還能存在,但如果有新的數據寫入,就會刪除舊的數據,加入一個新的鏈接可以還原出舊的數據。
數據分為:元數據 (放在inode table),數據內容(放在block 數據快)
inode (index node)不表中包含文件系統所有文件列表
一個節點是在一個表項,包含有關文件的信息(元數據),包括:
文件類型,權限,UID,GID
連接數目(指向這個文件名路徑名稱個數)
該文件的大小和不同的時間戳
指向磁盤上文件的數據塊指針
有關文件的其他數據
每一個分區都有一個 inode table
inode entrv 條目 每一條記錄里面都記錄了元數據的數據塊的指針共有12個直接指針,最后指針指向數據,一共12X4K=48K
block 大小為4K 每一條指針都指向一個文件塊
雙重指針 :在第13個直接指針中指向一個文件塊,每一個文件塊里面有1024個指針,最后指針指向數據,一個指針4K。
一重指針:1024X4K= 4M
三重指針:在第13個直接指針所指向的文件塊中,1024個文件塊指針在分別再指向1024個文件塊,最后指針指向數據,里面的指針還是4K。
二重指針: 1024X1024X4K= 4G
三重指針: 1024X1024X1024X4K= 4T
隔離多少層到數據就是多少層指針,都叫間接指針。
硬鏈接不能跨分區,硬鏈接不能連目錄,但是文件目錄可以增加鏈接數目,每個子目錄下都有一個.. 和本身目下有一個.
-s 進行軟鏈結(symbolic link)
ln -s f1 f2
ll f1 f2
f2軟鏈接到f1
軟連接跨分區要寫明軟連接的路徑
原始文件相對路徑:相對于軟連接文件的路徑,而不是相對于當前工作目錄的路徑
ln -sv /root/f1 testdir/f111
原始文件的路徑 軟鏈接
file 檢查文件類型,確定文件內容
file -b Desktop/ 列出文件辨識結果,不顯示文件名稱
-c 詳細顯示指令執行過程,便于排錯或分析
-f 列出文件中文件名的文件類型
-F使用指定分隔符號替換輸出文件名后默認的“:”分隔符號
-i 輸出mime類型的字符串
-L 查看對應軟鏈接對應文件類型
-z 嘗試去解讀壓縮文件的內容
–help 顯示命令在線幫助
標準I/O和管道
程序:命令+數據
讀入數據:Input
輸出數據:Output
打開的文件都有一個fd
Linux給程序提供三種I/O設備
標準輸入 -0 默認來自鍵盤的輸入
標準輸出 -1 默認輸出到終端窗口
標準錯誤 -2 默認輸出到終端窗口、
重定向:
ls > /dve/pts/2 將顯示輸出到pts2的終端中
ls > ls.log 將顯示的輸出保存到ls.log文件中
>> f 追加不覆蓋
ls . /xxx > /testdir/fi 2> /testdir/f1
對的指令輸出到fi 錯的輸出到f1
>>
set -C 禁止將內容覆蓋已有文件,可以追加強制覆蓋
set +C 允許覆蓋
ll /dve/null
ls xx /testdir/ &> /tmp/all.log
ls xx /testdir/ 2>&1 / > /tmp/all.log
&>>
cat f1 ls.log >f3
將f1 和ls.log合拼放在f3
tr命令
tr-轉換或刪除字符
mail -s +用戶名字 S表示標
. 用來mail的結束
原創文章,作者:swzczx,如若轉載,請注明出處:http://www.www58058.com/28222