查看單個文章
舊 2006-07-02, 04:13 PM   #2 (permalink)
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

淺析linux

linux 技巧集

改變文件或目錄之讀、寫、執行之允許權
====================================
執行格式:chmod [-R] mode name ( name 可為文件名或目錄名;mode可為 3 個 8 位元之數位,或利用ls -l 命令,列出文件或目錄之讀、寫、執行允許權之文字縮寫。)
mode : rwx rwx rwx r:read w:write x:execute(user group other 縮寫為: u g o)
Example :
% chmod 755 dir1 將目錄dir1,設定成任何使用者,皆有讀取及執行之權利,但只有擁有者可做修改。
% chmod 700 file1 將文件file1,設定只有擁有者可以讀、寫和執行。
% chmod o x file2 將文件file2,增加擁有者可以執行之權利。
% chmod g x file3 將文件file3,增加群組使用者可執行之權利。
% chmod o-r file4 將文件file4,除去其它使用者可讀取之權利。

改變文件或目錄之擁有權
======================
執行格式:chown [-R] username name ( name 可為文件名或目錄名。)
Example :
% chown user file1 將文件 file1 之擁有權,改為使用者 user 所有。
% chown -R user dir1 將目錄 dir1,及其下所有文件和子目錄之擁有權,改為使用者 user 所有。

檢查自己所屬之群組名稱
======================
執行格式:groups
Example :
% groups

改變文件或目錄之群組擁有權
==========================
執行格式:chgrp [-R] groupname name ( name 可為文件名或目錄名 )
Example :
% chgrp vlsi file1 將文件 file1 之群組擁有權,改為 vlsi 群組。
% chgrp -R image dir1 將目錄dir1,及其下所有文件和子目錄,改為 image 群組。

改變文件或目錄之最後修改時間(變為當前時間)
=========================================
執行格式:touch name ( name 可為文件或目錄名稱。)
Example :
% touch file1
% touch dir1

文件之連結
==========
同一文件,可擁有一個以上之名稱,可將文件做數個連結。
執行格式:ln oldname newname ( Hard link )
Example :
% ln file1 file2   將名稱 file2,連結至文件 file1。
執行格式:ln -s oldname newname ( Symblick link )
Example :
% ln -s file3 file4 將名稱 file4,連結至文件file3。

文件之字串找尋
==============
執行格式:grep string file
Example :
% grep abc file1 尋找文件file1中,列出字串 abc 所在之整行文字內容。

找尋文件或命令之路徑
====================
執行格式:whereis command ( 顯示命令之路徑。)
執行格式:which command ( 顯示命令之路徑,及使用者所定義之別 )
執行格式:whatis command ( 顯示命令功能之摘要。)
執行格式:find search-path -name filename -print ( 搜尋指定路徑下,某文件之路徑 )
Example :
% find / -name file1 -print ( 自根目錄下,尋找文件名為 file1 之路徑)

比較文件或目錄之內容
====================
執行格式:diff [-r] name1 name2 ( name1 name2 可同時為文件名,或目錄名稱 )
Example :
% diff file1 file2 比較文件 file1 與 file2 內,各行之不同處。
% diff -r dir1 dir2 比較目錄 dir1 與 dir2 內,各文件之不同處。

如何實現為一個網卡綁定多個IP地址?
====================================
  Linux的網路設備配置文件存放在/etc/sysconfig/network-scripts裡面,對於以太網的第一個網路設備,配置文件名一般為 ifcfg-eth0 如果需要為第一個網路設備綁定多一個IP地址,只需要在/etc/sysconfig/network-scripts目錄裡面創建一個名為ifcfg-eth0:0的文件,內容樣例為:
DEVICE="eth0:0"
IPADDR="211.100.10.119"
NETMASK="255.255.255.0"
ONBOOT="yes"
  其中的DEVICE為設備的名稱,IPADDR為此設備的IP地址,NETMASK為子網掩碼,ONBOOT表示在系統啟動時自動啟動。
  如果需要再綁定多一個IP地址,只需要把文件名和文件內的DEVICE中的eth0:x加一即可。LINUX最多可以支持255個IP別名。

