RHCE筆記-學習參考

2012-11-20

1、red hat 發佈版的安裝

  啓動時輸入 boot: linux askmethod    選擇能夠經過硬盤或者網絡安裝。
     boot:
     linux dd    driver disk 安裝   如服務器安裝時需首先安裝陣列卡驅動
     linux ks     kickstart 安裝    無人值守安裝方式,原理直接配置文件安裝,如:boot: linux ks=nfs:192.168.0.254:/var/ftp/pub/ks.cfg

二、分區:/boot     200M   必須

  swap 分區爲內存的1到2倍

  /   根分區(需求不明確時能夠把剩的空間劃分爲上述分區,若有需求如需安裝oracle,能夠需劃分u01等分區)

上述爲三個基本分區!

三、boot loader password   需設置,否則root密碼形同虛設。

四、安裝過程當中,ctrl+alt +F1 ---F7 之間切換 返回命令界面

五、linux 內核位置:/boot/vmlinuz-2.6.9-22.EL


界面轉換:authconfig

2、linux操做系統的基本結構:

一、kernel   內核   
     uname -a   查看kernel的版本號!
二、modules  模塊    三、 lib 庫    四、app 應用程序

    不一樣控制檯之間發送消息:
      echo AAAAA> /dev/tty1
     who am i   查看當前登陸的用戶
     w   查看控制檯/或登陸用戶
     skill 掉某個用戶或終端命令:skill -9 pts/2
     默認爲6個終端,修改如下配置文件能夠更改:vi /etc/inittab
      vi  退出保存 :wq

      啓動Xwindow   :startx   啓動第一個xwindow
                                 startx -- :1  啓動第二個xwindow

3、linux命令:

一、shell 的內部命令:shell 自己提供的功能
   
     提供幫助方法:help

二、shell 的外部命令:由外部文件提供

     提供簡單幫助方法:命令+ --help
      man   +命令   提供詳細的幫助方法
     使用方法 :搜索 /+關鍵字 或?+關鍵字     n向下滾動,shift+n  向上滾動   
     man 7 man 查看  共9種類型文件

info 幫助命令,使用得較少,與man類型,但比較詳細。

三、linux 命令的習慣:
    一、命令及參數區分大小寫;
    二、程序能否執行與擴展名無關;(添加chmod  x 權限便可)
    三、使用tab鍵來補全命令
    四、善用尋求幫助形式。

一些快捷鍵:
ctrl +c 直接暫停    ctrl+z  直接丟後臺暫停   ctrl +l  清屏

4、文件操做命令:
一、touch 建立文件 ,更新文件,touch /etc/{a,b}   建立兩個文件。
   
     mkdir  建立文件夾
    
     rmdir    刪除文件夾  (只能夠刪除空的文件夾)--較少用
   
    查看文件屬性詳細信息命令:stat   如:stat a

     前面帶點的文件爲隱藏文件,如.a  ,查看時需這樣操做:ls -a
   
      查看當前目錄:pwd

二、ls   查看文件
    
     ls -F  查看文件類型,如文件夾爲/a ,帶@爲連接文件 ,帶 *號爲執行文件。

三、mv  移動或重命名  

      mv  b c  更換b文件爲c名

四、 rm 刪除

     rm -f  刪除一個文件不須要確認
     rm -r  刪除一個文件夾
     rm -rf  刪除一個文件夾包括裏面全部文件,不須要詢問

五、. 表明當前目錄  ,  .. 表明當前目錄的上一級目錄, cd -  回到上一目錄

六、 cat  查看文件內容,more和less也是查看文件內容
   more能夠一頁一頁查看,但只能往下翻;
   less  也能夠一頁一頁查看,能夠上下翻;

七、vi  命令

   q!不保存退出

    u  撤消

    ctrl + r   重作

八、alias  別名

   如定義一個別名:alias ii ="ls -l"
   刪除別名:  unalias ii

