linux目錄結構介紹

轉貼:http://www.xici.net/main.asp?url=/u4612405/d78561560.htm

 

Linux的目錄結構比DOS複雜多了,讓我們來看看它的目錄裏有些什麼東西吧.

/bin (binary)
    這個目錄包含着所有的標準命令和應用程序.
/boot

    這裏存放給lilo使用的一些文件.
/dev (device)
    這個目錄包含着與終端和外設的文件接口,在Linux下,文件和設備是用同種方法訪問  的.系統上的每個設        備都應該在這裏有一個對應的設備文件.考察一下這個宏:
            #define putchar(ch) fputc(ch,stdout)
    其中fputs就是把ch輸出到stdout去了,這裏的stdout就是被當成了文件.
/etc (etcetera)
    這個目錄包含着系統設置文件和其他的系統文件,它在Linux下極爲重要,讓我們看看  它的子目錄裝些什麼:


/etc/DIR_COLORS
    設定在用 ls 時,各種不同檔案型態所用的顏色,但是不能用pipe 再導向輸出,否則就沒有各種顏色了.  由檔案的內容可以很輕易的瞭解,如 default 的directory 是藍色,具有可執行檔權限的是綠色,而壓縮檔是紅色......  這些都可依個人喜好來加以更改. 這個檔案內容寫得很清楚,想必大家一眼也就可以看得出來,在顏色的組成方面,  我們常用  RGB 三原色的成份值來組合出各種不同的顏色. 由R,G,B 這個bit 是 0 或是 1 三個值組合出顏色這個道理雖淺顯,但假如我們更瞭解R,G,B  的加權值分別是 1,2,4 的話,那就再也不用翻書查顏色了......  選擇自己的調色盤來取代預設的調色盤,是經常會做的事.
/etc/HOSTNAME
    設定用戶的節點名.記錄完整的hostname與domain name,這個檔案在須要hostname的場合會用得到,如 /etc/rc.d/rc.M 等......


/etc/NETWORKING
    裏面只有一行YES,表明網絡是存在的,沒有任何作用.
/etc/X11
link 到 /var/X11/lib/X11
/etc/aliases
      這個文件是給sendmail的使用設置別名.
/etc/at.deny
      在這個檔案中可記載那些人不能使用at這個命令來做一些later job,假如at.deny
    是空的,而且 at.allow 也不存在的話. 那就是每個人都可以用 at 這個命令.
    (at命令是讓系統在特定的時間執行某個作業,會了這個指令,可以在工作的執行上會
    更有彈性)
/etc/at.allow
      相對於at.deny,這個檔案記載那些人可以使用at.而關於at.deny與at.allow,at會
    先去找at.allow,假如存在而且有記錄一些人的話,那就只有這些人能使用at這個
    指令,但假如at.allow並不存在的話,那at就會去找at.deny,沒有在at.deny中的人
    都可以使用at這個指令了! 特別要說明的是,at的執行時間也許會不如你所預期的,比
    如說明明一個檔你叫它在 7:02 執行,但它卻會等到 7:05 才執行,這是因爲 crond
    是每五分鐘纔去看看 at 的 queue 中是否有要執行的 job.  當然,你也可以改成每
    分鐘都去 check,但這樣似乎沒有很大的意義,除非你對時間的準確度要求的很嚴格
    ,否則應該沒有必要去動纔是. 大家可去看看 /var/spool/cron/crontabs/root 中
    就有詳細記載,每五分鐘 run 一次 atrun,所以 at 命令的執行可看成以每五分鐘
    爲一單位.
/var/spool/atjobs
    當你使用 at 來安排一件工作時,系統會把你目前的環境變
    數及所要用 at 執行的工作抄一份到這個目錄下的檔案中.
/var/spool/atspool
使用 at 命令之後所得到的一些訊息,會被記錄在這裏.可
    能是 at 所要執行的命令傳回的錯誤訊息,或傳回執行成功的訊息.
/etc/bootptab
      這是用來設置無盤工作站的遠端守護進程/user/net/in.bootpd的.用戶不用設置.

