Linux檔案系統中 bin sbin usr bin usr sbin usr local bin usr local sbin資料夾的區別是什麼?

時間 2021-05-31 05:02:02

1樓:xj wu

裝拆了十幾遍ubuntu1604系統、opencv3.1/3.4、cuda8/9後,開始慢慢領悟到ubuntu系統檔案即一切的魅力。

usr:不是user的意思,而是unix system resrouces,所以上述資料夾都是系統目錄,跟伺服器中的某個單獨使用者沒什麼"私人關係",直白點說,所有使用者都可以訪問

bin:binary,二進位制/可執行程式的儲存目錄,直白點說,這裡的檔案都可以在terminal中直接輸入進行訪問

/bin:儲存ubuntu很底層的可執行檔案,你用到的cp, ls, mv等基本指令都在這裡。

/usr/bin:儲存系統級的可執行檔案,以及apt-get安裝的檔案。

cd /usr/bin

ls | grep python # 系統自帶python

python

python3

...ls | grep ssh # 筆者apt-get安裝的ssh、tmux軟體

sshls | grep tmux

tmux

/usr/local/:很多人都說使用者自己編譯的安裝目錄就在這裡,比如opencv、比如cuda。這種方式一般是通過sudo安裝

但剛剛說了這些系統目錄所有使用者都可以訪問,所以當A使用者裝了cuda8,B使用者裝了cuda9,A使用者裝了opencv2,B使用者裝了opencv3...這樣就會造成local目錄極其混亂。

/usr/local/bin:儲存使用者級的可執行檔案。還是拿matlab來說,可以將/home/Matlab下的bin檔案建立軟連線到這裡,這樣系統就可以搜尋到了,在終端直接開啟matlab。

sudo ln -s /home/Matlab/r2017b/bin/matlab /usr/local/bin/matlab

小結:/usr/...下的檔案,所有使用者都可以訪問

bin/、/usr/bin、/usr/local/bin,只要在bin目錄下的,都可以在terminal中直接訪問。關係為層層遞進,以上面的matlab來說,你確實也可以將軟連線放到前面兩個目錄。但它沒有cp、mv這些指令底層,也沒有python這些工具,是每個使用者的通用工具。

所以放到最上層的local 目錄即可。

2樓:Hugo

貌似69年丹尼斯裡齊開發的unix跑在一台擁有很小的儲存的物理主機上,(那個年代可能也就幾兆)。後來不夠用了,然後在掛載了一塊硬碟,掛載的目錄檔案路徑就是/usr,然後裡面也放著/目錄下的所有檔案路徑,最後演變到如今就是:

/bin下存放一些普通的基本命令,如ls,chmod(普通使用者就行);

/sbin下的命令屬於基本的系統命令,如shutdown,reboot(管理員才能有許可權)

/usr/bin下一般存放在後期安裝的一些軟體的執行指令碼c++、g++、gcc、 gzip

/usr/sbin下放置一些使用者安裝的系統管理的必備命令例如:httpd、sendmail、swap、tcpd、tcpdump

/usr/local/bin /usr/local/sbin 是使用者自己編譯安裝的。

3樓:netcan

搬運工。

/bin This directory contains executable programs which are needed in single user mode and to bring the system up or repair it.

/sbin Like /bin, this directory holds commands needed to boot the system, but which are usually not executedby normal users.

/usr/binThis is the primary directory for executable programs. Most programs executed by normal users whichare not needed for booting or for repairing the system and which are not installed locally should beplaced in this directory.

/usr/sbinThis directory contains program binaries for system administration which are not essential for the bootprocess, for mounting /usr, or for system repair.

/usr/local/binBinaries for programs local to the site.

/usr/local/sbinLocally installed programs for system administration.

4樓:俞堅奇

//別人寫的,覺得寫的不錯

所有使用者皆可用的系統程式放在/bin

超級使用者才能使用的系統程式放在/sbin

超級使用者才能使用的與本地機器無關的程式存放在/usr/local/sbin

SSD使用Linux檔案系統選擇Lvm還是btrfs好?

LVM不是檔案系統,LVM的作用是整合成乙個邏輯硬碟,以便擴容之類。btrfs的速度比較慢,但如果你需要COW或者snapshot的話,btrfs還是可以的。你也可以選擇opensuse那樣的組合,使用btrfs 作為root 的檔案系統,然後把XFS作為home的檔案系統。我目前為止好像沒看到主流...

檔案系統設計中的 Sectorsize有什麼用?

鬍子 問題中問的是檔案系統中的最小操作單元,這個是在作業系統下建立檔案系統時候 mkfs 指定的,linux建立檔案系統預設都是4096,新建乙個目錄直接看它的大小就是4096,當然用tune2fs一類的命令也可以看到。至於在作業系統底層的儲存硬體,預設設定通常預設512,這個在陣列卡下面新建虛擬磁...

如何理解linux中檔案系統和分割槽兩個概念的區別?

Michael002 分割槽是partition,是更靠近物理層的概念。檔案系統是filesystem,是更靠近軟體層的概念。如Ubuntu文件所描述的,sda表示第乙個檢測到的硬碟,第二個就是sdb。而sda1,sda2等等是第乙個sda硬碟上的第乙個和第二個分割槽。這些分割槽都是基於物理磁碟的概...