【Linux基礎(chǔ)】計算機及操作系統(tǒng)基礎(chǔ)

計算機的組成及其功能

計算機的組成

簡單來說,計算機應(yīng)由兩部分組成:
第一部分:硬件


馮諾依曼結(jié)構(gòu)體系

當前計算機主要是基于馮諾依曼體系結(jié)構(gòu)設(shè)計的,在該體系中,計算機硬件由5個部件組成。分別是:運算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備。而現(xiàn)今運算器和控制器一般集成在一起,叫中央處理器(Central Processing Unit, CPU)計算機最核心的部件,相當于人類的大腦。

中央處理器(CPU)

  • 運算器:主要負責程序運算與邏輯判斷

  • 控制器:則主要在協(xié)調(diào)各周邊元件與各單元間的工作

    在CPU中,還包含了通用寄存器組,是中央處理器內(nèi)的組成部分。寄存器是有限存貯容量的高速存貯部件,它們可用來暫存指令、數(shù)據(jù)和地址。在中央處理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序計數(shù)器(PC)。在中央處理器的算術(shù)及邏輯部件中,存器有累加器(ACC)。

  • 存儲器(memory)
    存儲程序和數(shù)據(jù),并能在計算機運行過程中高速、自動地完成從程序或數(shù)據(jù)的存取,也就是俗稱的內(nèi)存RAM(Random Access Memory)

  • 輸入設(shè)備(Input):外部設(shè)備之一。作用是將程序、原始數(shù)據(jù)、文字、字符、控制命令或現(xiàn)場采集的數(shù)據(jù)輸入到計算機。常見的輸入設(shè)備有:鍵盤、鼠標、磁帶機、磁盤機、光盤機等

  • 輸出設(shè)備(Output):外部設(shè)備之一。作用是把計算機的中間結(jié)果或最后結(jié)果、機內(nèi)的各種數(shù)據(jù)及文字等信息輸出來。常見的輸出設(shè)備有:CRT、打印機、繪圖儀等

第二部分:軟件

  • 匯編語言(assembly language):一種用于cpu的低級語言。它使用助記符代替二進制語言,方便人類的閱讀及操作。但一種匯編語言只能與相對應(yīng)的計算機系統(tǒng)結(jié)構(gòu)對應(yīng),無法在不同平臺移植

匯編語言是最接近機器語言的低級語言,相當于用人類看得懂的符號來代替0和1,匯編通過指令集來下達命令控制CPU,并且它操作的對象并不是具體的數(shù)據(jù),而是各種寄存器和內(nèi)存;不同類型的CPU 有著不同的機器指令系統(tǒng),所以,匯編語言程序與機器有著密切的關(guān)系。除了同系列、不同型號CPU 之間的匯編語言程序有一定程度的可移植性之外,其它不同類型(如:小型機和微機等)CPU 之間的匯編語言程序是無法移植的,也就是說,匯編語言程序的通用性和可移植性要比高級語言程序低。

  • 系統(tǒng)軟件(system software):用來運行或控制硬件所開發(fā)的計算機軟件,如操作系統(tǒng)、編譯器、數(shù)據(jù)庫等等

常見的軟件

  • 操作系統(tǒng)(Operating system):控制與管理硬件及軟件資源,并提供用戶操作接口,完成人機交互的軟件,常見的有Unix、GNU/Linux、 MAC OS X、Microsoft Windows等
  • 編譯器(compiler):將使用匯編語言編寫的代碼,轉(zhuǎn)換成計算機可識別的機器語言,常見的有GCC
  • 解釋器(interpreter):將高級編程語言一行一行解釋運行。它的好處是可以消除編譯整個程序的負擔,缺點則是運行速度比較緩慢,且使用解釋器的代碼在運行過程中,不可脫離解釋器。常見的使用解釋器的語言包括Perl、Python、Ruby等
  • 連接器(linker):將由匯編器或編譯器產(chǎn)生的目標文件和外部程序庫鏈接為一個可執(zhí)行文件
  • 加載器(loader):負責將程序加載到內(nèi)存中,并配置內(nèi)存與相關(guān)參數(shù),使之能夠運行
  • 應(yīng)用軟件(application software):為了某種特定用途而被開發(fā)的軟件。它可以是一個特定的程序,也可以是一個由眾多獨立程序組成的龐大的軟件系統(tǒng)

