1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
cp復制,mv移動,rm刪除
1、cp:
1,用法:
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
2,規則
當源是文件:
目標不存在時:新建目標,并將源的內容填充至目標中;
目標存在時:1,如果目標是文件,則覆蓋,可使用-i參數提醒;2,如果目標是目錄,則在目標下新建與源同名的文件,并將源內容填充入內
當源是多個文件時:目標必為目錄,如果目標不存在,則不能復制
如果源是目錄,需使用-r選項,cp默認不支持目錄復制
目標不存在時:創建指定目錄,復制源目錄中的所有文件至目標中;
目標存在時:1,目標是文件,報錯;2,目標是目錄,復制進去
3,常用選項:
-i:交互式
-r,-R:遞歸復制目錄及其內部所有內容
-a:歸檔
-d: --no-dereference --preserv=links
--preserve[=ATTR_LIST]
mode:權限
ownership:屬主屬組
timestamp:時間戳
xattr:擴展文件屬性
context:上下文
links:鏈接
all:所有
-p:保留權限,屬主屬組及時間戳 = --preserv=mode,ownership,timestamp
-v:--verbose
-f:--force
2、mv:move移動文件
如果SRC是單個文件:
若DEST不存在,則剪切源文件至新目錄下,并重命名成新名字
如果SRC是目錄,則把目錄下所有文件都移動過去
3、rm:remove,刪除
常用選項:
-i:交互式
-f:強制刪除
-r:遞歸
rm:-rf,強制遞歸刪除
2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
命令執行狀態:bash使用特殊變量$?保存最近一條命令的執行狀態結果:其中0表示成功;1-255表示失敗。
命令行展開:
1,~:展開為用戶的主目錄;
2,~USERNAME:展開為指定用戶的主目錄
3,{}:可承載一個以逗號分隔的列表,并將其展開為多個路徑
如:mkdir -p 2/{bin,sbin,usr/{bin,sbin}}
mkdir -p 1/{x,y}_m/{m,n}
3、請使用命令行展開功能來完成以下練習:
(1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d
# mkdir /tmp/{a,b}_{c,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 /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}}
4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
文件名,大小,塊,IO塊,設備,Inode,硬鏈接,權限,Uid,Gid,環境,時間戳
stat查看文件元數據
touch修改時間戳
touch [OPTION]... FILE...
-a:修改訪問時間
-m:修改修改時間
-t:修改為指定時間
-c:不創建文件
5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
命令別名(alias)
通過alias命令實現
1)alias:顯示當前shell進程中所有可用的命令別名
2)alias:NAME=‘VALUE’
定義別名NAME,其相當于執行命令VALUE
例:alias cdnet='cd /etc/sysconfig/network-scripts'
注意:在命令行中定義的別名,僅對當前shell進程有效,如果想永久有效,需要定義在配置文件中
僅對當前用戶:~/.bashrc
對所有用戶有效:/etc/bashrc
立即生效,重新讀取配置文件:source .bashrc
bash進程重新讀取配置文件:
source /path/to/config_file
. /path/to/config_file
撤銷別名:unalias
unalias [-a] name [-name ...]
PS:如果別名同原命令名稱,要執行原命令,可使用"\COMMAND"
6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
# ls /var/l*[0-9]*[:lower:]
7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
# ls /etc/[0-9]*[^0-9]
8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
# ls /etc/[^:alpha:]?
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 mytest1 && cp -r /etc/p*[^0-9] /tmp/mytest1
11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
# mkdir mytest2 && cp -r /etc/*.d /tmp/mytest2
12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
# mkdir mytest3 && cp /etc/[lmn]*.conf /tmp/mytest3
原創文章,作者:lichenhan,如若轉載,請注明出處:http://www.www58058.com/20957