Linux不完全手冊(三)

來源:互聯網
上載者:User

linux系統目錄結構介紹篇

  linux系統有其特定的檔案系統的目錄組織圖,瞭解這些目錄結構是學習基本知識的基本。下面我以redhatlinux為藍本介紹一下這些目錄結構。
目錄名
簡介

/bin
這個目錄是系統中最主要的可執行檔的存放地,這些可執行檔大都是linux系統裡最常用的命令了,一般使用者和超級使用者都會經常使用其下的命令,如:ls、su、mount等。

/etc
是系統內部存放設定檔的最主要場所,一般和系統關係十分密切的設定檔都放在該目錄下,也就是說對系統的配置主要就是對該目錄下的檔案進行修改。在該目錄下大多是文字檔。,比如:inittab、lilo.conf等。

/lost+found
主要是系統有毛病的時候存放檔案的地方,正常情況下可以不去理會。

/root
超級使用者root的預設主目錄,對一般使用者來說該目錄是沒有進入許可權的。一般自己的檔案都考到自己的主目錄下面,以免打亂原來的系統階層。

/tmp
和dos或windows的temp目錄相同,也就是該目錄下面存放臨時檔案。

/boot
這個是redhatlinux特有的目錄,存放系統啟動的時候的核心檔案和其他一些資訊檔。有的發行版本就沒有這個目錄,而是把這些東西放在根目錄下。

/home
這是系統預設的普通使用者的主目錄的根目錄,也就是普通使用者的主目錄設定為:/home/[userid]目錄。

/mnt
是系統提供安裝額外檔案系統時候的安裝目錄,這個主要的目的是為了不打亂原來的目錄系統結構,否則安裝在哪裡都是可以的。只要那個目錄沒被使用。

/sbin
和/bin一樣,主要是存放可執行檔的場所,只不過這裡的可執行檔主要是給超級使用者管理管理系統時使用的,普通使用者幾乎沒有許可權執行其中的程式。如:mke2fs、ifconfig等。

/usr
這個目錄是linux系統裡面佔用磁碟空間最大的目錄,該目錄下面有許多應用程式,他的子目錄也比較複雜,而且系統之間還有好多不同,我將在下一張表格裡介紹它。

/dev
這個目錄下面的所有檔案都是特殊檔案,linux系統把所有的外設都看成是一個檔案,就是說你對代表該外設的檔案的操作就表示對該外設的操作。所以說/dev對系統是相當重要的。比如你想對磁碟片進行EXT2檔案系統的格式化,那麼就要這樣做:mke2fs /dev/fd0,這裡的fd0就代表軟碟機。

/lib
存放系統的連結庫檔案,沒有該目錄則系統就無法正常運行。我曾試著給該目錄改名,結果任何命令都無法運行,只好用磁碟片啟動機器再安裝好檔案系統才解決這個問題,可見其重要性。

/proc
這個目錄中的檔案其實不是存放在磁碟上的,該目錄的檔案系統叫做proc檔案系統,是系統核心的映像。也就是說該目錄裡面的檔案是存放在系統記憶體裡面。可以通過察看這些檔案來瞭解系統的運行情況。這個目錄不要隨意動,稍有不慎就可能導致系統的鎖死。

/var
主要是一些系統記錄檔案的存放地,同時也存放一些系統的設定檔。因系統不同而異。

/usr目錄結構:

目錄名
簡介

/usr/x11r6
主要是xwindows的目錄,下面還有子目錄的結構大致和根目錄相同。

/usr/games
安裝時選擇的遊戲都在這裡。

/usr/src
主要是系統核心或其他程式的來源程式。

/usr/bin
和/bin一樣都是一些使用者層級的可執行檔。

/usr/i486-linux-libc5
試linux的一些庫檔案,用於編譯可執行檔或者是程式執行當中的連結。

/usr/local
是本地目錄結構層次,也就是後來安裝的程式盡量把自身加入到該目錄裡面。該目錄也是有結構的目錄,其子結構的用途和作用也類似於根目錄。

/usr/tmp
是非系統層級的臨時檔案的存放地。

/usr/include
這個目錄是存放編譯器所包含的標頭檔的主要目錄。