/etc/csh.cshrc
/etc/csh.login
      這兩個檔案應該很熟悉羅!它就是大家常見到的.cshrc及.login,不過大家通常只注
    意到自己的home directory有這兩個檔,但/etc下也有這兩個檔,不過/etc下的這兩個
    檔絕大部份的情況下都是由 system administrator 在 maintain(維護),一般user不
    應該有權力去改. 順便一提的是,系統會先去找 /etc 下這兩個檔,接着才加上自己
    home directory中那兩個檔的設定.當然,有了.login也有.logout,.logout中可以寫
    一些 message,或執行一些命令,當你下達 logout 之後,.logout 就會被執行.
/etc/devinfo
      用來給makedev這個程序設定各種不同的設備驅動文件的格式.用戶不用設置.
    makedev是在/dev目錄下創建設備文件的程序.
/etc/diphosts
      用來設置撥號服務器的用戶名和密碼.
/etc/disktab(disk parameter table)
      假如你在剛開機有 pass 磁碟機的一些參數給 kernel 的話(通常是你的硬碟比較奇
    怪,需要 pass cylinders,heads,sectors 給 kernel 才抓的到,或者是 SCSI 的硬
    碟有時有時也要用到一些參數 ) 那這些參數就會被記錄在這裏.
/etc/exports
      這個檔案記錄着你要給別人mount的檔案系統,這就是典型NFS系統所存在的檔案
    ,TCP/IP for OS/2 若要使用 network file system 而要把自己的 filesystem 讓
    別人 mount 的話,這個檔案也是不可或缺的.
/etc/fastboot
      這個檔案是使用 shutdown -f 所產生的,-f means "fastboot".在重新 reboot
    之後,系統會去檢查這個檔是否存在,以決定是否要 run fsck.
/etc/fdprm(floppy disk parameter table)
      設定格式化軟盤的參數,一般情況下是不須要更動的,除非你有很奇怪格式的軟碟,
    或者你想做出不符合一 般格式的磁碟片.
/etc/fstab(file system table)
      記錄開機要  mount 上來的 filesystem,這個檔案相當重要! 大家可以在

/etc/rc.d/rc.S  中找到 /sbin/mount -avt nonfs 這一列,當執行到這一列時,
    mount 就依據 /etc/fstab  中的記載,自動的將檔案系統mount上來.假如你一開機
    就想自動mount一些 filesystems,而不要等到開機後再以手動 mount 的話那把這些
    filesystems 及相關資訊寫在這個檔.在檔案格式方面,每一列有六個欄位,不過後
    面兩個欄位常被省略所以我們只看到有四個欄位.其它的兩欄分別爲dump-freq及
    pass-number.dump-freq 預設值爲 0;而pass-number是 fsck 所會參考到的地方,數
    字可爲 0,1,2...... 1 表示這個 filesystem 將首先被 fsck check,2 表其次,
    餘類推......
      如我們的服務器:
      # Device        Mountpoint      FStype  Options        Dump    Pass#
      /dev/wd0s1b    none            swap    sw              0      0
      /dev/wd0s1a    /              ufs    rw              1      1
      /dev/wd0s1h    /home          ufs    rw,async                2      2
      /dev/wd0s1g    /tmp            ufs    rw,async                2      2
      /dev/wd0s1f    /usr            ufs    rw,async                2      2
      /dev/wd0s1e    /var            ufs    rw,async                2      2
      proc            /proc          procfs  rw              0      0
      /dev/wcd0c      /cdrom          cd9660  ro,noauto      0      0
/etc/ftpacces
      設定ftp服務器的一些配置,包括匿名服務器的設置.
/etc/ftpconversions
      設定在ftp時使用的過濾器的位置.例如"get dirname.tar"就可以將ftp服務器上
    的目錄先tar再傳回來,這個文件就是設定這些打包或壓縮程序的目錄和參數的.
/etc/ftpusers
      這個檔案記錄那些人不可以 ftp 簽入系統,預設值有 root,uucp,news.這些都是爲
    了security方面的考慮,你可以在這裏加入不可 ftp 進來的 user id.
