2012年3月20日 星期二

Linux 基本使用說明


一、Linux 操作環境簡介:
多人環境:Unix 最好的就是可以提供多人共用,而 Linux 自然也可以支援多工環境了!!
在 Linux 上面允許不同的人使用,而且每個人都有其特殊的權限,只有一個人具有至高無上的權力,那就是 root  (系統管理員)。
多工行為:Linux 可以同時由不同的人使用『同一個檔案』,只要有權限不論是開啟或者是修改。
多個管理視窗:在 Linux 當中,預設提供了六個文字界面登入視窗,以及一個圖形界面,你可以使用 [Alt]+[F1].....[F7]來切換不同的終端機界面。
指令查詢:在 Linux 當中,不了解指令參數如何使用,可以在指令後加上 -h 來查詢,如果希望進一步了解,可以用 man command (要查詢的指令)。

二、基本指令:
瀏覽目錄
ls
-all:全部列出,並分行呈現
-l:全部列出

查詢目錄路徑
pwd

變更使用者
chown
-R:全部目錄及檔案都轉換
chown -R user.group abc/:將 abc 這個目錄全部都轉換給 user 這個使用者和 group 這個群組

變更權限
chmod
-rwxrwxrwx :檔案屬性三個一組由 2 進位組成,r=4、w=2、x=1
如果是 5 就是表示 r-x、6 就是表示 rw-,以此類推
前三個藍色字代表檔案或目錄使用者的權限;
中間三個綠色字代表檔案或目錄群組的權限;
後面三個紅色字代表檔案或目錄任何人的權限;
-R:全部目錄及檔案都轉換
chmod -R 744 abc/:全部列出將 abc 這個目錄及檔案,全部都換成轉換給 user 這個使用者和 group 這個群組

查看目前登入者的帳號
whoami

查看目前所有系統登入者的帳號
who

查看之前所有系統登入者的資料
last
ip

系統重新開機
reboot
shutdown
-r:重新開機與reboot意思相同
-h:重新開機並關閉電源
-h +5:五分鐘後,重新開機並關閉電源
ip
login 登入系統
logout 登出系統

文字編輯軟體
vi
開始編輯檔案,請必須先按「a」或是「i」來進行編輯
如果視窗左下解出「-insert」或是「-插入」就可以開始編輯檔案
按「Esc」可以作上層編輯或是下層指令之轉換
:w寫入檔案
:q離開檔案
:q!強制離開檔案

nano (RH9 以前為 pico)
指令操作下層有說明

觀看系統正在執行的行程
ps
ps -aux|more:常用方式
參數說明:
a :選擇所有的程序列出
u :所有使用者的程序均列出
x :所有 tty 的程序列出
ps
USER:說明該程序是屬於哪一個人的;
PID:該程序的代號;
%CPU:代表該程序使用了多少 CPU 資源;
%MEM:代表該程序使用了多少的 RAM ;
VSZ, RSS:佔去的 ram 的大小 ( bytes);
TTY:是否為登入者執行的程序?若為 tty1-tty6 則為本機登入者,
若為 pts/?? 則為遠端登入者執行的程序;
STAT:該程序的狀態,( R )為可執行的,( S )
為該程序正在睡眠中,就是沒有執行了,( T ) 正在偵測或者是停止了,
( Z ) 僵屍程式,就是 zombie 死掉的程式啦!需要以 kill 除去囉;
START:該程序開始的日期;
TIME:該程序跑了多久的時間;
COMMAND:該程序的內容;

觀看前幾名系統正在執行的行程
top
觀看系統記憶體使用量
free

刪除系統正在執行的行程
kill
kill 1999:刪除某個程序,利用 ps 來查詢 PID 值
參數說明:
-1:刪除某個程序 (類似 reload)
-2:使用者中斷該工作,類似 [Ctrl]+c 來中斷一個工作
-9:強制殺掉一個工作,並立刻執行
-15:停止一個工作 (這是預設值)

可觀看系統資訊,包括你的核心版本、主機名稱、CPU 資訊
uname
uname -a:查詢所有系統資訊

查看系統磁碟容量資訊
df
df -h:查詢所有磁碟容量,並以 mb 為單位呈現

