2、Linux中常用命令以及規則

1、Linux發行版本的系統目錄名稱命名規則以及用途

1)系統目錄簡介

linux各種發行版本都遵循LSB(Linux Stadards Base)規則,使用一致的相關的基礎目錄名稱,使用根目錄系統結構(root filesystem),使用FHS(Files Hierarchy Standard)層次結構。

文件和目錄被組織成一個單根倒置樹結構,文件系統從根目錄下開始,用“/”表示,根文件系統(rootfs):root fileystem,文件名稱區分大小寫,以.開頭的文件爲隱藏文件,路徑分割的/,文件有兩類數據:

元數據:metadata

數據:data

文件系統分層結構:LSB

2)文件名規則

文件名最長255個字節,包括路徑在內文件名稱最長4095個字節,藍色->目錄  綠色-->可執行文件  紅色-->壓縮文件  淺藍色-->鏈接文件  灰色-->其他文件,處理斜槓和NULL,所有字符都有效,但使用特殊字符的目錄名和文件不推薦使用,有些字符需要用引號來引用它們,標準Linux文件系統(如而系統),文件名稱大小寫敏感例如:MAIL,Mail,mail等

3)文件系統結構

/boot:引導文件存放目錄,內核文件(vmlinuz)、引導加載器(bootloader,grub)都存放

於此目錄

/bin:所有用戶使用的基本命令;不能關聯至獨立分區,OS啓動即會用到的程序

/sbin:管理類的基本命令;不能關聯至獨立分區,OS啓動即會用到的程序

/lib啓動時程序依賴的基本共享庫文件以及內核模塊文件(/lib/modules)

/lib64:專用於x86_64系統上的輔助共享庫文件存放位置

/etc:配置文件目錄

/home/USERNAME:普通用戶家目錄

/root:管理員的家目錄

/media:便捷式移動設備掛載點

/mnt:臨時文件系統掛載點

/dev:設備文件及特殊文件存儲位置

b:block device,隨機訪問

c:character device,線性訪問

/opt:第三方應用程序的安裝位置

/srv:系統上運行的服務用到的數據

/tmp:臨時文件存儲位置

/usr:universal shared,read-only data

	bin:保證系統擁有完整功能而提供的應用程序

	sbin:

	lib:32位使用

	lib64:只存在64位系統

	include:C程序的頭文件(header files)

	share結構化獨立的數據,列如doc,man等

	local:第三方應用程序的安裝位置

		bin,sbin,lib,lib64,etc,share

/var:variable data files

	cache:應用程序緩存數據目錄

	lib應用程序狀態信息數據

	local:專用於爲/usr/local下的應用程序存儲可變數據

	lock:鎖文件

	log:日誌目錄及文件

	opt:專用於爲/opt下的應用程序存儲可變數據

	run:運行中的進程相關數據,通常用於存儲進程pid文件

	spool:應用程序數據池

	tmp:保存系統兩次重啓之間產生的臨時數據

/proc:用於輸出內核與進程信息相關的虛擬文件系統

/sys:用於輸出當前系統上硬件設備相關信息虛擬文件系統

/selinux:security enhanced Linux,selinux相關的安全策略等信息的存儲位置

4)Linux上的應用程序的組成部分

二進制程序:/bin,/sbin,/usr/sbin,/usr/bin,/usr/local/bin,/usr/local/sbin

庫文件:/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64

配置文件:/etc,/etc/DIRECTORY,/usr/local/etc

幫助文件:/usr/share/man,/usr/share/doc,/usr/local/share/man,/usr/local/share/doc

5)Linux下的文件類型

-普通文件

d目錄文件

b塊設備

c字符設備

l符號鏈接文件

p管道文件pipe

s套接字文件socket

2、文件的元數據信息

1)顯示當前工作目錄

pwd:顯示當前shell的絕對路徑

2)絕對路徑和相對路徑

絕對路徑:以正斜槓開始,完整的文件的位置路徑,可用於任何想指定一個文件名的時候

相對路基:不以斜線開始,指定相對於當前工作目錄或某目錄的位置,可以作爲一個簡短的形式指定一個文件名。

cd切換目錄

3)列出目錄內容

列出當前目錄的內容或指定目錄

ls -a包含隱藏文件