/etc/gateways
      顧名思義,這個檔案記錄一些 gateways 的 information.
      這個檔案的格式如下:
    <net|host> name1 gateway name2 metric value <passive|active|external>
    當 routed 啓動時,它會去讀 /etc/gateways 這個檔. 若一個 gateway並不做
    routing information 交換的話,那它就會被標示成  passive,假如有做routing
    information 的交換 ( 這臺機器上有 run routed ),那就會標示成 active net 或
    host 這個關鍵字是指出 route 是到網路或是到一臺特定的機器上.  name1  就是目
    地網路或目地機器的名字.這個名字可用  /etc/hosts 或是 /etc/networks  中的
    symbolic host name. name2 就是訊息將被送往之gateway的name或IP address.
/etc/gettydefs
      getty_ps的定義文件.
/etc/group
      如同 /etc/passwd 列出了系統中所有的使用者名字,/etc/group 定義系統中所
    有的 group name 與相關訊息. 格式爲:
      group_name:passwd:GID:user_list
    如:wheel:*:0:root,hua,yzr,cyt
    上面的例子表示root,hua,yzr,cyt都是屬於wheel這個 group.通常 passwd 那欄是空
    白的,表示不用密碼.或放一個*號.
      這個檔案只能爲 superuser 所讀寫,一個 superuser 可使用 groupadd,
    groupdel,groupmod 來管理 /etc/group 這個檔,要手動管理也是可以.下面是這三個
    指令的用法 :
      groupadd [ -g gid [ -o ] ] group_name
      groupdel group_name
      groupmod [ -g gid [ -o ] ] [ -n new_group_name  ] group_name

/etc/hostid
      系統獨有的一個硬件id,許多商業程序利用這個來做license的管理,在其他工作站
    上這個參數是無法更改的,只有linux可以用hostid這個參數來更改.
/etc/hosts
      這個檔案記錄着 IP address 至hostname的mapping.如我們想把 202.38.248.1 取
    個別名叫:bbs.那我們就可以在這個檔案裏寫如下的敘述 :
      202.38.248.1      bbs
    如此一來,以後我們 telnet bbs 就等於 telnet 202.38.248.1.在這個檔案中,至
    少會有兩列,一列爲 loopback,這是爲了偵錯目的而設的,另一列爲 local host,就是
    你自己的機器.
/etc/host.conf
      這個文件會說明用戶的系統會如何查詢節點名,它應該包括至少以下兩行:
      order hosts,bind
      multi on
    這兩行通知先檢查/etc/hosts文件,然後去查DNS,而且可以使用多個DNS.
/etc/host.equiv
      在裏面可以設定一些 remote machine,而從這些 remote machine 利用 rsh 或
    rlogin 連回 local machine 的話便不用輸入密碼..rhosts的作用也是類似的.不過
    這東西最好不要亂設,以信得過的hosts爲主,纔不會造成security上的困擾.
/etc/host.deny
      設定那些 remote hosts 不可以使用 inetd.
/etc/host.allow
      設定那些remote hosts可以使用inetd.如ALL:202.38.248.就是202.38.248.上
    的所有機器都可以用了.
/etc/host.lpd
      記錄可 access printer 的 hosts.假如一臺 printer可被網路上的許多臺主機
    所共用,那 printcap  這個檔案必須得描述完整的網路設定資訊. 在比較嚴密控制
    的情況下,有兩個條件必須符合首先,local machine 必須在 remote machine 的
    /etc/hosts.eqiuv 中,或者,在 remote machine 的 /etc/hosts.lpd  中被記載第
    二,使用者必須有 remote machine 的帳號.
/etc/inetd.conf
      設定系統的網絡守護進程inetd的配置,格式如下:
      service_name  sock_type  proto  flags  user  server_path  args
      服務名稱      包類型    協議  參數  用戶  服務器路徑    參數
    例如:
    ftp    stream  tcp nowait root  /usr/local/libexec/ftpd ftpd -a
    telnet  stream  tcp nowait root  /usr/libexec/telnetd    telnetd
    #shell  stream  tcp nowait root  /usr/libexec/rshd      rshd
    #login  stream  tcp nowait root  /usr/libexec/rlogind    rlogind
    #finger stream  tcp nowait nobody /usr/libexec/fingerd    fingerd -s
    #exec  stream  tcp nowait root  /usr/libexec/rexecd    rexecd
    #uucpd  stream  tcp nowait root  /usr/libexec/uucpd      uucpd
    #nntp  stream  tcp nowait usenet /usr/libexec/nntpd      nntpd
    #comsat dgram  udp wait  root  /usr/libexec/comsat    comsat
    #ntalk  dgram  udp wait  root  /usr/libexec/ntalkd    ntalkd
    #tftp  dgram  udp wait  nobody /usr/libexec/tftpd      tftpd /tftpboot
    #bootps dgram  udp wait  root  /usr/libexec/bootpd    bootpd