什么是Linux


在Linux誕生之前,一直是UNIX的天下,只不過UNIX在1979年之后就不能免費獲得,要想使用就需要購買,在當時,這不是一個小數(shù)目。
后來Richard Mathew Stallman在1984年發(fā)起GNU計劃,該計劃意在構(gòu)建一個完全自由的操作系統(tǒng),所謂完全自由,就要要求加入GNU計劃的所有軟件必須自由使用,自由更改,自由發(fā)布,也需要把更改后的代碼發(fā)布。并且制定了明文規(guī)定許可協(xié)議:GPL協(xié)議
GNU計劃發(fā)起后,在這期間誕生了很多有名的軟件,如(VI,emacs,gcc)但GUN上的軟件都是運行在UNIX系統(tǒng)上,并沒有“自由的Unix核心”存在。直到1991年,芬蘭赫爾辛基大學(xué)的一個學(xué)生:Linus Benedict Torvalds 開發(fā)了一個類unix內(nèi)核,一經(jīng)發(fā)布便得到廣大愛好者的支持,這個內(nèi)核就是linux,1994年,linux加入GNU計劃并采用GPL協(xié)議發(fā)布,自此GNU/LINUX真正實現(xiàn)了構(gòu)建一套完全自由的操作系統(tǒng)的設(shè)想。

Linux發(fā)行版(Linux distribution)

Linux發(fā)行版是一種為一般用戶預(yù)先集成好的Linux操作系統(tǒng)及各種應(yīng)用軟件。一般不需要用戶重新編譯,在直接安裝之后,只需要作出小幅度的更改設(shè)置即可。Linux發(fā)行版通常包含了桌面環(huán)境、辦公包、媒體播放器、數(shù)據(jù)庫等應(yīng)用軟件。這些操作系統(tǒng)通常使用Linux、以及來自GNU計劃的軟件、和基于X Window的圖形界面組成。
Linux發(fā)行版通常分為商業(yè)發(fā)行版和社區(qū)發(fā)行版。也有少部分既不屬于發(fā)行版又不屬于社區(qū)發(fā)行版,其中最有名的是Slackware.

  • 著名的Linux發(fā)行版
    按照程序包管理器的不同,通常Linux的發(fā)行版也被分成了不同的派系。

Redhat系

名稱 基于 特點
Red Hat Enterprise RPM管理包 紅帽的商業(yè)版本
提供10年服務(wù)支持
CentOS RedHat 根據(jù)RHEL代碼編譯的社區(qū)版
文檔充足
Fedora RedHat 紅帽官方的社區(qū)版
RH公司新技術(shù)測試平臺

Slackware系

名稱 基于 特點
Slackware SLS UNIX風格的Linux發(fā)行版
KISS(簡潔)的設(shè)計理念
SUSE Slackware 界面華麗
照顧歐洲人的使用習慣
opensuse SUSE suse的社區(qū)版

Debian系

名稱 基于 特點
Debian Dpkg管理包 一直為社區(qū)版
限制較少
功能較多
要求技術(shù)較高
Adamantix Debian 關(guān)注安全
Knoppix Debian 對硬件支持極佳
對中日韓環(huán)境不夠友好
Gnoppix Knoppix Knoppix的GNOME版
Ubuntu Debian 界面華麗
與Debian、GNOME開源社區(qū)關(guān)系緊密
有資金支持
Linux Mint Ubuntu Ubuntu的衍生版
開箱即用
Ubuntu Kylin Ubuntu 中文定制版
BackTrack Ubuntu 專業(yè)安全檢測操作系統(tǒng)
已不再維護
Kali Linux BackTrack BackTrack替代者
安全滲透軟件

其他

名稱 基于 特點
Gentoo Portage管理包 大量程序開放源代碼
對硬件要求較高
ArchLinux pacman管理包 軟件更新速度快
包管理簡易高效
LFS(Linux From scratch) 高端玩法
DIY系統(tǒng)
  • 發(fā)行版之間的不同
    在Linux發(fā)行版中,通常均使用軟件包管理系統(tǒng),不同的操作系統(tǒng),軟件包管理系統(tǒng)也不盡相同。比較常見的軟件包管理系統(tǒng)有以下幾種
    Debian:deb, apt-get
    RedHat:rpm, yum --> dnf
    S.u.S.E: rpm, zypper
    ArchLinux:port
    LFS: Linux From Scratch

