Linux發(fā)行版的系統(tǒng)目錄名稱命名規(guī)則及用途
Linux系統(tǒng)基礎(chǔ)目錄的命名法則:
1镊叁、遵循FHS(Filesystem Hierarchy Standard)標(biāo)準(zhǔn)
2、嚴(yán)格區(qū)分大小寫
3团秽、目錄也是文件主胧,在同一路徑下,兩個文件不能同名
4习勤、支持使用除 / 以外的任意字符
5踪栋、最長字符不能超過255個字符
Linux發(fā)行版基本目錄架構(gòu)及用途描述
描述文件的元數(shù)據(jù)有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息图毕?
元數(shù)據(jù)信息包含:
File:文件名
Size:文件大幸亩肌(單位:B)
Blocks:文件所占塊個數(shù)
IO Block:每個數(shù)據(jù)塊的大小(單位:B)
regular file:普通文件(此處顯示文件的類型)
Inode:文件的Inode號吴旋,文件的索引節(jié)點(diǎn)號
Links:硬鏈接次數(shù)
Access:權(quán)限
Uid:(屬主id/屬主名)
Gid:(屬組id/屬組名)
Context:文件所在的環(huán)境
Access:最近訪問時間access time (atime)
Modify:數(shù)據(jù)改動時間modification time (mtime)
Change:元數(shù)據(jù)改動時間status time (ctime)
Creat/Birth:文件創(chuàng)建時間查看文件的元數(shù)據(jù)的方法:
[root@centos7 ~]#stat /etc/passwd
File: ‘/etc/passwd’
Size: 2517 Blocks: 8 IO Block: 4096 regular file
Device: 802h/2050d Inode: 135045203 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2020-03-03 11:16:04.007598750 +0800
Modify: 2020-03-02 11:15:37.520178093 +0800
Change: 2020-03-02 11:15:37.521178093 +0800
Birth: -如何修改文件的時間戳信息:
不跟任何選項(xiàng)時三個時間戳都會被更新為當(dāng)前時間损肛。
-c: 指定的文件路徑不存在時不予創(chuàng)建;
-a: 僅修改access time荣瑟;
-m:僅修改modify time治拿;
-t :指定改為某一時刻的時間,時間參數(shù)格式 [[CC]YY]MMDDhhmm[.ss]
-
實(shí)列:
[root@centos7 ~]#touch -a -t 202003040754 /etc/passwd
[root@centos7 ~]#stat /etc/passwd
File: ‘/etc/passwd’
Size: 2517 Blocks: 8 IO Block: 4096 regular file
Device: 802h/2050d Inode: 135045203 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2020-03-04 07:54:00.000000000 +0800
Modify: 2020-03-02 11:15:37.520178093 +0800
Change: 2020-03-04 07:54:50.362195261 +0800
Birth: -
總結(jié)硬鏈接和軟連接的區(qū)別笆焰,并用實(shí)列操作說明劫谅。
軟鏈接
ln -s 原文件 目標(biāo)文件
特征:1、相當(dāng)于windows的快捷方式
2嚷掠、符號鏈接捏检,所以鏈接文件大小都很小
3、當(dāng)運(yùn)行軟連接的時候不皆,會根據(jù)鏈接指向找到真正的文件贯城,然后執(zhí)行
4、所有鏈接文件的權(quán)限都是777霹娄,而真正的權(quán)限是由指向的那個文件決定的
5能犯、原文件丟失后鲫骗,軟鏈接無法訪問,會報(bào)找不到的錯誤
6踩晶、ls -al ,軟連接后面箭頭執(zhí)行的時源文件硬鏈接
ln 源文件 目標(biāo)文件
特征:1执泰、原文件和鏈接文件的屬性完全一樣
2、鏈接文件和源文件的關(guān)系類似于:復(fù)制+同步更新
3渡蜻、當(dāng)原文件丟失术吝,硬鏈接文件還可以訪問
4、不能跨分區(qū)茸苇,不能針對目錄使用
5排苍、原理:原文件和硬鏈接文件的節(jié)點(diǎn)相同的,1個文件名只能對應(yīng)1個節(jié)點(diǎn)號税弃。但是1個節(jié)點(diǎn)號能對應(yīng)多個文件名纪岁。所以,他們的屬性完全相同则果,并且修改了其中一個的內(nèi)容另外一個也會跟著修改實(shí)例如下:
創(chuàng)建a文件的軟連接b,并查看a和軟鏈接文件a.link的inodes漩氨、權(quán)限西壮、大小,如下:
[root@centos ~]# ln -s a a.link
[root@centos ~]# ll -i
total 6728
394681 -rw-r--r-- 1 root root 6888896 Nov 10 21:42 a
394522 lrwxrwxrwx 1 root root 1 Nov 10 21:45 a.link -> a從命令的執(zhí)行結(jié)果上看叫惊,結(jié)論如下:
1款青、a文件的inode號為394681,a.link文件inode為394522霍狰,inode號不一致抡草。
2、符號鏈接蔗坯,所以鏈接文件大小都很小康震。a.link大小為1bit,而a文件的大小為6.6M宾濒。
3腿短、所有a.link文件的權(quán)限都是777,而真正的權(quán)限是由指向的那個文件決定的刪除文件a绘梦,訪問a.link鏈接文件
[root@centos ~]# mv a a.bak
[root@centos ~]# cat a.link
cat: a.link: No such file or directory總結(jié):原文件丟失后橘忱,軟鏈接無法訪問,會報(bào)找不到文件的錯誤
創(chuàng)建a文件的硬鏈接a.hard,查看a和軟鏈接文件a.link的inodes卸奉、權(quán)限钝诚、大小等元數(shù)據(jù)。
[root@centos ~]# ln a a.hard
[root@centos ~]# ll -i
total 13456
394681 -rw-r--r-- 3 root root 6888896 Nov 10 21:42 a
394681 -rw-r--r-- 3 root root 6888896 Nov 10 21:42 a.hard
394522 lrwxrwxrwx 1 root root 1 Nov 10 21:45 a.link -> a總結(jié):原文件和鏈接文件的屬性完全一樣榄棵,元數(shù)據(jù)完全一樣凝颇。
刪除a文件后,硬鏈接文件a.hard的情況
[root@VM_0_15_centos ~]# mv a a.bak
[root@VM_0_15_centos ~]# ll -i
total 13456
394699 -rw-r--r-- 2 root root 6888896 Nov 10 22:39 a.bak
394699 -rw-r--r-- 2 root root 6888896 Nov 10 22:39 a.hard
394522 lrwxrwxrwx 1 root root 1 Nov 10 21:45 a.link -> a
[root@VM_0_15_centos ~]# tail a.hard
999991
999992
999993
999994
999995
999996
999997
999998
999999
1000000總結(jié):當(dāng)原文件丟失郎嫁,硬鏈接文件還可以訪問。
[root@centos ~]# echo "1">>a.bak
[root@centos ~]# tail -1 a.hard
1總結(jié):鏈接文件和源文件的關(guān)系類似于:復(fù)制+同步更新
綜合以上實(shí)例祈噪,軟連接和硬鏈接的區(qū)別總結(jié)如下:
軟鏈接和硬鏈接的區(qū)別:在linux的文件系統(tǒng)中泽铛,保存在磁盤分區(qū)中的文件不管事什么類型都給它分配一個編號,稱為索引節(jié)點(diǎn)號inode辑鲤。具體如下:
1盔腔、軟連接,其實(shí)就是新建立一個文件月褥,這個文件就是專門用來指向別的文件的弛随。軟連接的inode跟原文件的inode是不一致的
2、硬鏈接是不會建立inode宁赤。他只是在文件原里的inode link count域再增加1而已舀透,也因此硬鏈接是不可以跨越文件系統(tǒng)的。
3决左、硬鏈接是一個文件別名愕够。
4、軟鏈接可以跨文件系統(tǒng)佛猛,硬鏈接不可以
5惑芭、軟鏈接可以對一個不存在的文件名進(jìn)行鏈接,硬鏈接不行继找。
6遂跟、軟鏈接可以對目錄進(jìn)行連接,硬連接不可以
7婴渡、兩種鏈接都可以通過ln來創(chuàng)建幻锁,ln默認(rèn)創(chuàng)建的是硬鏈接
8、使用-s開關(guān)可以創(chuàng)建軟鏈接边臼。
Linux上的文件管理類命令都有哪些哄尔,其常用的使用方法及其相關(guān)示例演示。
目錄管理命令
ls:列出指定目錄下的內(nèi)容格式:
ls [OPTION]... [FILE]...
-a:顯示所有文件包括隱藏文件
-A:顯示除.和..之外的所有文件
-l硼瓣,--long:顯示文件的詳細(xì)屬性信息
-h:對文件大小進(jìn)行單位換算究飞,可能影響精度
-d:查看目錄本身而非其內(nèi)部的文件
-r:逆序顯示文件
-R:遞歸顯示文件示例:ls -lah / --詳細(xì)顯示/目錄下的所有文件(包括隱藏文件)
ls -ldh /etc --詳細(xì)顯示/etc目錄本身
ls -lhv / --倒序顯示/目錄下所有文件(包括隱藏文件)
ls -R /etc --遞歸顯示/etc下所有文件mkdir:創(chuàng)建目錄格式:
mkdir [OPTION]... DIRECTORY...
-p:自動按需創(chuàng)建父目錄
-m:創(chuàng)建目錄時給定權(quán)限示例:mkdir -p /data/test/A/B --在/data目錄下遞歸創(chuàng)建/test/A/B三個目錄
mkdir -m 711 -p /data/MODE/A --在/data目錄下遞歸創(chuàng)建MODE/A兩個目錄同時指定目錄A的權(quán)限為711rmdir:刪除目錄格式:
rmdir [OPTION]... DIRECTORY...
-p:刪除目錄后如果其父目錄為空,則一并刪除
示例:rmdir -p /data/test/A --刪除A目錄后堂鲤,test目錄為空亿傅,一并刪除cd:切換目錄
示例:cd ..:切換到上級目錄
cd ~:切換回自己的家目錄
cd -:在上一次目錄與當(dāng)前目錄直接來回切換
pwd:顯示當(dāng)前目錄文件管理命令
cp:復(fù)制
單源復(fù)制:cp [OPTION]... [-T] SOURCE DEST(如果DEST不存在則創(chuàng)建,存在則覆蓋)
多源復(fù)制:cp [OPTION]... SOURCE... DIRECTORY(DEST必須為directory)
-i:交互式復(fù)制瘟栖,即覆蓋前提醒用戶確認(rèn)
-f:強(qiáng)制覆蓋目標(biāo)文件
-r,-R:遞歸復(fù)制目錄
示例:cp -if /data/[1-3].txt /data/test --test必須為目錄葵擎,把三個文件一起復(fù)制到test中
cp -r /data /practice --把data目錄及目錄下的內(nèi)容一起復(fù)制到practice中mv:剪切
單源復(fù)制:mv [OPTION]... [-T] SOURCE DEST(如果DEST不存在則創(chuàng)建,存在則覆蓋)
多源復(fù)制:mv [OPTION]... SOURCE... DIRECTORY(DEST必須為directory)
-i:交互式復(fù)制半哟,即覆蓋前提醒用戶確認(rèn)
-f:強(qiáng)制覆蓋目標(biāo)文件
示例:mv -i /data/[1-3].txt /practice --把/data目錄下三個txt文件剪切到/practice下rm:刪除
格式:rm [OPTION]... FILE...
-i:交互式復(fù)制酬滤,即覆蓋前提醒用戶確認(rèn)
-f:強(qiáng)制覆蓋目標(biāo)文件
-r签餐,-R:遞歸處理,將制定目錄下的所有文件包括目錄一并刪除
示例:rm -rf /practice --遞歸刪除/practice目錄文本內(nèi)容管理命令
cat:正向查看文本內(nèi)容
格式:cat [OPTION]... [FILE]...
-n:給顯示的文本行編號
-E:顯示行結(jié)束符號$
示例:cat -n /etc/fstab --查看/etc/fatab內(nèi)容并顯示行號tac:倒敘查看文本內(nèi)容
格式:tac [OPTION]... [FILE]...
示例:tac /etc/passwd --倒敘查看文本內(nèi)容head:顯示文本內(nèi)容盯串,默認(rèn)顯示頭10行
格式:head [OPTION]... [FILE]...
-n #:顯示文本頭#行內(nèi)容
示例:head -5 /etc/passwd --顯示/etc/passwd文件頭5行內(nèi)容tail:顯示文本內(nèi)容氯檐,默認(rèn)顯示后10行
格式:tail [OPTION]... [FILE]...
-n #:顯示文本后#行內(nèi)容
-f:查看文件尾部內(nèi)容結(jié)束后不退出,跟隨顯示新增的行
示例:tail -8 /etc/passwd --顯示/etc/passwd文件后8行內(nèi)容more:分屏顯示文本內(nèi)容体捏,每次顯示一屏顯示完停止
格式:more [options] file [...]
Space鍵:顯示文本下一屏內(nèi)容
Enter鍵:只顯示文本下一行內(nèi)容
b鍵:顯示文本上一屏內(nèi)容
q鍵:退出less:分屏顯示文本內(nèi)容冠摄,不主動退出
格式:less [options] file [...]
Space鍵:顯示文本下一屏內(nèi)容
Enter鍵:只顯示文本下一行內(nèi)容
b鍵:顯示文本上一屏內(nèi)容
q鍵:退出
復(fù)制/etc/profile至/tmp/目錄,用查找替換命令刪除/tmp/profile文件中的行首的空白字符几缭。
復(fù)制/etc/profile至/tmp/目錄:
cp 命令
解釋說明:cp - copy files and directories格式:
cp [OPTION]… [-T] SOURCE DEST
cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…常用選項(xiàng):
-i 覆蓋前提示 //如果不提示的話河泳,會直接覆蓋有風(fēng)險
-n 不覆蓋,注意兩者順序
-r, -R 遞歸復(fù)制目錄及內(nèi)部的所有內(nèi)容
-a 歸檔年栓,相當(dāng)于-dR --preserv=all //一般用來備份
-d --no-dereference --preserv=links 不復(fù)制原文件拆挥,只復(fù)制鏈接名
–preserv[=ATTR_LIST] mode: 權(quán)限、ownership: 屬主屬組某抓、timestamp: 纸兔、links、xattr搪缨、context食拜、all
-p 等同–preserv=mode,ownership,timestamp
-v --verbose
-f --force // if an existing destination file cannot be opened, remove it and try again (this option is ignored when the -n option is also used)
-u --update 只復(fù)制源比目標(biāo)更新文件或目標(biāo)不存在的文件
-b 目標(biāo)存在,覆蓋前先備份副编,形式為 filename~復(fù)制/etc/profile至/tmp/目錄
實(shí)列:
[root@centos7 ~]#cp /etc/profile /tmp/用查找替換命令刪除/tmp/profile文件中的行首的空白字符
實(shí)列:
[root@centos7 tmp]#sed 's@^[[:space:]]+@@' profile
在vim中設(shè)置tab鍵縮進(jìn)為4個字符。
-
臨時生效
使用vim編輯器打開一個配置文件流强,直接輸入命令模式下直接輸入:set tabstop=4就設(shè)置成功tab鍵縮進(jìn)4個字符的設(shè)置了痹届。 - 注:(這個配置為臨時生效)
-
永久生效
終端中當(dāng)前用戶的家目錄下輸入vim .vimrc
.vimrc中輸入set tabstop=4 // 設(shè)置tab縮進(jìn)四個字符
永久生效成功