1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
答:常見的文件管理類命令有:ls,cd,pwd,cp,mv,rm,mkdir,cat,touch
ls:
-a:列出目錄所有文件,包含有隱藏文件,和.與..兩個目錄
-l:長的數據串,包含文件的權限、修改日期等屬性
-h:文件容量以人類更爲方便讀出的方式顯示出來,如KB,MB等
-R:將目錄下的所有文件顯示出來,包含子目錄內容一起。
如:
ls -llh
total 8.0K
-rw-r--r--. 1 root root 69 Aug 18 21:52 allan.txt
-rw-r--r--. 1 root root 69 Aug 18 21:53 test.txt
cd:
切換到特定目錄
如切換至/etc目錄
cd /etc/
pwd:
查看當前工作目錄
pwd
/
cp:
拷貝相關文件或目錄到某個特定位置,如以下
cp /tmp/test0818/allan.txt /home/allan/0818.txt
mv:
移動相關文件或目錄到某個特定位置,如以下
mv /home/allan/0818.txt /tmp/test0818/test.txt
rm:
刪除文件或目錄
-f:強制刪除
-r:遞歸刪除,最常用在目錄的刪除,如操作失誤,危害極大
rm -f allan.txt
rm -rfv 123
removed directory: ‘123/abc/678/bcd’
removed directory: ‘123/abc/678’
removed directory: ‘123/abc’
removed directory: ‘123’
mkdir:
創建目錄
-p:如有需要,創建目錄的上層目錄
-v:顯示詳細信息
如:
mkdir -pv test/1234/abcd/5678
mkdir: created directory ‘test’
mkdir: created directory ‘test/1234’
mkdir: created directory ‘test/1234/abcd’
mkdir: created directory ‘test/1234/abcd/5678’
cat:
顯示文件內容、創建文件、將幾個文件整合成一個文件
cat test.txt
hello,
this is allan's test file.if have something.pls touch me.tks.
touch:
用來修改文件時間戳或新建文件
-d 使用指定的日期時間,而非現在的時間
-r 把指定文檔或目錄的日期時間,統統設成和參考文檔或目錄的日期時間相同
touch allatest.txt
2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
答:Bash特性:歷史命令、補全命令,可以通過history來查看歷史命令
3、請使用命令行展開功能來完成以下練習:
(1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d
mkdir -p {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
mkdir -p mylinux/{bin,boot,dev,etc,lib,lib64,proc,sbin,sys,tmp,usr,var,lock,log,run}
mkdir -p /mylinux/boot/grub
mkdir -p /mylinux/etc/{rc.d,sysconfig}
mkdir -p /mylinux/etc/rc.d/init.d/
mkdir -p /mylinux/etc/rc.d/sysconfig/network-scripts
mkdir -p /mylinux/lib/modules
mkdir -p /mylinux/usr/local/{bin,sbin}
4、文件的元數據信息有哪些,分別表示什麼含義,如何查看?如何修改文件的時間戳信息。
答:Access:最後一次訪問時間
Modify:最後一次修改時間
Change:最後一次更改狀態時間
通過touch來進行時間戳的變更
如touch –a:僅更新access time
Touch –m:僅更新modify time
5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
答:1、通過環境變量進行設置
2、通過命令進行設置
6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
find /var/-maxdepth 1 -name "l*[0-9]*[a-z]"
7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
find /etc/ -maxdepth1 -name "[0-9]*[!0-9]"
8、顯示/etc目錄下,以非字母開頭,後面跟了一個字母以及其它任意長度任意字符的文件或目錄。
find /etc/-maxdepth 1 -name "[0-9]*[a-z-A-Z]*"
9、在/tmp目錄下創建以tfile開頭,後跟當前日期和時間的文件,文件名形如:tfile-2016-08-06-09-32-22。
touch tfile`date +"%Y-%m-%d-%H-%M-%S"
10、複製/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中
ls /etc/ | grep "^p[^0-9]*$" | xargs -i cp-r {} /tmp/mytest1
11、複製/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
find /etc-maxdepth 1 -name "*.d" | xargs cp -r /tmp/mytest2/
12、複製/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
find /etc/ -type f -name"[lmn]*conf" |xargs cp -rf /tmp/mytest3/