/usr/man
這是系統中的線上手冊也就是協助文檔的主要存放地。

/usr/doc
存放一些系統的說明文檔和一些HOWTO檔案。

/usr/sbin
和/sbin差不多。

/usr/lib
編譯時間的連結庫檔案。

Linux系統設定篇

  要管理好一個系統,從某種意義上來說對系統檔案的設定佔有及其重要的地位。鑒於linux系統的複雜性,在這裡我只對/etc目錄下的那些重要檔案做一個簡單的介紹。

DIR_COLORS:

  該檔案指定了系統哪些終端可以使用彩色的模式,定義了不同檔案類型在列出時的不同顏色。可以自己修改這些設定。或把檔案拷貝到自己主目錄下面的.dir_colors,然後自己修改這個檔案,以使用個人設定。

HOSTNAME:

  該檔案記錄了本地主機的主機名稱和網域名稱,使用主機名稱.網域名稱的格式,比如ttqq.tsinghua.edu.cn裡面的ttqq就是主機名稱,而tsinghua.edu.cn則是網域名稱。

BASHRC:

該檔案定義使用bash為shell時自動執行的一個設定檔,其中可以放置一些需要啟動並執行命令和別名設定,如:

  PS1="[\u@\h\w]\\$" 〔定義系統提示符方式〕
  Alias which="type -path" 〔定義which命令為type -path的別名〕
  Alias ls="ls -color" 〔定義ls命令為代-color參數的ls命令〕
  Alias rm="rm -f" 〔定義rm命令為代-f參數的命令〕

CRONTAB:

  該檔案定義了系統自動執行的進程。對crontab分的比較詳細,分成了按小時、日、星期、月自動執行。

CSH.CSHRC:

  該檔案是使用csh作為系統shell時的處始化檔案,就象bashrc檔案對於bash一樣。
FDPRM:

  該檔案是系統配置軟碟機的參數檔案,普通軟碟機的參數列表如下:

  # size sec/t hds trk stre gap rate spec1 fmt_gap
  360/360 720 9 2 40 0 0x2A 0x02 0xDF 0x50
  1200/1200 2400 15 2 80 0 0x1B 0x00 0xDF 0x54
  360/720 720 9 2 40 1 0x2A 0x02 0xDF 0x50
  720/720 1440 9 2 80 0 0x2A 0x02 0xDF 0x50
  720/1440 1440 9 2 80 0 0x2A 0x02 0xDF 0x50
  360/1200 720 9 2 40 1 0x23 0x01 0xDF 0x50
  720/1200 1440 9 2 80 0 0x23 0x01 0xDF 0x50
  1440/1440 2880 18 2 80 0 0x1B 0x00 0xCF 0x6C

  這裡大概包括了主要軟碟機的參數,如果以後你有特殊的軟碟機,那麼就可以按上面的格式寫出他的參數設定。

FSTAB:

  該檔案比較重要,是系統啟動時自動安裝上的檔案系統備置表檔案。下面給出一個實際檔案,然後在介紹其中內容:

  /dev/hda6 / ext2 defaults 1 1
  /dev/hda7 swap swap defaults 0 0
  /dev/fd0 /mnt/floppy supermount fs=vfat,dev=/dev/fd0 0 0
  /dev/cdrom /mnt/cdrom supermount fs=iso9660,dev=/dev/cdrom,ro 0 0
  /dev/hda1 /mnt/c vfat defaults 0 0
  /dev/hda5 /mnt/d vfat defaults 0 0
  none /proc proc defaults 0 0

  可以看出來,每一行由六項組成,其中每一項的意思為:

  1. 描述欲安裝檔案系統的裝置。
  2. 描述安裝的目錄,也就是安裝點。
  3. 描述安裝裝置上的檔案系統。
  4. 描述安裝時的安裝方式。
  5. 使dump程式對該檔案系統處理時的標誌位。
  6. 在啟動fsck程式對檔案系統進行檢查時的標誌位。

  現在我結合以上內容來對這個檔案進行解釋:

  第一行:將首先安裝/dev/hda6為根檔案系統,檔案系統類型為ext2,使用預設安裝方式。
  第二行:將安裝/dev/hda7為swap分區,使用swap檔案系統,參數表示是交換分區,使用預設安裝方式。
  第三行:安裝/dev/fd0到/mnt/floppy,可以使用任何檔案系統,預設安裝方式。
  第四行:安裝/dev/cdrom到/mnt/cdrom,可以使用任何檔案系統,預設安裝方式。
  第五行:將/dev/hda1安裝到/mnt/c上,使用fat檔案系統,預設安裝。
  第六行:將/dev/hda5安裝到/mnt/d上,使用fat檔案系統,預設安裝。
  第七行:安裝核心映像檔案系統的規定寫法,安裝到/proc,使用proc檔案系統。

  這樣,你就可以根據自己的需要來任意安裝檔案系統了。

