linux目錄結構說明及常用命令

tengrid發表於2009-05-18

linux目錄架構
/       根目錄
/bin         常用的命令   binary   file   的目錄
/boot       存放系統啟動時必須讀取的檔案,包括核心   (kernel)   在內
          /boot/grub/menu.lst       GRUB設定
          /boot/vmlinuz       核心
          /boot/initrd           核心解壓縮所需   RAM   Disk
/dev         系統周邊裝置           
/etc         系統相關設定檔案
          /etc/DIR_COLORS       設定顏色
          /etc/HOSTNAME       設定使用者的節點名
          /etc/NETWORKING       只有YES標明網路存在
          /etc/host.conf   檔案說明使用者的系統如何查詢節點名
          /etc/hosts   設定使用者自已的IP與名字的對應表
          /etc/hosts.allow   設定允許使用inetd的機器使用   
          /etc/hosts.deny   設定不允許使用inetd的機器使用
          /etc/hosts.equiv   設定遠端機不用密碼
          /etc/inetd.conf   設定系統網路守護程式inetd的配置
          /etc/gateways   設定路由器
          /etc/protocols   設定系統支援的協議
          /etc/named.boot   設定本機為名字伺服器的配置檔案
          /etc/sysconfig/network-scripts/ifcfg-eth0       設定IP
          /etc/resolv.conf         設定DNS     
          /etc/X11     X   Window的配置檔案,xorg.conf   或   XF86Config   這兩個   X   Server   的設定檔
          /etc/fstab         記錄開機要mount的檔案系統
          /etc/inittab   設定系統啟動時init程式將把系統設定成什麼樣的runlevel
          /etc/issue   記錄使用者登入前顯示的資訊
          /etc/group   設定使用者的組名與相關資訊
          /etc/passwd   帳號資訊
          /etc/shadow   密碼資訊
          /etc/sudoers   可以sudo命令的配置檔案
          /etc/securetty   設定哪些終端可以讓root登入
          /etc/login.defs   所有使用者登入時的預設配置
          /etc/exports   設定NFS系統用的
          /etc/init.d/       所有服務的預設啟動   script   都是放在這裡的,例如要啟動或者關閉
          /etc/xinetd.d/     這就是所謂的   super   daemon   管理的各項服務的設定檔目錄
          /etc/modprobe.conf       核心模組額外引數設定
          /etc/syslog.conf       日誌設定檔案
/home       使用者家目錄
/lib         系統會使用到的函式庫
          /lib/modules       kernel   的相關模組
          /var/lib/rpm       rpm套件安裝處   
/lost+found         系統不正常產生錯誤時,會將一些遺失的片段放置於此目錄下
/mnt           外設的掛載點
/media       與/mnt類似
/opt           主機額外安裝的軟體
/proc         虛擬目錄,是記憶體的對映
            /proc/version       核心版本
              /proc/sys/kernel       系統核心功能
/root         系統管理員的家目錄
/sbin         系統管理員才能執行的指令
/srv           一些服務啟動之後,這些服務所需要取用的資料目錄
/tmp           一般使用者或者是正在執行的程式暫時放置檔案的地方
/usr           最大的目錄,存許應用程式和檔案
        /usr/X11R6:       X-Window目錄   
        /usr/src:         Linux原始碼
        /usr/include:系統標頭檔案
        /usr/openwin   存放SUN的OpenWin   
        /usr/man   線上使用手冊
        /usr/bin                       使用者可執行的   binary   file   的目錄
        /usr/local/bin           使用者可執行的   binary   file   的目錄
        /usr/lib                       系統會使用到的函式庫
        /usr/local/lib           系統會使用到的函式庫
        /usr/sbin                     系統管理員才能執行的指令
        /usr/local/sbin         系統管理員才能執行的指令
/var       日誌檔案
        /var/log/secure         記錄登入系統存取資料的檔案,例如   pop3,   ssh,   telnet,   ftp   等都會記錄在此檔案中
        /var/log/wtmp             記錄登入者的訊息資料,   last
        /var/log/messages     幾乎系統發生的錯誤訊息
        /var/log/boot.log     記錄開機或者是一些服務啟動的時候,所顯示的啟動或關閉訊息
        /var/log/maillog       紀錄郵件存取或往來(   sendmail   與   pop3   )的使用者記錄
        /var/log/cron             記錄   crontab   這個例行性服務的內容
        /var/log/httpd,   /var/log/news,   /var/log/mysqld.log,   /var/log/samba,   /var/log/procmail.log:
        分別是幾個不同的網路服務的記錄檔
 


一些常用的基本命令:
uname   -a         檢視核心版本               
ls   -al         顯示所有檔案的屬性
pwd                   顯示當前路徑                 
cd   -         返回上一次目錄           cd   ~         返回主目錄
date   s             設定時間、日期                     
cal             顯示日曆           cal   2006
bc                     計算器具                               
man     &   info           幫助手冊
locale           顯示當前字型           locale   -a         所有可用字型           /etc/sysconfig/i18n設定檔案
LANG=en         使用英文字型                         
sync               將資料同步寫入硬碟                 
shutdonw   -h   now   &   half   &   poweroff     關機
reboot           重啟                                       
startx     &     init   5       進入圖形介面
/work     &   ?work         向上、下查詢文件內容
chgrp             改變檔案群組     chgrp   testing   install.log         
chown           改變所屬人       chown   root:root   install.log
chmod             改變屬性           chmod   777   install.log           read=4     write=2     execute=1
cp       複製       cp   filename
rm       刪除檔案     rm   -rf   filename       強制刪除檔案
rmdir       刪除資料夾
mv     移動         mv   123.txt   222.txt     重新命名
mkdir           建立資料夾
touch           建立檔案     更新當前時間
cat               由第一行開始顯示           cat   ¦more     分頁
nl                 在內容前加行號
more     &     less       一面一面翻動
head   -n   filename       顯示第N行內容
tail   -n   filename     顯示後N行內容
od                 顯示非純文件
df   -h   顯示分割槽空間
du     顯示目錄或檔案的大小
fdisk       分割槽設定         fdisk   -l   /dev/hda     顯示硬碟分割槽狀態
mkfs         建立各種檔案系統     mkfs   -t   ext3     /dev/ram15       
fsck         檢查和修復LINUX檔案
ln             硬連結       ln   -s     軟體連結
whereis       查詢命令
locate         查詢
find             查詢       find   /   -name   "***.*** "
which           檢視工具
whoami         顯示當前使用者
gcc   -v         檢視GCC版本
chattr   +i   filename     禁止刪除       chattr   -i   filename     取消禁止
lsattr         顯示隱藏檔屬性
updatedb     更新資料庫
mke2fs         格式化       mkfs   -t   ext3   
dd   if=/etc/passwd   of=/tmp/passwd.bak         備份
mount           列出系統所有的分割槽
mount   -t   iso9660   /dev/cdrom   /mnt/cdrom       掛載光碟
mount   -t   vfat   /dev/fd0   /mnt/floppy               掛載軟盤
mount   -t   vfat   -o   iocharset=utf8,umask=000   /dev/hda2   /mnt/hda2       掛載fat32分割槽
mount   -t   ntfs   -o   nls=utf8,umask=000   /dev/hda3   /mnt/hda3                   掛載ntfs分割槽
Linux-NTFS   Project:   
umount   /mnt/hda3     缷載
ifconfig       顯示或設定網路裝置
service   network   restart       重啟網路卡     
ifdown   eth0     關閉網路卡
ifup   eth0         開啟網路卡
clear         清屏
history         歷史記錄               !55     執行第55個指令
stty       設定終端         stty   -a
fdisk   /mbr       刪除GRUB
at           僅進行一次的工作排程
crontab       迴圈執行的例行性命令         [e]編輯,[l]顯示,[r]刪除任務
&               後臺執行程式         tar   -zxvf   123.tar.gz   &   ---------&gt 後臺執行
jobs         觀看後臺暫停的程式       jobs   -l
fg             將後臺程式調到前臺       fg   n   ------&gt n是數字,可以指定進行那個程式
bg             讓工作在後臺執行
kill         結束程式         kill   -9   PID           [9]強制結束,[15]正常結束,[l]列出可用的kill訊號
ps   aux     檢視後臺程式       
top           檢視後臺程式       top   -d   2         每兩秒更新一次                 top   -d   2   -p10604       觀看某個PID
                top   -b   -n   2   >   /tmp/top.txt   -----&gt 將   top   的資訊進行   2   次,然後將結果輸出到   /tmp/top.txt         
pstree       以樹狀圖顯示程式         [A]以   ASCII   來連線,   列出PID,   [p]列出帳號
killall       要刪除某個服務         killall   -9   httpd
free             顯示記憶體狀態           free   -m     --------&gt 以M為單位顯示
uptime         顯示目前系統開機時間
netstat       顯示網路狀態         netstat   -tulnp------&gt 找出目前系統上已在監聽的網路連線及其   PID
dmesg           顯示開機資訊         demsg   ¦   more
nice             設定優先權             nice   -n   -5   vi   &   -----&gt 用   root   給一個   nice   植為   -5   ,用於執行   vi   
renice         調整已存在優先權
runlevel     顯示目前的runlevel
depmod         分析可載入模組的相依性
lsmod           顯示已載入系統的模組
modinfo       顯示kernel模組的資訊
insmod         載入模組
modprobe       自動處理可載入模組
rmmod           刪除模組
chkconfig       檢查,設定系統的各種服務           chkconfig   --list   -----&gt 列出各項服務狀態
ntsysv           設定系統的各種服務
cpio             備份檔案


壓縮命令:
  *.Z             compress   程式壓縮的檔案;   
  *.bz2         bzip2   程式壓縮的檔案;   
  *.gz           gzip   程式壓縮的檔案;   
  *.tar         tar   程式打包的資料,並沒有壓縮過;   
  *.tar.gz   tar   程式打包的檔案,其中並且經過   gzip   的壓縮
compress   filename     壓縮檔案     file ¦device]       份份
cpio   -icduv    
vi一般用法
一般模式                             編輯模式                                     指令模式
h   左                               a,i,r,o,A,I,R,O                           :w   儲存
j   下                                 進入編輯模式                                 :w!   強制儲存
k   上                                 dd   刪除游標當前行                       :q!   不儲存離開
l   右                                 ndd   刪除n行                                   :wq!   儲存後離開
0   移動到行首                 yy   複製當前行                                 :e!   還原原始檔
$   移動到行尾                 nyy   複製n行                                     :w   filename   另存為
H   螢幕最上                     p,P   貼上                                           :set   nu   設定行號
M   螢幕中央                     u     撤消                                             :set   nonu   取消行號
L   螢幕最下                     [Ctrl]+r   重做上一個動作               ZZ   儲存離開
G   檔案最後一行             [ctrl]+z   暫停退出                         :set   nohlsearch       永久地關閉高亮顯示
/work   向下搜尋                                                                       :sp   同時開啟兩個文件   
?work   向上搜尋                                                                       [Ctrl]+w   兩個文件設換
gg   移動到檔案第一行                                                             :nohlsearch         暫時關閉高亮顯示
 
認識SHELL
alias         顯示當前所有的命令別名             alias   lm= "ls   -al "       命令別名         unalias   lm   取消命令別名
type             類似which
exprot         設定或顯示環境變數
exprot   PATH= "$PATH ":/sbin     新增/sbin入PATH路徑
echo   $PATH         顯示PATH路徑
bash             進入子程式
name=yang           設定變數
unset   name         取消變數
echo   $name         顯示變數的內容
myname= "$name   its   me "       &       myname= '$name   its   me '           單引號時$name失去變數內容
ciw=/etc/sysconfig/network-scripts/           設定路徑
env             列出所有環境變數
echo   $RANDOM         顯示隨意產生的數
set             設定SHELL
PS1= '[\u@\h   \w   \A   #\#]\$   '           提示字元的設定
      [root@linux   ~]#   read   [-pt]   variable           -----------讀取鍵盤輸入的變數
      引數:
      -p     :後面可以接提示字元!
      -t     :後面可以接等待的『秒數!』
declare         宣告   shell   變數
ulimit   -a       顯示所有限制資料
  ls   /tmp/yang   &&   echo   "exist "   ¦ ¦   echo   "not   exist "
  意思是說,當   ls   /tmp/yang   執行後,若正確,就執行echo   "exist "   ,若有問題,就執行echo   "not   exist "   
  echo   $PATH   ¦   cut   -d   ': '   -f   5               以:為分隔符,讀取第5段內容
  export   ¦   cut   -c   10-20             讀取第10到20個位元組的內容
  last   ¦   grep   'root '         搜尋有root的一行,ea]st '   123.txt         搜尋test或taste兩個字元---------利用   []   來搜尋集合字元
  grep   -n   '[^g]oo '   123.txt           搜尋前面不為g的oo-----------向選擇   [^]   
  grep   -n   '[0-9] '   123.txt     搜尋有0-9的數字
  grep   -n   '^the '   123.txt   搜尋以the為行首-----------行首搜尋^
  grep   -n   '^[^a-zA-Z] '   123.txt     搜尋不以英文字母開頭
  grep   -n   '[a-z]$ '   123.txt         搜尋以a-z結尾的行----------   行尾搜尋$
  grep   -n   'g..d '   123.txt           搜尋開頭g結尾d字元----------任意一個字元   .   
  grep   -n   'ooo* '   123.txt           搜尋至少有兩個oo的字元---------重複字元   *
sed         文字流編輯器         利用指令碼命令來處理文字檔案
awd         模式掃描和處理語言
  nl   123.txt   ¦   sed   '2,5d '       刪除第二到第五行的內容
diff           比較檔案的差異
cmp             比較兩個檔案是否有差異
patch         修補檔案
pr               要列印的檔案格式化


帳號管理
/etc/passwd         系統帳號資訊
/etc/shadow         帳號密碼資訊         經MD5   32位加密
          在密碼欄前面加『   *   』『   !   』禁止使用某帳號
/etc/group           系統群組資訊
/etc/gshadow
newgrp         改變登陸組
useradd     &     adduser         建立新使用者     ---------&gt   useradd   -m   test     自動建立使用者的登入目錄
                    useradd   -m   -g   pgroup   test   ---------&gt 指定所屬級
/etc/default/useradd       相關設定
/etc/login.defs               UID/GID   有關的設定
passwd         更改密碼   -----------&gt   passwd   test
usermod       修改使用者帳號
userdel       刪除帳號   -----------&gt userdel   -r   test
chsh             更換登陸系統時使用的SHELL       [-l]顯示可用的SHELL;[-s]修改自己的SHELL
chfn             改變finger指令顯示的資訊
finger         查詢並顯示使用者資訊
id                 顯示使用者的ID   -----------&gt     id   test
groupadd       新增組
groupmod       與usermod類似
groupdel       刪除組
su   test         更改使用者       su   -         進入root,且使用root的環境變數
sudo               以其他身份來執行指令
visudo           編輯/etc/sudoers             加入一行『   test   ALL=(ALL)   ALL   』
                      %wheel   ALL   =   (ALL)   ALL                               系統裡所有wheel群組的使用者都可用sudo
                      %wheel   ALL   =   (ALL)   NOPASSWD:   ALL           wheel群組所有使用者都不用密碼NOPASSWD
              User_Alias   ADMPW   =   vbird,   dmtsai,   vbird1,   vbird3                   加入ADMPW組
              ADMPW   ALL   =   NOPASSWD:   !/usr/bin/passwd,   /usr/bin/passwd   [A-Za-z]*,   \
              !/usr/bin/passwd   root             可以更改使用者密碼,但不能更改root密碼   (在指令前面加入   !   代表不可)
PAM   (Pluggable   Authentication   Modules,   嵌入式模組)
who   &   w           看誰線上                                           
last                 最近登陸主機的資訊
lastlog           最近登入的時間         讀取   /var/log/lastlog   
talk                 與其他使用者交談
write               傳送資訊         write   test       [ctrl]+d   傳送
mesg                 設定終端機的寫入許可權         mesg   n   禁止接收           mesg   y   
wall                 向所有使用者傳送資訊         wall   this   is   q   test
mail                 寫mail       
/etc/default/useradd         家目錄預設設定
quota             顯示磁碟已使用的空間與限制           quota   -guvs   -----&gt 秀出目前   root   自己的   quota   限制值
                      quota   -vu       查詢
quotacheck       檢查磁碟的使用空間與限制           quotacheck   -avug     -----&gt 將所有的在   /etc/mtab   內,含有   quota   支援的   partition   進行掃瞄
                          [-m]   強制掃描     
          quota一定要是獨立的分割槽,要有quota.user和quota.group兩件檔案,在/etc/fstab新增一句:
          /dev/hda3   /home   ext3   defaults,usrquota,grpquota   1   2
          chmod   600   quota*                   設定完成,重啟生效
edquota         編輯使用者或群組的quota     使用者,[g]群組,[p]複製,[t]設定寬限期限   
                      edquota   -a   yang               edquota   -p   yang   -u   young   -----&gt 複製         
quotaon         開啟磁碟空間限制           quotaon   -auvg   --------&gt 啟動所有的具有   quota   的   filesystem
quotaoff       關閉磁碟空間限制           quotaoff   -a     --------&gt 關閉了   quota   的限制
repquota   -av           查閱系統內所有的具有   quota   的   filesystem   的限值狀態
Quota   從開始準備   filesystem   的支援到整個設定結束的主要的步驟大概是:
1、設定   partition   的   filesystem   支援   quota   引數:
由於   quota   必須要讓   partition   上面的   filesystem   支援才行,一般來說,   支援度最好的是   ext2/ext3   ,
其他的   filesystem   型別鳥哥我是沒有試過啦!   啟動   filesystem   支援   quota   最簡單就是編輯   /etc/fstab   ,
使得準備要開放的   quota   磁碟可以支援   quota   囉;
2、建立   quota   記錄檔:
剛剛前面講過,整個   quota   進行磁碟限制值記錄的檔案是   aquota.user/aquota.group,   
要建立這兩個檔案就必須要先利用   quotacheck   掃瞄才行喔!
3、編輯   quota   限制值資料:
再來就是使用   edquota   來編輯每個使用者或群組的可使用空間囉;
4、重新掃瞄與啟動   quota   :
設定好   quota   之後,建議可以再進行一次   quotacheck   ,然後再以   quotaon   來啟動吧!

開機流程簡介
1、載入   BIOS   的硬體資訊,並取得第一個開機裝置的代號;   
2、讀取第一個開機裝置的   MBR   的   boot   Loader   (亦即是   lilo,   grub,   spfdisk   等等)   的開機資訊;   
3、載入   Kernel   作業系統核心資訊,   Kernel   開始解壓縮,並且嘗試驅動所有硬體裝置;   
4、Kernel   執行   init   程式並取得   run-level   資訊;   
5、init   執行   /etc/rc.d/rc.sysinit   檔案;   
6、啟動核心的外掛模組   (/etc/modprobe.conf);   
7、init   執行   run-level   的各個批次檔(   Scripts   );   
8、init   執行   /etc/rc.d/rc.local   檔案;   
9、執行   /bin/login   程式,並等待使用者登入;   
10、登入之後開始以   Shell   控管主機。   
在/etc/rc.d/rc3.d內,以S開頭的為開機啟動,以K開頭的為關閉,接著的數字代表執行順序
GRUB   vga設定
彩度\解析度     640x480     800x600     1024x768     1280x1024       bit   
        256                 769             771             773               775             8   bit   
      32768               784             787             790               793           15   bit   
      65536               785             788             791               794           16   bit   
      16.8M               786             789             792               795           32   bit   

./configure         檢查系統資訊               ./configure   --help   ¦   more     幫助資訊
make   clean           清除之前留下的檔案
make                       編譯
make   install       安裝
rpm   -q     -----&gt 查詢是否安裝                           rpm   -ql   ------&gt 查詢該套件所有的目錄
rpm   -qi   -----&gt 查詢套件的說明資料               rpm   -qc[d]   -----&gt 設定檔與說明檔
rpm   -ivh     ----&gt 安裝                                         rpm   -V     --------&gt 檢視套件有否更動過
rpm   -e     ------&gt 刪除                                         rpm   -Uvh   -------&gt 升級安裝     
--nodeps   -----&gt 強行安裝                                 --test   -----&gt 測試安裝


轉http://blog.chinaunix.net/u/30619/showart.php?id=249558

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/94384/viewspace-600347/,如需轉載,請註明出處,否則將追究法律責任。

相關文章