九、 重要,關於配置文件,vi ~/.bashrc  

十、添加用戶:

   useradd ming  (添加用戶時需設置密碼才能夠登陸)
   passwd ming  如不加用戶名即修改當前用戶的密碼

十一、su ming  在當前界面切換賬戶,
       su - ming  切換到另外一賬戶

6-3 系統命令初步

查看計算機信息:
一、hostname   查看計算機名,更改時直接後面加上計算機名(重啓不生效),更改如下配置文件永久生效:/etc/sysconfig/network

二、更改IP信息:
ifconfig eth0 192.168.1.80    (重啓不生效)
vi /etc/sysconfig/network-scripts/ifcfg-eth0   (更改配置文件)

netconfig 
service network restart   (netconfig 後重啓服務生效)

三、id

root 的id爲0  組id也是爲0

四、date

   date +%d    顯示日期
    date +%m%d   顯示月份日期
如建立  一個以時期命名的log:touch `date +y%m%d%`.log

五、file  查看文件類型(詳細)
    file  a

六、mount   加載 

    mount  /dev/sda2 /mnt  把sda2 加載到mnt

     umount  取消加載

    加載u盤使用:mount  /dev/sdb1  /file1
    加載光驅使用: mount /dev/cdrom /mnt
    加載共享:mount -t cifs //192.168.0.2/tools /mnt
                    mount //192.168.0.2/tools /mnt
                     mount -o username=administrator //192.168.0.20/tools /mnt

   加載nfs   :mount 192.168.0.20:/var/ftp/pub  /mnt

七、cat /dev/cdrom > a.iso  
 mount -t iso9660 -o loop a.iso /mnt
查看光盤內容

八、du   查看文件的大小
   
     du a.tar  查看文件大小
     du -s a 查看文件夾大小
     du -sh a

九、df  顯示分區大小狀況

    df -h   顯示分區大小使用量

十、ssh  遠程登陸

    ssh 192.168.0.20
    ssh  scott@192.168.0.20  以什麼用戶遠程登陸

十一、exit   退出當前shell
       logout  退出登陸shell

十二、關閉系統:
   shutdown -h now   關閉服務再關機
   init 0  直接關機 或: halt -p -f   或 poweroff 
      
1三、重啓:

   shutdown -r now
    init 6
    reboot

6-4 用戶及組管理

一、useradd  添加用戶    用戶信息存放在如下文件: /etc/passwd

例: useradd oracle –g oinstall –G dba –d /home/oracle –p ora123
系統將建立一個用戶 oracle,oracle用戶的首要組爲 oinstal,次要組爲 dba。Home 目錄爲/home/oracle,密碼爲 ora123 。

      userdel  刪除用戶   完全刪除包括home下的目錄文件:userdel -r ming
     usermod  更改用戶屬性
    如,把ming用戶更改屬性添加到多個組裏:
   usermod -G root,bin,todd ming

  把多個用戶加入到root組裏:
 gpasswd -M ming,todd,ttt root

  用戶密碼文件:  vi /etc/shadow
  用戶組密碼文件 : vi /etc/gshadow 較少用
  用戶組文件 : vi /etc/group
如:作一個用戶遷移,把上述文件移動另外一個系統

 注:加入root組並就是有root權限,uid爲0纔是root

二、修改如下文件也能夠更改用戶屬性通常經常使用:
   vi /etc/login.defs

三、向控制檯發出信息:

   write
   mesg
   wall  給全部登錄在本機用戶發出信息
   last   查看登陸日誌
   lastlog 查看所有登陸日誌

6-5  linux系統文件的存儲及權限

一、-表明普通文件,d 表明目錄類型文件,l表明連接文件
      b c s p 管道文件   共7種文件

二、備份整個硬盤到一個加載u盤上:
    dd if=/dev/sda of=/mnt/a.img
    或者其中一個分區:dd if=/dev/sda1 of=/mnt/a.img

