[TOC]

成都創(chuàng)新互聯(lián)客戶idc服務(wù)中心,提供四川雅安電信機(jī)房、成都服務(wù)器、成都主機(jī)托管、成都雙線服務(wù)器等業(yè)務(wù)的一站式服務(wù)。通過(guò)各地的服務(wù)中心,我們向成都用戶提供優(yōu)質(zhì)廉價(jià)的產(chǎn)品以及開(kāi)放、透明、穩(wěn)定、高性價(jià)比的服務(wù),資深網(wǎng)絡(luò)工程師在機(jī)房提供7*24小時(shí)標(biāo)準(zhǔn)級(jí)技術(shù)保障。
可以列出被進(jìn)程所打開(kāi)的文件的信息。被打開(kāi)的文件可以是
1.普通的文件
2.目錄抽象為特殊文件
3.網(wǎng)絡(luò)文件系統(tǒng)的文件,抽象為文件
4.字符設(shè)備文件在linux抽象為文件
5.(函數(shù))共享庫(kù)
6.管道,命名管道
7.符號(hào)鏈接
8.底層的socket字流,網(wǎng)絡(luò)socket,unix域名socket
9.在linux里面,很多東西都抽象為文件,提供了統(tǒng)一的訪問(wèn)接口
屬性第一個(gè)字符:
rwx=0x111,二進(jìn)制表示
列出所有進(jìn)程
-ef f:father
ps –el ,
e:every :顯示所有進(jìn)程信息,等價(jià)于A
a:all :顯示除了當(dāng)前終端進(jìn)程外的其他進(jìn)程
l: long 長(zhǎng)格式顯示進(jìn)程信息。
linux 線程狀態(tài):
ps工具標(biāo)識(shí)進(jìn)程的5種狀態(tài)碼:
chmod 對(duì)象 +/- 模式
對(duì)象:u(user),g(group),o(other),a(all)
模式:r,w,x
由于inode號(hào)碼與文件名分離,這種機(jī)制導(dǎo)致了一些Unix/Linux系統(tǒng)特有的現(xiàn)象。
軟件不關(guān)閉情況下更新:寫(xiě)入同名不同inode的文件,下次啟動(dòng)由于老的inode已經(jīng)丟失,操作系統(tǒng)回收原來(lái)的Block。
綜上,總結(jié)一下軟鏈接和硬鏈接的區(qū)別:
參考: 阮一峰的網(wǎng)絡(luò)日志:理解inode
Ctrl+z 暫停進(jìn)程執(zhí)行
uname -m 顯示機(jī)器的處理器架構(gòu)(2)
uname -r 顯示正在使用的內(nèi)核版本
jobs: 查看后臺(tái)任務(wù)
fg +jobNum: 將后臺(tái)任務(wù)調(diào)到前臺(tái)
未完,不定期更新中...
鏈接文件是Linux文件系統(tǒng)的一個(gè)優(yōu)勢(shì),它可以保存一份物理文件副本和多個(gè)虛擬副本。這種虛擬的副本稱為 鏈接 。鏈接是目錄中指向文件真實(shí)位置的占位符。Linux系統(tǒng)中有兩種鏈接:符號(hào)鏈接和硬鏈接。
符號(hào)鏈接是實(shí)實(shí)在在的文件,它指向虛擬目錄結(jié)構(gòu)中某個(gè)地方的另一個(gè)文件。兩個(gè)文件通過(guò)符號(hào)鏈接在一起,內(nèi)容并不相同。要為一個(gè)文件創(chuàng)建一個(gè)符號(hào)鏈接,原始文件必須存在。 ln -s 命令用來(lái)創(chuàng)建符號(hào)鏈接。
硬連接會(huì)創(chuàng)建獨(dú)立的虛擬文件,其中包含了原始文件的位置和信息,但它們從根本上是一個(gè)文件,引用硬連接文件就等同于引用了源文件。創(chuàng)建硬連接時(shí)源文件也必須存在,不過(guò)ln命令不需要加上 -s 參數(shù)。
參考文獻(xiàn):
1. 先來(lái)了解一下Linux數(shù)據(jù)是如何保存和查詢的
對(duì)操作系統(tǒng)來(lái)說(shuō),數(shù)據(jù)分為兩種:1. 用戶數(shù)據(jù) (user data) 2.元數(shù)據(jù) (metadata)。用戶數(shù)據(jù)就是保存和記錄文件的內(nèi)容。比如一個(gè)1M的ppt文件,500K的txt文件。這都屬于用戶數(shù)據(jù)。這個(gè)文件總有屬性吧,比如大小、修改時(shí)間、訪問(wèn)時(shí)間、創(chuàng)建時(shí)間、存儲(chǔ)的位置(文件所在的inode)、文件創(chuàng)建者等等信息。這些屬性信息或者理解為匯總信息,我們稱它為元數(shù)據(jù)。一句話,用戶數(shù)據(jù)是文件的真實(shí)內(nèi)容,而元數(shù)據(jù)則是匯總信息。
在 Linux 中,元數(shù)據(jù)中的 inode 號(hào)(inode 號(hào)即索引節(jié)點(diǎn)號(hào))才是文件的唯一標(biāo)識(shí)而非文件名。文件名僅是為了方便人們的記憶和使用,系統(tǒng)或程序通過(guò) inode 號(hào)尋找正確的文件數(shù)據(jù)塊。
2. 查看文件對(duì)應(yīng)的inode號(hào)
134474678 latest.tar.gz
linux查看文件對(duì)應(yīng)的inode號(hào)
可以看出latest.tar.gz這個(gè)文件, inode 號(hào)是134474678,Linux查找讀寫(xiě)該文件時(shí),以為個(gè)inode號(hào)碼為標(biāo)識(shí),而不是文件名。文件名類似于網(wǎng)站域名,僅僅是方便人類記憶。
也就是說(shuō), inode134474678有一個(gè)硬鏈接,它就是latest.tar.gz。
3. 根據(jù)inode號(hào)查找對(duì)應(yīng)的文件
那么,問(wèn)題來(lái)了,系統(tǒng)上有沒(méi)有第二個(gè)文件,它的inode號(hào)碼也是13447467。
使用find查找一下:
查找結(jié)果如下:
/root/latest.tar.gz
/root/latest2.tar.gz
linux根據(jù)inode號(hào)查找對(duì)應(yīng)的文件
硬盤(pán)上真的有第二個(gè)文件它的inode號(hào)碼也是134474678,像這種情況,我們認(rèn)為inode134474678有兩個(gè)硬鏈接。當(dāng)然,這是本文作者提前準(zhǔn)備好的。
為解決文件的共享使用,Linux 系統(tǒng)引入了兩種鏈接:硬鏈接 (hard link) 與軟鏈接(又稱符號(hào)鏈接,即 soft link 或 symbolic link)。鏈接為 Linux 系統(tǒng)解決了文件的共享使用,還帶來(lái)了隱藏文件路徑、增加權(quán)限安全及節(jié)省存儲(chǔ)等好處。
4. 確認(rèn)硬鏈接的數(shù)量
查看一下文件latest.tar.gz
輸出結(jié)果如下:
-rwxr-xr-x. 2 root root 8743850 Oct 11 15:00 latest.tar.gz
請(qǐng)留意輸出的結(jié)果中的數(shù)字2,表示該文件存在2個(gè)硬鏈接。
正常情況下,一個(gè)inode只有一個(gè)鏈接,如下例
輸出結(jié)果:
-rw-r--r--. 1 root root 9 Nov 21 11:39 abc.txt
請(qǐng)留意輸出的結(jié)果中的數(shù)字1,表示該文件只存在1個(gè)硬鏈接,默認(rèn)情況下,文件都是只有一個(gè)硬鏈接的。
5. 查看軟鏈接
再來(lái)看一個(gè)文件
lrwxrwxrwx. 1 root root 15 Sep 26 15:57 /dev/stdout - /proc/self/fd/1
linux查看軟鏈接
我們發(fā)現(xiàn),/dev/stdout實(shí)際上指向另一個(gè)文件/proc/self/fd/1,這就是軟鏈接。類似于Windows系統(tǒng)上的快捷方式。
6. 軟鏈接與硬鏈接的區(qū)別
6.1 軟鏈接特點(diǎn)
6.2 硬鏈接特點(diǎn)
ln鏈接符原理如下:
Linux ln鏈接符原理圖
7. 創(chuàng)建文件的鏈接
Linux ln命令是一個(gè)非常重要而且常用命令,它用于為文件或者目錄創(chuàng)建鏈接。
7.1 創(chuàng)建軟鏈接
創(chuàng)建一個(gè)文件,用于演示軟鏈接。
創(chuàng)建軟鏈接示例:
檢查結(jié)果:
輸出文件屬性
lrwxrwxrwx. 1 root root 8 Nov 26 17:48 soft123.txt - soft.txt
linux創(chuàng)建軟鏈接
可以看出這個(gè)文件指向當(dāng)前目錄soft.txt,配置成功。7.2 創(chuàng)建硬鏈接
創(chuàng)建一個(gè)文件,用于演示硬鏈接。
創(chuàng)建硬鏈接,沒(méi)有使用選項(xiàng)
檢查結(jié)果:
輸出文件屬性:
-rw-r--r--. 2 root root 0 Nov 26 17:47 hard123.txt
linux創(chuàng)建硬鏈接
留意以上輸出數(shù)字2,表明該文件有2個(gè)副本。
8. 總結(jié)
ln命令可以創(chuàng)建文件的副本,也可以創(chuàng)建軟鏈接。
最直接的方式就是在終端中 man ln然后就是詳細(xì)說(shuō)明。
ln是linux中又一個(gè)非常重要命令,它的功能是為某一個(gè)文件在另外一個(gè)位置建立一個(gè)同不的鏈接,這個(gè)命令最常用的參數(shù)是-s,具體用法是:ln –s 源文件 目標(biāo)文件。
使用方式 : ln [options] source dist,其中 option 的格式為 :[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]
ln source dist 是產(chǎn)生一個(gè)連結(jié)(dist)到 source,至于使用硬連結(jié)或軟鏈結(jié)則由參數(shù)決定。
不論是硬連結(jié)或軟鏈結(jié)都不會(huì)將原本的檔案復(fù)制一份,只會(huì)占用非常少量的磁碟空間。
-f : 鏈結(jié)時(shí)先將與 dist 同檔名的檔案刪除
-d : 允許系統(tǒng)管理者硬鏈結(jié)自己的目錄
-i : 在刪除與 dist 同檔名的檔案時(shí)先進(jìn)行詢問(wèn)
-n : 在進(jìn)行軟連結(jié)時(shí),將 dist 視為一般的檔案
-s : 進(jìn)行軟鏈結(jié)(symbolic link)
-v : 在連結(jié)之前顯示其檔名
-b : 將在鏈結(jié)時(shí)會(huì)被覆寫(xiě)或刪除的檔案進(jìn)行備份
-S SUFFIX : 將備份的檔案都加上 SUFFIX 的字尾
-V METHOD : 指定備份的方式
--help : 顯示輔助說(shuō)明
--version : 顯示版本
當(dāng)前標(biāo)題:linux命令ln linux命令ls是什么意思
標(biāo)題來(lái)源:http://chinadenli.net/article10/dojogdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、域名注冊(cè)、電子商務(wù)、全網(wǎng)營(yíng)銷推廣、App設(shè)計(jì)、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)