GETTYDEFS:

  該檔案裡面設定了tty裝置的屬性,也就是虛擬控制台一類的裝置的屬性,如速度等。在這個檔案裡還可以更改登入預設提示符等。

HOSTS:

  該檔案是本地的一個網路主機位址解析檔案,相當於windows下的那個Hosts.sam檔案。功能是輸入的如果是一個網域名稱或主機名稱那麼首先尋找這個檔案進行網域名稱解析,如果這個檔案裡有對應的ip地址,那麼就使用,如果這個檔案裡沒有對應的ip,那麼就訪問我們的DNS伺服器來進行尋找。

HOSTS.ALLOW:

  定義了那些主機可以訪問網路資源,其中提到的主機都可以訪問。

HOSTS.DENY:

  該檔案和上面的那個檔案的作用正好相反,也就是定義禁止訪問網路資源的主機。

ISSUE:

  該檔案的內容是你在本地登入電腦的時候,顯示在螢幕上的內容。
ISSUE.NET:

  這個檔案和上面的檔案意義是相同的,只不過這個檔案是給那些通過網路來登入的人看的。

LILO.CONF:

  這又是個比較重要的檔案。他是用於lilo的配置的,下面我給出一個實際的檔案來講:

  boot = /dev/hda6 〔lilo程式安裝在/dev/hda6上〕
  timeout = 500 〔啟動等待選擇時間〕
  prompt
  vga = normal 〔顯示器設成標準vga〕
  read-only
  #Linux bootable partition config begins 〔開始linux啟動配置塊〕
  image=/boot/vmlinuz 〔核心檔案為/boot/vmlinuz〕
  root=/dev/hda6 〔linux根檔案系統在/dev/hda6上〕
  label=linux 〔啟動時選擇的標示符為linux〕
  read-only 〔以唯讀方式安裝,以便檢查〕
  #Linux bootable partition config ends 〔結束linux啟動配置塊〕
  other = /dev/hda1 〔非linux作業系統,在/dev/hda1上〕
  label = dos 〔啟動標示為dos〕

  其實這個檔案很好配置,就這樣,以後可以隨意的加入新的作業系統了。

PROFILE:

  這個是使用者的設定檔,使用者自己的目錄下面有.profile則按照這個檔案進行使用者配置,如果沒有的話,那就用這個系統給使用者預設的設定檔。

Linux答疑篇

  其實linux是一個非常複雜的作業系統,我們在用的時候一定會遇到好多的問題,現在我把常見的一些問題作一下整理,希望能對大家有些協助。