Linux的哲學(xué)思想

  • 一切皆文件:
    把幾乎所有資源統(tǒng)統(tǒng)抽象為文件形式;包括硬件設(shè)備,甚至通信接口、進程等;
    如;
    物理終端:/dev/console
    虛擬終端:/dev/tty#
    串行終端:/dev/ttyS#
    偽終端:/dev/pts/#
  • 由眾多功能單一的程序組成;一個程序只做一件事,并且做好;
    通過組合眾多小程序完成復(fù)雜任務(wù);
  • 盡量避免跟用戶交互;
    目標:易于以編程的方式實現(xiàn)自動化任務(wù);
  • 使用文本文件保存配置信息;

說明Linux系統(tǒng)上命令的使用格式;詳細介紹ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相應(yīng)的示例來闡述

Linux命令格式與基礎(chǔ)命令

什么是命令
命令其實就是一個可執(zhí)行文件。程序本身只是一個靜態(tài)文件,只有通過這個請求,才會轉(zhuǎn)化為有生命周期的動態(tài)進程。命令本身是一個可執(zhí)行的二進制格式程序文件(Linux哲學(xué)思想:一切皆文件),請求一個命令相當于在環(huán)境變量$PATH中的路徑尋找與之同名的程序,而PATH變量一般包含的路徑有:
普通命令:/bin/usr/bin/usr/local/bin
管理命令:/sbin/usr/sbin/usr/local/sbin
命令往往會調(diào)用到許多庫文件,這些庫可能許多程序都會遇到,我們形象的稱之為共享庫。這些共享庫也是二進制文件,但是由于其沒有程序執(zhí)行入口,所以不能獨立執(zhí)行。只能被其他有執(zhí)行入口的程序調(diào)用時才能執(zhí)行,一般這些庫都存放在這些目錄下:
32bits的庫:/lib/usr/lib/usr/local/lib
64bits的庫:/lib64/usr/lib64/usr/local/lib64

命令的分類與格式

  • 命令的分類:
    由shell程序自帶的命令:內(nèi)置命令(builtin)shell程序是一種獨特的程序(用戶接口進程),它的作用是負責解析用戶提供的命令。
    獨立的可執(zhí)行程序文件:文件名即命令名:外部命令
    查看命令類型:type COMMAND ???
    注意:并非所有的命令都有一個在某目錄與之相對應(yīng)的可執(zhí)行程序文件,shell程序已經(jīng)內(nèi)嵌了許多命令。

  • 命令的格式:
    命令必須遵循特定格式規(guī)范:比如說win的exe,msi,對于linux而言則是ELF

  • 命令使用格式
    COMMAND [OPTIONS] ARGUMENTS??
    COMMAND: 發(fā)起一個命令 ????
    OPTIONS: ???????
    指定命令的運行特性 ???????
    一般選項有兩種表現(xiàn)形式: ??????
    短選項:-C ???????
    例如-l -d ??????
    注意:
    有些命令的選項沒有- ??????
    如果同一命令使用多個短選項,多數(shù)可以合并,比如說 -l -d就可以寫作-ld
    短選項一般使用“ ”(空格)來分割 ?????
    長選項:–word ??????
    例如–help –human-readable ???????
    注意:?長選項不能合并
    長選項一般用“=”來表示 ???????
    ARGUMENTS:
    命令的作用對象,以及命令對什么生效
    注意:有些命令可以同時帶多個參數(shù),多個參數(shù)之間以空白字符分割 下面舉例說明一下命令用法

  • ifconfig
    ?ifconfig(interface configuration)是在Unix-like系統(tǒng)中用于查看以及配置網(wǎng)絡(luò)接口設(shè)備的系統(tǒng)管理工具。其作用等同于ip addr或ip link
    作用:作用于類Unix系統(tǒng)中,用于配置、控制及查詢TCP/IP網(wǎng)絡(luò)接口的系統(tǒng)管理工具

              語法:ifconfig [interface] ?????
    

