linux通道
Linux操作系統文件傳輸的方式有很多種,但在日常工作以及實際項目開發中最常使用的文件傳輸方式就是FTP和SFTP,那麼Linux系統中FTP和Sftp的區別有哪些?這兩個傳輸方式各有什麼特點呢?接下來我們一起來看看詳細的介紹。
第一、FTP協議
FTP是TCP/IP協議組中的協議之一,TP協議由兩個部分組成:1、FTP伺服器,用來存儲文件;2、FTP客戶端,用戶可以使用FTP客戶端通過FTP協議訪問位於FTP伺服器上的資源。
默認情況下FTP協議使用TCP埠中的20和21這兩個埠。21埠用於傳輸控制信息,而是否使用20作為傳輸數據的埠與FTP使用的傳輸模式有關,如果採用被動模式則具體使用哪個埠要伺服器端和客戶端協商決定。FTP傳輸模式分為兩種:
①主動模式
FTP客戶端首先和FTP伺服器的TCP21埠建立連接,通過這個通道發送命令,客戶端需要接收數據的時候在這個通道上發送PORT命令。PROT命令包含了客戶端用什麼埠接收數據。在傳輸數據的時候,伺服器端通過自己的TCP
20埠連接至客戶端的指定埠發送數據。
②被動模式
在建立控制通道與主動模式相似,但建立連接後是Pasv命令。FTP伺服器收到Pasv命令後便隨機打開一個高端埠並且通知客戶端在這個埠上傳送數據的請求,客戶端連接FTP伺服器此埠,通過三次握手建立通道,然後FTP伺服器將通過這個埠進行數據的傳送。
第二、SFTP協議
SFTP是SSH File Transfer
Protocol的縮寫,安全文件傳送協議。SFTP與FTP有著幾乎一樣的語法和功能。SFTP為SSH的其中一部分,是一種傳輸檔案至Blogger伺服器的安全方式。其實在SSH軟體包含中,已經包含了一個叫作SFTP的安全文件信息傳輸子系統,SFTP本身沒有單獨的守護進程,它必須使用sshd守護進程來完成相應的連接和答復操作,所以從某種意義上來說,SFTP並不像一個伺服器程序,而更像是一個客戶端程序。
第三、二者的主要區別
鏈接方式:FTP使用TCP埠21上的控制連接建立連接。而SFTP是在客戶端和伺服器之間通過SSH協議建立的安全連接來傳輸文件。
安全性:SFTP使用加密傳輸認證信息和傳輸的數據,所以使用SFTP相對於FTP是非常安全。
效率:SFTP這種傳輸方式使用了加密解密技術,所以傳輸效率比普通的FTP要低很多。
㈡ linux怎麼查看內存型號
因為網站開發的需求,需要對單位的伺服器內存進行升級。那麼在linux中怎麼查看內存型號呢?下面跟著我一起來了解一下吧。
linux怎麼查看內存型號
機器主板是nVidia Corporation MCP61,系統內存支持雙通道內存技術。
配置了4個DDRII DIMM插槽,支持DDRII 800/667/533內存,最大支持8G容量。
為了嘗試下雙通道內存技術,准備加一條與原來完全一樣的內存條。
電腦配置上只寫了kingston DDRII512M。
接下來就要用工具dmidecode(DMI table decoder)確定下內存頻率了。
dmidecode命令可以全面的顯示你系統的信息,包括bios、 cpu 、內存等信息。
例如:
[root@localhost testcase]$ sudo dmidecode --help
Usage: dmidecode [OPTIONS]
Options are:
-d, --dev-mem FILE Read memory from device FILE (default: /dev/mem)
-h, --help Display this help text and exit
-q, --quiet Less verbose output
-s, --string KEYWORD Only display the value of the given DMI string
-t, --type TYPE Only display the entries of given type
-u, --mp Do not decode the entries
-V, --version Display the version and exit
[root@localhost testcase]$ sudo dmidecode -t memory
# dmidecode 2.7
SM BIOS 2.4 present.
Handle 0x0007, DMI type 5, 24 bytes.
Memory Controller Information
Error Detecting Method: 64-bit ECC
Error Correcting Capabilities:
None
Supported Interleave: One-way Interleave
Current Interleave: One-way Interleave
Maximum Memory Mole Size: 2048 MB
Maximum Total Memory Size: 8192 MB
Supported Speeds:
70 ns
60 ns
Supported Memory Types:
DIMM
SDRAM
Memory Mole Voltage: 3.3 V
Associated Memory Slots: 4
0x0008
0x0009
0x000A
0x000B
Enabled Error Correcting Capabilities:
None
Handle 0x0008, DMI type 6, 12 bytes.
Memory Mole Information
Socket Designation: DIMM0
Bank Connections: 0 1
Current Speed: Unknown
Type: ECC DIMM
Installed Size: 512 MB (Single-bank Connection)
Enabled Size: 512 MB (Single-bank Connection)
Error Status: OK
Handle 0x0009, DMI type 6, 12 bytes.
Memory Mole Information
Socket Designation: DIMM1
Bank Connections: None
Current Speed: Unknown
Type: Unknown
Installed Size: Not Installed
Enabled Size: Not Installed
Error Status: OK
Handle 0x000A, DMI type 6, 12 bytes.
Memory Mole Information
Socket Designation: DIMM2
Bank Connections: None
Current Speed: Unknown
Type: Unknown
Installed Size: Not Installed
Enabled Size: Not Installed
Error Status: OK
Handle 0x000B, DMI type 6, 12 bytes.
Memory Mole Information
Socket Designation: DIMM3
Bank Connections: None
Current Speed: Unknown
Type: Unknown
Installed Size: Not Installed
Enabled Size: Not Installed
Error Status: OK
Handle 0x0010, DMI type 16, 15 bytes.
Physical Memory Arroot
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 8 GB
Error Information Handle: Not Provided
Number Of Devices: 4
Handle 0x0012, DMI type 17, 27 bytes.
Memory Device
Arroot Handle: 0x0010
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 72 bits
Size: 512 MB
Form Factor: DIMM
Set: None
Locator: DIMM0
Bank Locator: BANK0
Type: DDR2
Type Detail: Synchronous
Speed: 533 MHz (1.9 ns)
Manufacturer: Manufacturer0
Serial Number: SerNum0
Asset Tag: AssetTagNum0
Part Number: PartNum0
Handle 0x0014, DMI type 17, 27 bytes.
Memory Device
Arroot Handle: 0x0010
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: 64 bits
Size: No Mole Installed
Form Factor: DIMM
Set: None
Locator: DIMM1
Bank Locator: BANK1
Type: Unknown
Type Detail: Unknown
Speed: Unknown
Manufacturer: Manufacturer1
Serial Number: SerNum1
Asset Tag: AssetTagNum1
Part Number: PartNum1
Handle 0x0016, DMI type 17, 27 bytes.
Memory Device
Arroot Handle: 0x0010
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: 64 bits
Size: No Mole Installed
Form Factor: DIMM
Set: None
Locator: DIMM2
Bank Locator: BANK2
Type: Unknown
Type Detail: Unknown
Speed: Unknown
Manufacturer: Manufacturer2
Serial Number: SerNum2
Asset Tag: AssetTagNum2
Part Number: PartNum2
Handle 0x0018, DMI type 17, 27 bytes.
Memory Device
Arroot Handle: 0x0010
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: 64 bits
Size: No Mole Installed
Form Factor: DIMM
Set: None
Locator: DIMM3
Bank Locator: BANK3
Type: Unknown
Type Detail: Unknown
Speed: Unknown
Manufacturer: Manufacturer3
Serial Number: SerNum3
Asset Tag: AssetTagNum3
Part Number: PartNum3
總結 :
在Memory Controller Information中,可以看到最大的內存大小是8G,支持內存種類為DIMM和SDRAM。有四個Memory Slots。對應接下來的4個Memory Mole Information。
DMI type 16 (man dmidecode裡面有DMI TYPES specification)的意思是 Physical Memory Arroot。
㈢ 《Linux下部分常用指令筆記》
一、創建linux維護用戶
登錄root用戶
創建新用戶
useradd 新用戶名
設置用戶密碼
passwd 新用戶密碼
二、安裝jdk和配置環境變數
建議在root用戶下直接安裝jdk,並直接配置環境變數,同時給非root用戶設置讀和執行許可權
解壓包
tar xvf jdk包名.tar
配置全局變數
編輯/etc/profile文件
vi /etc/profile
按I鍵,切換成編輯模式。
在文件未加入一下配置
export java_HOME=jdk的解壓文件目錄
export JRE_HOME=jdk的解壓文件目錄/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${ JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${ JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
保存並退出
Esc
:wq
重載配置文件使其生效
source /etc/profile
檢查是否安裝成功
Javac
Java version
許可權修改
讀4寫2執行1,順序所有者、組成員、其他用戶
Chomd 755 jdk的解壓文件目錄
三、安裝tomcat
安裝tomcat和放入war包使用非root的維護用戶
如果使用root安裝的話記得設置許可權。( chomd -r 外層文件目錄 )
su - 用戶名
1、解壓包
tar xvf tomcat包名.tar
2、將war包放入tomcat/webapps目錄下
3、Tomcat啟動服務和停止服務
查看進程
ps -ef | grep java
啟動應用
Tomcat bin目錄下.startup.sh
停止應用
建議使用
Kill -9 進程號
註:解壓出應用文件後,注意配置信息的修改
四、IBM MQ部署 (7.5之後的版本)
(以下是使用9.0版本的正確部署命令)
一、 卸載舊版本IBM MQ (可選)
<因為部署環境沒有安裝過mq,卸載這部分命令我沒有親自測試過>
設置環境
以用戶身份登錄到組mqm,找到mq的安裝位置 /opt/mqm
source ./setmqenv -s
查看隊列管理器的狀態
dspmq -o installation
停止與要卸載的安裝關聯的所有正在運行的隊列管理器
endmqm SXRECV
停止與隊列管理器關聯的所有偵聽器。
endmqlsr -m SXRECV
查看系統上當前安裝的軟體包(組件)
sudo rpm -qa | grep MQSeries
列出軟體包並一次性卸載
sudo rpm -qa | grep MQSeries | xargs rpm -ev
再將對應的用戶及安裝目錄給刪除
rm -rf /opt/mqm
userdel -r mqm
檢查MQ license
license文件在安裝目錄中 /opt/mqm/lib 可以找到
amqtcert.lic - is a trial license
amqbcert.lic - is a beta license
amqpcert.lic - is the proction license
——————————————————————————————————————
二、安裝新版本ibm mq
解壓,解壓文件都在MQServer中
tar –xzvf IBM_MQ_9.1.5_LINUX_X86-64.tar.gz
進入MQServer文件夾中:
cd MQServer/
運行MQ許可證程序
./mqlicense.sh
安裝WebSphere MQ for Linux伺服器(Runtime、SDK 和 Server 軟體包):
rpm -U MQSeriesRuntime-9.1.5-0.x86_64.rpm
rpm -U MQSeriesSDK-9.1.5-0.x86_64.rpm
rpm -U MQSeriesServer-9.1.5-0.x86_64.rpm
安裝WebSphere MQ for Linux客戶機:
rpm -U MQSeriesClient-9.0.0-0.x86_64.rpm
安裝WebSphere MQ樣本程序:
rpm -U MQSeriesSamples-9.0.0-0.x86_64.rpm
創建組和用戶
安裝過程創建了一個名為mqm的用戶和一個同樣名為 mqm 的組。設置一個密碼來解鎖。
passwd mqm
——————————————————————————————————————
三、 配置
(這部分隊列管理器、通道、隊列等根據實際情況自行配置)
切換用戶:
su mqm
創建隊列管理器
使用crtmqm命令來創建一個名為 SXRECV
的隊列管理器。我們把它作為預設隊列,並且將不在創建時指定死信隊列。然後使用strmqm命令啟動隊列管理器。
crtmqm -q SXRECV
strmqm SXRECV
——————
如果執行crtmqm命令時提示
-bash-3.2$ crtmqm
-bash: crtmqm: command not found
find / -name crtmqm
則需要配置mqm用戶的環境變數,編輯如下文件,並添加下面的內容,如下:
第一種方法:相對第二種較安全僅對mqm用戶有效
方法一:
(1) -bash-3.2$ vi /var/mqm/.bash_profile --有可能會在文件夾下看不到這個文件,通過編輯即可看到
PATH=$PATH:/opt/mqm/samp/bin:/opt/mqm/bin:bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
(2)執行「.」命令,使這個文件生效
-bash-3.2$ source .bash_profile
(3)再次嘗試實行crtmqm或是dspmqm命令,即可發現已經生效。
方法二:
( 1)
su root
[if !supportLists](2)[endif]
vim /etc/profile
[if !supportLists](3)[endif] 在最後面加上:
PATH=$PATH:/opt/mqm/samp/bin:/opt/mqm/bin:bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/bin
( 4)關閉遠程終端重新打開,無需重啟伺服器
——————
運行隊列管理器
runmqsc SXRECV
創建通道和隊列
DEFINE QLOCAL (XYDATA) REPLACE USAGE (NORMAL) DEFPSIST (YES) MAXDEPTH (300000) DESCR('興業銀行')
DEFINE QLOCAL (XYTRANS) REPLACE USAGE (XMITQ) DEFPSIST (YES) MAXDEPTH (300000) DESCR('興業銀行')
DEFINE QREMOTE (XYACK) REPLACE DEFPSIST (YES) RQMNAME (SXSEND) RNAME (XYACK) XMITQ (XYTRANS) DESCR('XXXX')
DEFINE CHANNEL (XYDATA) CHLTYPE (RCVR) TRPTYPE (TCP) REPLACE DESCR('XXXX')
DEFINE CHANNEL (XYACK) CHLTYPE (SDR) CONNAME ('166.1.1.8(2214)') XMITQ (XYTRANS) TRPTYPE (TCP) DISCINT (0) CONVERT (NO) SHORTRTY (30) SHORTTMR (10) LONGRTY (999999999) LONGTMR (20) REPLACE DESCR('XXXX')
DEFINE CHANNEL (SVRCONN) CHLTYPE (SVRCONN) MCAUSER('mqm')
創建監聽
DEFINE LISTENER (RECLISTENER) TRPTYPE (TCP) CONTROL(QMGR) PORT (2214)
啟動監聽
start LISTENER(RECLISTENER)
啟動通道
start channel(SVRCONN)
start channel(XYDATA)
start channel(XYACK)
———————————————————————————————————————————————————
四、2035錯誤碼 說明
如果程序連接mq報錯2035,則需要對許可權認證做設置,則進行以此操作
1、
ALTER QMGR CHLAUTH(DISABLED)
2、
ALTER CHL(通道名) CHLTYPE(SVRCONN) MCAUSER('mqm')
3、
ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL)
或者直接將連接認證選項置為空,將其完全關閉,指令如下:
ALTER QMGR CONNAUTH('')
在執行完上述兩條命令中的任一條後,都需要刷新連接認證的緩存,指令如下:
REFRESH SECURITY TYPE(CONNAUTH)
五、mq操作命令
一、MQ的啟動與停止
1、MQ的啟動
strmqm QMgrName
如果啟動默認隊列管理器,strmqm後可以忽略隊列管理器名稱。
2、MQ的關閉
endmqm -i QMgrName
停止mq
二、MQ運行狀態查看與常用操作
1、 查看隊列管理器運行狀態
su mqm
執行如下命令檢查隊列管理器運行狀態:dspmq顯示結果中QMNAME表示MQ隊列管理器的名稱,STATUS表示當前運行狀態。運行狀態有如下幾種:Starting正在啟動Running正在運行Ending正在停止Ended normally已經正常終止Ended immediately已經立即終止Ended preemtively已經強制終止Ended unexpectively異常終止
注意:停止MQ後必須使用dspmq命令進行狀態檢查
2、查看通道運行狀態與啟停通道
runmqsc
dis chl(*);查看所有通道定義
dis chs(*);查看所有通道狀態,如果沒有查詢到通道狀態,或報錯AMQ8420: Channel Status not found,請啟動通道
dis chs(ChannelName); 查看通道ChannelName的狀態
通道狀態有如下幾種:
STARTING正在啟動BINDING正在綁定INITIALIZING正在初始化RUNNING正常STOPPING 正在停止RETRYING重試PAUSED等待STOPPED已停止REQUESTING請求
start chl(ChannelName);啟動通道
stop chl(ChannelName);停止通道
* 重置通道
reset channel(ChannelName); 重置通道序號。當本地與其他MQ隊列管理器的通道無法正常啟動的情況,檢查日誌發現是通道序號不一致,此時就需要先停止發送方通道,清空隊列深度並在發送方和接收方進行通道計數的重置,重置後啟動通道即可恢復通訊。
注意:重置成功mq序列號一般相同或相差1
3、查看通道監聽狀態與啟停監聽
runmqsc
dis listner(*);查看通道監聽定義
dis lsstatu(listnerName);查看監聽狀態
start lstr(listnerName); 啟動監聽
stop lstr(listnerName); 停止監聽
4、查看隊列深度
runmqsc
dis q(*);查看所有各類隊列的屬性
dis qlocal(QName);查看所有本地隊列的屬性
隊列深度屬性為:CURDEPTH
查看隊列深度display ql('隊列名') curdepth
*清空隊列深度
清空隊列深度
clear ql(『隊列名』)
三、MQ發送和接收消息
su mqm
發送消息
amqsput 隊列名 隊列管理器
獲取消息
amqsget 隊列名 隊列管理器
可通過配合查看隊列深度命令,完成mq的聯調
六、其他維護中常用linux命令
1、測試埠連接
telnet ip port
2、查看已啟動的埠
netstat -an | grep 埠號
3、查看應用進程
ps -ef |grep java
4、修改許可權
chomd XXX(對應的許可權) 文件目錄
5、修改文件或目錄下所有文件所有者和組
Chomd -R 用戶名:組名 文件目錄
6、查看目錄內容
ls 或者ls -l (簡寫ll)
7、查看文件輸出
cat 目錄/文件名
或者
Vi 目錄/文件名 按i可進入編輯
按 G 到文檔末尾
按 gg 到文件首行
不保存退出
Esc :q!
保存退出
Esc :wq
vi 進入文檔文檔後查找關鍵字
Esc 進入命令行
/關鍵字
按n向下繼續查找
按N向上繼續查找
8、殺進程
Kill -9 進程號
9、復制
cp -r 源目錄 目標目錄
10、移動
mv -i 源文件或目錄 目標文件或目錄
11、刪除
rm -R 文件目錄
12、 切換工作目錄
cd 相對路徑或絕對路徑
~也表示為 home 目錄 的意思, . 則是表示目前所在的目錄, .. 則表示目前目錄位置的上一層目錄。
㈣ linuxphy在文件系統哪個位置
存放二進制可執行文件(ls,cat,mkdir等),常用命令一般都在這里。
/etc
存放系統管理和配置文件
/home
存放所有用戶文件的根目錄,是用戶主目錄的基點,比如用戶user的主目錄就是/home/user,可以用~user表示
/usr
用於存放系統應用程序,比較重要的目錄/usr/local 本地系統管理員軟體安裝目錄(安裝系統級的應用)。這是最龐大的目錄,要用到的應用程序和文件幾乎都在這個目錄。
/usr/x11r6 存放x window的目錄
/usr/bin 眾多的應用程序
/usr/sbin 超級用戶的一些管理程序
/usr/doc linux文檔
/usr/include linux下開發和編譯應用程序所需要的頭文件
/usr/lib 常用的動態鏈接庫和軟體包的配置文件
/usr/man 幫助文檔
/usr/src 源代碼,linux內核的源代碼就放在/usr/src/linux里
/usr/local/bin 本地增加的命令
/usr/local/lib 本地增加的庫
/opt
額外安裝的可選應用程序包所放置的位置。一般情況下,我們可以把tomcat等都安裝到這里。
/proc
虛擬文件系統目錄,是系統內存的映射。可直接訪問這個目錄來獲取系統信息。
/root
超級用戶(系統管理員)的主目錄(特權階級o)
/sbin
存放二進制可執行文件,只有root才能訪問。這里存放的是系統管理員使用的系統級別的管理命令和程序。如ifconfig等。
/dev
用於存放設備文件。
/mnt
系統管理員安裝臨時文件系統的安裝點,系統提供這個目錄是讓用戶臨時掛載其他的文件系統。
/boot
存放用於系統引導時使用的各種文件
/lib
存放跟文件系統中的程序運行所需要的共享庫及內核模塊。共享庫又叫動態鏈接共享庫,作用類似windows里的.dll文件,存放了根文件系統程序運行所需的共享文件。
/tmp
用於存放各種臨時文件,是公用的臨時文件存儲點。
/var
用於存放運行時需要改變數據的文件,也是某些大文件的溢出區,比方說各種服務的日誌文件(系統啟動日誌等。)等。
/lost+found
這個目錄平時是空的,系統非正常關機而留下「無家可歸」的文件(windows下叫什麼.chk)就在這里
Linux目錄和Windows目錄有著很大的不同,Linux目錄類似一個樹,最頂層是其根目錄,如下圖:
/bin 二進制可執行命令
/dev 設備特殊文件
/etc 系統管理和配置文件
/etc/rc.d 啟動的配置文件和腳本
/home 用戶主目錄的基點,比如用戶user的主目錄就是/home/user,可以用~user表示
/lib 標准程序設計庫,又叫動態鏈接共享庫,作用類似windows里的.dll文件
/sbin 超級管理命令,這里存放的是系統管理員使用的管理程序
/tmp 公共的臨時文件存儲點
/root 系統管理員的主目錄
/mnt 系統提供這個目錄是讓用戶臨時掛載其他的文件系統
/lost+found這個目錄平時是空的,系統非正常關機而留下「無家可歸」的文件(windows下叫什麼.chk)就在這里
/proc 虛擬的目錄,是系統內存的映射。可直接訪問這個目錄來獲取系統信息。
/var 某些大文件的溢出區,比方說各種服務的日誌文件
/usr 最龐大的目錄,要用到的應用程序和文件幾乎都在這個目錄,其中包含:
/usr/x11R6 存放x window的目錄
/usr/bin 眾多的應用程序
/usr/sbin 超級用戶的一些管理程序
/usr/doc linux文檔
/usr/include linux下開發和編譯應用程序所需要的頭文件
/usr/lib 常用的動態鏈接庫和軟體包的配置文件
/usr/man 幫助文檔
/usr/src 源代碼,linux內核的源代碼就放在/usr/src/linux里
/usr/local/bin 本地增加的命令
/usr/local/lib 本地增加的庫根文件系統
通常情況下,根文件系統所佔空間一般應該比較小,因為其中的絕大部分文件都不需要經常改動,而且包括嚴格的文件和一個小的不經常改變的文件系統不容易損壞。
除了可能的一個叫/ vmlinuz標準的系統引導映像之外,根目錄一般不含任何文件。所有其他文件在根文件系統的子目錄中。
/bin目錄
/ b i n目錄包含了引導啟動所需的命令或普通用戶可能用的命令(可能在引導啟動後)。這些命令都是二進制文件的可執行程序( b i n是b i n a r y - -二進制的簡稱),多是系統中重要的系統文件。
/sbin目錄
/ s b i n目錄類似/bin ,也用於存儲二進制文件。因為其中的大部分文件多是系統管理員使用的基本的系統程序,所以雖然普通用戶必要且允許時可以使用,但一般不給普通用戶使用。
/etc目錄
/ e t c目錄存放著各種系統配置文件,其中包括了用戶信息文件/ e t c / p a s s w d,系統初始化文件/ e t c / r c等。l i n u x正是*這些文件才得以正常地運行。
/root目錄
/root 目錄是超級用戶的目錄。
/lib目錄
/ l i b目錄是根文件系統上的程序所需的共享庫,存放了根文件系統程序運行所需的共享文件。這些文件包含了可被許多程序共享的代碼,以避免每個程序都包含有相同的子程序的副本,故可以使得可執行文件變得更小,節省空間。
/lib/moles 目錄
/lib/moles 目錄包含系統核心可載入各種模塊,尤其是那些在恢復損壞的系統時重新引導系統所需的模塊(例如網路和文件系統驅動)。
/dev目錄
/ d e v目錄存放了設備文件,即設備驅動程序,用戶通過這些文件訪問外部設備。比如,用戶可以通過訪問/ d e v / m o u s e來訪問滑鼠的輸入,就像訪問其他文件一樣。
/tmp目錄
/tmp 目錄存放程序在運行時產生的信息和數據。但在引導啟動後,運行的程序最好使用/ v a r / t m p來代替/tmp ,因為前者可能擁有一個更大的磁碟空間。
/boot目錄
/ b o o t目錄存放引導載入器(bootstrap loader)使用的文件,如l i lo,核心映像也經常放在這里,而不是放在根目錄中。但是如果有許多核心映像,這個目錄就可能變得很大,這時使用單獨的文件系統會更好一些。還有一點要注意的是,要確保核心映像必須在i d e硬碟的前1 0 2 4柱面內。
/mnt目錄
/ m n t目錄是系統管理員臨時安裝( m o u n t )文件系統的安裝點。程序並不自動支持安裝到/mnt 。/mnt 下面可以分為許多子目錄,例如/mnt/dosa 可能是使用m s d o s文件系統的軟碟機,而/mnt/exta 可能是使用e x t 2文件系統的軟碟機,/mnt/cdrom 光碟機等等。
/proc, /usr,/var,/home目錄
其他文件系統的安裝點。
下面詳細介紹;
/etc文件系統
/etc 目錄包含各種系統配置文件,下面說明其中的一些。其他的你應該知道它們屬於哪個程序,並閱讀該程序的m a n頁。許多網路配置文件也在/etc 中。
/etc/rc或/etc/rc.d或/etc/rc?.d
啟動、或改變運行級時運行的腳本或腳本的目錄。
/etc/passwd
用戶資料庫,其中的域給出了用戶名、真實姓名、用戶起始目錄、加密口令和用戶的其
他信息。
/etc/fdprm
軟盤參數表,用以說明不同的軟盤格式。可用setfdprm 進行設置。更多的信息見s e t f d p r m
的幫助頁。
/etc/fstab
指定啟動時需要自動安裝的文件系統列表。也包括用swapon -a啟用的s w a p區的信息。
/etc/group
類似/etc/passwd ,但說明的不是用戶信息而是組的信息。包括組的各種數據。
/etc/inittab
init 的配置文件。
/etc/issue
包括用戶在登錄提示符前的輸出信息。通常包括系統的一段短說明或歡迎信息。具體內容由系統管理員確定。
/etc/magic
「f i l e」的配置文件。包含不同文件格式的說明,「f i l e」基於它猜測文件類型。
/etc/motd
m o t d是message of the day的縮寫,用戶成功登錄後自動輸出。內容由系統管理員確定。常用於通告信息,如計劃關機時間的警告等。
/etc/mtab
當前安裝的文件系統列表。由腳本( s c r i t p )初始化,並由mount 命令自動更新。當需要一個當前安裝的文件系統的列表時使用(例如df 命令)。
/etc/shadow
在安裝了影子( s h a d o w )口令軟體的系統上的影子口令文件。影子口令文件將/ e t c / p a s s wd文件中的加密口令移動到/ e t c / s h a d o w中,而後者只對超級用戶( r o o t)可讀。這使破譯口令更困難,以此增加系統的安全性。
/etc/login.defs
l o g i n命令的配置文件。
/etc/printcap
類似/etc/termcap ,但針對列印機。語法不同。
/etc/profile 、/ e t c / c s h . l o g i n、/etc/csh.cshrc
登錄或啟動時b o u r n e或c shells執行的文件。這允許系統管理員為所有用戶建立全局預設環境。
/etc/securetty
確認安全終端,即哪個終端允許超級用戶( r o o t )登錄。一般只列出虛擬控制台,這樣就不可能(至少很困難)通過數據機( m o d e m )或網路闖入系統並得到超級用戶特權。
/etc/shells
列出可以使用的s h e l l。chsh 命令允許用戶在本文件指定范圍內改變登錄的s h e l l。提供一台機器f t p服務的服務進程ftpd 檢查用戶s h e l l是否列在/etc/shells 文件中,如果不是,將不允許該用戶登錄。
/etc/termcap
終端性能資料庫。說明不同的終端用什麼「轉義序列」控制。寫程序時不直接輸出轉義序列(這樣只能工作於特定品牌的終端),而是從/etc/termcap 中查找要做的工作的正確序列。
這樣,多數的程序可以在多數終端上運行。
/dev文件系統
/dev 目錄包括所有設備的設備文件。設備文件用特定的約定命名,這在設備列表中說明。
設備文件在安裝時由系統產生,以後可以用/dev/makedev 描述。/ d e v / m a k e d e v.local是
系統管理員為本地設備文件(或連接)寫的描述文稿(即如一些非標准設備驅動不是標准
makedev 的一部分)。下面簡要介紹/ d e v下一些常用文件。
/dev/console
系統控制台,也就是直接和系統連接的監視器。
/dev/hd
i d e硬碟驅動程序介面。如: / d e v / h d a指的是第一個硬碟, h a d 1則是指/ d e v / h da的第一個
分區。如系統中有其他的硬碟,則依次為/ d e v / h d b、/ d e v / h d c、. . . . …;如有多個分區則依次為
h d a 1、h d a 2 . . . . . .
/dev/sd
s c s i磁碟驅動程序介面。如有系統有s c s i硬碟,就不會訪問/ d e v / h a d,而會訪問/ d e v / sd a。
/dev/fd
軟碟機設備驅動程序。如: / d e v / f d 0指系統的第一個軟盤,也就是通常所說的a:盤,
/ d e v / f d 1指第二個軟盤,. . . . . .而/ d e v / f d 1 h 1 4 40則表示訪問驅動器1中的4 . 5高密盤。
/dev/st
s c s i磁帶驅動器驅動程序。
/dev/tty
提供虛擬控制台支持。如: / d e v / t t y 1指的是系統的第一個虛擬控制台, / d e v / t t y2則是系統
的第二個虛擬控制台。
/dev/pty
提供遠程登陸偽終端支持。在進行te l n e t登錄時就要用到/ d e v / p t y設備。
/dev/ttys
計算機串列介面,對於d o s來說就是「 c o m 1」口。
/dev/cua
計算機串列介面,與數據機一起使用的設備。
/dev/null
「黑洞」,所有寫入該設備的信息都將消失。例如:當想要將屏幕上的輸出信息隱藏起來時,只要將輸出信息輸入到/ d e v / n u l l中即可。
/usr文件系統
/usr 是個很重要的目錄,通常這一文件系統很大,因為所有程序安裝在這里。/usr 里的
所有文件一般來自l i n u x發行版( d i s t r i b u t i o n);本地安裝的程序和其他東西在/usr/local 下,因為這樣可以在升級新版系統或新發行版時無須重新安裝全部程序。/usr目錄下的許多內容是可選的,但這些功能會使用戶使用系統更加有效。/ u s r可容納許多大型的軟體包和它們的配置文件。下面列出一些重要的目錄(一些不太重要的目錄被省略了)。
/usr/x11r6
包含x wi n d o w系統的所有可執行程序、配置文件和支持文件。為簡化x的開發和安裝,x的文件沒有集成到系統中。x wi n d o w系統是一個功能強大的圖形環境,提供了大量的圖形工具程序。用戶如果對microsoft wi n d o w s或m a c h i n t o s h比較熟悉的話,就不會對x win d o w系統感到束手無策了。
/usr/x386
類似/ u s r / x 11r6 ,但是是專門給x 11 release 5的。
/usr/bin
集中了幾乎所有用戶命令,是系統的軟體庫。另有些命令在/bin 或/usr/local/bin 中。
/usr/sbin
包括了根文件系統不必要的系統管理命令,例如多數服務程序。
/usr/man、/ u s r / i n f o、/ u s r / d o c
這些目錄包含所有手冊頁、g n u信息文檔和各種其他文檔文件。每個聯機手冊的「節」都有兩個子目錄。例如: / u s r / m a n / m a n 1中包含聯機手冊第一節的源碼(沒有格式化的原始文件),/ u s r / m a n / c a t 1包含第一節已格式化的內容。l聯機手冊分為以下九節:內部命令、系統調用、庫函數、設備、文件格式、游戲、宏軟體包、系統管理和核心程序。
/usr/include
包含了c語言的頭文件,這些文件多以. h結尾,用來描述c語言程序中用到的數據結構、子過程和常量。為了保持一致性,這實際上應該放在/usr/lib 下,但習慣上一直沿用了這個名字。
/usr/lib
包含了程序或子系統的不變的數據文件,包括一些s i t e - w i d e配置文件。名字l i b來源於庫(library); 編程的原始庫也存在/usr/lib 里。當編譯程序時,程序便會和其中的庫進行連接。也有許多程序把配置文件存入其中。
/usr/local
本地安裝的軟體和其他文件放在這里。這與/ u s r很相似。用戶可能會在這發現一些比較大的軟體包,如t e x、e m a c s等。
/var文件系統
/var 包含系統一般運行時要改變的數據。通常這些數據所在的目錄的大小是要經常變化或擴充的。原來/ v a r目錄中有些內容是在/ u s r中的,但為了保持/ u s r目錄的相對穩定,就把那些需要經常改變的目錄放到/ v a r中了。每個系統是特定的,即不通過網路與其他計算機共享。下面列出一些重要的目錄(一些不太重要的目錄省略了)。
/var/catman
包括了格式化過的幫助( m a n )頁。幫助頁的源文件一般存在/ u s r / m a n / m a n中;有些m an頁可能有預格式化的版本,存在/ u s r / m a n / c a t中。而其他的m a n頁在第一次看時都需要格式化,格式化完的版本存在/var/man 中,這樣其他人再看相同的頁時就無須等待格式化了。(/var/catman 經常被清除,就像清除臨時目錄一樣。)
/var/lib
存放系統正常運行時要改變的文件。
/var/local
存放/usr/local 中安裝的程序的可變數據(即系統管理員安裝的程序)。注意,如果必要,即使本地安裝的程序也會使用其他/var 目錄,例如/var/lock 。
/var/lock
鎖定文件。許多程序遵循在/var/lock 中產生一個鎖定文件的約定,以用來支持他們正在使用某個特定的設備或文件。其他程序注意到這個鎖定文件時,就不會再使用這個設備或文件。
/var/log
各種程序的日誌( l o g )文件,尤其是login (/var/log/wtmp log紀錄所有到系統的登錄和注銷) 和syslog (/var/log/messages 紀錄存儲所有核心和系統程序信息)。/var/log里的文件經常不確定地增長,應該定期清除。
/var/run
保存在下一次系統引導前有效的關於系統的信息文件。例如, /var/run/utmp 包含當前登錄的用戶的信息。
/var/spool
放置「假離線( s p o o l )」程序的目錄,如m a i l、n e w s、列印隊列和其他隊列工作的目錄。每個不同的s p o o l在/var/spool 下有自己的子目錄,例如,用戶的郵箱就存放在/var/spool/mail中。
/var/tmp
比/tmp 允許更大的或需要存在較長時間的臨時文件。注意系統管理員可能不允許/var/tmp 有很舊的文件。
/proc文件系統
/proc 文件系統是一個偽的文件系統,就是說它是一個實際上不存在的目錄,因而這是一
個非常特殊的目錄。它並不存在於某個磁碟上,而是由核心在內存中產生。這個目錄用於提
供關於系統的信息。下面說明一些最重要的文件和目錄(/proc 文件系統在proc man頁中有更詳
細的說明)。
/proc/x
關於進程x的信息目錄,這一x是這一進程的標識號。每個進程在/proc 下有一個名為自
己進程號的目錄。
/proc/cpuinfo
存放處理器( c p u )的信息,如c p u的類型、製造商、型號和性能等。
/proc/devices
當前運行的核心配置的設備驅動的列表。
/proc/dma
顯示當前使用的d m a通道。
/proc/filesystems
核心配置的文件系統信息。
/proc/interrupts
顯示被佔用的中斷信息和佔用者的信息,以及被佔用的數量。
/proc/ioports
當前使用的i / o埠。
/proc/kcore
系統物理內存映像。與物理內存大小完全一樣,然而實際上沒有佔用這么多內存;它僅僅是在程序訪問它時才被創建。(注意:除非你把它拷貝到什麼地方,否則/proc 下沒有任何東西佔用任何磁碟空間。)
/proc/kmsg
核心輸出的消息。也會被送到s y s l o g。
/proc/ksyms
核心符號表。
/proc/loadavg
系統「平均負載」; 3個沒有意義的指示器指出系統當前的工作量。
/proc/meminfo
各種存儲器使用信息,包括物理內存和交換分區( s w a p )。
/proc/moles
存放當前載入了哪些核心模塊信息。
/proc/net
網路協議狀態信息。
/proc/self
存放到查看/proc 的程序的進程目錄的符號連接。當2個進程查看/proc 時,這將會是不同的連接。這主要便於程序得到它自己的進程目錄。
/proc/stat
系統的不同狀態,例如,系統啟動後頁面發生錯誤的次數。
/proc/uptime
系統啟動的時間長度。
/proc/version
核心版本