1. 問:如何在linux下使用軟碟機和光碟機?
答:許多初學者剛剛裝完linux,當想使用磁碟片和光碟機時,卻不知道怎樣使用。linux並不想dos和windows這樣把磁碟表現為a:、c:、等等的形式。linux是用一個無所不包的目錄結構來表現電腦的軟、硬體資源,如電腦的所有硬體都在"/dev/"目錄下,而"/"就是電腦的根目錄,電腦的所有資源都在"/"下。象磁碟片就是"/dev/fd0","fd0"這個檔案就表示磁碟片。硬碟則表示為"/dev/hda"(這裡假設只有一個硬碟),硬碟上的分區則表示為"hda1"、"hda5"等等這樣的形式,光碟機為"/dev/cdrom"。
  好了我們簡單的瞭解了linux對這些裝置的表現形式,那麼下面我們來解決實際的問題。linux的檔案系統都是安裝(mount)上的,系統在最初啟動時安裝好根檔案系統,那些特殊的檔案系統需要使用者在使用時自己安裝,這個安裝就是在根檔案系統下用一個掛裝點來串連上我們的特殊裝置。以後對掛裝點的操作就等於對這個裝置的操作。一般掛裝點都是在"/mnt"下,其中預設的有"/mnt/cdrom"這個是光碟機的掛裝點?quot;/mnt/floppy"是軟碟機的掛裝點,我們也可以自己建立一些掛裝點,其實就是在"/mnt"下建立目錄,如我們可以為我們的c:盤建立一個"dosc"的掛裝點。當我們確定這些東東都建立好了之後,在要使用軟碟機、光碟機時,我們可以打入這些命令來安裝:安裝磁碟片"mount /dev/fd0 /mnt/floppy"安裝光碟片就"mount /dev/cdrom /mnt/cdrom"。mount就是安裝命令,平時只打入mount命令我們就會看見已經安裝好的檔案系統。
其實最好把熱門檔案系統寫進fstab檔案,這樣每次開機就能夠使用了。比如把windows的分區寫進去,具體方法參考上面所介紹的系統設定。另外,對於光碟機、軟碟機用完以後可以打入umount來進行卸載,否則會對你的檔案系統造成極大的破壞。

2. 問:如何反安裝lilo?
答:可以用windows啟動磁碟片來啟動,再運行fdisk/mbr就可以重寫mbr以去掉lilo。也可以在linux下運行lilo -u /dev/had,其中/dev/had是你的lilo的安裝位置。

3. 問:怎樣快速調出曆史命令?
答:如果想快速調出曆史命令的話可以按上下游標鍵,就會看到以前用過的曆史命令了。

4. 問:我想使用一個命令,但這個命令我只記得前幾位,後面的字母我忘了,怎麼辦?
答:這時也是可以用的,只要打入命令的前幾位字母再按一下"TAB"鍵,系統就會自動的補齊命令。

5. 問:怎樣快速的切換路徑呢?
答:鍵入"cd -"就可進入上次進入的目錄。鍵入"cd ~"就可回到自己的主目錄。

6. 問:怎樣顯示彩色的目錄和檔案清單?
答:使用ls -color就可以看到彩色的目錄和檔案了。如果不想每次都打的話那就要編輯/etc/bashrc這個檔案,在裡面加入一行:alias ls="ls -color",這樣就可以了。

7. 問:find命令尋找檔案的確很強大,但我又嫌它太麻煩,我只是想簡單的尋找檔案,有沒有快速的方法?
答:可以的。比如我們要尋找以"s"開頭的檔案,那就打入"s"後,快速的按兩下TAB鍵,就會列出所有以s開頭的檔案了。

8. 問:怎樣查看已經卷過螢幕的資訊呢?
答:可以用這兩個按鍵組合,很好用: "shift+pageup" 和"shift+pagedown"。他們兩個可以查看螢幕上面和下面的東西。

9. 問:怎樣啟動一個程式立即讓它進入後台?
答:其實只要在程式後面打上一個"&"號就可以了。比如我們想在背景編譯一個程式,可以打:gcc mypro.c&。

10. 問:怎樣在我退出系統後我的程式還能繼續執行?
答:可以使用nohup命令。比如我們想編譯一個很大的程式,那我們可以打:nohup gcc mypro.c&。但要注意的是這個命令必須要和"&"一起使用。這時我們就可以退出系統(logout)了。

11. 問:怎樣安裝新的軟體?
答:如果這個軟體不是基於rpm包的話,那麼就會很麻煩。具體來說要先把得到的tgz檔案或tar檔案解壓,具體方法見上面的命令介紹。然後參看目錄裡的readme檔案。一般來說要運行make、makefile這樣的程式來編譯它,然後按提示進行。有的軟體帶有install檔案,這時就要"make install"來編譯它。總之,先看看readme會有很多的好處。

  好了,這篇linux不完全手冊終於完成。相信它對你會有一定的協助。另外由於我水平的關係,錯誤之處在所難免,歡迎大家指教、交流。我的email:119@cool.com.cn

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.