ifconfig interface options | address …
常用方法:
ifconfig:查看當前系統(tǒng)中存活的網(wǎng)絡(luò)接口設(shè)備信息
ifconfig eth#:查看指定的網(wǎng)絡(luò)接口設(shè)備的信息
ifconfig -a:查看所有網(wǎng)絡(luò)接口設(shè)備(通過此命令,非運行狀態(tài)的網(wǎng)卡也可顯示)
ifconfig eth# up:啟動指定網(wǎng)絡(luò)接口設(shè)備
ifconfig eth# down:關(guān)閉指定網(wǎng)絡(luò)接口設(shè)備
ifconfig eth# add 33ffe:3240:800:1005::2/64:為指定網(wǎng)絡(luò)接口設(shè)備添加IPv6地址 ?????????
ifconfig eth# del 33ffe:3240:800:1005::2/64:為指定網(wǎng)絡(luò)接口設(shè)備刪除IPv6地址 ?????????
ifconfig eth# hw ether 00:16:3E:10:60:B5 : 修改指定網(wǎng)絡(luò)接口設(shè)備MAC地址
ifconfig eth# xxx.xxx.xxx.xx:給指定網(wǎng)絡(luò)接口設(shè)備配置指定ip地址 ?
ifconfig eth# xxx.xxx.xxx.xx netmask 255.255.255.0 :給指定網(wǎng)絡(luò)接口設(shè)備配置指定ip地址及子網(wǎng)掩碼 ????????????????
ifconfig eth# xxx.xxx.xxx.xx netmask 255.255.255.0 broadcast 192.168.120.255:給指定網(wǎng)絡(luò)接口設(shè)備配置指定ip地址及子網(wǎng)掩碼、廣播地址
ifconfig eth# mtu 1500:給指定網(wǎng)絡(luò)接口設(shè)備設(shè)置最大傳輸單元 ????????
備注:使用此命令對于網(wǎng)絡(luò)接口的所有操作,在系統(tǒng)重啟后均會失效。若需永久生效,需要通過修改配置文件的方式,配置文件的路徑一般為
[root@test ~]# cd /etc/sysconfig/network-scripts/ [root@test network-scripts]# ls

  • echo
    echo用來將字符串輸出到終端上。它通常在shell腳本中使用,以將狀態(tài)信息輸出到屏幕或文件中?????????
    作用:顯示文字

                  語法:echo [SHORT-OPTION]… [STRING]…
    

echo LONG-OPTION
常用方法: ?
-n 不進行換行
-e 讓轉(zhuǎn)義符生效
轉(zhuǎn)義符如下 ?
\a 發(fā)出警告聲 ????
\b 刪除前一個字符 ??
\c 最后不加上換行符號 ??
\f 換行但光標仍舊停留在本身的位置
\n 換行 ????
\r 光標移至行首,但不換行 ?
\t 制表符 ???
\v 等同于\f ?
\ 插入\字符
–help 顯示幫助 ?
–version 顯示版本信息 ???
備注:STRING可以使用引號,單引號雙引號均可用
單引號:強引用,變量不執(zhí)行替換 ?
[root@iZ25test ~]# echo ‘$SHELL’ ???
$SHELL ???????
雙引號:弱引用,變量引用會被替換
[root@iZ25test ~]# echo “$SHELL” ???
/bin/bash

  • tty
    作用:查看當前的終端設(shè)備

                語法:?tty [OPTION]… ?
    

常用方法:[root@test ~]# tty

`/dev/pts/0`
`startx`

作用:用來啟動X Window,實際上是啟動X Window程序
常用方法:

startx:在服務(wù)器上啟動x會話 ????
startx -w:在服務(wù)器上強制啟動x會話
  • export??????
    作用:用于將shell變量輸出為環(huán)境變量,或?qū)hell函數(shù)輸出為環(huán)境變量

          語法:BASH BUILTIN COMMANDS ????
    

常用方法: ????
-f:代表【變量名稱】中為函數(shù)名稱
-n:刪除指定的變量。變量實際上并未刪除,只是不會輸出到后續(xù)指令的執(zhí)行環(huán)境中】
-p:列出所有shell賦予程序的環(huán)境變量

  • pwd????????
    顯示當前工作目錄print name of current/working directory
    作用:以絕對路徑的方式顯示用戶當前工作目錄。

          語法: pwd [OPTION]..
    