如何設置login後歡迎訊息
====================================
修改/etc/motd,往裡面寫入文本,就能使用戶通過telnet正確登入後執行shell之前得到相應的提示訊息。
motd就是「messages of the day」,也就是當日訊息的意思。管理員可以往裡面寫一些需要注意的事項或者通知等來提醒正式用戶。

如何設置login前歡迎界面
====================================
修改/etc/issue或者issue.net,往裡面寫入文本,就能使得用戶在login前得到相應的提示,這將有助於用戶分辨自己正在連接哪裡的主機。
issue的內容是出現在本機登入的用戶界面上,而issue.net則是在用戶通過網路telnet的時候出現。

如何在bash下快速執行某個特定歷史命令
====================================
在bash下面按ctrl r可以查找歷史命令中匹配的命令並執行

如何檢視工作行程繼承關係
====================================
直接在命令行中輸入
pstree
即可,程式會以樹狀結構方式列出系統中正在執行的各工作行程之間的繼承關係。

如何找出記憶體佔用最大的工作行程
====================================
除了可以使用top命令檢視記憶體使用情況之外,還可以使用更快的命令行命令,相關的命令如下:
ps aux | sort 4n
或者
ps aux | sort 5n

如何在Linux下面編輯二進制文件
====================================
http://freshmeat.net/redir/hexedit/4...能用hexedit filename來編輯二進制文件。

如何設置用戶密碼過期時間
====================================
設置某個用戶的密碼過期時間可以用usermod -e來設置,如果要統一設置用戶的密碼過期時間,那麼就要修改/etc/login.defs裡面的PASS_MAX_DAYS,比如修改所有用戶的密碼過期時間是30天:
PASS_MAX_DAYS 30
如果這個值是99999,那麼表示密碼永不過期。

如何修改網卡MAC地址
====================================
首先必須關閉網卡設備,否則會報告系統忙,無法更改。
命令是: /sbin/ifconfig eth0 down
修改 MAC 地址,這一步較 Windows 中的修改要簡單。
命令是:/sbin/ifconfig eth0 hw ether 00:AA:BB:CCD:EE
重新啟用網卡 /sbin/ifconfig eht0 up
網卡的 MAC 地址更改就完成了

如何用Bash糾正錯誤命令
====================================
當你輸入一個命令不知道是否正確的時候,可以使用ctrl t來糾正到正確的命令。
比如輸入mkdri,然後按ctrl t,bash會幫你糾正到最接近的命令mkdir。

如何使非root用戶都不能遠端登入
====================================
建立/etc/nologin文件,這樣所有的非root用戶都不能遠端登入。

如何不顯示其他用戶的消息
====================================
用戶可以使用mesg n來禁止別人給他發送訊息,其實就是禁止別人往自己的終端上面的寫權限。當別人試圖再使用write給他發送訊息時,發送者將會看見提示:
write: user has messages disabled on pts/n

如何知道某個命令使用了什麼庫文件
====================================
例如要知道ls使用了什麼庫文件,可以使用:
$ ldd /bin/ls

如何臨時增加交換空間
====================================
產生一個64M的空文件
#dd if=/dev/zero of=/swapfile bs=1024 count=65536

初始化該文件為交換文件:
mkswap /swapfile 65536
sync

啟動這個交換文件:
swapon /swapfile

如何使一個用戶工作行程在用戶退出系統後仍然執行
====================================
使用nohup command &,比如:
nohup wget -c ftp://test.com/test.iso
這樣即使用戶退出系統,wget工作行程仍然繼續執行直到test.iso下載完成為止

如何限制用戶的最小密碼長度
====================================
修改/etc/login.defs裡面的PASS_MIN_LEN的值。比如限制用戶最小密碼長度是8:
PASS_MIN_LEN 8
這樣用戶設置密碼的時候如果輸入的密碼長度小於8將不能設置

如何限制只有0組(gid=0)的用戶可以su成root
====================================
修改/etc/login.defs裡面的SU_WHEEL_ONLY的值為:
SU_WHEEL_ONLY yes
那麼就只有gid為0的用戶可以su成root。

如何禁用Ctrl Alt Del鍵重啟系統
====================================
有時候為了防止誤操作導致系統重新啟動(如機房裡面新來了個習慣用Window$系統的管理員:-D),或者出於安全的原因,需要禁用Ctrl Alt Del組合鍵。
只需要註釋掉/etc/inittab文件內的
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
這一行即可。如何註釋?在這一行的行首放一個「#」號即可。
Linux下軟件安裝詳解

