歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> Linux文化 >> linux 學習筆記

linux 學習筆記

日期:2017/2/27 12:13:03   编辑: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