(二)Linux系統目錄,文件管理及文本編輯工具vim

1. Linux系統目錄

版本命名規則:

內核版本由三部分組成:主版本號、次版本號、末版本號
開發版本:第二位數字是奇數
穩定版本:第二位數字是偶數

文件與目錄命名規則:

文件名最長255字節,包括路徑在內最長4095字節,且大小寫敏感。

文件名:字母、數字、下劃線、圓點
普通文件 - (黑色)
目錄文件 d (藍色)
鏈接文件 l  (亮藍色)
特殊文件 cd (黃色)
配置文件 .conf
日誌文件 .log
系統日誌文件 .syslog
系統配置文件 .cfg
系統文件  .i386
腳本文件  .sh

文件系統

文件和目錄組織成一個單根倒置樹結構

(二)Linux系統目錄,文件管理及文本編輯工具vim

我們也可以用tree命令查看樹狀結構

(二)Linux系統目錄,文件管理及文本編輯工具vim

/boot
這個目錄下包含系統啓動文件(boot loader),例如Grub,Lilo或者Kernel,以及initrd,system.map等配置文件。
這個目錄下包含內核、固件以及系統相關文件。

/sbin
包含系統操作和運作所必需的二進制文件以及管理工具,主要就是可執行文件。類似WINDOWS下的EXE文件。

/bin
包含單用戶模式下的二進制文件以及工具程序,比如cat,ls,cp這些命令。

/lib
包含/sbin和/bin目錄下二進制文件運行所需要的庫文件。

/dev
內含必需的系統文件和驅動器。

/etc
內含系統配置文件,其下的目錄,比如 /etc/hosts, /etc/resolv.conf, nsswitch.conf, 以及系統缺省設置,網絡配置文件等等。以及一些系統和應用程序的配置文件。

/home
每一個用戶的在這個目錄下,都會單獨有一個以其用戶名命令的目錄,在這裏保存着用戶的個人設置文件,尤其是以 profile結尾的文件。但是也有例外,root用戶的數據就不在這個目錄中,而是單獨在根路徑下,保存在單獨的/root文件夾下。

/media
一個給所有可移動設備比如光驅、USB外接盤、軟盤提供的常規掛載點。

/mnt
臨時文件系統掛載點。比如,你並不想長期掛載某個驅動器,而是隻是臨時掛載一會U盤烤個MP3之類的,那麼應該掛載在這個位置下。

/opt
在Linux系統中,這個目錄用到的並不多,opt是 可選系統程序包(Optional Software Packages)的簡稱。這個目錄在UNIX系統,如Sun Solaris用途要廣泛的多。

/usr
用戶數據目錄,包含了屬於用戶的實用程序和應用程序。這裏有很多重要的,但並非關鍵的文件系統掛載這個路徑下面。在這裏,你會重新找到一個 bin、sbin 和 lib目錄,其中包含非關鍵用戶和系統二進制文件以及相關的庫和共享目錄,以及一些庫文件。

/usr/sbin
包含系統中非必備和並不是特別重要的系統二進制文件以及網絡應用工具。

/usr/bin
包含用戶的非必備和並不是特別重要的二進制文件。

/usr/lib
保存着/usr/sbin以及/usr/bin中二進制文件所需要的庫文件。

/usr/share
“平臺無關”的共享數據目錄。

/usr/local
是/usr下的二級目錄,這裏主要保存着包含系統二進制文件以及運行庫在內的本地系統數據。

/var
這個路徑下通常保存着包括系統日誌、打印機後臺文件(spool files)、定時任務(crontab)、郵件、運行進程、進程鎖文件等。這個目錄尤其需要注意進行日常的檢查和維護,因爲這個目錄下文件的大小可能會增長很快,以致於很快佔滿硬盤,然後導致系統便會出現各種奇奇怪怪的問題。

/tmp
顧名思義,這是一個臨時文件夾,專門用來保存臨時文件,每次系統重啓之後,這個目錄下的”臨時”文件便會被清空。同樣,/var/tmp 也同樣保存着臨時文件。兩者唯一的不同是,後者 /var/tmp目錄保存的文件會受到系統保護,系統重啓之後這個目錄下的文件也不會被清空。

/proc
這個目錄是駐留在系統內存中的虛擬(psuedo,僞)文件系統,其中保存的都是文本格式的系統內核和進程信息。

2. 文件元數據信息及查看

文件系統中的數據分兩類
1) 數據(data):普通文件內的數據
2) 元數據(metadata):用來描述一個文件的特徵的系統數據,諸如訪問權限、文件擁有者、以及文件數據塊的分佈信息,具體時間查看等等