三、文件受權:
    644  二進制爲: 110 100 100 即權限爲:rw- r-- r--
   chmod 644 A
  如不用數字受權爲:
  chmod ugo+x A   全部設置爲都增長一個執行權限  u 表明擁有者,g表明擁有組,o表明其它
  chmod a-x A    同理減少一個X
  chmod a=rw A  都爲rw權限

  chmod -R 777 /tmp/work   大寫R參數表示把整個目錄全部文件都設置爲上述權限

四、修改文件的擁有者:
    chown ming a 把a文件的擁有者更改成ming用戶
    若是加大寫R參數跟chmod同樣用法

五、改變文件的擁有組
    chgrp root a   用法跟上述同樣,也能夠帶大寫R參數

六、新建一個軟連接:

   ln -s file1 file2    創建file1的軟連接file2   ,如是硬鏈接則不加-s

四、linux下文件權限不疊加,如某用戶對這個文件沒有權限,但它所屬的用戶組有權限,最後權限是沒權限,跟win不同


7--- linux 文件夾及文件的權限

   一、文件夾權限:X爲重要權限,若是沒有x權限則不能cd進去。
     r權限對應爲 ls查看執行
    x   cd
    rx  cd   ls
   wx  cd  touch  rm   vi (本身的,其它人的)
   wxt  cd  touch rm  vi(只能夠修改本身的)

    注:文件夾W權限很重要,若是一個用戶對此文件夾有寫的權限,那麼對文件夾裏面的權限一樣可寫!  
  : wq!   強制修改保存退出

  /tmp  權限爲1777    ,1爲sticky  權限
   umask 
   關於不一樣用戶建立文件或文件夾的權限:
    文件夾:777-umask
     文件:666-umask


8---linux 編譯器及vim初步:

一、rhel5  把vi省去,需直接輸入vim

二、u   撤銷undo  ,ctrl+r   重作

三、"a3yy 複製      "ap  粘貼     自定義剪貼板 a,能夠爲b,c等,3表明複製3行。

四、:set nu  顯示行數


9--文件查找與壓縮:

一、which  查找可執行命令  如: which  ls  注:只能夠查找命令

    echo $ PATH    輸入路徑爲which查找的路徑

二、whereis   跟which 類似

三、locate 查找東西比較快,且查找全部目錄 ,查找前需更新db:updatedb

   ls ‘which locate’-l
   locate aaa.tar.gz
   locate -r '.*newfile.*'

cat  /etc/cron.daily/   計劃任務裏的內容

四、find  命令(比較慢):
   語法:find /etc -name newfile.txt
             find /etc -name "*newfile*"
  直接加文件名爲在當前目錄查找。

   find /etc -name "*network*" -exec ls { } \ ;   把查找出來的內容再執行ls命名
    find /etc -name "*network*" -ok rm { } \ ;   把查找出來的內容再執行ls命名,但需確認,exec不需交互。

     find /etc -等等  參數。

    find / -perm -777 -type d -ls     從根目錄下開始查找全部權限爲777的目錄

五、grep  對指定文件內容進行查找(只查找文本文件):
  
    grep -R -l shrek /etc    查找全部帶shark字母內容的文件關ls出來


六、壓縮工具:

   gzip  壓縮
    gunzip   解壓縮

   bzip2    壓縮 ,跟gzip差很少,但壓縮比較高
   bunzip2 

七、tar  打包:
  
   tar cvf  /tmp/root.tar /etc/network   把network 打包到tmp下
    tar rvf  /tmp/root.tar /etc/network /etc/passwd
    tar xvf  /tmp/root.tar -C /tmp/dd/  解壓到指定目錄下xvf
    tar tvf  /tmp/root.tar   預解壓文件tvf

  tar cvfz  /tmp/root.tar.gz /etc/network    打包後再壓縮cvfz
   rvf不能夠加z使用
  tar xvfz  /tmp/root.tar.gz -C /etc/network   解壓解開到   xvfz