/etc/inetd.pid(inetd process id)
      inetd這個進程的進程id.
/etc/inittab
      設定系統啓動時init進程將把系統設置成什麼樣的runlevel,用戶不需要設置.
/etc/issue
      這個檔案被記錄着 login prompt 前所要 echo 的 message,特別要注意的是
    /etc/rc.d/rc.S下面的四行若沒有mark,則每次開機 issue 及 motd 都會被重建.
/etc/klogd.pid(klogd process id)
/etc/ld.so.cache
      查找系統動態鏈接共享庫的緩存,如果損壞用ldconfig可以重新產生.
/etc/ld.so.conf
      系統動態鏈接共享庫的路徑,記錄一些 library 所在的目錄,應用程序從這個文件
    去查找相應的lib文件.例如:
      /usr/local/lib
      /usr/X11R6/lib
      /usr/i486-linuxaout/lib
      /usr/openwin/lib
/etc/lilo.conf
      配置多重啓動程序lilo的配置文件,每次更改之後一定要重新運行lilo纔有效.
/etc/login.defs
      這是所有用戶登陸時的缺省配置文件,這個文件中有大量的定義,許多原先在profile
    和login文件中的定義都挪到這裏了.如用戶缺省路徑,登陸時間限制,最多錯誤登陸次
    數等.是系統管理員應該經常修改的地方.
/etc/magic
      這個檔案記載了許多檔案格式的識別字串或方法.那這個檔在那裏會用的到呢?用在
    file 這個指令上.file 這個指令的命令格式爲:
      file [ -c ] [ -z ] [ -L ] [ -f namefile ] [ -m magicfile ] file
    file 這個指令可以告訴你某一個檔案的格式,如它是一個 text 檔,或是一個
    shell script 或 DOS 可執行檔等...... 而 file這個指令,就是去參考/etc/magic
    這個資料庫.假如你知道某一檔案的識別字,而原來 magic 這個資料庫沒有記錄,那
    你可以把識別方法加到資料庫中,或乾脆建立自己的資料庫算了.
/etc/mail.rc;/etc/mailcap;/etc/sendmail.cf;/etc/sendmail.st
      這幾個文件都是爲了設置sendmail的.
/etc/makedev.cfg
      同devinfo一樣是給makedev使用的設置文件.用戶不必設置.
/etc/motd(message of the day)
      在這個檔裏面可以寫一些 message ,而這些 message 會在 login shell 之前被顯
    示出來.通常都是 system administrator 要告知 user 的一些訊息. 而關於每次都
    會改變的問題,在前面/etc/issue時已提出過,記得 mark 起來就是了.
/etc/mtab
      記錄目前mount的filesystem.大家可以用mount指令來看這個檔的變化的.每mount
    一個filesystem,在這個文件就可以立刻反映出來了.也就是說,這個文件是動態更新
    的,可以參見/proc/mounts這個文件.
/etc/mtools
      這裏面記錄的是給 /usr/bin/mtools 參考用的 parameter.mtools就是一羣操作
    MSDOS檔案的命令集合,可用的命令如下:
      mattrib - change MSDOS file attribute flags
      mcd - change MSDOS directory
      mcopy - copy MSDOS files to/from Unix
      mdel - delete an MSDOS file
      mdir - display an MSDOS directory
      mformat - add an MSDOS filesystem to a low-level formatted diskette
      mlabel - make an MSDOS volume label
      mmd - make an MSDOS subdirectory
      mrd - remove an MSDOS subdirectory
      mread - low level read (copy) an MSDOS file to Unix
      mren - rename an existing MSDOS file
      mtype - display contents of an MSDOS file
      mwrite - low level write (copy) a Unix file to MSDOS
    這些都被 link 到 mtools.