查看系統分割區容量資訊
du
du -s -h:查詢某個分割區容量,並以 mb 為單位呈現

掛載相關設備的方式
mount
mount -t auto /(掛載設備名稱,在 /dev/ 下面) /(預計要在本機對應的目錄名稱,目錄必須先建立)
如果不清楚要 mount device 的名稱,可以先用 ls -l /dev/* (usb 隨身碟通常是 sd 開頭的,硬碟是 hd,光碟是 cdrom)
mount -t auto /dev/sdb1 /mnt/usb

查看系統開機資訊
dmesg
dmesg | more :查詢開機資訊

什麼是 yum     yum 的全名是: Yellow dog Updater, Modified yum
是一個自動更新/移除 rpm 套件的程式。
由於 CentOS 也是源自 redhat 系統,所以他目前也是以 yum 作套件控管。
它會自動計算相依性,判斷哪些應該安裝,哪些則不必。
和 yum 相同性質的還有 apt,不過 yum 比 apt 還要優秀好用。
Client 端 yum 設定
先透過 rpm 查詢是否安裝了 yum
yum
如果沒有,請線上下載 rpm 來安裝暨大 ftp 下載
預設 gpgcheck=1 所以必須將 GPG KEY 安裝完成,http://mirror.centos.org/centos/ 下載所需要的 key 檔
或是在本站下載 RPM-GPG-KEY-centos4
或是在暨大 ftp 站下載 RPM-GPG-KEY-centos4
下載完後安裝請用 "rpm --import <KEY_FILE_NAME>" 指令來匯入     之後便可以直接作更新
如果覺得麻煩的話,其實在下面的設定檔,可以直接加上 gpg 的下載網址即可!!
在 CentOS4.3 預設已經直接加上: gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4

在 CentOS 中修改 yum 的 url 和 FC4 類似,需要在 repos 的目錄下修改。
cd /etc/yum.repos.d/
修改 nano CentOS-Base.repo 分別將 [base]、[update] 的 baseurl 改到國內
baseurl=http://ftp.ncnu.edu.tw/Linux/CentOS/$releasever/os/$basearch/
baseurl=http://ftp.ncnu.edu.tw/Linux/CentOS/$releasever/updates/$basearch/
另外 [addons] 中的網址表示 CentOS 還在測試中的 rpm 尚未正式 released
[extras] 中的網址表示 CentOS 額外可能可以用的 rpm
[centosplus] 中的網址表示 CentOS 額外的 rpm 具有特別的功能
[contrib] 中的網址表示 CentOS 一些使用者提供的 rpm

義守大學的 mirror 站亦可作 yum
baseurl=http://ftp.isu.edu.tw/pub/Linux/CentOS/$releasever/os/$basearch/
baseurl=http://ftp.isu.edu.tw/pub/Linux/CentOS/$releasever/updates/$basearch/

靜宜大學的 mirror 站亦可作 yum
baseurl=http://ftp.cs.pu.edu.tw/Linux/CentOS/$releasever/os/$basearch/
baseurl=http://ftp.cs.pu.edu.tw/Linux/CentOS/$releasever/updates/$basearch/

台南縣網的 mirror 站亦可作 yum
baseurl=http://ftp2.tnc.edu.tw/pub1/centos/$releasever/os/$basearch/
baseurl=http://ftp2.tnc.edu.tw/pub1/centos/$releasever/updates/$basearch/

手動執行
yum install * (安裝某個套件)
yum update * (更新某個套件)
yum update;yum clean package (更新所有套件,並於安裝後刪除套件)

yum中沒有的套件如何尋找
http://rpmfind.net/linux/RPM/
但是此處 rpm 沒有針對 CentOS 來收集其 rpm,如果需要的話可以用 el4 的版本來試試,
因但是建議還是以 CentOS community 提供較妥當,為選用 CentOS 最主要的訴求就是穩定!!
另一個好用搜尋引擎 http://www.google.com.tw

三、修改系統環境:
修改語系設定檔 /etc/sysconfig/i18n
原本為:
LANG="zh_TW.UTF-8"
SYSFONT="latarcyrheb-sun16"
SUPPORTED="zh_TW.UTF-8:zh_TW:zh"

修改為:
LANG="zh_TW.Big5"
SYSFONT="latarcyrheb-sun16"
SUPPORTED="zh_TW.Big5:zh_TW:zh"
修改完後必須重新開機,設定才能生效!!

系統服務開機設定位置 /etc/rc.d/init.d 之中
針對某項服務,如果啟動或關閉 (例如 httpd)
service httpd start|stop|restart
/etc/rc.d/init.d httpd start|stop|restart
這樣就可以在執行時,處理各項系統的服務的狀態!!

如果希望一開機就啟動或關閉 (例如 httpd)
首先就必須了解開機時有不同指令層級,如 level 1|2|3|4|5
利用 chkconfig --list httpd (查看 httpd 各層級開機啟動狀態)
chkconfig
利用 chkconfig --level 3 httpd on (設定 httpd 在 level 3 中開機要啟動)
這樣就可以在執行時,處理各項系統的服務的狀態!!

另一個更容易的方式,透過 webmin 設定
WEBMIN

四、視窗化操作介面X Windows
執行層級 (Run level) 為 5 者直接為視窗介面
設定開機時系統執行的設定,CentOS 4.3 預設為 5,一登入就執行 X Windows
修改系統開機層級設定檔 /etc/inittab 修改完後存檔,重開機後就會新的設定層級開機
比較簡單的方式,用指令修改 /sbin/init 1|2|3|4|5
ip
如果是文字模式時者,可以用 startx 來執行 X Windows
ip
登入後的畫面
ip

五、忘記 root 密碼、系統開機有問題,無法登入時
如同 RH 系統,通常將 LILO 改為用 Grub 做為開機管理程式,
要進入單人維護模式就比較麻煩一些。在開機的過程當中,會有讀秒的時刻,
此時請按下任意按鍵,就會進入選單畫面。
boot
這個時候只要選擇相對的核心檔案,並且按下「e」,就可以進入編輯畫面了。
boot
此時,你看到的畫面有點像:
root (hd0,0)
kernel /vmlinuz-2.6.9.34 EL root=/ 此時,請將游標移動到 kernel 那一行,再按一次「e」進入 kernel 該行的編輯畫面中,
然後在出現的畫面當中,最後方輸入 single :
boot
root (hd0,0)
kernel /vmlinuz-2.6.9.34 EL root=/ single
再按下「Enter」確定之後,按下 b 就可以 boot 看看啦。
boot
在使用者使用 GRUB 開機進入單一使用者模式後,並取得 # 提示符號,
boot
使用者需要輸入 passwd root,然後使用者便可以輸入新的 root 密碼。

如果是系統發生有問題時,可以作磁碟檢查
fsck -y
完成後後,重開機 shutdown -r now,重新啟動。

六、安裝完成無法提供遠端網路連線
請先確認 SELINUX 是否關閉
設定檔路徑 /etc/selinux/config 中 SELINUX=enabled(enforced) 改為 disabled
修改完後需要重新開機!!

如果仍然不行,請確認 iptables 的防火牆是否設定了部分規則
設定檔路徑 /etc/sysconfig/iptables
查詢 iptables 的規則的指命 iptables -L
暫時先停用 iptables 的規則的指命 iptables -F

七、應用程式安裝及管理
rpm管理系統程式套件
rpm (Redhat Package Manager)
rpm -e *.rpm:移除某個套件
rpm -q *.rpm:查詢某個套件
rpm -qi *.rpm:查詢某個套件完整安裝資訊
rpm -ivh *.rpm:安裝新的套件
rpm -ivh --replacepkgs *.rpm:安裝已經裝的套件
rpm -Uvh *.rpm:昇級新版本的套件
rpm -Fvh *.rpm:更新已經安裝過的套件,只有裝過的才會更新

x window 下 rpm 操作
直接將要安裝套件用滑鼠左鍵按兩下,會出現執行訊息
rpm
告知此套件相關資訊
rpm
確定後就直接安裝,安裝完成後就直接關閉視窗
rpm

沒有留言:

張貼留言