1、linux上的文件管理類命令有哪些,其常用的使用方法及其相關示例。
文件管理命令:rm mv cp
cp 復制命令
cp 源文件 目標文件
工作機制:如果目標是一個目錄,則以源文件同樣的名字,創建到目標目錄下,再把數據添加進去;如果目標不是一個目錄,則先查看以目標命名文件是否存在,如不存在,則以指定的目標文件名,創建一個文件,并將源文件數據導入,如存在,責詢問是否覆蓋;復制多個源文件時,需要先創建目錄,如果目標目錄不存在,則失敗,目標文件不為目錄,也會失敗。
常用選項:
-f= force,不詢問是否覆蓋,直接覆蓋。
-a= 會復制源文件的所有元數據。
-r\-R= 遞歸復制目錄
cp /etc/issue /tmp 復制etc下的issue到tmp目錄下
cp /etc/issue /tmp/11123 復制etc下的issue到tmp目錄下并改名11123
cp /etc/issue /etc/redhat-release /tmp 復制etc下的issue和redhat-release到tmp目錄下
cp -r /etc /tmp 復制etc下的所有文件到tmp目錄下
mv 改名、剪切命令
mv 源文件 目標文件
工作機制和cp命令相同,只是是剪切文件,如果源文件和目標文件都為同一個目錄是則就等于改名。
常用選項:
-i= 交互式
-f= force
rm 刪除文件
rm 選項 文件
常用選項:
-r= 遞歸刪除
-f= force 強制執行,不詢問
-i= 交互式
rm -rf /tmp/etc 刪除/tmp下的etc目錄,不詢問,強制刪除
linux中刪除文件后幾乎無法找回,建議創建一個目錄做為保存不用的文件存儲,過一段時間確定不用,在進行刪除
2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示
bash基礎特性: 命令行展開和命令狀態返回值
命令行展開 {}
如果要對多個文件進行操作,且都路徑相近時,可以用花括號代替寫重復的路徑;
例:
要查看/etc/issue和/etc/redhat-release 內容
可以寫成 cat /etc/issue /etc/redhat-release
使用命令行展開功能
則寫成 cat etc/{issue,redhat-release}
命令狀態返回值
我們在輸入一個命令,例如敲一個命令在屏幕上返回的結果稱為命令執行結果,一個命令敲完時,使用$?查看命令返回值 0位成功執行 1-255位執行失敗。
例:
ls /
$? 狀態返回值為0
lss /
$? 狀態返回值不為0 表示上一條命令執行錯誤
3、請使用命令行展開功能來完成以下練習
(1)、創建/tmp目錄下的:a_c,a_d,b_c,b_d
(2)、創建/tmp/mylinux目錄下的:
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
1:
mkdir /tmp/{a,b}_{c,d}
mkdir /tmp/{a_{c,d},b_{c,d}}
2:
mkdir -p /tmp/mylinux/{bin,boot/{grub},dev,etc/{xc.d/init.d,sysconfig/network-scripts},lib/nodules,lib64,proc,sbin,sys,tmp,user/local/{bin,sbin},var/{lock,log,run}}
4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
使用stat命令查看所有元數據
stat /tmp 查看tmp目錄的元數據 輸出結果為下:
文件:"/tmp"
大?。?096 塊:8 IO 塊:4096 目錄
設備:fd00h/64768d Inode:8388738 硬鏈接:7
權限:(1777/drwxrwxrwt) Uid:( 0/ root) Gid:( 0/ root)
環境:system_u:object_r:tmp_t:s0
最近訪問(accees time):2016-11-02 16:16:58.165040911 +0800
最近更改(modify time):2016-11-02 16:16:56.329040766 +0800
最近改動:2016-11-02 16:16:56.329040766 +0800
創建時間:-
主要關注最近訪問時間(access time)和最近更改時間(modify time) 訪問時間指的是最后一次類似于cat命令查看時的時間,最近更改則為里面的內容改動,最近改動指的是上述兩種任意時間改動,均會改動,這三種時間稱為時間戳信息。
可以使用touch改動時間戳
touch FILE
選項:
-a=改動access time
-m=改動modify time
-t=改為指定時間(如不指定都會將時間改為當前時間)
示例:
touch -a -t 201111111111.11 FILE 將FILE的access time 改為2011年11月11日11點11分11秒。
5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
alias 定義命令別名。
示例 : alias mm='date'
定義之后敲入mm命令=執行date, 只對當前shell有效,登出失效
使用$(COMMAND)或者` `命令引用 列入我要將當前時間追加寫入文件/tmp/123中:
echo `date` >> /tmp/123
6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
ls /var/l*[0-9]*[[:lower:]]
7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
ls /etc/[0-9]*[^0-9]
8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
ls /etc/[^[:alpha:]][[:alpha:]]*
ls /etc/[^a-z][a-z]*
9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
touch /tmp/tfile`date +%Y-%m-%d-%H-%M-%S`
10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
mkdir /tmp/mytest2
cp -r /etc/p*[^0-9] /tmp/mytest1
11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
mkdir /tmp/mytest2
cp -r /etc/*.d /tmp/mytest2
12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
mkdir /tmp/mytest3
cp -r /etc/[lmn]*.conf /tmp/mytest3
原創文章,作者:N24_Ghost,如若轉載,請注明出處:http://www.www58058.com/57254
總結的比較詳細,能注意下排版會更好~加油~