歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> Linux文化

linux 學習筆記


很久前就打算把這些筆記寫下來,由於種種原因一直沒動,打算從今天起慢慢的把自己學習linux的過程寫下來,對與錯請CU的各位前輩指點,非常感謝牛海峰(JohnBull)老師,您是我的linux啟蒙老師,俗話說“師傅領進門修行靠個人”,非常汗顏,我自打離開長城後就很少拿出精力來研究linux了,磕磕絆絆走過了一年,現在工作有了著落,靜下心來把一年的心情整理一番,也把學習筆記拿出來,請CU前輩指正。                                                                      jinscan      linux入門很重要,剛開始自學linux時懵懵懂懂好不容易裝好了linux,大喜過後一臉無奈,這是哪跟哪呀~~~~~~裡面的所有東西都不知道怎麼用,自信對window有研究的我在linux前手足無措,在給linux相了一天面後還是格掉了此後開始看書,慢慢的找感覺~~~~~~~~~~~一直到長城開始系統的學才自以為找到了感覺(也就是入門了)。自我評價:學習linux找感覺最重要,不管是看書還是自己安裝後琢磨,堅持著看和做,肯定能成。如果僅僅看了兩天書就認為入門了那肯定是自欺欺人。 Linux安裝: 安裝linux並不是很難,一般用光盤安裝,安裝時硬盤默認分為三個:引導分區;根分區;交換分區;分區弄明白了安裝也就沒什麼障礙了。還有從硬盤安裝,我當初從硬盤安裝linux時頗費一番周折,幸虧有platinum和shadowmin老師的及時指點才得以順利安上,再次感謝一下:)附硬盤安裝原文: http://bbs.chinaunix.net/viewthr ... p;extra=&page=1 注:裝linux是要寫規范主機名。如host.abc.com 作服務器時系統CMOS時間應設為格林威治時間,即國際標准時間 linux基本命令:    掛接:單根文件系統使用多個設備的方法。   mount 設備  掛接點        dmesg  | grep cd  此命令可看光驅在哪 ( 當老師講到這裡的時候機器出了點故障,鼠標不動了,老師用了一個命令就使鼠標復活,第一次感歎linux的神奇啊~~~~~原來鼠標還可以重起(windows下還真沒想過)   順便把老師用的命令也抄了下來,呵呵多學了個竅門    重啟鼠標命令: /etc/rc.d/init.d/gpm restart ) 解除掛接:umount 掛接點      軟盤寫法:  /dev/fd0 SCSI硬盤寫法:/dev/sd(a)括號內可以依次排為b cd……. USB硬盤SATA硬盤系統都做SCSI硬盤對待。 SCSI光驅寫法:/dev/scd(0)括號內為數字零依次後派 USB口的光驅也被認為SCSI光驅。 注:只有先解除掛接可移動設備才可拿出來 shell和文件系統 shell命令: unix中絕大多數都是外部命令。內部命令常用的有cd  很少 dos      |      shell dir      |       ls type     |       cat cd      |       cd md      |      mkdir rd       |      rmdir del      |      rm copy    |       cp ds      |       dear attrib    |       chown  charp   chmod 此上命令除了cd 全是外部命令 最重要的命令:  man  主題 主題可是shell命令也可是配置文件,還可是C語言函數,但有時shell命令和配置文件相同時打入命令怎麼辦呢,此時用參數                    man 1.命令 2.系統函數 3.標准庫函數  5.配置文件 例:查passwd      默認   man passwd  會查到                         man passwd(1)命令                此時要用 man 5 passwd  可查配置文件 模糊查找(匹配)參數: -k  例 man –k  PPP      和大多數unix中一樣k為小寫. 第二個重要命令: vi 文件名       (文本編輯器)      它有三種工作模式,缺省為”命令模式”                    輸入I 進入”插入模式”   按ESC回到命令模式    常見命令: 刪一個字符  x               刪除一行   dd               恢復操作   u               復制       yy   (光標在哪一行將復制哪一行)               粘貼       p    (粘貼在光標下面) 在vi重復輸入一些命令時,在前面加數字 如插入100個a  則在命令模式下先輸入100 按I輸入一個a 回到命令模式則會有100個a被插入  5行東西重復3次則輸入5yy3p  存盤退出用大寫ZZ    “末行模式”常見是搜索字符.用”/”在命令模式下輸入 “/”加字符串.在手冊中也能用 “;”會引發末行模式.可用”;”跳到某一行”;”加數字可直接到那 “;”還可用與文件操作 “;q”可直接退出 “;q!”強制退出 “;w”存盤不退出 “;wq”存盤退出 “;recover”可在出現以外後修復文件 “;w 文件名”另存為                          shell命令的敲法:       命令   參數1   參數2 參數定界:用到” ‘  ‘”(單引號) 用單引號括起的如’abc  def ‘是告訴shell消除語法歧義 如要建一文件叫  jack’s  daily 卻不能用單引號了,此時得用”\”應寫為: 例如: touce  jack\’s\ daily “\”為轉意字符,取消反斜槓後一個字符的特殊含義 文件系統 在unix中”.”無特殊含義   unix下區分文件類型的命令   file   unix下是靠文件的頭部說明來區分文件格式,所以操作系統不會理會擴展名的 (exe文件頭兩字母是MZ)         mount 直接回車是顯示當前所mount的狀態 df 察看磁盤利用狀態 磁盤分區 du –h +子文件名  檢測文件系統子目錄所占空間 pwd查看當前子目錄 unix下一個文件可以不可讀而可執行,對於子目錄而言x就是另外一層含義了,稱之為檢索。對子目錄而言r就是列表權 (經驗:不要安裝基於文本界面的多媒體應用程序) 如何修改權限 修改屬主:   chown [-R] 新屬主  文件 -R: 將文件夾中的所有文件也更改掉 修改屬組:   charp  [-R]  先屬組  文件 修改權限:   chmod [-R]  新權限  文件 新權限有兩種表示方法: (1)        直觀:  如  rw-r—r— 數字        6   4  4             110100100                    (2)字母法:  如  rw-r--r--                                       u  g  o 修改文件的訪問權限不必非得是root,文件屬主也可以 windows文件權限策略是ACL,側重與靈活性;  unix文件系統策略是權限位,側重用效率; linux所有權限都放於一個16位的短整數裡 linux特有功能(ext2 ext3所體現的):列出所有權限命令:lsattr                                  設置特殊權限:    chattr 連接: 硬連接:硬連接本質使一個文件有兩個文件名和windows不同windows中文件屬性和文件名是放在一塊的,而linux文件名僅是文件名   命令:ln 原文件名  新文件名       硬連接有兩限制:(1)不能給子目錄建硬連接 (2)        不能跨文件系統建硬連接(即不能跨分區) 在unix下刪除一文件的本質是斷開一個硬連接,系統會將硬連接數減一,只要不為0則保留文件體。    符號連接:(路徑跳轉) 命令: ln –s 跳轉去向 連接名   注:建符號連接得用絕對路徑。寫絕對路徑此時可建成的在tem下看到的連接是紅色的。“à”後面指向的僅一個services但在當前目錄即tem下卻沒有這個文件此時便出錯了。   注: 符號連接可跨分區建立 shell shell 使用:  在unix下常用的是bash 功能:(1)自動完成  按tab鍵支持路徑,在參數位置上按tab會補齊文件名,按兩下tab鍵便可看所有系統命令。 (3)        命令歷史:按↑↓ 可查看所打過的歷史命令。注:在用戶文件夾下有個bash-histroy保存有上次使用的命令。 非shell功能, 虛擬終端功能:按alt+f1~f6切換 鼠標粘貼:左鍵選擇右鍵粘貼,可跨終端。 *shell如何運行外部命令: 進程:一個正在運行的程序就是一個進程(不嚴密的解釋) 派生:系統的所有進程都是由一個進程派生出來的 shell有一個父進程當接到一個命令時會產生一個子進程,而shell則進入休眠狀態,等待子進程結束,子進程完後交給父進程一信息,父進程激活等待。                  後台運行命令:      命令 & 作業控制:ctrl+z 把前台作業掛起(暫停)掛起後都會保存在內存中。         怎麼知道有作業呢?用jobs命令 fg + 作業號 是把後台暫停作業調回前台 bg + 作業號 是把前台作業換到後台 shell的基本配置:         bash的基本配置是由配置文件組成的./etc/profile稱之為shell的全局配置文件。 另外一個文件在個人的目錄下  個人目錄/.bash-profile 還有個文件在個人的目錄下/etc/bashrc  是第二個全局配置文件,保存的是(函數別名等)在個人目錄下也有個配置文件~/.bashrc   etc下的文件是全局文件,一經修改所有的用戶設置都改了 shell的具體概念: 環境變量:  變量名=變量值    例: LANG=en 是設置語言為英文                                   LANG=zh-CN.GB18030是設置語言為中文 通過設置shell的變量來決定子進程繼承什麼樣的值。                  {變量名=變量值                   export  變量名 可簡化為   export 變量名=變量值   注:export 不能省略,另外此時定義的變量是當前shell的值,一旦注銷便沒有了,想固化得修改profile文件 命令env 可查看所有環境變量裡面有個path非常重要,它定義了shell命令執行的路徑。 Linux下命令執行僅搜索path路徑,不會搜索當前目錄的外部命令,所以在當前目錄下要執行當前目錄中的命令需要加”./”命令。 3.引用變量的值: $變量名  例:export  PATH= $PATH:/etc/xxx   例如:echo $LANG  echo  回顯命令  可察看LANG的值   例    export  CMD =ls                $CMD –l  等於ls –l shell管道與重定向     一個進程的缺省標准輸入輸出分為標准輸入;標准輸出;標准錯誤輸出三個管子。 控制終端:缺省情況下進程的三個管子通向控制端 輸入重定向:命名  <    文件名    解釋:原來要從終端讀取的命令改成從文件讀取。         例如:cat   <   /etc/hosts    則cat讀取的文件不是從鍵盤而是從hosts文件,cat不知道所要讀取的標准輸入輸出被換成/etc/hosts和cat /etc/hosts不一樣,此時是cat直接讀取hosts 輸出重定向:(1)命名   >     文件名  原來要輸出到終端的命令改成輸出到文件              (此時叫覆蓋式重定向)           (2)命名 >>  文件名                (追加式重定向)   例如: gcc 命令 0:標准的輸入                   1:標准輸出                   2:標准錯誤輸出 解釋linux最精簡的一句話是:linux下一切都是文件。    管道:匿名管道,unix傳統進程間通信。 寫法: 命令1 | 命令2 命令2處經常出現的是more 或  grep 例如: cat /etc/services  | grep  ‘http’ 意思是包含有http的輸出