常用方法: ???????
–help:顯示幫助信息
–version:顯示版本信息
pwd命令用于顯示當前工作目錄,一般而言,涉及pwd,就會涉及到三個環(huán)境變量 ??????????
PATH:執(zhí)行文件路徑的變量 ????
OLDPWD:表示前一次的工作目錄 ??
PWD:表示當前的工作目錄

  • history??
    作用: ??????????
    用于顯示指定數(shù)目的指令命令 ??
    讀取歷史命令文件中的目錄到歷史命令緩沖區(qū) ??
    將歷史命令緩沖區(qū)寫入命令文件

          語法:BASH BUILTIN COMMANDS ???
    

常用方法: ???????
-c:清空當前歷史命令 ????
-a:將歷史命令緩沖區(qū)中命令寫入歷史命令文件中 ???
-r:將歷史命令文件中的命令讀入當前歷史命令緩沖區(qū) ??
-w:將當前歷史命令緩沖區(qū)命令寫入歷史命令文件中 ??????
n:打印最近n條歷史命令(n為數(shù)字)

  • shutdown
    作用: ???
    系統(tǒng)關(guān)機 ???
    關(guān)閉所有程序 ?
    按照用戶需要重啟或關(guān)機

      語法:shutdown [OPTION…] [TIME] [WALL…] ???
    

常用方法: ???????
-c:取消關(guān)機 ???????
-f:重新啟動時不執(zhí)行fsck ???????
-F:重新啟動時執(zhí)行fsck ??
-h:將系統(tǒng)關(guān)機
-k:送出信息給所有用戶,但不會實際關(guān)機 ??
-n:不調(diào)用init程序進行關(guān)機,而由shutdown自己控制 ?
-r:重啟系統(tǒng) ?????????
TIME:設(shè)置多久時間后執(zhí)行shutdown指令 ??
WALL:要傳送給所有登入用戶的信息

  • ** poweroff**
    作用:用來關(guān)閉計算機操作系統(tǒng)并且切斷系統(tǒng)電源

        語法: poweroff [OPTION]…
    

常用方法:
-n:關(guān)閉操作系統(tǒng)時不執(zhí)行sync操作
-w:不真正關(guān)閉操作系統(tǒng) ??????
-d:關(guān)閉操作系統(tǒng)時,不將操作寫入日志文件 ???
-f:強制關(guān)閉系統(tǒng) ?????
-i:關(guān)閉系統(tǒng)之前關(guān)閉所有的網(wǎng)絡(luò)接口
-h:關(guān)閉操作系統(tǒng)之前將系統(tǒng)中所有的操作設(shè)置為備用模式

  • reboot
    作用:用來重新啟動正在進行的Linux操作系統(tǒng)

          語法:reboot [OPTION]…
    

常用方法: ???
-d:重新開機時不把數(shù)據(jù)寫入數(shù)據(jù)文件/var/tmp/wtmp ???
-f:強制重新開機,不調(diào)用shutdown指令的功能 ???
-i:在重開機之前,先關(guān)閉所有網(wǎng)絡(luò)界面 ??????
-n:重開機之前不檢查是否有未結(jié)束的程序 ???
-w:僅做測試,并不真正將系統(tǒng)重新開機,只會把重開機的數(shù)據(jù)寫入/var/log目錄下的wtmp記錄文件

  • hwclock
    作用:是一個硬件時鐘訪問工具,它可以顯示當前時間、設(shè)置硬件時鐘的時間和設(shè)置硬件時鐘為系統(tǒng)時間,也可以設(shè)置系統(tǒng)時間為硬件時鐘的時間

        語法: hwclock [functions] [options]
    

常用方法: ??
–adjust:校正目前的硬件時鐘
–debug:顯示hwclock執(zhí)行時詳細的信息 ??
–hctosys:將系統(tǒng)時鐘調(diào)整與當前的硬件時鐘一致
–set –date=<日期與時間>:設(shè)定硬件時鐘 ?
–show:顯示硬件時鐘的時間與日期 ????
–systohc:將硬件始終調(diào)整為與當前的系統(tǒng)時鐘一致 ???
–test:測試程序 ?????
–utc:使用格林威治時間
–version:顯示版本信息

  • date???
    作用:顯示或設(shè)置系統(tǒng)時間與日期

          語法:date [OPTION]… [+FORMAT] ????
    

