1、 Linux上的檔案管理類指令有哪些,其常用的使用方法及其相關示例示範。
1.1、檔案權限管理類指令
chown:改變檔案所有者
chown [OPTINON]...[OWNRR][:[GROUP]] FILE...
常用參數 -R :遞歸修改(改目錄及改目錄中的目錄和檔案)
示例:#chown -R root /tmp/ligang
# chown -R root:root /tmp/ligang
chown [OPTION]... --reference=RFILE FILE...
示例:# chmod --reference=/tmp/issue /tmp/fstab
chgrp:改變檔案的所屬組
用法,參數與chown基本相同:
示例:# chgrp root /tmp/ligang
chmod:改變檔案的權限,修改一類使用者的某位或某些位權限
chmod [OPTION]... MODE[,MODE]... FILE...
MODE:修改一類的權限
-u使用者、-g組、-o其他、-a全部、-R遞歸修改
示例:#chmod a=rwx /tmp/ligang
umask:檔案或目錄建立時的遮罩碼(隻對目前shell有效)
目錄用777-umask
檔案用666-umask
注意:如果某類使用者的權限減得的結果中存在x權限,則其權限+1
umask :檢視
umask #:設定
1.2、檔案處理工具
wc指令:統計單詞數,統計單詞數,行數,位元組數
wc [OPTION]... [FILE]...
wc [OPTION]... --files0-from=F
-l:line 顯示行數
-w:words 單詞數
-c:characters 位元組數
示例:wc /tmp/issue
1.3、檔案基礎建立搜尋等指令
常用基礎指令:cd、pwd、mkdir、touch
檢視:cat,more,less,tail,head,tac
複制:cp
移動:mv
删除:rm
建立:touch
中繼資料屬性:stat
檢視内容類型:file
檔案管理是考驗一個運維工程師最基本的職能之一、在linux中可以單獨對某個檔案或者目錄進行管理,有很大的可控性及加密性,在LIUNX中對使用者的給予的檔案管理權限比windows中友善許多及搜尋方面可以單獨搜尋每個檔案及目錄的哪一快内容,但是在linux中檔案的集中管理性可能就需要腳本及第三方軟體進行操作。
2、bash的工作特性之指令執行狀态傳回值和指令行展開所涉及的内容及其示例示範。
2.1指令執行完後,其狀态傳回值儲存于bash的特殊變量$?中。
bash通過狀态傳回值來輸出此結果:
成功:0
失敗:1-255

注意,指令執行狀态傳回值和指令的執行結果間的差別。如上圖,ls的執行結果是顯示目前目錄的檔案名,緊接着執行echo指令用于顯示指令的執行狀态傳回值,不管ls指令是否成功執行,其都會有相關資料顯示,但是指令執行狀态傳回值卻是不同的。
bash的工作特性之指令行展開:
~:自動展開為使用者的家目錄,或指定的使用者的家目錄。
{}:可承載一個以逗号分割的路徑清單,并能夠将其展開為多個路徑。
3、請使用指令行張開功能來完成以下練習。
(1) 、建立/tmp目錄下的:a_c,a_d,b_c,b_d
mkdir -p {a,b}_{c,d}
(2) 、建立/tmp/mylinux目錄下的:
mylinux/
---bin
---boot
---grub
---dev
---etc
---rc.d
---init.d
---lib
---modvies
---lib64
---proc
---sbin
---sys
---tmp
---usr
---local
---bin
---sbin
---var
---lock
---log
---run
mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run
{}這個符号可以批量建立 -pv遞歸建立
4、檔案的中繼資料資訊有哪些,分别表示什麼含義,如何檢視?如何修改檔案的時間戳資訊。
4.1、檔案的中繼資料是指檔案的屬性、大小、建立時間、通路時間、屬主屬組等資訊。
4.2、三個時間戳:
access time:通路時間,簡寫atime,讀寫檔案内容
modify time: 修改時間,mtime,改變檔案内容(資料)
change time:改變時間,ctime,中繼資料發生改變
4.3、修改檔案的時間戳:touch
-a:only atime
-m:only mtime
-s STAMP:[[CC]YY]MMDDhhmm[.ss]
-c:如果檔案不存在,則不予建立
5、如何定義一個指令的别名,如何在指令中引用另一個指令執行的結果?
5.1、指令别名:alias
alias:顯示目前shell程序所有可用的指令别名
alias NAME="VALUE":命名别名
特别提醒:在指令行定義的别名,僅對目前shell程序生效,如果想永久生效,要進入配置檔案中
僅對目前使用者:~/.bashrc
對所有生效:/etc/bashrc
5.2、使用管道指令 |
grep /etc/* | grep init* | grep initio*
注意:最後一個指令會在目前shell程序的子shell程序中執行
6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字元)的檔案或目錄。
mkdir /var/1314hua
ls -d /var/1*[0-9]*[a-z]
7、顯示/etc/目錄下,以任意一個數字開頭,且以非數字結尾的檔案或目錄。
mkdir /etc/250ligang
ls -d /etc/[0-9]*[^0-9]
8、顯示/etc/目錄下,以非字母開頭,後面跟了一個字母以及其他任意長度任意字元的檔案或目錄。
mkdir /etc/123abcla
ls -d /etc/[^a-z]*[^a-z][a-z]
9、在/tmp目錄下建立以tfile開頭,後跟目前日期和時間的檔案,檔案名形如:tfile-2016-05-27-09-32-22。
touch /tmp/‘echo tfile-$(date +%Y-%m-%d-%H-%M-%S)‘
ls /tmp
10、複制/etc/目錄下所有以p開頭,以非數字結尾的檔案或目錄到/tmp/mytest1目錄中。
mkdir /tmp/mytest1
cp -a /etc/p*[^0-9] /tmp/mytest1
ls /tmp/mytest1
11、輔助/etc目錄下所有以.d結尾的檔案或目錄至/tmp/mytest2目錄中。
mkdir /tmp/mytest2
cp -a /etc/*.d /tmp/mytest2
ls /tmp/mytest2
12、複制/etc/目錄下所有以l或m或n開頭,以.conf結尾的檔案至/tmp/mytest3目錄中。
mkdir /tmp/mytest3
cp -a /etc/{1,m,n}*.conf /tmp/mytest3
ls /tmp/mytest3
時間: 09-24