俗話說,一回生二回熟,日積月累方能始終。(第二週)

一,描述Linux發行版的系統目錄名稱命名規則以及用途。
1,版本命名規則:
內核版本由三部分組成:主版本號、次版本號、末版本號
開發版本:第二位數字是奇數
穩定版本:第二位數字是偶數
2,文件與目錄命名規則:
文件名:字母、數字、下劃線、圓點
普通文件 - (黑色)
目錄文件 d (藍色)
鏈接文件 l (亮藍色)
特殊文件 cd (黃色)
配置文件 .conf
日誌文件 .log
系統日誌文件 .syslog
系統配置文件 .cfg
系統文件 .i386
腳本文件 .sh
3,FHS:Filesystem Hierarchy Standard
/bin:所有用戶可用的基本命令程序文件;
/sbin:系統管理使用的工具程序;
/boot:引導加載器必須用到的各靜態文件:kernel, initramfs(initrd), grub等;
/dev:存儲特殊文件或設備文件;
設備有兩種類型:字符設備(線性設備,時序的)、塊設備(隨機設備,隨意訪問);
/etc:系統程序的配置文件,只能爲靜態;
/home:普通的家目錄的集中位置(特有的);一般每個普通用戶的家目錄默認爲此目錄下與用戶名同名的子目錄,/home/USERNAME;
/root:管理員的家目錄;可選;
/lib:爲系統啓動或根文件系統上的應用程序(/bin, /sbin等)提供共享庫,以及爲內核提供內核模塊
libc.so.:動態鏈接的C庫;
ld
:運行時鏈接器/加載器;
modules:用於存儲內核模塊的目錄;
/lib64:64位系統特有的存放64位共享庫的路徑;
/media:便攜式設備掛載點,cdrom, floppy等;
/mnt:其它文件系統的臨時掛載點;
/opt:附加應用程序的安裝位置;可選路徑;
/srv:當前主機爲服務提供的數據;
/tmp:爲那些會產生臨時文件的程序提供的用於存儲臨時文件的目錄;可供所用戶執行寫入操作;有特殊權限;
/usr:usr Hierarchy,全局共享的只讀數據路徑;
bin, sbin:只是供應當前文件下的二進制程序
lib, lib64
include:C程序頭文件;
share:命令手冊頁和自帶文檔等架構特有的文件的存儲位置,類似man,example等文件
local:另一個層級目錄;
X11R6:X-Window程序的安裝位置
src:程序源碼文件的存儲位置
/usr/local:Local hierarchy,讓系統管理員安裝本地應用程序;也通常用於安裝第三方程序;早前在opt下,
不同程序可能安裝兩次,爲避免覆蓋而在此指定文件路徑
/var:/var Hierarchy,存儲常發生變化的數據的目錄;
cache Application cache data
lib Variable state information
local Variable data for /usr/local
lock Lock files
log Log files and directories
opt Variable data for /opt
run Data relevant to running processes
spool Application spool data
tmp Temporary files preserved between system reboots
/proc:基於內存的虛擬文件系統,用於爲內核及進程存儲其相關信息;它們多爲內核參數,例如net.ipv4.ip_forward, 虛擬爲net/ipv4/ip_forward, 存儲於/proc/sys/, 因此其完整路徑爲/proc/sys/net/ipv4/ip_forward;
/sys:sysfs虛擬文件系統提供了一種比proc更爲理想的訪問內核數據的途徑;其主要作用在於爲管理Linux設備提供一種統一模型的的接口;
參考文件:https://www.ibm.com/developerworks/cn/linux/l-cn-sysfs/