/etc/named.boot
      假如你要建立 name server 的話,那這個檔就是你要修改的地方詳細的情況可以
    去看 named 的 manual.
/etc/named.pid(named process id)
      本機上運行DNS的進程id.
/etc/networks
      這個檔與 hosts 有點像,都是在 boot 的時候會用到的東西,在這裏可以定義一
    個子網路與其 IP address 的資訊.
/etc/NNTP_INEWS_DOMAIN
      設置新聞服務器的配置文件.
/etc/nntpserver
      設置用戶使用的新聞服務器的地址.
      這個檔案記錄着 news server,當我們使用 tin -r (read news remotely) 時,
    這個檔案會被參考到,或者若這個檔案不存在的話,那環境變數 NNTPSERVER 所指定
    的 server 就會被當成要去取得 news 的 server.  譬如說,你要將 202.38.248.1
    當成 news server,那 /etc/nntpserver 中就可寫: 202.38.248.1
/etc/nologin
      你也許會感到奇怪,我的 /etc 這個 directory 下並沒有這個檔啊?沒錯,它平常是
    不存在的,通常會看到這個檔的話,那表示系統大概要 shutdown 了,因爲系統要
    shutdown 了,自然不希望有人又login 進來,所以在我們執行 shutdown時,nologin
    這個檔會自動的被 create,裏面放着 shutdown message.實際上,當我們在login 時,
    系統會去檢查有沒有這個檔,假如有的話,那就會印出這個檔案中的 message,然後不
    讓你 login.nologin 也有可能是爲了某種理由被製造的,比如說系統在 maintain
    暫時不希望有人 login.無論如何 nologin 若存在,就不能 login.
/etc/organization
      存放用戶的名字和組織,沒什麼用.
/etc/passwd
      呵呵,這個檔案可重要了.一個 system administrator 最初要學的常常就是這個
    檔案的內容! 這個檔案記錄着系統可以認得的user,也包括一些非人的 login name,
    但這是有特殊用途的.  檔案內容每列的格式如下:
      Login Name:Encrypted Password:UID:GID:GCOS:Home Directory:Login Shell
    (1)login name
      在 login name 方面,每個 login name 必須是唯一的,而且不能超過 8 個字符,
    一般說來,login name 雖然可以大小寫混合,但平常的情況下都用小寫.
    (2)Encrypted Password
      這欄是編碼過的密碼,在新增一個 new user 時,應該在這欄填上*,更改 password
    可用 passwd 這個指令. passwd 這是一個 setuid 的指令.
    (3)UID(user id)
      每個"人"都要不一樣,習慣上,100 以前被保留做爲特殊的 user id,而root總是0.
    (4)GID(group id)
      在比較早期的系統,一個user同時只能在一個group,不過現在就沒有這種限制了.
    (5)GCOS
      這欄基本上沒有特殊格式限制,在這裏可以寫上你的 full name家中電話,住址等.
    愛寫什麼就寫什麼.
      finger 這個指令會去讀這地方的資訊.用chfn 可改變這欄.
    (6)Home Directory
      這欄沒什麼,就是記錄 user 的 home directory 而已,利用 cd 或 cd~ 都可回到
    home directory.
    (7)Login Shell
      設定使用者所使用的 shell,預設值是 /bin/bash.當然,你也可以自己改成 csh
    或 tcsh,zsh 也是不錯,假如有 free 版的 korn Shell 也可拿來用用.用 chsh可改
    變你的 login shell.
      爲了 security 方面的考慮,可以安裝 shadow,將 passwd 這個檔完全的與一般
    user 隔絕開來,連讀也沒有辦法讀 passwd 這個檔.

/etc/pnpdevices
      列出了支持的plug&play設備.

/etc/profile
      profile 這個檔是 bash 這個 shell 所用的,profile 之於bash就好像 cshrc 之於
    csh. 同樣的,/etc 下的 profile 也是 SA 在維護的,主要是放着全域的設定(Global
    Setting)而每個 user 在自己的 Home Directory 都可以有各人的.profile.

