Linux學習Progect第一期

寫在前面

之前曾經自己下載過虛擬機安裝 Ubuntu 玩過一段時間,所以也算是有一點點了解,但是對於基礎命令還是不太熟悉,只是依稀地記得怎麼用 sudo/apt-get/mkdir 之類的。之前主要是用來安裝一些有趣的應用玩玩,畢竟 Linux 用 apt-get 來安裝程序實在太方便了。

另外,一直都覺得使用命令行是很有趣,可惜還不會用 Vim 之類的編輯器。

過程

  • 切換終端所在目錄可以使用 cd 命令
  • 列出所有文件可以使用 ls -a 命令
  • 超級用戶命令的一個典型應用案例是安裝軟件包 sudo apt-get install xxx
  • 列出目錄總大小可以用 du -a -h,這個是上網搜索到的結果。之前自己考慮的解決方案是 ls -a -h -r,但是發現只能顯示當前目錄的大小,無法顯示所有子目錄大小。
  • 打開命令行後默認處於當前用戶(zxbsmk)的目錄下 /home/zxbsmk,因此先要兩次 cd .. 退到系統根目錄,再用 ls 查看文件夾。然後我又上網搜索了各個文件夾的含義。這裏就不復制粘貼過來了,不過我覺得可以記一下那些縮寫的全稱,應該是有利於記憶其功能的。

系統目錄子文件夾(部分)

  • bin
    全稱應該是 binary,就是存一些常用的二進制文件

  • dev
    應該是 device,就是與設備有關的,應該存了些設備驅動文件

  • etc
    etcetera 意爲附加物。帶着疑惑去查了資料,說是因爲在早期 Linux 系統中,最爲重要的目錄是“bin”目錄 (“bin”是“binaries”二進制文件――編譯後的程序的縮寫),“etc”中則包含瑣碎的程序,如啓動、關機和管理。

  • lib
    顯而易見就是 library,說是存着各種程序所需的共享動態鏈接庫,是系統程序能正常運行的支持文件。

  • mnt
    這應該是最讓我費解的一個文件夾了,全稱是 mount,意爲掛載。爲了搞懂掛載的含義查了些資料,最後終於弄清楚——Linux 默認只有系統根目錄這一套文件系統,要在命令行調用外部設備就需要將其掛載在 /mnt 這個目錄下。
    參考資料:http://c.biancheng.net/view/2859.html

  • opt
    看了下相關介紹,個人覺得最好的說法是——安裝可選第三方軟件的目錄。舉個例子,就像你將 LOL 安裝在該 /opt/LOL 下,考試周可以直接刪除 /opt/LOL 這個目錄完成卸載而不會影響其他系統設置。因此 opt 應該指 optional。

  • proc
    emmm,毫無疑問就是 process,表示進程。即該目錄下存放的是系統信息和進程信息。只不過後來認真看了下資料才發現,跟我直觀理解是有差異的。

    /proc文件系統下的多種文件提供的系統信息不是針對某個特定進程的,而是能夠在整個系統範圍的上下文中使用。

    /proc文件系統是一個僞文件系統,它只存在內存當中,而不佔用外存空間。它以文件系統的方式爲訪問系統內核數據的操作提供接口。用戶和應用程序可以通過 proc得到系統的信息,並可以改變內核的某些參數。

    由於系統的信息,如進程,是動態改變的,所以用戶或應用程序讀取 proc文件時,proc文件系統是 動態從系統內核讀出所需信息並提交的。

  • run
    其實感覺這個目錄的功能更符合我對 process 的直觀猜測,裏面存放了很多進程相關信息,有很多 .pid 文件。

  • snap
    顯然就是存放 snap 應用框架的程序文件,對 snap 不太瞭解,暫且暫且認爲是功能更加強大的 apt-get。

  • usr
    Unix System Resource的簡寫,用於存放系統應用。

  • srv / var / tmp

    /srv :主要用來存儲本機或本服務器提供的服務或數據。(用戶主動生產的數據、對外提供服務)

    /var :系統產生的不可自動銷燬的緩存文件、日誌記錄。(系統和程序運行後產生的數據、不對外提供服務、只能用戶手動清理)(包括mail、數據庫文件、日誌文件)

    /tmp :保存在使用完畢後可隨時銷燬的緩存文件。(有可能是由系統或程序產生、也有可能是用戶主動放入的臨時數據、系統會自動清理)

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