查看文件的元數據可以用**stat**命令:

(二)Linux系統目錄,文件管理及文本編輯工具vim

File 文件名稱
Size 文件大小
Blocks 佔用的磁盤塊數
IO Block IO塊大小
regular file 這裏是顯示文件的類型,這是一個普通文件
Device 所在設備
Inode  Inode節點號
Links  被鏈接的次數
Access (1) 訪問權限
Uid   uid號和屬主
Gid   gid號和屬組
Access (2) 文件最近一次的訪問時間
Modify  文件的修改時間
Chang  文件的改變時間

如若想改變時間戳信息,可以使用**touch**命令

(二)Linux系統目錄,文件管理及文本編輯工具vim

**touch**命令可用來更新訪問和修改時間,也可以用來創建新文件(請靈活熟練使用help或man幫助)
想修改自己想要的時間戳信息可以使用**touch -t 命令**
以下是一個實例:
先使用touch創建一個空文件f1.txt,並且用**stat**命令查看元數據

(二)Linux系統目錄,文件管理及文本編輯工具vim

我們使用**touch -t**命令修改成自己想要的時間,並使用**stat**查看

(二)Linux系統目錄,文件管理及文本編輯工具vim

我們發現時間已經改變了,並且change(文件修改時間)也變成了我們修改文件的時間```

3. 軟鏈接,硬鏈接

在搞清楚軟連接硬連接之前,我們得先知道一個概念:索引節點(inode -- index node)
inode表中包含了文件系統所有文件列表
一個inode包含有關文件的原信息,簡明扼要的說,人是通過文件名來引用文件,而目錄則是目錄下的文件名與文件inode號之間的映射

(二)Linux系統目錄,文件管理及文本編輯工具vim

如上圖所示,inode表結構也是樹結構,類似search tree
我們可以使用**ll -i**來看文件的inode

說到文件,我們可以使用一個叫做**cp**的命令來對文件或文件夾進行復制,可以使用help或man幫助來查看cp的所有使用方法
但是使用cp命令是把文件重新複製了一遍,並用一個新的inode去指向它,我們可以使用軟硬鏈接的方式不去複製物理文件

硬鏈接

創建硬鏈接會增加額外的記錄項以引用文件,對應同一文件系統上的一個物理文件,inode號一致,創建時鏈接數遞增
如若刪除,鏈接數遞減,當鏈接數爲零時,文件被刪除
我們可以使用命令**ln**來創建硬鏈接

(二)Linux系統目錄,文件管理及文本編輯工具vim

我們發現當沒有創建硬鏈接時,鏈接數只有1,當創建了硬鏈接,兩個inode號相同,並且鏈接數增加到了2

符號(軟)鏈接

一個符號鏈接指向另一個文件,符號鏈接的內容是它應用文件的名稱,可以對目錄進行且可以跨分區,而且我們可以顯而易見的知道,如若原文件被刪除,則鏈接失效
我們可以使用**ln -s**來創建軟連接

(二)Linux系統目錄,文件管理及文本編輯工具vim

我們清楚地看見當f1.txt被刪除了,鏈接則失效,但是鏈接只是指向路徑,所以如果f1.txt再回來,鏈接依舊有用

4. Linux文件管理類命令

linux文件管理類命令很多, 大概常用的有如下:
ls: 列出目錄
cd:切換目錄
pwd:顯示目前的目錄
mkdir:創建一個新的目錄
rmdir:刪除一個空的目錄
cp : 複製文件或目錄
rm : 移除文件或目錄
mv: 移動文件與目錄,或修改文件與目錄的名稱

5. Vim的一些小練習

如果用習慣了vi想改成vim,可以使用alias vi=vim命令,想永久更改可以看我上一篇。

1) 複製/etc/profile至/tmp/目錄,用查找替換命令刪除/tmp/profile文件中的 行首的空白字符******
使用vim進入/tmp/profile,輸入 :1s/ //g即可
命令解釋:
1代表第一行,s代表substitute替換,之後代表把空格轉換成什麼都沒有,既是刪除空格,g代表整行有滿足條件的就替換

2) 在vim中設置tab縮進爲4個字符

*想改變vim中的格式設置,可以進入.vimrc裏更改**
set ts=4  (注:ts是tabstop的縮寫,設TAB寬4個空格)
set expandtab
這種方法需要重啓vim

或者你可以在使用vim進入文件之後,輸入
:set ts=4
:set expandtab
:%retab!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章