/etc/protocols
      假如你爲了某些目地,而寫了自己的 protocol,那你就必須把它列在這個檔案中,這
    樣 inetd 纔會管理一些 daemons 去用它這個檔案每列的格式如下,# 之後的是註解:
      Protolcol Name      Portocol Number      Aliases
      協議名              代碼                  別名
    ip      0      IP      # internet protocol,pseudo protocol number
    icmp    1      ICMP    # internet control message protocol
    igmp    2      IGMP    # internet group multicast protocol
    ggp    3      GGP    # gateway-gateway protocol
    tcp    6      TCP    # transmission control protocol
    pup    12      PUP    # PARC universal packet protocol
    udp    17      UDP    # user datagram protocol
    idp    22      IDP    # WhatsThis?
    raw    255    RAW    # RAW IP interface

/etc/psdatabase
      這個檔案是被 psupdate 所用到,psupdate 主要的功能就是更新
    /etc/psdatabase 這個檔,以符合目前的 kernel image system map file.一般的預設
    檔是 /usr/src/linux/tools/zSystem.

/etc/resolv.conf
      這裏面記載着你機器的 domain name 及 name server 的 IP address,name server
    可以自己加入.name server 可不要隨便就去掉,否則,就會地址沒有辦法被解譯,故會
    有 Host name lookup failure 的信息.

/etc/rpc
      !!!!!!!!!

/etc/securetty
      假如你要以 root login 的話,實際上是有限制的,這個檔案就列出了 root 可以
    login 的 ttys,假如你把每一列都 mark 起來那就沒有任何一個 terminal 可供root
    login 了,就會出現以下的情況 :
                  login: root
                  root login refused on this terminal.
    仔細的在這個檔案列出可用的 terminal,可使從 modem 連的使用者或經由網絡來的
    其它的使用者比較不容易取得 superuser 的權力.

/etc/services
      設定系統的端口與協議類型和提供的服務.

/etc/shadow
      這個文件對一般用戶是不可讀的,加密後的密碼就放在這個文件中.

/etc/shells
      這個檔案裏面就記錄着可以用的 login shell.還有一點,那就是這個檔的記錄會在
    使用 chsh 時做爲參考,唯有被列在這裏的 shell,使用 chsh 時纔會出現這些 shell
    可選.實際上如果強行直接修改passwd文件,也可以使用不在列表中的shell程序,但會
    造成在ftp的時候,無法登陸.

/etc/slip.hosts;/etc/slip.login
      這兩個文件是設定SLIP的配置文件.

/etc/snooptab
      如果系統管理員用ttysnoops替換了login這個程序,就可以用snooptty這個程序來
    監控用戶的屏幕,這個文件就是能監聽的終端列表.

/etc/sudoers
      在一個不是很複雜的系統中,也許一個 System Administrator 就可以管理所有的
    事情.但一但系統提供的服務變多,系統管理的工作也隨之變得沉重,這時候,sudo 就
    派上用場了,sudo 可以讓一個普通的 user 變成 superuser,這樣一來,一個系統的某
    些工作,就可以分配給這些 superusers 來做.以減輕負擔.
      當然,並不是每個 user 都可以變成 superuser.所以/etc/sudoers 就是記錄着那
    些人可以用 superuser 的身份來執行一些工作.
      這個檔案有一個專屬的 editor 叫 visudo 可來編輯 /etc/sudoer.而關於使用
    sudo.bin有一個記錄檔,在 /var/adm/sudo.log,裏面記錄着誰在什麼時候利用sudo
    下了那些指令.順便一提的是:利用下面這個命令可抓出那些人轉換成 superuser 但
    卻沒有成功:grep "FAILED SU" /var/adm/messages
/etc/syslog.conf
      系統記錄程序syslogd的配置文件,格式如下:
      *.=info;*.=notice    /usr/adm/messages
      *.=debug            /usr/adm/debug
      *.=warn              /usr/adm/syslog
    即所有的info和notice信息都存在/usr/adm/messages下,debug信息在/usr/adm/debug
    下,警告信息在/usr/adm/syslog下.

/etc/ttys
      設定系統的終端類型.

