1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
ls
ls命令用來顯示目標列表,在Linux中是使用率較高的命令。 -a:顯示所有檔案及目錄(ls內定將檔案名或目錄名稱為“.”的視為影藏,不會列出); -A:顯示除影藏文件“.”和“..”以外的所有文件列表; -C:多列顯示輸出結果。這是默認選項; -l:與“-C”選項功能相反,所有輸出信息用單列格式輸出,不輸出為多列; -F:在每個輸出項后追加文件的類型標識符,具體含義:“*”表示具有可執行權限的普通文件,“/”表示目錄,“@”表示符號鏈接,“|”表示命令管道FIFO,“=”表示sockets套接字。當文件為普通文件時,不輸出任何標識符; -b:將文件中的不可輸出的字符以反斜線“”加字符編碼的方式輸出; -c:與“-lt”選項連用時,按照文件狀態時間排序輸出目錄內容,排序的依據是文件的索引節點中的ctime字段。與“-l”選項連用時,則排序的一句是文件的狀態改變時間; -d:僅顯示目錄名,而不顯示目錄下的內容列表。顯示符號鏈接文件本身,而不顯示其所指向的目錄列表; -f:此參數的效果和同時指定“aU”參數相同,并關閉“lst”參數的效果; -i:顯示文件索引節點號(inode)。一個索引節點代表一個文件; --file-type:與“-F”選項的功能相同,但是不顯示“*”; -k:以KB(千字節)為單位顯示文件大?。?nbsp; -l:以長格式顯示目錄下的內容列表。輸出的信息從左到右依次包括文件名,文件類型、權限模式、硬連接數、所有者、組、文件大小和文件的最后修改時間等; -m:用“,”號區隔每個文件和目錄的名稱; -n:以用戶識別碼和群組識別碼替代其名稱; -r:以文件名反序排列并輸出目錄內容列表; -s:顯示文件和目錄的大小,以區塊為單位; -t:用文件和目錄的更改時間排序; -L:如果遇到性質為符號鏈接的文件或目錄,直接列出該鏈接所指向的原始文件或目錄; -R:遞歸處理,將指定目錄下的所有文件及子目錄一并處理; --full-time:列出完整的日期與時間; --color[=WHEN]:使用不同的顏色高亮顯示不同類型的。 ls -l total 1068 -rw-r--r-- 1 root root 0 Sep 9 04:49 10082016 -rw-r--r-- 1 root root 0 Sep 9 04:55 1511142234.00 -rw-r--r-- 1 root root 0 Sep 9 04:56 1611142234.00 -rw-r--r-- 1 root root 0 Sep 9 04:53 201211142234.50 -rw-r--r-- 1 root root 0 Sep 9 04:57 201411111111.00 -rw-r--r-- 1 root root 0 Sep 9 04:54 201511142234 -rw-r--r-- 1 root root 0 Sep 9 04:54 201511142234.50 -rw-r--r-- 1 root root 0 Sep 9 04:58 201511152234.50
cp
cp命令用來將一個或多個源文件或者目錄復制到指定的目的文件或目錄 -a:此參數的效果和同時指定"-dpR"參數相同; -d:當復制符號連接時,把目標文件或目錄也建立為符號連接,并指向與源文件或目錄連接的原始文件或目錄; -f:強行復制文件或目錄,不論目標文件或目錄是否已存在; -i:覆蓋既有文件之前先詢問用戶; -l:對源文件建立硬連接,而非復制文件; -p:保留源文件或目錄的屬性; -R/r:遞歸處理,將指定目錄下的所有文件與子目錄一并處理; -s:對源文件建立符號連接,而非復制文件; -u:使用這項參數后只會在源文件的更改時間較目標文件更新時或是名稱相互對應的目標文件并不存在時,才復制文件; -S:在備份文件時,用指定的后綴“SUFFIX”代替文件的默認后綴; -b:覆蓋已存在的文件目標前將目標文件備份; -v:詳細顯示命令執行的操作。
mv
mv命令用來對文件或目錄重新命名,或者將文件從一個目錄移到另一個目錄中。 --backup=<備份模式>:若需覆蓋文件,則覆蓋前先行備份; -b:當文件存在時,覆蓋前,為其創建一個備份; -f:若目標文件或目錄與現有的文件或目錄重復,則直接覆蓋現有的文件或目錄; -i:交互式操作,覆蓋前先行詢問用戶,如果源文件與目標文件或目標目錄中的文件同名,則詢問用戶是否覆蓋目標文件。用戶輸入”y”,表示將覆蓋目標文件;輸入”n”,表示取消對源文件的移動。這樣可以避免誤將文件覆蓋。 --strip-trailing-slashes:刪除源文件中的斜杠“/”; -S<后綴>:為備份文件指定后綴,而不使用默認的后綴; --target-directory=<目錄>:指定源文件要移動到目標目錄; -u:當源文件比目標文件新或者目標文件不存在時,才執行移動操作。
rm
rm命令可以刪除一個目錄中的一個或多個文件或目錄,也可以將某個目錄及其下屬的所有文件及其子目錄均刪除掉 -d:直接把欲刪除的目錄的硬連接數據刪除成0,刪除該目錄; -f:強制刪除文件或目錄; -i:刪除已有文件或目錄之前先詢問用戶; -r或-R:遞歸處理,將指定目錄下的所有文件與子目錄一并處理; --preserve-root:不對根目錄進行遞歸操作; -v:顯示指令的詳細執行過程。
2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
0 成功 1-255 失敗 [root@myserver ~]#cat tesss cat: tesss: No such file or directory [root@myserver ~]# echo $? 1 [root@myserver ~]# ls anaconda-ks.cfg emun.txt test text.txt [root@myserver ~]# echo $? 0 [root@myserver ~]# ca test -bash: ca: command not found [root@myserver ~]# echo $? 127 [root@myserver ~]# ls te ls: cannot access te: No such file or directory [root@myserver ~]# echo $? 2
3、請使用命令行展開功能來完成以下練習:
(1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d
mkdir {a,b}_{c,d} ls 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 -pv mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scipts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{var,log,run}} tree mylinux/ mylinux/ ├── bin ├── boot │ └── grub ├── dev ├── etc │ ├── rc.d │ │ └── init.d │ └── sysconfig │ └── network-scipts ├── lib │ └── modules ├── lib64 ├── proc ├── sbin ├── sys ├── tmp ├── usr │ └── local │ ├── bin │ └── sbin └── var ├── log ├── run └── var
4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
stat history.txt File: ‘history.txt’ Size: 19445 Blocks: 40 IO Block: 4096 regular file Device: fd00h/64768d Inode: 101942074 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2016-09-09 04:49:46.888113148 +0800 Modify: 2016-09-09 04:44:57.963768809 +0800 Change: 2016-09-09 04:49:46.888113148 +0800 Birth: - touch命令有兩個功能:一是用于把已存在文件的時間標簽更新為系統當前的時間 -a:或--time=atime或--time=access或--time=use 只更改存取時間; -c:或--no-create 不建立任何文件; -d:<時間日期> 使用指定的日期時間,而非現在的時間; -f:此參數將忽略不予處理,僅負責解決BSD版本touch指令的兼容性問題; -m:或--time=mtime或--time=modify 只更該變動時間; -r:<參考文件或目錄> 把指定文件或目錄的日期時間,統統設成和參考文件或目錄的日期時間相同; -t:<日期時間> 使用指定的日期時間,而非現在的時間; --help:在線幫助; --version:顯示版本信息。 touch -t 201211142234.50 history.txt stat history.txt File: ‘history.txt’ Size: 19445 Blocks: 40 IO Block: 4096 regular file Device: fd00h/64768d Inode: 101942074 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2012-11-14 22:34:50.000000000 +0800 Modify: 2012-11-14 22:34:50.000000000 +0800 Change: 2016-09-09 04:53:06.991823108 +0800 Birth: -
5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
alias命令用來設置指令的別名 alias 新的命令='原命令 -選項/參數 alias alias cp='cp -i' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias mv='mv -i' alias rm='rm -i' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' 命令引用: name=`COMMAND`, name=$(COMMAND) wc -l `ls test.txt` 4 test.txt
原創文章,作者:kirin_13,如若轉載,請注明出處:http://www.www58058.com/45587
沒寫完吧?