常用方法: ????????
-d<“字符串”>:顯示字符串所指的日期與時間 ????
-s<“字符串”>:根據(jù)字符串設(shè)置的日期與時間 ???????
+FORMAT:格式符
%F:年月日 ?
%T:小時分鐘秒 ???
%Y:年 ????
%m:月 ???
%d:日 ?
%H:小時(24小時進制) ??
%S:秒 ?????
%s:秒(從1970-01-01 00:00:00 開始到命令執(zhí)行那一刻的秒數(shù) unix元年)
設(shè)定日期時間:date [MMDDhhmm[[CC]YY][.ss]]

Linux系統(tǒng)上獲取命令的幫助信息

  • Linux的命令
    Linux命令的執(zhí)行必須依賴于Shell命令解釋器。Shell實際上是在Linux系統(tǒng)中運行的一種特殊程序,它位于操作系統(tǒng)內(nèi)核與用戶之間進行交互。Linux的幫助有多種方式,通過命令的不同,幫助的查看方式也不盡相同。上面介紹了命令分別有外部命令和內(nèi)部命令:

  • 內(nèi)部命令和外部命令
    內(nèi)部命令:shell程序的一部分,其包含的往往是一些簡單的linux系統(tǒng)命令。它們被shell程序識別并通過shell內(nèi)部完成運行,通常在linux系統(tǒng)加載運行時shell就被加載并駐留在系統(tǒng)內(nèi)存中。內(nèi)部命令是寫在shell程序源碼里面的,其執(zhí)行速度通常比外部命令快。
    外部命令:linux系統(tǒng)中能夠完成特定功能的腳本文件或二進制文件,每個外部命令對應(yīng)了系統(tǒng)中的一個文件。這些文件通常比較強大,包含的程序量也很大,在系統(tǒng)加載時并不隨系統(tǒng)一起被加載到內(nèi)存中,而是在需要時才將其調(diào)用內(nèi)存。外部命令的實體通常并不包含在shell中,但是其命令執(zhí)行過程是由shell程序控制的。shell程序管理外部命令執(zhí)行的路徑查找、加載存放,并控制命令的執(zhí)行。

命令幫助

  • 內(nèi)部命令: help 作用:用于顯示shell內(nèi)部命令的幫助信息

    語法:help(選項)(參數(shù))
    

選項:-s:輸出短格式的幫助信息。僅包括命令格式

  • 外部命令: 1)可以使用man手冊獲取幫助
    man 作用:Linux下的幫助指令

    語法:man(選項)(參數(shù))
    

選項:
-a:在所有的man幫助手冊中搜索
-f:等同于whatis,顯示給定關(guān)鍵字的簡短描述信息
-P:指定內(nèi)容時使用分頁程序
-M:指定man手冊搜索的路徑

man作為命令手冊,有章節(jié)之分,同一個關(guān)鍵字,在不同章節(jié)中有著不用的解釋和使用幫助,如passwd在章節(jié)1中是介紹命令的使用方法,在章節(jié)5中則介紹passwd這個文件的幫助

    man章節(jié)介紹:
    man1:用戶命令
    man2:系統(tǒng)調(diào)用
    man3:c庫調(diào)用
    man4:設(shè)備文件及特殊文件
    man5:文件格式(配置文件格式)
    man6:系統(tǒng)游戲使用幫助
    man7:雜項
    man8:管理工具及守護進程
    man9:含糊的內(nèi)核規(guī)范和接口

man使用方法快捷操作: 翻屏操作: 空格鍵:向文件尾部翻一屏
b:向文件首部翻一屏
ctrl+d:向文件尾部翻半屏
ctrl+u:向文件首部翻半屏
回車鍵:向文件尾部翻一行
k:向文件首部翻一行
G:跳轉(zhuǎn)至最后一行
數(shù)字G:跳轉(zhuǎn)至指定行
1G:跳轉(zhuǎn)至文件首部
文本搜索:
/keyword:從文件首部向文件尾部依次查找,不區(qū)分字符大小寫
?keyword:從文件尾部向文件首部依次查找
n:與查找命令方向相同
N:與查找命令方向相反

Linux發(fā)行版的基礎(chǔ)目錄名稱命名法則及功用規(guī)定