老師在講shell中穿插講了硬盤分區和格式化    磁盤的分區格式化     分區:  fdisk    -l 列出分區表             fdisk   磁盤而不是某分區  (/dev/had)       command  :p 看分區                   n 新建分區                   d 刪除分區                   q 不保存退出                   w 保存退出 生成文件系統(格式化)       mkfs  (make file system)       mkfs  -t  ext2  /dev/hda5       mkfs  -t  ext2 –j /dev/hda5       :格式化成ext3格式 掛接:mount /dev/hda5 shell  腳本本身就是程序,是用shell命令構成的,小規模、結構化、模塊化、程序設計。 命令:  echo   輸出信息用         read   輸入信息     read+ 變量名         sleep   休眠        sleep+ 秒數 在終端上算數表達式寫法: echo $ ((1x2x3))這是整數運算不能帶小數點。 /  :除 % :余 shell腳本格式: 第一行必須是     #!/bin/sh 有三種結構  順序結構   分支結構   循環結構   順序結構    wait 命令 保證進程同步 等待一個子進程結束 多個並發就用多個wait 例如:    #!/bin/sh            echo “1”            sleep 5&            echo “3”            echo “4”            wait            echo”5” 分支結構           if 判斷  ;  then                   T塊                 Else                   F塊                 fi 判斷        test語句   test 表達式 =  [表達式] 表達式進行文件判斷   -f  文件名(檢測該文件是否存在且為普通文件                      -d 目錄名                      -r  可讀                      -w 可寫                      -x 可執行 這些例子由於年久失修(筆記上標注不完備,過後有忘了的地方)錯誤之處請多多包涵 例如:         #!/bin/sh         echo “file”         read  FileName         if  [-f $FileName]; then              echo “yes”           else          echo “no”   fi 字符串比較   相等    串A =串B              不等    串A!=串B              -z   判斷字符串是否為零 空為真 非空為假 數值比較: 大於 等於 小於  不等於        a > b       $A –gt $B        a≥b       $A –ge $B        a≤b       $A –lt $B        a=b        $A –le $B        a≠b       $A –ne $B 邏輯比較: 條件A –a  條件B(與)             條件A-o 條件B  (或)            !條件            (非) 例如:         #!/bin/sh         read MARK  <  /proc/sys/net/ipv4/ip_forward         echo  $MARK          if  [ $MARK = “0” ]; then            else  echo “host”                 echo “GATEWAY”          fi ‘ ‘ 反單引號: 如果反單引號後面有語句則將裡面的語句運行完後將結果替換此處       例如:        #!/bin/sh        u=id –u         if  [$u = ‘0’] ; then                 echo “hello”          else                 echo “permission denied”         fi 再例如:       #!/bin/sh       echo  “username”       read  userNAME      MARK = ‘cat /etc/passwd | grep ‘$userNAME:’       積極if  [ -z $ MARE] ; then                 echo “NO”              else                 echo “YES”            fi 多分支結構            case  字符串   in 串1) 塊1        ;; 串2) 塊2        ;; . . . *)       esac 例如:     #!/bin/sh         echo  “command”           read  CMD          case $CMD  in        start)                  /etc/rc.d/init.d/named  start                 ;;        stop)                 /etc/rc.d/init.d/named  stop                 ;;        estart)                /etc/rc.d/init.d/named stop                /etc/rc.d/init.d/named start                 ;;                *)                 echo  “usage : $0 {start|stop|restart}                 ;;             esac *知識點:  . 腳本  讓shell不打開子進程,在當前shell進程中運行腳本      看腳本切忌一行一行的看,要一層一層的看,就像剝玉米. Shell腳本 循環  1)當形循環       2)條件循環    while  判斷;  do           循環體    done 例如:      #!/bin/sh        i = 0 while  [ $i –lt $n] ; do       j=0       while [ $j –lt $ (($i+1))] ;  do         echo “\*”           j=$(($j+1))         done        echo       i=$(($i+1))     done 定時循環  00:00:00: 1970-01-01 utc   稱之為unix元年        data +%s 是取從unix元年至少過了多少秒        date +%H:%M:%S    顯示時分秒格式 例如:             #!/bin/sh        intime = ‘date +%S’ –le $ [ (intime+5)] ; do             echo “.”          ##echo後面加-n 輸出就不回車了,橫向輸出         done    利用date命令可以方便的實現定時循環     shell風格的循環     for 循環       (枚舉循環) 格式       for   變量名  in  值列表  ;  do                  循環體             done ##值列表:核心部分,一系列由空格分開的字符串 例如:   #!/bin/sh          for n in asd 4r3 56h er34 657 tr ger ; do             echo  $n          done 要自動下載列表中的東西編shell的     #!/bin/sh              cd /tmp/dl       for url in  cat /etc/urls ; do             wget $url           done             >/etc/urls 補充知識:     參數傳遞       命令  參數1  參數2 …………     例如:           #!/bin/sh              n=$1               i=0             while ($i-lt $n); do                echo    “xxxx”                 ii= $ (($$+1))                   done       $0       $0就是命令本身 編後:此處講的都是基本的shell應用,老師推薦看《bash編程》 Linux系統管理 1.        用戶管理 添加賬戶   useradd 用戶名            passwd 用戶名 groupadd   組名              usedel    -r    用戶名   /etc/group          /etc/passwd            /etc/shadow            三個重要文件 group 文件  格式:  組名:x :組ID:組成員 passwd文件 格式:  用戶名:x:用戶ID:組ID::用戶目錄:shell 用戶在passwd文件中體現的組關系稱為用戶組屬組,而在group組中體現的是額外組。    false:運行起來就是個恆假。正確利用false給用戶,將false添加到/etc/false下用戶名字後這樣用戶就被拒之門外。如mail用戶 通過修改用戶的shell來限制用戶登陸提高網絡安全性。    top命令:察看機器負載情況    which命令:查看外部命令的路徑 top被弄成用戶shell時切記在linux下可用,因在linux下top是安全模式的,而在其他unix中並不一定安全,通過敲擊熱鍵可能會打出一shell。 shadow文件  shadow裡面的口令是散列,散列是不可逆的 批量添加150個用戶      u001—u150 #!/bin/sh i=1   while [$i–le 150] ; do                 if [ $i -lt  10] ; then                 uname =u00$i    else                 uname=u$i      fi              useradd $uname       i = $(($i+1)) done    passwd 命令規定只能在終端上手動輸入,只有用stdin參數便可解決 作業: 從一表中將已知用戶名導入useradd 2.網絡配置 linux 下有兩套網絡配置,第一套為BSD方式,另一套是linux方式。linux中高級網絡功能只能用linux方式。    BSD方式:1.查看  ifconfig   網卡名     BSD中必須指定網卡名               注釋:                    collisions 沖突             txqueuden  發送包的長度                 網卡工作模式       mii-tool   媒體無關接口    ethtool+網卡名    查看命令更詳細(需要網卡驅動支持)    netstat –r  查看路由 查看網絡連接狀態               netstat    -ant   查看TCP的所有網絡連接                          -anu   查看UDP的所有套接字 一條TCP連接會產生兩個套接字,兩台機器均開。 ARP  -n    -n意思是不要進行反解 不轉成名字   查看DNS  cat /etc/resolv.conf          2.配置IP                   ifconfig  網卡名   ip地址 配置路由   route add   -net  網絡地址  netmast x.x.x.x  gw 網關            route add   -host 網絡地址  netmast x.x.x.x  dev 網卡            route del   -net  網絡地址  netmast x.x.x.x  gw 網關            route del   -net  網絡地址  netmast x.x.x.x  dev 網卡 缺省寫法: route add  default gw 網關            route add  default dev網卡    靜態ARP     arp  -s  IP地址  MAC地址 linux 方式:      ip 命令             ip addr show  查看IP地址 簡寫為 ip ad sh          ip route sh    查看路由    簡寫為 ip ro sh          ip neigh sh    查看靜態ARP  簡寫為 ip ne  sh ipv6中取消了ARP  改用ICMP 具體配置:          ip  ad add dev ip地址/掩碼長度          ip route add ip地址/掩碼長度  dev 網卡       ip route  add ip地址/掩碼長度   via  網關地址 激活/禁止某網卡         ifconfig  dev   down/up    linux下的:          ip link  set up dev eth0          ip link  set down dev eth0 此設置都是臨時的,固化網絡配置,在linux下 主機名/缺省網關: 修改路徑 /etc/sysconfig/network         如果修改主機名順便把hosts文件也得改    /etc/hosts否則有時服務會啟動時掛起死等~~~~~~~~~~~~~~~~    固化IP 地址   /etc/sysconfig/network-scripts下的ifcfg-網卡名 例如: /etc/sysconfig/network-scripts/ifcfg-eth0          bootprotocol= static  ##如果用動態IP則改成DHCP          ONBOOT=yes           ##啟動時激活,設置思想:作為外網網卡應該為NO,因防火牆啟動之前將網卡先期啟動會有被攻擊的危險           靜態ARP固化            /etc/ethers         寫法:    mac  ip   例如 : 01:02:03:04:05:06  10.0.0.2   (小知識點: 萬用腳本:/etc/rc.local 不管什麼命令只要加在此,下次開機後便會自動運行,相當於autoexec.bat。在用戶登陸之前便已經運行,注:在此文件中加命令時不可阻塞,如果命令執行時間過長則加“$”將其弄到後台執行。 3.計劃任務  在linux和unix下是cron服務來實現的,每隔一分鐘檢查一次任務列表。    /etc/crontab crontab 命令  -l (list) -e (edit) 寫時間格式:時分日月周  命令   例如:       05 5 * * 1,3,5 ##每周一三五運行 技巧:計劃任務可用”,”“_””/”給分開 如果計劃任務不執行此時主要原因是路徑不對,看crontab便可知,PATH寫的便是,第二原因是終端:不能讀標准輸入和寫標准輸出,但可用重定向往文件中寫可以,不能使用終端如果要修改crontab文件則需要先停止cron服務。        /etc/rc.d/init.d/crond stop       修改~~~~~~~~~~~~~~~~~       /etc/rc.d/init.d/crond  start linux配置:4.top 命令詳解&進程管理           top 命令查看系統的資源狀況    load average  表示在過去的一段時間內有多少個進程企圖獨占CPU    zombie  進程 :不是異常情況。一個進程從創建到結束在最後那一段時間遍是僵屍。留在內存中等待父進程取的東西便是僵屍。任何程序都有僵屍狀態,它占用一點內存資源,僅僅是表象而已不必害怕。如果程序有問題有機會遇見,解決大批量僵屍簡單有效的辦法是重起。kill是無任何效果的    stop模式:與sleep進程應區別,sleep會主動放棄cpu,而stop是被動放棄cpu ,例單步跟蹤,stop(暫停)的進程是無法自己回到運行狀態的。    cpu states : nice: 讓出百分比           irq :中斷處理占用 idle:空間占用百分比        iowait:輸入輸出等待(如果它很大說明外存有瓶頸,需要升級硬盤(SCSI))    Mem: 內存情況             設計思想:把資源省下來不用便是浪費,如添加內存後free值會不變,buff值會增大。    判斷物理內存夠不夠,看交換分區的使用狀態。 ps命令  列進程。列出所有進程 ps ax     :tty值為“?”是守護進程,叫deamon 無終端,大多系統服務是此進程,內核態進程是看不到的,例木馬 看進程樹,以樹形方式現實進程列表敲  ps  axf             init是1號進程,系統所有進程都是它派生的,殺不掉   ps axm   :會把線程列出來   在linux下進程和線程是統一的,是輕量級進程的兩種方式。   ps axu  :顯示進程的詳細狀態。          vsz:說此進程一共占用了多大物理內存。          rss:請求常駐內存多少 終止進程:   kill  pid       本質是協商退出!(並不是強制退出)               全:     kill  -信號    pid kill –KILL  pid    是強制退出。 例如編寫一kill殺不掉的程序 #!/bin/sh      while true j do            echo –n “.”            sleep 1    done #!/bin/sh     trap “”15    ##捕獲15號進程,kill就是15號進程    while true j do     echo  -n “.”     sleep 1     done 修改進程優先級:     nice 命令  每個進程都有優先權,權值越小優先級越高。     nice –調整值  命令               ##范圍“-20~19” linux圖形界面的優先級並不是最高的,它僅是一進程   nice命令在root下可隨意調整,在普通用戶狀態下只能調低不能提高,不過還是可以恢復回去的。   局限性:必須敲命令之前敲nice ,它無法更改已經運行的程序的優先級。 如果要更改已經運行的用     renice   調整值   pid      即在線調整。 killall 命令:  殺死一系列進程,即殺死一系列由一個相同命令產生的進程例如killall   fam killall是根據命令名來殺的,kill以pid 來區別。     在top 裡面可以直接殺死進程,按“K“輸入PID可殺      按“R“可調整優先級         BSDunix 定義了32個信號         linux定義了64個信號。 5. 啟動管理               啟動順序:  BIOS -> MBR -> 啟動扇區 MBR : 掃描分區表看哪個是可啟動分區,再將那個扇區放入內存。 GRUB有兩種裝法: 1. MBR 2.啟動扇區 GRUB有兩個基本技巧:         (1). 單用戶啟動模式:  見到GRUB啟動菜單時按“e“選”“kernel“打頭的那一行,再按“e”,然後在/  rhg後面加空格+“1” 再按“b”便以單用戶模式啟動了,輸入init 3便進入正常啟動模式。 在單用戶模式下可以更改root口令,有很大危險。 防護方法: 給grub加口令       vi   /etc/grub.conf     ##在timeout後添加一行          password=1234567     ##密碼 使生效:敲grub回車   等待一會  再敲quit (2).        GRUB—> linux內核 -> init進程 ->                                                                   1.進程指令運行級                                             2./etc/rc.local                                                                   3.虛擬終端          init配置文件     /etc/inittab 裡面有一說明  0 –halt 1-        single 3-        full mutiluser 5-        X11         id:5:initdefault     ##缺省進入5   X11模式         si::sysinit:/etc/rc.d/rc.sysinit               ##系統啟動以後調用的第一個腳本,即init進程所調用的          trap           ctrl – alt –delete ca:ctrlaltdel:/bin/    在文字界面下敲init –q 來使配置 立即生效 注:屏蔽三鍵熱啟動是非常重要的 虛擬終端的添加/減少也在此修改(數量修改) 如果想把linux弄成指紋識別的替換掉getty和bgin即可。 6.文件包管理     文件包有    RPM包    源碼包    二進制包 rpm包格式:  軟件名-版本.平台.rpm 在http://rpmfind.net幾乎可以搜索到所有的rpm包 rpm包的安裝:   rpm  - i  軟件名.rpm    rpm  -i –nodeps  軟件名.rpm  ##不考慮依賴關系的安裝 檢查某個rpm包是否安裝用此命令: rpm –qa | grep 包名 刪除已安裝rpm   rpm  -e 強制刪除:       rpm –e –nodeps  軟件名 源碼包: 格式:  軟件名-版本.tar.gz/軟件名-版本.tar.bz2 在進行源碼處理的時候都要將源碼拷在此處:/usr/load/src 解包:        tar –zxf  名稱    ##gz解壓        tar –jxf  名稱    ##bz2的解壓 運用: 進源碼包 à第一步      ./configure    ##配置             第二步      make           ##編譯             第三步      makeinstall    ##安裝 大多書軟件都安裝到了/usr/local下 二進制包: 大多數都給制成一可執行文件,直接運行即可,而大多數都要求在X11下安裝 例:java虛擬機的安裝     (不是開放源碼的包) 7.GUI linux下的圖形界面和windows圖形界面的區別有哪些 linux X是一協議,規定了unix下圖形終端,至今為X11R6  用XFree86軟件包來實現的,分為圖形終端和圖形主機,圖形終端為X服務器 大寫X回車便啟動一個圖形終端,監聽6000端口 X協議是可以基於TCP工作的,也可不基於TCP工作 XFree86提供了一個完整的服務器和幾個常用的基本程序 主機配置à在系統設置->登陸屏幕->把XDMCP啟用,注銷一次 主機   netstat –anu  查看177/udp 終端上敲: X –query 10.0.0.1回車 如廣播域中有好幾台X主機則用X –broadcast 在文字界面想進如圖形界面敲 init5 快捷鍵        ctrl + alt + “ +”                  “-”可動態調整分辨率     ctrl + alt + “←”可強制退出圖形界面,在linux下X也僅僅是一個進程。     ctrl + alt + “F1~~~F6”回到文字界面 8硬件管理   查看CPU類型:   /proc/cpuinfo   查看pci設備:   lspci  表中能看到但linux不一定能驅動   查看usb設備:   lsusb   -v  顯示詳細列表,甚至電壓都有   設備驅動情況: dmesg 在proc目錄下有很多常用命令,在此還有以進程號為名的目錄,可在目錄中查看進程路徑,在純unix中僅有以進程名的子目錄,在linux中多些系統配置 9.磁盤配額 基本要點:1.針對某個分區(ext2、ext3、reiser、…fat不支持)2.對於塊的使用/文件個數限額 步驟:1.不考慮限額情況下把分區掛好       2.進入掛接點 做 : 目的: 對u1限10M  1000個文件。 對兩個文件    touch  aquota.user    aquota.group  加個“a”即高級 將兩個文件屬性改成600    chmod 600 aquota.user aquota.group      3.修改etc下的fstab   vi /etc/fstab     在hda5這一行的defaults後面加一逗號寫上usrquota,grpquota ##基於用戶和組的限額。      4.重新掛接該點  mount  -  o remount /home ##不關機的前提下重新掛接一次      5.啟用限額    quotacheck –u –g /home  ##意思是啟用之前檢查此點的使用情況(經驗:做限額要拿新分區來做)                     quotaon   -u –g /home(前五步是一次性的做完即好)      6.設置限額     edquota –u u1  回車後出現一表          解釋表:                 block – 以塊為單位,已用了多少          soft/hard   軟/硬限額 inodes    文件實體 修改後存盤退出即可。 edquota命令還有一種非交互性的         edquota –p 原型用戶  -u 用戶名  ##即將原型擁護的限額復制給新用戶。 10.日志管理 1./var/bg/messages  此為主日志文件。注:出現服務器異常時要去看日志文件,調試服務器失敗第一反應應去查看日志,而不是重裝系統 2.syslog服務   命令:  logger   例如:logger hello 便向日志文件添加一行“hello” 日志配置文件:/etc/syslog.conf    格式:   消息分類     消息去向 來源.級別    /var/log/ 常用技巧:就地打印日志  將日志寫到/dev/lp0    行式打印機打印出去   *遠程日志:       syslog服務器 配置syslog服務器 例如:  10.0.0.1為syslog服務器        10.0.0.111 為客戶機 步驟: 1.服務端配置 vi /etc/sysconfig/syslog                   sysLOGD_OPTIONS = “-r –m 0”   ## -r 意思是接受遠程的日志         重起/etc/rc.d/init.d/syslog    restart        2.客戶端配置           vi /etc/syslog.conf           在消息去向處添加  @10.0.0.1             存盤退出重起服務           /etc/rc.d/init.d/syslog  restart        (知識點:直接查看日志尾部:    tail   /var/log/messages) 日志服務使用的端口是:514/udp syslog日志服務器端不能根據源地址過濾,為了防止外網向日志服務器寫垃圾信息要在網絡拓撲中解決,網關上做限制外網訪問514端口。


摘自:chinaunix.net


Copyright © Linux教程網 All Rights Reserved