在Windows下安裝軟件時,只需用滑鼠雙擊軟件的安裝程式,或者用Zip等解壓縮軟件解壓縮即可安裝。在Linux下安裝軟件對初學者來說,難度高於Windows下軟件安裝。下面我就詳細講解Linux下如何安裝軟件。

先來看看Linux軟件延伸名。軟件後綴為.rpm最初是Red Hat Linux提供的一種包封裝格式,現在許多Linux發行版本都使用;後綴為.deb是Debain Linux提供的一種包封裝格式;後綴為.tar.gz、tar.Z、tar.bz2或.tgz是使用Unix系統壓縮打包工具tar壓縮打包的;後綴為.bin 的一般是一些商業軟件。通過延伸名可以瞭解軟件格式,進而瞭解軟件安裝。

RPM格式軟件包的安裝

1.簡介
幾乎所有的Linux發行版本都使用某種形式的軟件包管理安裝、更新和卸載軟件。與直接從源代碼安裝相比,軟件包管理易於安裝和卸載;易於更新已安裝的軟件包;易於保護配置文件;易於跟蹤已安裝文件。

RPM全稱是Red Hat Package Manager(Red Hat包管理器)。RPM本質上就是一個包,包含可以立即在特定機器體系結構上安裝和執行的Linux軟件。RPM示意圖見圖1。

.sdec|安裝前腳本|二進制文件|二進制文件|。。。|安裝前腳本

圖1 RPM結構示意圖


大多數Linux RPM軟件包的命名有一定的規律,它遵循名稱-版本-修正版-類型-MYsoftware-1.2 -1.i386.rpm 。

2.安裝RPM包軟件
# rpm -ivh MYsoftware-1.2 -1.i386.rpm

RPM命令主要參數:

-i 安裝軟件。
-t 測試安裝,不是真的安裝。
-p 顯示安裝進度。
-f 忽略任何錯誤。
-U 升級安裝。
-v 檢測套件是否正確安裝。



這些參數可以同時採用。更多的內容可以參考RPM的命令幫助。

3.卸載軟件
# rpm -e 軟件名

需要說明的是,上面代碼中使用的是軟件名,而不是軟件包名。例如,要卸載software-1.2.-1.i386.rpm這個包時,應執行:
#rpm -e software

4.強行卸載RPM包
有時除去一個RPM是不行的,尤其是系統上有別的程式依賴於它的時候。如果執行命令會顯示如下錯誤訊息:

## rpm -e xsnow
error: removing these packages would break dependencies:
/usr/X11R6/bin/xsnow is needed by x-amusements-1.0-1



在這種情況下,可以用--force選項重新安裝xsnow:

## rpm -ivh --force xsnow-1.41-1.i386.rpm
xsnow



這裡推薦使用工具軟件Kleandisk,用它可以安全徹底清理掉不再使用的RPM包。詳細情況請檢視2003年《開放系統世界》第12期。

5.安裝.src.rpm類型的文件
目前RPM有兩種模式,一種是已經過編碼的(i386.rpm),一種是未經編碼的(src.rpm)。
rpm --rebuild Filename.src.rpm

這時系統會建立一個文件Filenamr.rpm,在/usr/src/redflag/RPMS/子目錄下,一般是i386,具體情況和Linux發行版本有關。然後執行下面代碼即可:
rpm -ivh /usr/src/regflag/RPMS/i386/Filename.rpm

使用deb壓縮打包的軟件安裝

deb 是Debian Linux提供的一個包管理器,它與RPM十分類似。但由於RPM出現得早,並且應用廣泛,所以在各種版本的Linux中都常見到,而Debian的包管理器dpkg只出現在Debina Linux中。它的優點是不用被嚴格的依賴性檢查所困擾,缺點是只在Debian Linux發行版中才能見到這個包管理工具。

1. 安裝
# dpkg -i MYsoftware-1.2.-1.deb

2. 卸載
# dpkg -e MYsoftware

使用源代碼進行軟件安裝