註釋:c  建立新的檔案文件
          r  把要存檔的文件追加到檔案文件後面
          t  列出檔案文件的內容,查看已經備份了哪些文件
          u 更新文件
          x  從文檔文件中釋放文件
          v  詳細報告
          f  使用檔案文件或設備
  

八、history  查看歷史命令


10--文本處理及正則表達式----

一、對文本文件操做命令:cat,more(只能往下),less

  head 顯示文件的頭部內容,默認顯示前十行,參數-n 指明顯示行數
  如;head -n 20 /etc/passwd 顯示passwd的前20行。

  tail  顯示文件結尾部分,用法與head同樣。

注意:tail -f /var/log/message 實時監控日誌文件更新信息,很是重要
-f 若是文件的大小在增加的話,tail 將跟隨文件的增加而顯示。

    sort -t : +2 -n  /etc/passwd  排序以:分隔 +2第三列,-n數字  (默認從大到小,加-r 即從小到大)
    sort -t : +2 -n  /etc/passwd  > /tmp/a  排序後並輸出到a文件
 
    sort -t : +2 -n  /etc/passwd  | head -n 3 輸出前3行

二、抓取文本中的一部份內容:
      cut -d: -f1 /etc/passwd    以:爲分隔符抓取第1行

       cut -d: -f1 /etc/passwd | grep shrek  以:爲分隔符抓取第一行,再取出帶shrek的行
    
       cut -c1-3 /etc/passwd   取第一至三個字符下來

三、常見參數:
     grep -v -l -R -c -A2 -B2    -v不包含
     cut -d:  -f2-4   -c1-5 
     sort -n -r -t: +2

   注:grep執行時需加‘’號,如: grep 'ming' /etc/passwd

四、wc  統計文件的行,詞,字數
   能夠加如下參數: wc -l -w -c /etc/passwd

五、uniq  只顯示不一樣的單詞:

六、diff  兩個文件做對比:

    diff a b

七、正則表達式:
     .  表示任意一個單一字符

     .* 表示任意多個單一字符

     ^a 表示以a爲首的行

    a$  表示以a爲尾的行
  
    \<good 表示以good開頭的單詞

   good\>  表示以good結尾的單詞

    [abc] 表示當前位置 a、b或c

    [^abc] 表示除了a、b、c之外的字符

   a*  表示多個a

    a?  表示一個或單個單獨的a

  a+   表示a、aa、及至更多個a

   a\{n\}   表示重複了n次的a


11---輸入輸出重定向及管道:

  一、標準重定向輸出:>   ls /etc/passwd > /tmp/a 
       >號只輸出正確的信息,若是 是錯誤信息則是 2>
      如:ls /etc/afdsafdaf   2> /tmp/a

    注:上述重定向都會把a文件清空後再寫入。利用此能夠對文件刪除清空。
           &>  表示錯誤正確的消息都寫入
           >>  追加到文件後面
           &>>表示正確錯誤都追加到文件後

cat /dve/cdrom > /tmp/a.iso    將光盤作成iso鏡像 

二、兩個<<
     cat << aaa    等待輸入

    tr 「a-z」 「A-Z」< /etc/passwd     把passwd所有輸出變成大寫

      cat  > b.txt << DDD   當輸入DDD時 中斷退出

    ls /etc/  | wc -l    統計有多少文件示例

    ls /etc -l  | grep '^d' | wc -l   統計有多少個文件夾應用

三、 tee  複製


12----進程控制
 
一、hostname   主機名,注當更改完主機名時必定要更改相關IP:
    vi /etc/hosts   更改裏面的相對應 IP地址,如window 裏的hosts文件

二、free 查看內存使用狀況

三、proc  內核的一個小窗戶,裏面的文件都是虛的

