首先談談要點把,講講我對Linux的文件結構的理解。linux文件結構
我們知道,linux和Windwos在文件結構上是不同的,linux下有一個/目錄即根目錄。打一個比方,如果在Windows下一直cd ..其最終是到D:/或是C:/這種磁盤根目錄,而在linux下一直cd ..則是會到達/根目錄。為什么會這樣呢,我認為這里可能更多的是兩者開放程度的不同。
在linux下,所有的設備,無論是外設還是內部設備都會抽象成為一個文件目錄。比方說/dev目錄下,可以看到甚至有cpu所抽象的目錄,還有的文件夾代表內存等可能不是實體設備,只是在系統運行時用到的東西。所以說你可以想想,linux從/根目錄開始的一棵文件樹下,有着諸多分支,不同的分支代表的是不同的設備,我們將這種設備->目錄的形式稱為掛載。
既然所有的設備都將被掛載到文件目錄下,那么硬盤肯定也不例外,也需要掛載到某個文件目錄下。但是硬盤可能是所有的設備中比較特殊的,因為一般來說/根目錄需要掛載一片磁盤空間中,因為除了我們前面所提到的硬件&虛擬設備,還有很多儲存配置&操作系統所需的文件,既然是文件就需要儲存空間,所以說一定要在/根目錄下掛載一片磁盤的空間,除了掛在了其他硬盤空間的文件夾和其下面的目錄,其他都沒有掛載的目錄文件默認儲存在/根目錄所掛載的磁盤空間下。
到此,我們了解了linux的文件目錄結構,我們來探討一下其與Windows的不同之處。我認為Windows的開發思路和Linux對用戶的信任程度是不一樣的,相較Linux,Windows對使用者更加的”不信任“,或是說更加小白。所以,Windows對於設備的管理對用戶是不透明的,而是提供了可視化的操作系統接口,這樣保證了Windwos下用戶不會隨意修改設備的信息&文件配置,更加安全。所以在Windwos的文件目錄下,我們能接觸到的最高一層的文件目錄是根據掛載來的。
以上是對Windows&Linux文件目錄結構的一些臆想,一家之言,不當之處歡迎糾正QAQ,秋梨膏。
接下來講一下我遇到的實際問題,就是我在新建用戶后系統為我這個用戶默認分配的空間上掛載的不是我最大的那塊磁盤,而是在根目錄下。在下載了一些文件后我驚訝的發現我根目錄爆滿了QAQ?
上圖可以看到,我的硬盤設備主要是一塊200G和一塊50G的空間,其中/根目錄下掛載的是50G的磁盤空間,200G的磁盤空間掛載到了/data下。所以這里我希望根據我從前使用linux的習慣,將這200G的磁盤空間掛載到/home/username下。
首先是要解決根目錄下掛載磁盤的爆滿問題,直接把用戶文件夾移動到/data就可以,其中配置文件可以不用管,因為整體遷移后再設置一下用戶的默認啟動目錄就可以解決配置的問題:
mv /usr/ghs /data
完成后就是改變磁盤掛載的操作:
df -i //文件掛載查看,fdisk -l查看磁盤的情況 umount /home //保險起見要umount一下,取消/home的掛載 mount /dev/sdb /home // 改變掛載
在改變了掛載后要設置一下配置文件:
vi /etc/fstab //編輯fstab文件修改或添加,使重啟后可以自動掛載
其中
/dev/sdb /data ext4 defaults 0 0 =》 /dev/sdb /home ext4 defaults 0 0
此時重啟即可。
要修改登錄后默認目錄,可以用vim編輯器,打開/etc/passwd ,找到相應的用戶,修改倒數第一個冒號前面的目錄即可,如下圖所示。