二,描述文件的元數據信息有哪些,分別表示什麼含義,如何查看?如何修改文件的時間戳信息?
1,元數據定義:
數據(Metadata),又稱中介數據、中繼數據,爲描述數據的數據(data about data),主要是描述數據屬性的信息,用來支持如指示存儲位置、歷史數據、資源查找、文件記錄等功能。元數據算是一種電子式目錄,爲了達到編制目錄的目的,必須在描述並收藏數據的內容或特色,進而達成協助數據檢索的目的,元數據就是數據的數據。
任何文件系統中的數據分爲數據和元數據。數據是指普通文件中的實際數據,而元數據指用來描述一個文件的特徵的系統數據,諸如訪問權限、文件擁有者以及文件數據塊的分佈信息(inode...)等等。
2,元數據信息包含:
File:文件名
Size:文件大小(單位:B)
Blocks:文件所佔塊個數
IO Block:每個數據塊的大小(單位:B)
regular file:普通文件(此處顯示文件的類型)
Inode:文件的Inode號,文件的索引節點號
Links:硬鏈接次數
Access:權限
Uid:(屬主id/屬主名)
Gid:(屬組id/屬組名)
Context:文件所在的環境
Access:最近訪問時間access time (atime)
Modify:數據改動時間modification time (mtime)
Change:元數據改動時間status time (ctime)
Creat:文件創建時間
3,查看文件的元數據的方法:
stat命令:stat:display file or file system status,使用stat 查看文件的元數據
使用語法:stat FILE…
示例:查看/etc/passwd文件的元數據
[root@localhost ~]# stat /etc/passwd
4,修改文件的時間戳的方法:
touch命令:touch – change file timestamps修改時間戳
使用語法: touch [OPTION]… FILE…
文件系統元數據(metadata)的更改都被保存在一份單獨的日誌裏,當發生系統崩潰時可以根據日誌正確地恢復數據。

三,總結軟連接和硬連接區別,並用實例操作說明。
1,硬鏈接:
本質時對同一個文件起多個文件名。所以表現爲一個inode號可以對應多個文件名。
特點:
       1.文件有相同的inode和data block
       2.只能對已存在的文件創建
       3.不能誇分區創建
       4.不能對目錄進行創建,只可對文件創建
       5.刪除一個硬鏈接文件不影響其他有相同inode號的文件
實例:
[root@mageedu test]# ll -i
total 0
1010100 -rw-r–r-- 1 root root 0 Nov 10 14:58 test.txt
[root@mageedu test]# ln test.txt test1.txt
[root@mageedu test]# ll -i
total 0
1010100 -rw-r–r-- 2 root root 0 Nov 10 14:58 test1.txt
1010100 -rw-r–r-- 2 root root 0 Nov 10 14:58 test.txt
[root@mageedu test]# rm test1.txt
rm: remove regular empty file ‘test1.txt’? y
[root@mageedu test]# ll -i
total 0
1010100 -rw-r–r-- 1 root root 0 Nov 10 14:58 test.txt,
2,軟鏈接:
軟連接就是一個普通文件,只是數據塊內容有點特殊。軟鏈接有着自己的inode號以及用戶數據塊。
特點:
1.有自己的文件屬性及權限等
2.可對不存在的文件或目錄創建軟鏈接
3.可跨分區創建
4.可對文件或目錄創建
5.創建時,鏈接計數不會增加
6.刪除軟鏈接並不影響被指向的文件,但若被指向的原文件被刪除,則相關軟鏈接被稱爲死鏈接,若被指向路勁文件被重新創建,死鏈接可恢復爲正常的軟鏈接
實例:
[root@mageedu test]# ll
total 0
-rw-r–r-- 1 root root 0 Nov 10 14:58 test.txt
[root@mageedu test]# ln -s test.txt test.txt.lnk
[root@mageedu test]# ll
total 0
-rw-r–r-- 1 root root 0 Nov 10 14:58 test.txt
lrwxrwxrwx 1 root root 8 Nov 10 15:14 test.txt.lnk -> test.txt
[root@mageedu test]# rm test.txt
rm: remove regular empty file ‘test.txt’? y
[root@mageedu test]# ll
total 0
lrwxrwxrwx 1 root root 8 Nov 10 15:14 test.txt.lnk -> test.txt
[root@mageedu test]# touch test.txt
[root@mageedu test]# ll
total 0
-rw-r–r-- 1 root root 0 Nov 10 15:15 test.txt
lrwxrwxrwx 1 root root 8 Nov 10 15:14 test.txt.lnk -> test.txt

四,Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
1,目錄管理命令
ls:列出指定目錄下的內容
格式:ls [OPTION]... [FILE]...
   -a:顯示所有文件包括隱藏文件
   -A:顯示除.和..之外的所有文件
   -l,--long:顯示文件的詳細屬性信息
   -h:對文件大小進行單位換算,可能影響精度
   -d:查看目錄本身而非其內部的文件
   -r:逆序顯示文件
   -R:遞歸顯示文件
示例:ls -lah / --詳細顯示/目錄下的所有文件(包括隱藏文件)
   ls -ldh /etc --詳細顯示/etc目錄本身
   ls -lhv / --倒序顯示/目錄下所有文件(包括隱藏文件)
   ls -R /etc    --遞歸顯示/etc下所有文件