和RPM 安裝方式相比,使用源代碼進行軟件安裝會複雜一些,但是用源代碼安裝軟件是Linux下進行軟件安裝的重要手段,也是執行Linux的最主要的優勢之一。使用源代碼安裝軟件,能按照用戶的需要選擇定制的安裝方式進行安裝,而不是僅僅依靠那些在安裝包中的預配置的參數選擇安裝。另外,仍然有一些軟件程式只能從源代碼處進行安裝。

現在有很多地方都提供源代碼包,到底在什麼地方獲得取決於軟件的特殊需要。對於那些使用比較普遍的軟件,如 Sendmail,可以從商業網站處下載源代碼軟件包(如http://www.sendmail.org )。一般的軟件包,可從開發者的Web站點下載。下面介紹一下安裝步驟:

1.解壓資料包
源代碼軟件通常以.tar.gz做為延伸名,也有tar.Z、tar.bz2或.tgz為延伸名的。不同延伸名解壓縮命令也不相同,見表1。





2.編譯軟件
成功解壓縮源代碼文件後,進入解包的目錄。在安裝前閱讀Readme文件和Install文件。儘管許多源代碼文件包都使用基本相同的命令,但是有時在閱讀這些文件時能發現一些重要的區別。例如,有些軟件包含一個可以安裝的安裝腳本程式(.sh)。在安裝前閱讀這些說明文件,有助於安裝成功和節約時間。

在安裝軟件以前要成為root用戶。實現這一點通常有兩種方式:在另一台終端以root用戶登入,或者輸入「su」,此時系統會提示輸入root用戶的密碼。輸入密碼以後,就將一直擁有root用戶的權限。如果已經是root用戶,那就可以進行下一步。

通常的安裝方法是從安裝包的目錄執行以下命令:

gunzip soft1.tar.gz
cd soft1
#. /configure #配置#
make #調用make#
make install #安裝源代碼#



刪除安裝時產生的臨時文件:
#make clean

卸載軟件:
#make uninstall

有些軟件包的源代碼編譯安裝後可以用make uninstall命令卸載。如果不提供此功能,則軟件的卸載必須手動刪除。由於軟件可能將文件分散地安裝在系統的多個目錄中,往往很難把它刪除乾淨,應該在編譯前進行配置。

.bin文件安裝

延伸名為.bin文件是二進制的,它也是源程式經編譯後得到的機器語言。有一些軟件可以發佈為以.bin為後綴的安裝包,例如,流媒體播放器 RealONE。如果安裝過RealONE的Windows版的話,那麼安裝RealONE for Linux版本(文件名:r1p1_linux22_libc6_i386_a1.bin)就非常簡單了:
#chmod x r1p1_linux22_libc6_i386_a1.bin
./ r1p1_linux22_libc6_i386_a1.bin

接下來選擇安裝方式,有普通安裝和高階安裝兩種。如果不想改動安裝目錄,就可選擇普通安裝,整個安裝過程幾乎和在Windwos下一樣。

.bin文件的卸載,以RealONE for Linux為例,如果採用普通安裝方式的話,在用戶主目錄下會有Real和Realplayer9兩個資料夾,把它們刪除即可。

Linux綠色軟件

Linux 也有一些綠色軟件,不過不是很多。Linux系統提供一種機制:自動響應軟件執行工作行程的要求,為它設定好可以馬上執行的環境。這種機制可以是一種接頭,或者是中間件。程式員編寫的程式可以直接拷貝分發,不用安裝,只要點擊程式的圖示,訪問操作系統提供的接頭,設定好就可以工作。若要刪除軟件,直接刪除就可以,不用鏈接文件。這是最簡單的軟件安裝、卸載方式。

上面介紹了Linux軟件安裝的方法,對於Linux初學者來說,RPM安裝是一個不錯的選擇。如果想真正掌握Linux系統,源代碼安裝仍然是Linux下軟件安裝的重要手段。(T111)








1、Linux下有哪些中文系統?

  主要有CXTERM、wzce、CXWIN、XCIN、ZhXwin。CXTERM是執行在X-WINDOW下的中文終端。Wzce是一個作為 shell執行的終端。CXWIN是支持中文的XSERVER。XCIN可以在X-WINDOW下輸入中文。ZhXwin是中文輸入程式,需要 CXTERM。

  可到http://freesoft.cei.gov.cn下載以...xterm即可。

  2、怎樣在X Window中象Pwin98那樣顯示/輸入中文?

  要在X Window的任何地方輸入中文,可以使用xcingb,它是一種中文輸入法的Server;libst.so.1可以在任何地方顯示出中文,一起使用它們即可顯示/輸入中文。libst.so.1在http://freesoft.cei.gov.cn 裡有下載,Freesoft 裡有搜索器, 可以很方便用它查找。

  3、怎麼樣讓RedHat Linux在X啟動時自動加入中文支持(libst.so.4)?

  有兩種常用的方法:startx和xdm。對於這兩種方法,可通過在/etc/X11/xinit/Xclients文件中的這個部位加入以下幾行來完成:

  # TheNextLevel is supposed to work

  # with both fvwm95 and fvwm2

  # (try fvwm95 first, then fvwm2).

  for FVWMVER in 95 95-2 2;

  do if [ -n "$(type -path fvwm${FVWMVER})" ];

  then env > "$HOME"/Xrootenv.0

  !!!! LD_PRELOAD=/usr/home/min/ZhXwin/lib/libst.so.4

  !!!! export LD_PRELOAD

  # if this works, we stop here

  eval "exec fvwm${FVWMVER} ${FVWMOPTIONS}" >

  "$HOME"/.FVWM${FVWMVER}-erro

  rs 2>&1

  fi



tar.gz、tar.bz2的是源代碼包,需要編譯之後才能安裝,在編譯過程中你可以指定各種參數以適應你的系統需求,比如安裝位置,優化參數,要哪些功能不要哪些功能等等。
這類源代碼包需要解壓後(tar.gz的用 tar zxvf 解壓,tar.bz2的用 tar jxvf 解壓),進入解壓目錄,一般都有一個 INSTALL 的文本文件,裡面一般都是安裝的詳細說明,可以用vi、nano、pico或X下面的文本編輯器(如gedit,gvim,kedit等)打開檢視,安裝一般就是三個步驟:

1、configure,這一步一般用來產生 Makefile,為下一步的編譯做準備,你可以通過在 configure 後加上參數來對安裝進行控制,比如

代碼:

./configure --prefix=/usr
上面的意思是將該軟件安裝在 /usr 下面,執行文件就會安裝在 /usr/bin (而不是預定的 /usr/local/bin),資源文件就會安裝在 /usr/share(而不是預定的/usr/local/share)。同時一些軟件的配置文件你可以通過指定 --sys-config= 參數進行設定。有一些軟件還可以加上 --with、--enable、--without、--disable 等等參數對編譯加以控制,你可以通過允許 ./configure --help 察看詳細的說明幫助。

2、make ,這一步就是編譯,大多數的源代碼包都經過這一步進行編譯(當然有些perl或python編寫的軟件需要調用perl或python來進行編譯)。如果在 make 過程中出現 error ,你就要記下錯誤代碼(注意不僅僅是最後一行),然後你可以向開發者提交 bugreport(一般在 INSTALL 裡有提交地址),或者你的系統少了一些依賴庫等,這些需要自己仔細研究錯誤代碼。

3、在編譯之後一般就是 make insatll 命令來進行安裝(當然有些軟件需要先執行 make check 或 make test 來進行一些測試),這一步一般需要你有 root 權限(因為要向系統寫入文件)。

安裝完畢後你就可以刪除解壓目錄了。採用源代碼編譯方式來安裝軟件是 Linux 系統下最常見的安裝軟件方法,而且這種方法使你可以更加自由地控制安裝細節,所以提倡大家多使用該方法安裝軟件。

PS:對於 bin 類型的安裝文件,一般給該文件加上可執行權限,再執行之即可,如:

代碼:

chmod u x example.bin
./example.bin
理解 Linux 配置文件

介紹
每個 Linux 程式都是一個可執行文件,它含有操作碼列表,CPU 將執行這些操作碼來完成特定的操作。例如,ls 命令是由 /bin/ls 文件提供的,該文件含有機器指令的列表,在螢幕上顯示當前目錄中文件的列表時需要使用這些機器指令。幾乎每個程式的行為都可以通過修改其配置文件來按照您的偏好或需要去定制。

Linux 中有沒有一個標準的配置文件格式?
一句話,沒有。不熟悉 Linux 的用戶(一定)會感到沮喪,因為每個配置文件看起來都像是一個要迎接的新挑戰。在 Linux 中,每個程式員都可以自由選擇他或她喜歡的配置文件格式。可以選擇的格式很多,從 /etc/shells 文件(它包含被一個換行符分開的 shell 的列表),到 Apache 的複雜的 /etc/httpd.conf 文件。

什麼是系統配置文件?
內核本身也可以看成是一個「程式」。為什麼內核需要配置文件?內核需要瞭解系統中用戶和組的列表,進而管理文件權限(即根據權限判定特定用戶(UNIX_USERS)是否可以打開某個文件)。注意,這些文件不是明確地由程式讀取的,而是由系統庫所提供的一個函數讀取,並被內核使用。例如,程式需要某個用戶的(加密過的)密碼時不應該打開 /etc/passwd 文件。相反,程式應該調用系統庫的 getpw() 函數。這種函數也被稱為系統調用。打開 /etc/passwd 文件和之後查找那個被請求的用戶的密碼都是由內核(通過系統庫)決定的。

除非另行指定,Red Hat Linux 系統中大多數配置文件都在 /etc 目錄中。配置文件可以大致分為下面幾類:

訪問文件


/etc/host.conf 告訴網路域名服務器如何查找主機名。(通常是 /etc/hosts,然後就是名稱服務器;可通過 netconf 對其進行更改)
/etc/hosts 包含(本機網路中)已知主機的一個列表。如果系統的 IP 不是動態產生,就可以使用它。對於簡單的主機名解析(點分表示法),在請求 DNS 或 NIS 網路名稱服務器之前,/etc/hosts.conf 通常會告訴解析程式先檢視這裡。
/etc/hosts.allow 請參閱 hosts_access 的聯機幫助頁。至少由 tcpd 讀取。
/etc/hosts.deny 請參閱 hosts_access 的聯機幫助頁。至少由 tcpd 讀取。



啟始和登入/註銷


/etc/issue & /etc/issue.net 這些文件由 mingetty(和類似的程式)讀取,用來向從終端(issue)或通過 telnet 會話(issue.net)連接的用戶顯示一個「welcome」字元串。它們包括幾行聲明 Red Hat 版本號、名稱和內核 ID 的訊息。它們由 rc.local 使用。
/etc/redhat-release 包括一行聲明 Red Hat 版本號和名稱的訊息。由 rc.local 使用。
/etc/rc.d/rc 通常在所有執行級別執行,級別作為參數傳送。例如,要以圖形(Graphics)模式(X-Server)啟始機器,請在命令行執行下面的命令:init 5。執行級別 5 表示以圖形模式啟始系統。
/etc/rc.d/rc.local 非正式的。可以從 rc、rc.sysinit 或 /etc/inittab 調用。
/etc/rc.d/rc.sysinit 通常是所有執行級別的第一個腳本。
/etc/rc.d/rc/rcX.d 從 rc 執行的腳本(X 表示 1 到 5 之間的任意數位)。這些目錄是特定「執行級別」的目錄。當系統啟動時,它會識別要啟動的執行級別,然後調用該執行級別的特定目錄中存在的所有啟動腳本。例如,系統啟動時通常會在啟始消息之後顯示「entering run-level 3」的消息;這意味著 /etc/rc.d/rc3.d/ 目錄中的所有初始化腳本都將被調用。



文件系統
內核提供了一個接頭,用來顯示一些它的資料結構,這些資料結構對於決定諸如使用的中斷、初始化的設備和記憶體統計訊息之類的系統參數可能很有用。這個接頭是作為一個獨立但虛擬的文件系統提供的,稱為 /proc 文件系統。很多系統實用程式都使用這個文件系統中存在的值來顯示系統統計訊息。例如,/proc/modules 文件列舉系統中當前載入的模塊。lsmod 命令讀取此訊息,然後將其以人們可以看懂的格式顯示出來。下面表格中指定的 mtab 文件以同樣的方式讀取包含當前安裝的文件系統的 /proc/mount 文件。

/etc/mtab 這將隨著 /proc/mount 文件的改變而不斷改變。換句話說,文件系統被安裝和卸載時,改變會立即反映到此文件中。
/etc/fstab 列舉電腦當前「可以安裝」的文件系統。這非常重要,因為電腦啟始時將執行 mount -a 命令,該命令負責安裝 fstab 的倒數第二列中帶有「1」標記的每一個文件系統。
/etc/mtools.conf DOS 類型的文件系統上所有操作(創建目錄、複製、格式化等等)的配置。



系統管理


/etc/group 包含有效的組名稱和指定組中包括的用戶。單一用戶如果執行多個任務,可以存在於多個組中。例如,如果一個「用戶」是「project 1」工程組的成員,同時也是管理員,那麼在 group 文件中他的條目看起來就會是這樣的:user: * : group-id : project1
/etc/nologin 如果有 /etc/nologin 文件存在,login(1) 將只允許 root 用戶進行訪問。它將對其它用戶顯示此文件的內容並拒絕其登入。
etc/passwd 請參閱「man passwd」。它包含一些用戶帳號訊息,包括密碼(如果未被 shadow 程式加密過)。
/etc/rpmrc rpm 命令配置。所有的 rpm 命令行選項都可以在這個文件中一起設置,這樣,當任何 rpm 命令在該系統中執行時,所有的選項都會全局適用。
/etc/securetty 包含設備名稱,由 tty 行組成(每行一個名稱,不包括前面的 /dev/),root 用戶在這裡被允許登入。
/etc/usertty
/etc/shadow 包含加密後的用戶帳號密碼訊息,還可以包括密碼時效訊息。包括的字段有:
登入名
加密後的密碼
從 1970 年 1 月 1 日到密碼最後一次被更改的天數
距密碼可以更改之前的天數
距密碼必須更改之前的天數
密碼到期前用戶被警告的天數
密碼到期後帳戶被禁用的天數
從 1970 年 1 月 1 日到帳號被禁用的天數

/etc/shells 包含系統可用的可能的「shell」的列表。
/etc/motd 每日消息;在管理員希望向 Linux 服務器的所有用戶傳達某個消息時使用。



聯網


/etc/gated.conf gated 的配置。只能被 gated 守護工作行程所使用。
/etc/gated.version 包含 gated 守護工作行程的版本號。
/etc/gateway 由 routed 守護工作行程可選地使用。
/etc/networks 列舉從機器所連接的網路可以訪問的網路名和網路地址。通過路由命令使用。允許使用網路名稱。
/etc/protocols 列舉當前可用的協議。請參閱 NAG(網路管理員指南,Network Administrators Guide)和聯機幫助頁。
C 接頭是 getprotoent。絕不能更改。
/etc/resolv.conf 在程式請求「解析」一個 IP 地址時告訴內核應該查詢哪個名稱服務器。
/etc/rpc 包含 RPC 指令/規則,這些指令/規則可以在 NFS 調用、遠端文件系統安裝等中使用。
/etc/exports 要匯出的文件系統(NFS)和對它的權限。
/etc/services 將網路服務名轉換為連接阜號/協議。由 inetd、telnet、tcpdump 和一些其它程式讀取。有一些 C 訪問例程。
/etc/inetd.conf inetd 的配置文件。請參閱 inetd 聯機幫助頁。包含每個網路服務的條目,inetd 必須為這些網路服務控制守護工作行程或其它服務。注意,服務將會執行,但在 /etc/services 中將它們註釋掉了,這樣即使這些服務在執行也將不可用。格式為:<service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
/etc/sendmail.cf 郵件程式 sendmail 的配置文件。比較隱晦,很難理解。
/etc/sysconfig/network 指出 NETWORKING=yes 或 no。至少由 rc.sysinit 讀取。
/etc/sysconfig/network-scripts/if* Red Hat 網路配置腳本。



系統命令
系統命令要獨佔地控制系統,並讓一切正常工作。所有如 login(完成控制台用戶身份驗證階段)或 bash(提供用戶和電腦之間交互)之類的程式都是系統命令。因此,和它們有關的文件也特別重要。這一類別中有下列令用戶和管理員感興趣的文件。

/etc/lilo.conf 包含系統的預設啟始命令行參數,還有啟動時使用的不同映像。您在 LILO 啟始提示的時候按 Tab 鍵就可以看到這個列表。
/etc/logrotate.conf 維護 /var/log 目錄中的日誌文件。
/etc/identd.conf identd 是一個服務器,它按照 RFC 1413 文檔中指定的方式實現 TCP/IP 提議的標準 IDENT 用戶身份識別協議。identd 的操作原理是查找特定 TCP/IP 連接並返回擁有此連接的工作行程的用戶名。作為選擇,它也可以返回其它訊息,而不是用戶名。請參閱 identd 聯機幫助頁。
/etc/ld.so.conf 「動態鏈接程式」(Dynamic Linker)的配置。
/etc/inittab 按年代來講,這是 UNIX 中第一個配置文件。在一台 UNIX 機器打開之後啟動的第一個程式是 init,它知道該啟動什麼,這是由於 inittab 的存在。在執行級別改變時,init 讀取 inittab,然後控制主工作行程的啟動。
/etc/termcap 一個資料庫,包含所有可能的終端類型以及這些終端的性能。



守護工作行程
守護工作行程是一種執行在非交互模式下的程式。一般來說,守護工作行程任務是和聯網區域有關的:它們等待連接,以便通過連接提供服務。Linux 可以使用從 Web 服務器到 ftp 服務器的很多守護工作行程。

/etc/syslogd.conf syslogd 守護工作行程的配置文件。syslogd 是一種守護工作行程,它負責記錄(寫到磁碟)從其它程式發送到系統的消息。這個服務尤其常被某些守護工作行程所使用,這些守護工作行程不會有另外的方法來發出可能有問題存在的信號或向用戶發送消息。

/etc/httpd.conf Web 服務器 Apache 的配置文件。這個文件一般不在 /etc 中。它可能在 /usr/local/httpd/conf/ 或 /etc/httpd/conf/ 中,但是要確定它的位置,您還需要檢查特定的 Apache 安裝訊息。
/etc/conf.modules or /etc/modules.conf kerneld 的配置文件。有意思的是,kerneld 並不是「作為守護工作行程的」內核。它其實是一種在需要時負責「快速」載入附加內核模塊的守護工作行程。



用戶程式
在 Linux(和一般的 UNIX)中,有無數的「用戶」程式。最常見的一種用戶程式配置文件是 /etc/lynx.cfg。這是著名的文本瀏覽器 lynx 的配置文件。通過這個文件,您可以定義代理服務器、要使用的字元集等等。下面的代碼樣本展示了 lynx.cfg 文件的一部分,修改這部分代碼可以改變 Linux 系統的代理服務器設置。預設情況下,這些設置適用於在各自的 shell 中執行 lynx 的所有用戶,除非某個用戶通過指定 --cfg = "mylynx.cfg" 重設了預設的配置文件。

/etc/lynx.cfg 中的代理服務器設置

.h1 proxy
.h2 HTTP_PROXY
.h2 HTTPS_PROXY
.h2 FTP_PROXY
.h2 GOPHER_PROXY
.h2 NEWS_PROXY
.h2 NNTP_PROXY
# Lynx version 2.2 and beyond supports the use of proxy servers that can act as
# firewall gateways and caching servers. They are preferable to the older
# gateway servers. Each protocol used by Lynx can be mapped separately using
# PROTOCOL_proxy environment variables (see Lynx Users Guide). If you have
# not set them externally, you can set them at run time via this configuration file.
# They will not override external settings. The no_proxy variable can be used
# to inhibit proxying to selected regions of the Web (see below). Note that on
# VMS these proxy variables are set as process logicals rather than symbols, to
# preserve lowercasing, and will outlive the Lynx image.
#
.ex 15
http_proxy:http://proxy3.in.ibm.com:80/
ftp_proxy:http://proxy3.in.ibm.com:80/
#http_proxy:http://penguin.in.ibm.com:8080
#ftp_proxy:
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
有 5 位會員向 psac 送花:
BarbaraClera (2019-05-27),Candicefeddy (2019-08-02),LauraFub (2019-05-27),Peggyimmab (2019-05-28),s8321414 (2008-02-06)
感謝您發表一篇好文章