一、Linux上的文件管理類命令都有哪些,其經常使用的使用方法及其相關示例演示。
linux
答:有mv,cp,rm,touch,cat,vi等;
bash
使用方法及相關演示:編輯器
mv:移動或重命名文件以及文件夾ide
使用方法:
spa
mv [OPTION]... [-T] SOURCE DEST操作系統
mv [OPTION]... SOURCE... DIRECTORY命令行
mv [OPTION]... -t DIRECTORY SOURCE...3d
參數:blog
-f :force 強制的意思,若是目標文件已經存在,不會詢問而直接覆蓋;遞歸
-i :若目標文件 (destination) 已經存在時,就會詢問是否覆蓋!
-u:若目標文件已經存在,且source比較新,纔會更新
例1:將根目錄下的test1.txt文件移動到其餘目錄中去
例2:重命名文件或文件夾
cp:複製文件或文件夾
使用方法:
cp [option]..... source..... directory
參數:
-a:至關與-dR --preserve=all的意思,保持軟鏈接,遞歸,保持文件原有有屬性;
-d:若來源文件爲連接文件的屬性(link file),則複製連接文件屬性而非文件自己;
-f:爲強制的意思,若目標文件已經存在且沒法打開,則移除後再嘗試一次;
-i:若目標文件已存在,則會覆蓋且覆蓋前詢問;
-r:複製目錄所用;
例1:複製根目錄下的test1.txt到/shilie目錄下,且重命名爲test2;
例2:-i的用法,不加i選項在某些操做系統版本下也會詢問是否覆蓋;
例3:將根目錄下的test目錄複製到/shilie下(注:cp命令沒法直接複製目錄,需加-r選項)
rm:刪除文件或文件夾
使用方法:
rm [option]..... file....
參數:
-f 忽略不存在的文件,且不給出任何提示(可理解爲強制執行);
-i 進行交互式刪除
-r 刪除目標目錄以及全部子目錄;
-v 顯示詳細步驟;
例1:刪除根目錄下的test1.txt文件(刪除前會詢問是否刪除)
例2:使用-f參數來刪除根目錄下的test1.txt
例3:使用-r命令刪除目標目錄及全部子目錄
注:使用-r命令後會提示是否進入子目錄且還會提示是否刪除子目錄,在實際環境中一次次提示會很不方便,咱們能夠加上-rf來強制執行且不詢問,直接刪除目標目錄及下面的全部子目錄。
touch:修改文檔或目錄的時間,包括存取時間和更改時間(也可建立一個新文件)
使用方法:
touch [option]... file...
參數:
-a 只更改存取的時間
-c 不創建任何文檔
-t 使用指定的日期時間,而非如今的時間
-m 只更改變更時間
例1:建立新文件
例2:更新test1的時間和test2的時間戳相同
例3:設定test1.txt的時間戳
cat:該命令有三大功能:一次性顯示整個文件;從鍵盤建立一個文件;將幾個文件合併爲一個文件;
參數:
-a 等同於-vET
-b 堆非空輸出行編號
-E 在每行結束處顯示$
-n 對輸出的全部行編號
-T 對跳格字符顯示爲 ^I
-v 使用^和M-引用,除了LFD和TAB外
例1:顯示/test1.txt全部內容
例2:使用cat建立一個新文件
例3:將兩個文件中的內容合併到一個文件中
vi:文本編輯器
使用方法:
vi [options] [file...]
例:直接使用命令+文件名便可,如vi test1.txt。
二、bash的工做特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
答:bash使用特殊變量$?來保存最新一條命令的執行狀態結果,0表示成功,1-255表示失敗。
例:
三、請使用命令行展開功能來完成如下練習:
(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
答:
四、文件的元數據信息有哪些,分別表示什麼含義,如何查看?如何修改文件的時間戳信息。
答:①使用stat查看文件的元數據
File:文件名;Blocks:塊;IO Block:IO塊;Device:設備;Access(第一個):權限;Uid:建立者id;Gid:歸屬組id;Access(第二個):最近訪問;modify:最近修改;change:最近改動
②修改文件的時間戳信息,touch -t命令
五、如何定義一個命令的別名,如何在命令中引用另外一個命令的執行結果?
答:定義命令別名可用alisa命令實現
注:alias設置的命令別名只對當前SHELL起做用,退出後或者切換環境變量後失效
可用管道符在命令中引用另外一個命令的執行結果
六、顯示/var目錄下全部以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(能夠有其它字符)的文件或目錄。
答:
[root@csd var]# ls -d /var/l*[a-z]
/var/l%012lly /var/l0lly.txt /var/lib /var/local /var/lock /var/log
注:命令中的*是表示任意字符的意思
七、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
答:
[root@csd /]# ls -d /etc/[0-9]*[^0-9]
/etc/3test
八、顯示/etc目錄下,以非字母開頭,後面跟了一個字母以及其它任意長度任意字符的文件或目錄。
答:#ls -d /etc/[^a-zA-Z][a-zA-Z]*
九、在/tmp目錄下建立以tfile開頭,後跟當前日期和時間的文件,文件名形如:tfile-2016-08-06-09-32-22。
十、複製/etc目錄下全部以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
答:cp -a /etc/p*[^0-9] /tmp/mytest1
十一、複製/etc目錄下全部以.d結尾的文件或目錄至/tmp/mytest2目錄中。
答:cp -a /etc/*.d /emp/mytest2
十二、複製/etc/目錄下全部以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
答:cp -a /etc/[lmn]*.conf /tmp/mytest3