CentOS6.8(及7)的檔案系統(2)
CentOS6.8(及7)的檔案系統
centos7的目錄結構如下圖所示
檔案命名除了斜槓和空格,所有字元都有效,但特殊字元不推薦使用
linux的檔案型別
-:普通檔案
d: 目錄檔案
b: 塊裝置
c: 字元裝置
l: 符號連結檔案
p: 管道檔案pipe
s: 套接字檔案socket
stat 檢視檔案狀態(包括元資料)
echo $[$RANDOM%80] 隨機顯示一個80以內的數
rm /root/-h -f 用絕對路徑的方式刪除-h檔案
echo "- - -" > /sys/class/scsi_host/host2/scan 發現新新增的硬碟
/dev/sdb 塊裝置
在檔案中寫入資料:
dd if=讀取路徑 of=輸出路徑 bs=1M count=塊數
hexdump -C f3.txt 讀取二進位制程式碼
-v 全顯示(包括空格的程式碼)
-c 轉換過後的程式碼(如換行符顯示為\n)
(windows的回車鍵比linux多一個控制符od)
hexedit f3.txt 編輯二進位制程式碼
安裝hexedit:
rpm -i /run/media/root/CentOS\ 7\ x86_64/Packages/hexedit-1.2.13-5.el7.x86_64.rpm
相對路徑不一定是相對於當前路徑
絕對路徑(以/開始) 比如 /etc/sysconfig/network
相對路徑(不以/開始) 比如 sysconfig]# ./network 和sysconfig]# network
. 表示當前路徑 ..表示當前路徑的上一級路徑
sysconfig]# ../issue
cd 絕對路徑或相對路徑
cd - 到以前的工作目錄
cd=cd~ 切到主目錄
cd ..到上一級目錄
cd~wang 切換到wang的工作目錄
提高遠端連線的速度:
vim /etc/ssh/sshd_config
將UseDNS yes改為no
列出當前目錄的內容或指定目錄 :ls [options] [files_or_dirs]
ls -a 包含隱藏檔案
ls -l 顯示額外的資訊
ls -R 目錄遞迴通過
ls -ld 目錄和符號連結資訊
ls -l 檔案分行顯示
ls –S 按從大到小排序
ls –u 配合-t選項,顯示並按atime從新到舊排序ls –U 不排序按目錄存放順序顯示
ll f[a-c]* 顯示a到c之間的字母開頭的檔案,順序為aAbBcll f[[:lower]]* 顯示所有小寫字母開頭的檔案
ll --block-size=MB 功能同 ll -h (檔案大小按照MB顯示)
檔案萬用字元
* 匹配零個或多個字元
? 匹配任何單個字元
~ 當前使用者家目錄~username 使用者家目錄
~+ 當前工作目錄
~- 前一個工作目錄
[0-9] 匹配一個數字範圍
[a-z]:大寫和小寫字母
[wxc] 匹配列表中的任何的一個字元
[^wxc] 匹配列表中的所有字元以外的字元
[:digit:]:任意數字,相當於0-9[:lower:]:任意小寫字母
[:upper:]: 任意大寫字母
[:alpha:]: 任意大小寫字母
[:alnum:]:任意數字或字母
[:space:]:空格
[:punct:]:標點符號
touch可以生成檔案,也可以重新整理時間
-c: 如果檔案不存在,則不予建立
-a: 僅改變 atime
-m: 僅改變 mtime
-t:STAMP
三個時間戳(可用stat檢視)
atime 讀取檔案時內容(cat)時 atime變化(centos6和7中得滿足如下一種條件才改變:1距離上次改變已經一天以上,2atime比mtime早)
mtime 修改檔案內容(資料)時 mtime改變
ctime 修改檔案元資料(檔名等)時 ctime改變
複製檔案和目錄cp
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
-r, -R: 遞迴複製目錄及內部的所有內容;
-a: 歸檔,相當於-dR --preserve=all
-p: 等同--preserv=mode,ownership,timestamp
-v: --verbose
-f: --force
移動和重新命名檔案
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
-f 強制刪除
rm [OPTION]... FILE...
-f: 強制刪除
-r: 遞迴
--no-preserve-root
目錄操作
tree 顯示目錄樹
-d: 只顯示目錄
-L level:指定顯示的層級數目
-P pattern: 只顯示由指定pattern匹配到的路徑
mkdir 建立目錄
-p: 存在於不報錯,且可自動建立所需的各目錄;
-v: 顯示詳細資訊
-m MODE: 建立目錄時直接指定許可權;
rmdir 刪除空目錄
練習題
1、只顯示指定目錄的隱藏目錄和檔案
ls .[^.]*
2、只顯示指定目錄下的目錄(不顯示檔案)
ls -d /etc/*/
ls -d ./*/
tree -d
3、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間出現至少一位數字的檔案或目錄
ls /var/l*[0-9]*[[:lower:]]
4、顯示/etc目錄下以任意一位數字開頭,且以非數字結尾的檔案或目錄
ls /etc/[0-9]*[^0-9]
5、顯示/etc/目錄下以非字母開頭,後面跟了一個字母及其 它任意長度任意字元的檔案或目錄
ls /etc/[^[:alpha:]][[:alpha:]]*
6、顯示/etc目錄下所有以m開頭以非數字結尾的檔案或目錄
ls /etc/m*[^0-9]
7、顯示/etc目錄下,所有以.d結尾的檔案或目錄
ls /etc/*.d
8、顯示/etc目錄下,所有.conf結尾,且以m,n,r,p開頭的檔案或目錄
ls /etc/[mnrp]*.conf
9、使用別名命令,每日將/etc/目錄下所有檔案, 備份到/testdir/下獨立的新目錄下,並要求新目錄 格式為 backupYYYY-mm-dd ,備份過程可見
alias cp1='cp -rpv /etc/ /testdir/backup`date +%F`'
cp1回車
10、先建立/testdir/rootdir目錄,再複製/root所有 下檔案到該目錄內,並要求保留原有許可權
cp -rp /root/ /testdir/rootdir/
11、如何建立/testdir/dir1/x, /testdir/dir1/y, /testdir/dir1/x/a, /testdir/dir1/x/b, /testdir/dir1/y/a, /testdir/dir1/y/b
mkdir /testdir/dir1/{{x,y}{/a,/b},x,y}
12、如何建立/testdir/dir2/x, /testdir/dir2/y, /testdir/dir2/x/a, /testdir/dir2/x/b
mkdir -pv /testdir/dir2/{x/{a,b},x,y}
13如何建立/testdir/dir3, /testdir/dir4, /testdir/dir5, /testdir/dir5/dir3, /testdir/dir5/dir4
mkdir -pv /testdir/dir{3,4,5,5/dir{3,4}}
shipping version 提交版本
轉載於:https://blog.51cto.com/xiaomonkey/1831394