四、日誌  /var/log        查看相關日誌 message(系統日誌) ,secure,(安全日誌) wtmp(安全加密日誌),maillog(郵件日誌)

五、查看進程:top   或 ps   ,ps -aux 顯示全部進程,-f 查看進程樹

    終結進程:kill  -l   能夠查看相關號,如:kill -9    ,kill -11

   直接結束進程:kill  4811   強制結束:kill -9 4811

  殺掉全部httpd進程:  killall httpd -9
  
   殺掉某個用戶的進程: skill -9 ming  

   關於進程狀態:s  表明睡覺,T表明暫停,R表明 運行 ,Z 僵持進程,D深度睡眠進程,<:高優先級進程,N:低優先級進程
   
六、關於優先級:

   -20 到19    最大優先級 爲-20

  top裏面使用 r 來修改優先級。

   nice -n -20 updatedb   以高的優先級執行命令
    renice -20 1  把進程1的優先級更改成-20

七、jobs  查看後臺任務,bg %1  把後臺第一個進程運行起來,fg %1把後臺第一個進程轉到前臺並中止,kill %1  結束第一個進程。ctrl + z  中止一個任務並丟到後臺。

   nohup updatedb &   在shell退出後,後臺進程仍在執行,做爲系統進程


----13 bash 使用詳解:

set  查看全部的變量,env  查看全局環境變量

一、  vi ~/.bash_profile    設置bash命令

定義一個變量,取出其值
   AA=aaaaaaaa
   echo AA
上述爲普通變量,只能夠在相應的bash下使用,下面定義全局變量使用:

export AA=aaaaaa

二、history -c  刪除所有歷史紀錄

   若是想每次退出時清除命令歷史紀錄:
 
  vi   .bash_logout   在上述文件中加入history -c

 調用命令歷史:ctrl + r


三、關於bash的字符(注:跟正則表達式不同):

  ! 表示執行等,~表示 主目錄,( ) 聲明一個函數如:a()

   "" 號只能把空號的意義的屏蔽,‘ ’把所有特殊符號屏蔽,`` 能夠先執行``裏面的命令,如:touch  `date + %y%m%d`log  (反引號是指~裏下面的)

\  脫義符號  ,如touch  一個$的文件: touch \$  

;  能夠連續執行兩個命令: echo aaaa ; ls /etc -l

四、查看上述命令是否正常執行:echo $ ?  正常執行輸出0。

五、兩個&&號的使用:[   -f /etc/passwd   ]   &&  echo ok  若是前面爲正確時執行後面的命令

六、兩個||  號的使用 : [  -f /etc/passwdddd    ]  || echo ok   與上面命令相反,若是不正確時才執行。
(注:上述-f 表明查找文件,-d表明查找目錄,-l 表明一個連接,-x表明是否能夠執行,-r是否能夠讀,-w是否可寫,-e  表示文件是否存在,-s  文件大小不爲零)

同時需注意上述加空格表明判斷,如:[  $USRE  =  root  ]  && echo it is root


七、定製bash

shell 腳本里通常初始化會執行如下幾個參數配置文件:

     一、/etc/profile     針對全部用戶的 ,公用 的
     2.   ~/.bash_profile  當前目錄下的
     3.  ~/.bashrc         4.   /etc/bashrc  針對全部用戶的


八、更改成中文界面

   查看當前系統語言:echo  $LANG

  vi ~/.bashrc   打開上述文件添加如下:
  export LANG="zh_CN.UTF-8"
  export LC_ALL ="zh_CN.UTF-8"

上述只針對當前用戶,如更改整個系統的語言則更改如下:
vi /etc/sysconfig/i18n    添加以上便可


-----14.shell 腳本編程詳解:

一、聲明一個bshell 腳本以:#!/bin/sh

二、重設shell環境  :reset     ,man bash  錄求幫助

三、在當前的shell裏來執行:   .  ./backup