/etc/utmp
      從 utmp 中可以知道現在有誰正在用系統.當使用者logout之後,init就去把logout
    的使用者從 /etc/utmp 中去掉.實際上,utmp 每個 record 是像這樣的一個結構:
            struct utmp {
                short ut_type;              /* 登陸類型 */
                pid_t ut_pid;              /* 進程id */
                char ut_line[12];          /* 使用終端 */
                char ut_id[2];              /* 初始化id */
                time_t ut_time;            /* 登陸時間 */
                char ut_user[8];            /* 用戶名 */
                char ut_host[16];          /* 遠程登陸機器名 */
                long ut_addr;              /* 遠程登陸機器的ip */
              };
    瞭解這個檔案,進而去修改,可以做出許多有趣的事......:P
/etc/wtmp
      簡而言之,wtmp 是一個 login data base,有許多的指令會用到這個檔,像 last,
    sessreg,who 等......這個檔案格式與 utmp 大致相同,只是多了shutdown及reboot
    這個記錄,指出系統的 shutdown 或 reboot,及一個空的 user name指出在相關
    terminal 的 logout.還有,不像 /etc/utmp,/etc/wtmp 的記錄是慢慢的附加上去的,
    也就是說,這個檔案會越變越大,雖然變大的速度並不會太快,但一但到了某種程度大小
    的話,System Administrator 可以隔一段時間就刪除這個文件,再用touch來產生.下面
    是用 last 這個指令所得到的部份內容:
      bbs      tty1                          Tue Nov 29 19:09 - 19:09  (00:00)
      root      tty1                          Tue Nov 29 19:08 - 19:09  (00:00)
      root      tty1                          Tue Nov 29 19:07 - 19:07  (00:00)
      runlevel  ~                            Tue Nov 29 19:07
      reboot    ~                            Tue Nov 29 19:07
/etc/XF86Config
      X Window的配置文件.
/etc/yp.conf
      NIS的配置文件.
/etc/zprofile
      link 到 /etc/profile
/home
    存放用戶主目錄的地方,一般說"/home/username"就是用戶的主目錄.
/lib(library)
    存放系統最基本的動態連接庫.這個目錄如果被刪除的話就不能動了.幾乎所有的程序
  都要用到這個目錄下的共享庫.
/lost+found
    這個目錄一般都是空的.但當文件系統發生故障(如系統掉電)後,在機器啓動的時候有
  些文件找不到應該存放的地方,就放到這個目錄底下了.這個目錄是mkfs是自動產生的.
/mnt
    空目錄,是讓用戶臨時掛載文件系統的地方.
/proc
    是linux提供的一個虛擬系統,是由系統在系統啓動的時候在內存中產生的,用戶可以
  直接通過訪問這些文件來獲得系統信息,例如/proc/kcore就是系統運行的時候內存的
  映象文件.
/root
    超級用戶主目錄.
/sbin
    這個目錄存放着super user使用的系統管理程序,如fsck,mount等.
/tmp(temporary)
    存放不同的程序執行時產生的臨時文件.這是除了/usr/local目錄以外一般用戶可以
  使用的一個目錄.這個目錄在啓動時系統並不自動刪除,所以最好能經常刪除這裏的無用
  文件.
/usr(user)
    linux系統佔地最大的一個目錄,用戶的很多應用程序和文件都幾乎存放在這裏.下面
  時一些比較重要的目錄:
/usr/X11R6
      存放XFree86的目錄,所有於X Window有關的程序都放在這裏.
/usr/bin
      用戶用到的大部分程序都放在這裏.

/usr/sbin
      超級用戶的管理程序和系統守護程序.
/usr/doc
      放着linux的文檔.
/usr/include
      在linux下開發編譯應用程序需要的頭文件.
/usr/lib
      存放常用的動態鏈接共享庫和靜態檔案庫.
/usr/local
      讓用戶安裝新軟件使用的,目錄結構和/usr類似.
/usr/man
      存放着linux online help.
/usr/src
      存放着系統的源代碼,缺省的有一個/usr/src/linux目錄,是用來存放系統內核的源
    代碼.重新編譯內核的時候就是在這個目錄下進行的,有些應用程序也會用到這個目錄
    下的一些頭文件.
/var
    這個目錄中存放着那些不斷在擴充着的東西,爲了保持/usr的相對穩定,那些經常被
  修改的目錄可以放在這個目錄下.
/var/log
      系統的日誌文件.
說明:在不同的linux版本,目錄結構也有不少的區別.

發佈了14 篇原創文章 · 獲贊 9 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章