ls -l顯示額外的信息 

ls -R目錄遞歸

ls -ld目錄和符號鏈接信息

ls-1文件分行顯示

ls -S按從大到小排序

ls -t按mtime排序

ls -u 配合-t選項,顯示並按atime從新到舊排序

ls -U按目錄存放順序顯示 

ls -X按文件後綴排序

4)查看文件狀態

文件的元數據有 文件的屬性 大小 創建時間 訪問時間,屬主屬組等信息

stat:

三個時間戳:

	access time 訪問時間,atime,讀取文件內容

	modify time 修改時間,mtime,改變文件內容(數據)

	change time 改變時間,ctime,元數據發生改變

修改文件時間戳touch

	touch命令

	格式:touch 選項...文件名

		-a僅改變atime和ctime

		-m僅僅改變mtime和ctime

		-t[[CC]YY]MMDDhhmm[.ss]指定atime和mtime的時間戳

		-c如果文件不存在,則不予創建

3、軟鏈接和硬鏈接

硬鏈接:本質是同一個文件的多個名字、不能跨分區、跨設備、也不能針對文件夾使用(可能產生死循環)

eg:ln a1 al.link

軟鏈接:稱爲符號鏈接 ln -s  文件(相對於軟鏈接的路徑) 快捷方式、和windows的硬鏈接很相似、可以跨設備、不關心文件、只關心文件名、相對於軟連接的地址而不是當前位置的地址(在創建軟連接的時候,如果原始文件要寫相對路徑,一定是相對於軟連接的路徑)  

eg:ln -s ../f1 /data/d1/f1.link

rm -rf d1.link 刪除軟鏈接 rm -rf d1.link/刪除文件

二者不同之處

1、本質:硬鏈接:同一個文件多個名字,軟鏈接不同文件

2、跨分區:硬鏈接不能跨分區、軟鏈接可以

3、目錄:硬鏈接不能用於目錄、軟鏈接可以

4、相互關係:硬鏈接沒有依賴關係、刪除不影響;軟鏈接有依賴關係

5、inode編號:硬鏈接相同、軟鏈接不同

6、路徑問題:原始文件路徑

7、鏈接數:硬鏈接會增加鏈接數、軟鏈接不會增加鏈接數

8、文件類型

9、顏色不一樣

10、命令不同 ln -s

4、Linux上的文件管理類常用命令

1)cp複製

-i	覆蓋前提示

-n	不覆蓋,注意兩者順序

-r,-R	遞歸複製目錄及內部的所有內容

-a	歸檔,相當於-dR --preserv=all

-d	--no-dereference --preserv=liinks 不復制原文件,只複製鏈接名

--preserv[=ATTR_LIST]

-p 等同--preserv=mode,ownership,timestamp

-v 	--verbose

-f	--force

-u	--update只複製源比目標更新文件或目錄不存在的文件

-b	目錄存在,覆蓋前先備份,形式爲filename~

--backup=numbered目標存在,覆蓋前先備份加數字

4)移動和重命名文件mv

常用選項:

	-i	交互式

	-f	強制

	-b目標存在,覆蓋前先備份

5)刪除rm

常用選項:

-i	交互式

-f	強制刪除

-r	遞歸

--no-preserve-root 刪除/

6)目錄操作

tree顯示目錄樹

-d:只顯示目錄

-L level:指定顯示的層級數目

-P pattern:只顯示指定pattern匹配到的路徑

mkdir 創建目錄

-p:存在於不報錯,且可自動創建所需的各目錄

-v:顯示詳細信息

-m MODE:創建目錄時直接指定權限

rmdir刪除空目錄

-p遞歸刪除父空目錄

-v:顯示詳細信息

rm -r 遞歸刪除目錄樹

5、複製/etc/profile至/tmp/目錄,用查找替換命令刪除/tmp/profile文件中的行首的空白字符

cp /etc/profile /tmp/後在vim中使用替換:格式:s/要查找的內容/替換爲的內容/修飾符

//如果要替換全局的要%s/要查找的內容/替換爲的內容/g

6、在vim中設置tab縮進爲4個字符

1)打開終端vim /etc/vim/vimrc

2)輸入set tabstop= 4,保存後退出即可(注意:在設置時候set tabtop=4的=和4之間有空格)

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