一、Linux上的文件管理類命令有哪些,其常用的使用方法?
1、ls:顯示目錄下的文件
-a:顯示所有文件,包括隱藏文件(以 . 開頭的文件)
-l:詳細列出文件的屬性等信息
-d:僅列出目錄本身,而不是列出目錄內的文件數(shù)據
[root@system2 tmp]# ls
anaconda.log packaging.log
2、cd:切換目錄
cd / # 切換到根目錄
cd .. # 回到上一級目錄(回到父目錄)
cd - # 回到上次切換時的目錄
[root@system2 tmp]# cd .. # .表示當前目錄,所以還是在tmp目錄
[root@system2 /]# # ..表示上一層目錄,所以此時就進入到了/目錄下
3、pwd:顯示當前所在的工作目錄
[root@system2 tmp]# pwd #顯示當前目錄
/tmp
4、touch:創(chuàng)建空文件, 或修改文件時間戳
touch [-amt] [文件]
-a # 只更改存取時間
-m # 只更改修改時間
-t # 更改為自定義時間戳
[root@system2 tmp]# touch niqin
[root@system2 tmp]# ls
anaconda.log niqin
5、mkdir:創(chuàng)建新目錄
mkdir [目錄名] # 后面目錄名自己定義
-p # 創(chuàng)建多級目錄
[root@system2 tmp]# mkdir test #創(chuàng)建一個新目錄
[root@system2 tmp]# ls
anaconda.log niqin storage.log test
6、cp:復制文件或目錄
cp [-aR] [目錄名] [目的路徑]
-a # 復制所有文件
-r # 復制目錄
-f #為強制 (force) 的意思
-p #連同文件的屬性一起復制過去,而非使用默認屬性
-i #若目的文件(destination)已經存在時,在覆蓋時會先詢問是否真的覆蓋
[root@system2 tmp]# cp /var/log/wtmp wtmp
[root@system2 tmp]# ls -l /var/log/wtmp wtmp
-rw-rw-r--. 1 root utmp 8832 Sep 28 23:22 /var/log/wtmp
-rw-r--r--. 1 root root 8832 Sep 28 23:38 wtmp
7、mv:移動文件或目錄, 或重命名
mv [源文件或目錄] [目的路徑或名稱]
[root@system2 tmp]# mv bashrc test1/bashrc #將文件bashrc移動到目錄/tmp/test1/
8、rm:刪除文件或目錄
rm [-rf] [文件或目錄]
-r # 刪除目錄
-f # 強制刪除不提示
[root@system2 tmp]# rm -rf niqin #加了選項-f直接強制刪除目錄以及里面所有文件
9、cat:顯示文件內容
cat [文件名]
[root@system2 tmp]# cat 123
123456
10、more:分頁顯示文件內容
more [文件名]
(空格)或f # 顯示下一頁
(Enter) # 顯示下一行
q # 退出
11、head:顯示文件前幾行
head [-num] [文件名]
-num # 顯示文件的前num行
12、tail:顯示文件后幾行
tail [-num] [文件名]
-num # 顯示文件的后num行
二、bash的工作特性之命令執(zhí)行狀態(tài)返回值和命令行展開所涉及的內容及演示?
在shell中, 每執(zhí)行一次命令, 都會產生一個命令返回值, 保存在bash的特殊環(huán)境變量 $? 中.
這個特殊的返回值, 叫做命令執(zhí)行的狀態(tài)返回值。
注意,命令執(zhí)行狀態(tài)返回值和命令的執(zhí)行結果間的區(qū)別。不管命令是否成功執(zhí)行,都會有相關數(shù)
據顯示,但是命令執(zhí)行狀態(tài)返回值卻是不同的
[root@system2 tmp]# echo $?
0 #狀態(tài)返回值為0, 表示命令執(zhí)行成功
[root@system2 tmp]# lnn
bash: lnn: command not found...
Similar command is: 'ln'
[root@system2 tmp]# echo $?
127 #狀態(tài)返回值為1-255, 表示命令有錯誤
[root@system2 tmp]#
三、命令行展開
1、創(chuàng)建、tmp目錄下的:a_c,a_d,b_c,b_d
~: 展開結果為用戶的家目錄
{}: 可以承載一個逗號分割的路徑列表, 自動展開成為多個路徑
創(chuàng)建/tmp目錄下的 a_c, a_d, b_c, b_d
[root@system2 tmp]# touch {a,b}_{c,d}
[root@system2 tmp]# ls
b_d
a_c hsperfdata_root
a_d
2、創(chuàng)建/tmp/mylinux目錄下的:

[root@system2 tmp]# mkdir -p mylinux/{bin,boot/grub,dev,etc/{rc.d/inin.d,s
ysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/
{bin,sbin},var/{lock,log,run}}
[root@system2 tmp]# tree 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
四、文件的元數(shù)據信息有哪些?分別表示什么含義如何查看?如何修改文件的時間戳信息?
在linux系統(tǒng)中, 每一個目錄或文件都有一個索引節(jié)點相對應, 而在索引節(jié)點表中包含文件系統(tǒng)所有的文件列表,
每個索引節(jié)點的表中, 包含有文件的信息(元數(shù)據), 每個表中包含的信息有:
1、文件類型, 權限, UID, GID
2、鏈接數(shù)
3、文件大小和時間戳
4、指向磁盤上數(shù)據塊的指針
5、有關文件的其他數(shù)據
查看一個文件元數(shù)據的方法:
[root@system2 etc]# stat services
File: ‘services’
Size: 670293 Blocks: 1312 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 8391762 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:etc_t:s0
Access: 2016-05-18 10:54:06.707010331 +0800
Modify: 2013-06-07 22:31:32.000000000 +0800
Change: 2016-05-13 18:09:34.661861195 +0800
修改一個文件的時間戳:
touch [-amt] [文件]
-a # 只更改存取時間
-m # 只更改修改時間
-t # 更改為自定義時間戳
[root@system2 tmp]# touch -a txt #使用-a參數(shù),修改訪問時間
[root@system2 tmp]# touch -m -t 201609281001.20 txt #使用-m -t把時間改為指定的時間
[root@system2 tmp]# stat txt #mtime已更改為上面指定的時間
File: ‘txt’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd00h/64768d Inode: 27300250 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:user_tmp_t:s0
Access: 2016-09-28 23:10:49.614753942 +0800
Modify: 2016-09-28 10:01:20.000000000 +0800
Change: 2016-09-28 23:12:25.449747209 +0800
五、如何定義一個命令的別名,如何在命令中引用另一個命令的執(zhí)行結果?
給ls -l 取別名:
alias lsl='ls -l'
所謂管道符, 就是"|", 它可以引用前面的命令的輸出結果并給后面的命令使用
[root@system2 ~]# cat /etc/inittab |grep id
六、顯示/var目錄下以 l 開頭, 以一個小寫字母結尾, 且中間至少出現(xiàn)一位數(shù)字(可以有其他字符)的文件或目錄?
[root@system2 ~]# ls -d /var/1[0-9][[:lower:]]
七、顯示/etc目錄, 以任意一個數(shù)字開頭, 且以非數(shù)字結尾的文件或目錄?
[root@system2 ~]# ls -d /etc/[0-9]*[^0-9]
八、顯示/etc目錄下, 以非字母開頭, 后面跟了一個字母一級其他任意長度任意字符的文件或目錄?
[root@system2 ~]# ls -d /etc/[^a-z][a-z]*
九、在/tmp目錄下創(chuàng)建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22?
[root@system2 ~]# touch /tmp/tfile-${date +%Y-%m-%d-%H-%M-%S}
十、復制/etc目錄下所有以p開頭,以非數(shù)字結尾的文件或目錄到/tmp/mytest1目錄中?
[root@system2 ~]# mkdir /tmp/mytest1
[root@system2 ~]# cp -r /etc/p*[^0-9]/tmp/mytest1
十一、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中?
[root@system2 ~]# mkdir /tmp/test2
[root@system2 ~]# cp -r /etc/*.d /tmp/mytest2
十二、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中?
[root@system2 ~]# mkdir /tmp/test3
[root@system2 ~]# cp /etc/[1mn]*.conf /tmp/mytest3