linux操作系統(tǒng)中的主要目錄及目錄內(nèi)容,是由文件系統(tǒng)層次結(jié)構(gòu)標準(Filesystem Hierarchy Standard,F(xiàn)HS)定義的,采用倒置樹形結(jié)構(gòu),該標準由Linux基金會維護。在大多數(shù)情況下,它都是一個傳統(tǒng)BSD文件系統(tǒng)層次結(jié)構(gòu)的形式化與擴充。

  • 文件名法則
    對于我們自身所創(chuàng)建的文件及目錄,則需要按照如下的法則
    文件名使用法則:
    嚴格區(qū)分字符大小寫:file1 File1 FILE1 并不是一個文件
    目錄也是文件,
    在同一路徑下,兩個文件不能同名
    支持使用除”/“以外的任意字符;
    最長不得超過255個字符

  • 目錄結(jié)構(gòu)

Linux發(fā)行版的基礎(chǔ)目錄名稱命名法則及功用規(guī)定
linux操作系統(tǒng)中的主要目錄及目錄內(nèi)容,是由文件系統(tǒng)層次結(jié)構(gòu)標準(Filesystem Hierarchy Standard,F(xiàn)HS)定義的,采用倒置樹形結(jié)構(gòu),該標準由Linux基金會維護。在大多數(shù)情況下,它都是一個傳統(tǒng)BSD文件系統(tǒng)層次結(jié)構(gòu)的形式化與擴充。

下表中大部分目錄都以相似的功能存在于所有的UNIX系統(tǒng)中。但是,以下的描述僅針對FHS,且對非Linux系統(tǒng)并非權(quán)威

目錄/文件 用途 來源
/ /處于Linux文件系統(tǒng)樹形結(jié)構(gòu)的最頂端
它是Linux文件系統(tǒng)的入口
所有的目錄、文件、設(shè)備都在/之下
/bin 該目錄存放著系統(tǒng)最常用的最重要的命令
是以獨立的文件形式存在
這個目錄中的文件都是可執(zhí)行的并且是普通用戶都可以使用的命令
作為系統(tǒng)最基礎(chǔ)的命令都放在這里
binary
/usr 該目錄是系統(tǒng)存放程序的地方
比如普通命令、幫助文件、安裝的軟件等
當我們安裝一個Linux發(fā)行版官方提供的軟件包時,大多安裝在這里
/usr目錄下包括涉及字體目錄/usr/share/fonts、幫助目錄/usr/share/man或/usr/share/doc等
unix shared resource
/var 該目錄的內(nèi)容是經(jīng)常變動的
/var下有/var/log目錄用來存放系統(tǒng)日志的目錄
/var/www目錄用來定義Apache服務(wù)器站點存放目錄
/var/lib用來存放一些庫文件
variable
/sbin 大多數(shù)涉及系統(tǒng)管理的命令都存放在該目錄中
它是超級權(quán)限用戶root的可執(zhí)行命令存放地
凡是目錄sbin中包含的命令都是root權(quán)限才能執(zhí)行的
super user binary
/root Linux超級權(quán)限用戶(系統(tǒng)管理員)root的主目錄
/home 普通用戶的主目錄都默認存放在該目錄中
/etc 該目錄是系統(tǒng)配置文件的所在地
一些服務(wù)器的配置文件也在這里
etcetera
/dev 設(shè)備文件存儲目錄
該目錄下是所有Linux的外部設(shè)備文件
device
/boot 存放Linux的內(nèi)核及引導(dǎo)系統(tǒng)的程序所需要的文件
/opt 該目錄是可選的軟件包安裝目錄 optional
/tmp 該目錄用于存放臨時文件 temporary
/lib 該目錄用于存放庫文件
這個目錄里存放著系統(tǒng)最基本的共享庫
library
/mnt 該目錄是用于存放掛載儲存設(shè)備的掛載目錄的 mount
/proc 操作系統(tǒng)運行時進程(正在運行中的程序)信息及內(nèi)核信息(比如cpu、硬盤分區(qū)、內(nèi)存信息等)存放處
/proc目錄是偽裝的文件系統(tǒng)proc的掛載目錄
可以通過直接訪問這個目錄來獲取系統(tǒng)信息
process
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,698評論 6 539
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,202評論 3 426
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,742評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,580評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,297評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,688評論 1 327
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,693評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,875評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,438評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,183評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,384評論 1 372
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,931評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,612評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,022評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,297評論 1 292
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,093評論 3 397
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,330評論 2 377

推薦閱讀更多精彩內(nèi)容