四、查看腳本的執行:bash -vx  ./b  能夠查看腳本的一步步執行(調試使用), bash -v ./b  查看腳本的執行  


五、if 語法:
如下爲一個bash 示例:

#!/bin/bash

read AA

if [  $AA = root ]  then echo 'hello root'
       elif  [  $AA = ming ]  then echo 'hello ming!!'
     else
              echo 'you are a bish!'
fi

六、case……in 語法:

#!/bin/bash

read AA

case $AA in
            ming)  echo 'hello ming, welcome to here!!'
              ;;
            root)  echo 'hello root ,i miss you so mush !!'
            ;;
        *) echo 'you are a bish ,get out here!!'
            ;;
esac


七、/etc/rc.d/init.d/   上述爲系統初始化時的shell路徑

八、file1  -nt  file2   文件file1 比文件file2更新
     file1  -ot   file2   文件file1比文件file2 更老

九、數值運算符比較:

相同  -eq  =
不一樣  -ne  !=
大於  -gt   >
小於  -lt   <
大於或等於  -ge
小於或等於  -le
爲空  -z
不爲空  -n

十、下述爲kill 掉httpd的例子:

AA="`pgrep httpd`"

[  -z  "$AA"  ]  &&  echo 'httpd is not running !!'  && exit
for i in $AA
    do 
          kill -9 $i
    done
echo  'httpd has killed'

十一、循環100次:

for   i  in `seq 1 100`

十二、while 循環:

  AAA=0

while [ $AAA -lt  100 ]
      do
             AAA =$[$AAA+1 ]
             echo \ "$AAA"
    done
 
1三、編寫一個輸入某個數循環:
    
1四、sed  使用:

sed -n -e '/ming/p'   /etc/passwd  默認輸出帶ming的項 ,-e表示執行後面的命令,-n表示默認輸出,p打印

sed -n -e '/\<ming\>/s/bash/nologin/p'  /etc/passwd   把bash替換成nologin ,s表示替換 。

sed -e 's/nologin/login/' /tmp/ddd/passwd   把全部nologin 替換成login

sed -n -e '/ming/s/bash/nologin/g' /tmp/passwd > /tmp/ddd/a 替換後並輸出,g表明所有替換。

sed -e '/^\#/d' -e '/^$/d' /tmp/ddd/squid.conf  > /tmp/ddd/bb
刪除以#開頭以及爲空的行, d表明刪除

1五、把 '' 裏面的命令寫成一個文件ss,而後再sed執行:
sed -f ss /tmp/ddd/passwd

1六、軟件安裝:

   一、rpm -ivh   ....i386.rpm     安裝某個rpm軟件包,-i表示安裝,v表示顯示百分比,h顯示過程。
   強制從新安裝:rpm -ivh --force  ...i386.rpm
   強制安裝:rpm -ivh --nodeps  ...i386.rpm     --nodeps 強制安裝無論其它關聯關係
   安裝:rpm -ivh --aid  ...i386.rpm   --aid  解決一層關聯關係,只有rhel4以前系統有。
   強制刪除rpm:rpm -e --nodeps httpd                --nodeps是強制刪除無論其它關聯關係

二、rpm -q httpd 查看httpd安裝的包
  
     rpm -qa   查看全部已經安裝的包。
  
     rpm -qi       查看已經安裝的包的詳細信息

     rpm  -ql   查看包的安裝路徑

     rpm -qpi   a.rpm    查看未安裝的包的信息


三、解壓出來的原代碼進行編譯安裝:

./configure   --prefix=/usr/local/httpd  --with-mpm=worker
 (指定安裝在哪個目錄下面)

make 

make install


17------xwindow 圖形界面

ctrl+alt + 退格    :關閉x-window界面

18------安全方面:

nmap -sS -O -P0  www.baidu.com
掃描端口

更改ssh端口: vi /etc/ssh/sshd_config
                    service sshd restart

 node

相關文章
相關標籤/搜索