mkdir:創建目錄
格式:mkdir [OPTION]... DIRECTORY...
   -p:自動按需創建父目錄
   -m:創建目錄時給定權限
示例:mkdir -p /data/test/A/B --在/data目錄下遞歸創建/test/A/B三個目錄
   mkdir -m 711 -p /data/MODE/A --在/data目錄下遞歸創建MODE/A兩個目錄同時指定目錄A的權限爲711
rmdir:刪除目錄
格式:rmdir [OPTION]... DIRECTORY...
   -p:刪除目錄後如果其父目錄爲空,則一併刪除
示例:rmdir -p /data/test/A --刪除A目錄後,test目錄爲空,一併刪除
cd:切換目錄
示例:cd ..:切換到上級目錄
   cd ~:切換回自己的家目錄
   cd -:在上一次目錄與當前目錄直接來回切換
pwd:顯示當前目錄
2,文件管理命令
cp:複製
格式:單源複製:cp [OPTION]... [-T] SOURCE DEST(如果DEST不存在則創建,存在則覆蓋)
   多源複製:cp [OPTION]... SOURCE... DIRECTORY(DEST必須爲directory)
   -i:交互式複製,即覆蓋前提醒用戶確認
   -f:強制覆蓋目標文件
   -r,-R:遞歸複製目錄
示例:cp -if /data/[1-3].txt /data/test --test必須爲目錄,把三個文件一起復制到test中
   cp -r /data /practice --把data目錄及目錄下的內容一起復制到practice中
mv:剪切
格式:單源複製:mv [OPTION]... [-T] SOURCE DEST(如果DEST不存在則創建,存在則覆蓋)
   多源複製:mv [OPTION]... SOURCE... DIRECTORY(DEST必須爲directory)
   -i:交互式複製,即覆蓋前提醒用戶確認
   -f:強制覆蓋目標文件
示例:mv -i /data/[1-3].txt /practice --把/data目錄下三個txt文件剪切到/practice下
rm:刪除
格式:rm [OPTION]... FILE...
   -i:交互式複製,即覆蓋前提醒用戶確認
   -f:強制覆蓋目標文件
   -r,-R:遞歸處理,將制定目錄下的所有文件包括目錄一併刪除
示例:rm -rf /practice --遞歸刪除/practice目錄
3,文本內容管理命令
cat:正向查看文本內容
格式:cat [OPTION]... [FILE]...
   -n:給顯示的文本行編號
   -E:顯示行結束符號$
示例:cat -n /etc/fstab --查看/etc/fatab內容並顯示行號
tac:倒敘查看文本內容
格式:tac [OPTION]... [FILE]...
示例:tac /etc/passwd --倒敘查看文本內容
head:顯示文本內容,默認顯示頭10行
格式:head [OPTION]... [FILE]...
   -n #:顯示文本頭#行內容
示例:head -5 /etc/passwd --顯示/etc/passwd文件頭5行內容
tail:顯示文本內容,默認顯示後10行
格式:tail [OPTION]... [FILE]...
   -n #:顯示文本後#行內容
   -f:查看文件尾部內容結束後不退出,跟隨顯示新增的行
示例:tail -8 /etc/passwd --顯示/etc/passwd文件後8行內容
more:分屏顯示文本內容,每次顯示一屏顯示完停止
格式:more [options] file [...]
   Space鍵:顯示文本下一屏內容
   Enter鍵:只顯示文本下一行內容
   b鍵:顯示文本上一屏內容
   q鍵:退出
less:分屏顯示文本內容,不主動退出
格式:less [options] file [...]
   Space鍵:顯示文本下一屏內容
   Enter鍵:只顯示文本下一行內容
   b鍵:顯示文本上一屏內容
   q鍵:退出
五,複製/etc/profile至/tmp/目錄,用查找替換命令刪除/tmp/profile文件中的行首的空白字符。
[root@mageedu test]# cp /etc/profile /tmp/
[root@mageedu test]# vim /tmp/ profile
在:模式下輸入:%s@^[[:space:]]+@@g

六,在vim中設置tab縮進爲4個字符
1,redhat和CentOS系統的設置方法:
vim /etc/virc
set tabstop=4
vim /etc/vimrc
set tabstop=4
2,Ubuntu系統的設置方法:
vim /etc/vim/vimrc
set tabstop=4

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章