1、Linux上的文件管理類命令都有哪些疲眷,其常用的使用方法及其相關(guān)示例演示弯淘。
(1)目錄與路徑
相對(duì)路徑與絕對(duì)路徑
絕對(duì)路徑:路徑的寫法【一定由根目錄 / 寫起】
/usr/share/doc 這個(gè)目錄。
相對(duì)路徑:路徑的寫法【不是由 / 寫起】
由 /usr/share/doc 要到 /usr/share/man 底下時(shí),可以寫成: 【cd ../man】這就是相對(duì)路徑的寫法楣号。相對(duì)路徑意指相對(duì)于當(dāng)前的工作目錄
(2) cat命令
cat是linux的基本文本輸出命令,通常用于查看文件內(nèi)容怒坯。
語法
cat [OPTION]... [FILE]...
參數(shù)
-n 或? --number:由1開始對(duì)所有輸出的行數(shù)編號(hào)炫狱。
-b 或 --number-nonblank:和-n相似,只不過對(duì)于空白行不編號(hào)剔猿。
-s 或 --squeeze-blank:當(dāng)遇到有連續(xù)兩行以上的空白行视译,就代換為一行的空白行。
-v 或 --show-nonprinting:使用^和M-符號(hào)归敬,除了LFD和TAB之外酷含。
-E或--show-ends:在每行結(jié)束處顯示$鄙早。
-T或--show-tabs:將TAB字符顯示為^|。
-e:等價(jià)于-vE第美。
-A蝶锋,--show-all:等價(jià)于-vET。
-t:等價(jià)于"-vT"選項(xiàng)什往。
cat主要功能
1扳缕、一次顯示文件的所有內(nèi)容 cat filename
2、從磁盤創(chuàng)建一個(gè)新文件cat >filename(只能創(chuàng)建新文件不能編輯已有文件)
3别威、將幾個(gè)文件合并為一個(gè)文件cat? file1? file2? > file
實(shí)例
(3)?cd (切換目錄)
示例:
(4)?pwd(顯示當(dāng)前所在的目錄)
參數(shù):
-P ?:顯示出確實(shí)的路徑躯舔,而非使用鏈接 (link) 路徑。(P是大寫)
示例:
(5)mkdir (建立新目錄)
[root@yangxu ~]# mkdir [-mp] 目錄名稱
參數(shù):
-m :配置文件目錄的權(quán)限省古!我們可以自己設(shè)定自己想要的權(quán)限粥庄,而不需要使用umask定義的默認(rèn)權(quán)限
-p :幫助你直接將所需要的目錄遞歸建立起來!
范例:
(6) rmdir (刪除"空"目錄)
? ? ? ? ? ?rmdir [-p] 目錄名稱
? ? ? ? ?-p :連同上層『空的』目錄也一起刪除
注:不過要注意的是训堆,這個(gè) rmdir 僅能【刪除空的目錄】!
(7)?ls (查看文件和目錄)
? ? ? ? ? ls [-aAdfFhilRS] 目錄名稱
? ? ? ? ??ls [–color={none,auto,always}] 目錄名稱
? ? ? ? ? ls [–full-time] 目錄名稱
參數(shù):
-a ?:全部的文件白嘁,連同隱藏文件( 開頭為 . 的目錄) 一起列出來~
-A ?:全部的文件坑鱼,連同隱藏文件,但不包括 . 與 .. 這兩個(gè)目錄絮缅,一起列出來~
-d ?:僅列出目錄本身鲁沥,而不是列出目錄內(nèi)的文件數(shù)據(jù)
-f ?:直接列出結(jié)果,而不進(jìn)行排序 (ls 預(yù)設(shè)會(huì)以文件名排序耕魄!)
-F ?:根據(jù)文件画恰、目錄等信息,給予附加數(shù)據(jù)結(jié)構(gòu)吸奴,例如:
? ? ? *:代表可執(zhí)行文件阐枣; /:代表目錄; =:代表 socket 檔案奄抽; |:代表 FIFO 文件;
-h ?:列出文件的打小(例如GB甩鳄、KB等等)
-i ?:列出 inode 位置逞度,而非列出文件屬性;
-l ?:長數(shù)據(jù)串行出妙啃,包含文件的屬性等等數(shù)據(jù)档泽;
-n ?:列出 UID 與 GID 而非使用者與群組的名稱 (UID與GID會(huì)在賬號(hào)管理提到俊戳!)
-r ?:將排序結(jié)果反向輸出,例如:原本文件名由小到大馆匿,反向則為由大到幸痔ァ;
-R ?:連同子目錄內(nèi)容一起列出來渐北;
-S ?:以文件容量大小排序阿逃!
-t ?:依時(shí)間排序
–color=never ?:不要依據(jù)文件特性給予顏色顯示;
–color=always :顯示顏色
–color=auto ? :讓系統(tǒng)自行依據(jù)設(shè)定來判斷是否給予顏色
–full-time ? ?:以完整時(shí)間模式 (包含年赃蛛、月恃锉、日、時(shí)呕臂、分) 輸出
–time={atime,ctime} :輸出 access 時(shí)間或 改變權(quán)限屬性時(shí)間 (ctime)?
舉例:
(8) cp (復(fù)制命令)
? ? ? ? ? ? ? ? ? ? ??cp [-adfilprsu] 源文件(source) 目的文件(destination)
? ? ? ? ? ? ? ? ? ? ??cp [options] source1 source2 source3 …. directory
參數(shù):
-a ?:相當(dāng)于 -pdr 的意思破托;
-d ?:若來源文件為鏈接文件的屬性(link file),則復(fù)制鏈接文件屬性而非檔案本身歧蒋;
-f ?:為強(qiáng)制 (force) 的意思土砂,若有重復(fù)或其他疑問時(shí),不會(huì)詢問使用者谜洽,而強(qiáng)制復(fù)制萝映;
-i ?:若目的文件(destination)已經(jīng)存在時(shí),在覆蓋時(shí)會(huì)先詢問是否真的動(dòng)作褥琐!
-l ?:進(jìn)行硬式連結(jié) (hard link) 的連結(jié)文件建立锌俱,而非復(fù)制文件本身;
-p ?:連同文件的屬性一起復(fù)制過去敌呈,而非使用默認(rèn)屬性贸宏;
-r ?:遞歸持續(xù)復(fù)制,用于目錄的復(fù)制行為磕洪;
-s ?:復(fù)制成為符號(hào)鏈接文件 (symbolic link)吭练,亦即『快捷方式』文件;
-u ?:若 destination 比 source 舊才更新 destination?
舉例:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 原有pam目錄不存在析显,加上-r參數(shù)鲫咽,復(fù)制源目錄,目標(biāo)目錄同時(shí)創(chuàng)建并復(fù)制進(jìn)去
(9) rm (刪除文件或目錄)
? ? ? ? ?rm [-fir] 文件或目錄
參數(shù):
-f ?:就是 force 的意思箩绍,強(qiáng)制移除;
-i ?:互動(dòng)模式尺上,在刪除前會(huì)詢問使用者是否動(dòng)作
-r ?:遞歸刪除材蛛!最常用在目錄的刪除了
舉例
(10)?mv (移動(dòng)文件與目錄圆到、文件重命名)
? ? ? ? ? ? mv [-fiu] source destination
? ? ? ? ? ??mv [options] source1 source2 source3 …. directory
參數(shù):
-f ?:force 強(qiáng)制的意思,強(qiáng)制直接移動(dòng)而不詢問卑吭;
-i ?:若目標(biāo)文件 (destination) 已經(jīng)存在時(shí)芽淡,就會(huì)詢問是否覆蓋!
-u ?:若目標(biāo)文件已經(jīng)存在豆赏,且 source 比較新挣菲,才會(huì)更新 (update)
舉例:
(11) tac (反向顯示)
舉例
(12)?nl (顯示時(shí)添加行號(hào))
? ? ? ? ? ? ?nl [-bnw] 文件
參數(shù):
-b ?:指定行號(hào)指定的方式河绽,主要有兩種:
? ? ? -b a :表示不論是否為空行己单,也同樣列出行號(hào);
? ? ? -b t :如果有空行耙饰,空的那一行不要列出行號(hào)纹笼;
-n ?:列出行號(hào)表示的方法,主要有三種:
? ? ? -n ln :行號(hào)在屏幕的最左方顯示苟跪;
? ? ? -n rn :行號(hào)在自己字段的最右方顯示廷痘,且不加 0 ;
? ? ? -n rz :行號(hào)在自己字段的最右方顯示件已,且加 0 笋额;
-w ?:行號(hào)字段的占用的位數(shù)。
舉例
(13)?head (取出前幾行)
? ? ? ? ? ? ?head [-n number] 文件
參數(shù):
-n ?:后面接數(shù)字,代表顯示幾行的意思
舉例
(14)?tail (取出后面幾行)
? ? ? ? ? ? tail [-n number] 文件
參數(shù):
-n ?:后面接數(shù)字鉴未,代表顯示幾行的意思
舉例:
2枢冤、bash的工作特性之命令執(zhí)行狀態(tài)返回值和命令行展開所涉及的內(nèi)容及其示例演示。
1. 命令執(zhí)行狀態(tài)返回值
作為演示铜秆,我們鍵入一條命令 source /etc/profile淹真,回車。
鍵入的命令到底有沒有執(zhí)行成功呢连茧?我們輸入 echo $? 來查看該命令執(zhí)行狀態(tài)的返回值核蘸。返回值為 0,表示成功執(zhí)行啸驯。
我們?cè)冁I入一條命令:source /etc,回車客扎,然后再用 echo $? 查看。返回值為 1罚斗,表示該命令出錯(cuò)虐唠。
我們最后鍵入 mann ls,回車惰聂,然后用 echo $? 查看疆偿。返回值為 127,不為 0搓幌,同樣表示該命令出錯(cuò)杆故。
2.命令行命令展開:
~:展開為用戶的主目錄
~USERNAME:展開為指定用戶的主目錄
{}:可承載一個(gè)以逗號(hào)分隔的列表,并將其展開為多個(gè)路徑
/tmp{a,b} - /tmp/a. /tmp/b
/tmp/{tom,jerry}/hi = /tmp/tom/hi, /tmp/jerry/hi
3溉愁、請(qǐng)使用命令行展開功能來完成以下練習(xí):
? (1)处铛、創(chuàng)建/tmp目錄下的:a_c, a_d, b_c, b_d
? ? ? ? ? ?mkdir -p {a,b}_{c,d}
? (2)、創(chuàng)建/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 /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拐揭、文件的元數(shù)據(jù)信息有哪些撤蟆,分別表示什么含義,如何查看堂污?如何修改文件的時(shí)間戳信息家肯。
1)文件的元數(shù)據(jù)信息及查看
文件的數(shù)據(jù)分兩種:一種元數(shù)據(jù),既屬性數(shù)據(jù)盟猖;一種就是數(shù)據(jù)本身讨衣;可使用stat命令查看文件的元數(shù)據(jù):
可以使用stat命令查看元數(shù)據(jù);
舉例:
其中:
file:文件名式镐;
size:文件大小
block:文件占了多少個(gè)數(shù)據(jù)塊
IO Block:文件所占數(shù)據(jù)塊的塊大小
Device:硬件反镇,既說明該文件在硬盤的那個(gè)柱面
Inode:節(jié)點(diǎn)號(hào)
links:鏈接
Access(第一個(gè)):權(quán)限
Uid:該文件所屬的屬主
Gid:該文件所屬的屬組
context:安全上下文
Access(第二個(gè)):文件上一次的訪問時(shí)間
Modify:文件上一次修改的時(shí)間
Change:文件上一次屬性更改的時(shí)間
2)修改文件的時(shí)間戳信息:
?可以使用touch命令更改文件的時(shí)間戳:
?touch [-acdmt] 文件
選項(xiàng)與參數(shù):
-a ?:僅修訂 access time;
-c ?:僅修改文件的時(shí)間娘汞,若該文件不存在則不創(chuàng)建新文件歹茶;
-d ?:后面可以接欲修訂的日期而不用目前的日期,也可以使用 –date="日期或時(shí)間"
-m ?: 僅修改 mtime 你弦;
-t ?: 后面可以接欲修訂的時(shí)間而不用目前的時(shí)間惊豺,格式為[YYMMDDhhmm]
舉例:
查看目前時(shí)間點(diǎn)
然后我們使用touch命令看下效果;
3個(gè)時(shí)間點(diǎn)都已經(jīng)改變鳖目;
5扮叨、如何定義一個(gè)命令的別名,如何在命令中引用另一個(gè)命令的執(zhí)行結(jié)果领迈?
定義別名:alias
語法:# alias name='command line'
alias的作用僅在該次登入的操作彻磁,即輸入一次alias后,這個(gè)修改只在當(dāng)前的Shell生效狸捅。如果重新開啟一個(gè)Shell衷蜓,或者重新登錄,則這些alias將無法使用尘喝。
alias永久化的方法:
<1>.若要每次登入就自動(dòng)生效別名磁浇,則把別名加在/etc/profile或~/.bashrc中。然后# source ~/.bashrc
<2>.若要讓每一位用戶都生效別名朽褪,則把別名加在/etc/bashrc最后面置吓,然后# source /etc/bashrc
示例:
添加別名
重新再打開個(gè)shell无虚,可以看見之前創(chuàng)立的別名已經(jīng)沒有;
可以編輯.bashrc文件衍锚,在里面添加別名友题,這個(gè)添加后對(duì)當(dāng)前用戶有效;切換用戶后戴质,就無效度宦;
在文件末尾添加別名,對(duì)全局用戶有效告匠;
刪除別名: