網路城邦
上一篇 回創作列表 下一篇   字體:
"鳥哥的Linux私房菜" 讀後小筆記
2013/10/18 23:23:55瀏覽1575|回應0|推薦0

"鳥哥的Linux私房菜" 讀後小筆記

wget [url]:抓檔

vipw:編輯/etc/passwd

touch:建立一沒內容的檔案


adduser (自動建立家目錄及group)
useradd


sudo -s:切換成root
su:切換身份
開sudo權限:在/etc/sudoers裡加入username ALL=(ALL) ALL
(用visudo這隻程式修改,會幫檢查格式,比較安全)

權限:
SUID SGID SBIT Uw Ur Ux Gw Gr Gx Ow Or Ox
(前三者為特殊權限,平常不加以設定)

chmod:更改檔案的存取權限

chown:更改檔案的擁有者或群組
 chown [owner]:[group] file/directory

chgrp:更改檔案的擁有群組

 
-R:recursive變更目錄下所有目錄及檔案的權限(以上三指令皆適用)

umask:顯示建立檔案與目錄時,預設拿掉的權限
 -S:以Symbol顯示

chattr:設定檔案隱藏屬性(用於系統安全)

lsattr:顯示檔案隱藏屬性


/etc/init.d/networking restart:重新啟動網路卡
/etc/network/interfaces:設定ip, netmask, gateway
/etc/hostname:設定主機名稱
(改完後需執行hostname -F /etc/hostname 才會更新)

/etc/resolv.conf:設定網域名稱, DNS, 搜尋網域
/etc/hosts:設定ip, 網址


檔案搜尋
which:從PATH的環境變數中找執行檔

whereis:找系統中的檔案位址(search by index)

locate:找系統中包含關鍵字的檔案位址(search by index)

find [PATH] [option] [action]:找系統中的檔案位址,支援萬用字元,有很多方便的參數,但是針對硬碟做search,速度較慢。


常用網路相關指令
ifconfig:顯示網路卡組態 (類似windows的ipconfig)

tracepath :查詢由本機到對方主機間的router是否通暢,
        但有些router會鎖ICMP,所以可能沒有回應

nslookup :反查網址或IP

netstat:查詢主機目前的連線及哪些port正在listenning

route:檢視路由表

hostname:查詢系統的hostname
  -f:查詢FQDN (網址全名)


網路出問題時,以下順序debug,
ping localhost (or ping 127.0.0.1):失敗便是linux網路核心的問題

ping <自己的ip>:若上面沒問題的話,通常也不會有問題,除非網路卡有誤

ping :看看是不是router掛了

ping 168.95.192.1:若不通,代表網路對外路線掛了


特殊權限
SUID:允許使用者暫時擁有file owner的執行權限(如:/etc/passwd),
    在檔案屬性中以s顯示在x欄位,使用在檔案上
SGID:少用
SBIT:使用者只能對自己建立的檔案或目錄,具有刪除、更名、移動的權限。(如:/tmp)
    以t顯示在x欄位,使用在目錄上

file:查詢檔案類型



apt-get install:安裝


pwd -P:顯示真實目錄所在位置,而非link的位置

ls
  -h:以KB,MB...顯示檔案大小
  --time=atime:顯示上次檔案被access的時間
  --time=ctime:顯示上次檔案屬性被改變的時間
  (預設顯示上次檔案內容被改變的時間即mtime)

touch:更改檔案atime及mtime,或開新空白檔


mkdir -p:直接建立多層目錄,原不存在之目錄皆會自動建立
mkdir -m:創建目錄同時設置目錄權限

cp
 -a:檔案屬性一起複製,不使用預設屬性,若是目錄亦copy整個目錄結構
 -s:複製成捷徑
 -u:目標檔與來源檔有差異時,才複製,適合用在備份

mv:搬移檔案

rm:移除檔案

rename:更名



cal:日曆

bc:小計算機
  quit (離開)
  scale = n (顯示小數點位數)

ctrl+c:結束process
ctrl+d:EOF, exit
ctrl+l:clear


LANG="en" :切換系統語係為英文


man page中的指令:
 /:向下搜尋string
 ?:向上搜尋string
 n:找下一個字串目標
 N:找上一個字串目標
 q:結束man page

man man:可以查到 man page中指令後方括號數字的意義

man -f [command]:簡單顯示該command的用途(equal "whatis"指令)

man -k [string]:印出指令介紹中含有該string的指令



sync:將記憶體中的資料寫入硬碟(常在關機前用)

關機
shutdown -r now:將系統服務關掉後更立即重新開機 (equal "reboot")
shutdown -r +30 ' The system will reboot ':30分鐘後重新關機,並告知所有使用者
shutdown -h +10:十分鐘後關機
shutdown -h 12:10:12:10關機
shutdown -h now:立即關機
shutdown -k ' The system will reboot ':告知所有使用者要關機,但並不真執行


目錄權限
x:可進入
r:可讀,可ls,可cp


檔案種類符號:
-:file
d:directory
l:link
b:儲存設備
c:周邊設備
s:sockets
p:FIFO


目錄配置
/:根目錄
/bin:存放可執行的系統執行檔
/boot:存放kernel
/dev:裝置或周邊設備
/etc:系統各種設定檔,如密碼,服務啟始檔 (最好常備份)
/home:users的家目錄 (最好獨立partition) 
/lib:library
/lost+found:存放系統不正常錯誤時所產生的遺失片段
/mnt or /media:光碟機及軟碟機
/proc:虛擬檔案系統,存放記憶體中的重要資料
/root:root的家目錄
/sbin:存放系統管理員專用的系統執行檔 
/srv:服務啟動後,服務所需取用的目錄常放置於此
/tmp:暫存檔存放處 (最好獨立partition)
/usr:雷同windows的Program files目錄 (最好獨立partition)
  /usr/bin:一般使用者可使用的程式
  /usr/sbin:系統管理員專用的程式
  /usr/include/:c/c++ header files放置處
  /usr/local/:本機端自行安裝軟體的預設目錄
  /usr/share:共享文件放置目錄
  
/usr/share/doc:存放說明文件
  /usr/src:Linux的開放源碼
/var:系統中常態性變動的檔案,如log,cache (最好獨立partition)
  /var/cache:程式運作過程中的暫存檔
  /var/lib:程式執行中所需的library
  /var/log:log檔放置區,/var/log/messages總管所有登錄資訊 (常檢查)
  /var/lock:被鎖住的資源(有些資源不允許同時使用,如印表機)
  /var/run:有些程式啟動後,PID會放置在此目錄下
  /var/spool:佇列資料存放處


$PATH:執行檔path變數
PATH = "$PATH":/root :在$PATH append /root 這個path.
基於安全性的理由,PATH不加.(目前目錄),所以要執行目前目錄下的指令要加prefix './'


cat:concatenate
  -n:印出行號 (等於nl指令)
  -A:顯示所有內容,包含特殊字元

less:同more,但比more好用,可以用pageup向回捲,也可用?向前搜尋string

head:顯示檔案前十行
  -n:可設定顯示的行數

tial:顯示檔案最後十行,-n參數同head用法



套件管理
dpkg -l <套件名稱> 查詢套件的安裝資訊

dpkg -l|grep <套件名稱>:查詢包含關鍵字的套件名資訊

dpkg -L <套件名稱>:查詢套件包含的所有已安裝的檔案

apt-get remove <套件名稱> :
刪除套件但不刪除設定檔(並remove不再使用的相依packages)

apt-get --purge remove <套件名稱>:
刪除套件亦刪除設定檔(並remove不再使用的相依packages)

dpkg -r <套件名稱> :刪除套件但不刪除設定檔(不會自動處理相依packages)

dpkg -P <套件名稱>: 刪除套件亦刪除設定檔 (不會自動處理相依packages)

dpkg -c <.deb檔案名稱>:查詢deb套件檔包含的所有檔案

dpkg -I <.deb檔案名稱>:查詢deb套件檔的詳細資訊

dpkg -i <.deb檔案名稱>:安裝deb套件

dpkg -S <欲查詢的檔案名稱>:查詢該檔案有哪些套件提供

dpkg -s <套件名稱>:查詢已安裝套件的詳細資訊

dpkg --configure -a:重新設定之前因中斷等還沒安裝好的套件

dpkg-checkbuilddeps:檢查需要的函式庫

dpkg-buildpackage:編譯套件 (需在原始碼的目錄下執行)

dpkg-reconfigure <套件名稱>:修改套件設定檔


apt-get install <套件名稱>:安裝套件

apt-reconfigure <套件名稱>:重新設定已安裝的套件

apt-get update:
此指令會依照/ect/apt/sources.list裡的套件源去抓套件庫,
並把相關資訊存在/var/lib/apt/lists/下。
所以更改過/etc/apt/sources.list後,要記得執行此指令才能更新本地端的套件庫)

apt-get upgrade:僅更新沒有相依性問題的套件(安全更新,用在常規更新)
apt-get dist-upgrade:更新所有系統套件,若有相依性問題則會自動解決
       (有風險的更新,因為系統會自動移除衝突的套件)
   -f -y:遇到錯誤也強迫繼續 (高危險)
   -s:只模擬安裝,不實際安裝到系統上

apt-get clean:(清除/var/cache/apt/archives的套件暫存檔)   

apt-get -b source <套件名稱>:下載原始檔
[包含原始碼(orig.tar.gz), 修正檔(diff.gz), 描述檔及前兩者的MD5 hash值(dsc) ]

apt-get build-dep <套件名稱>:安裝編譯此套件所需要的套件


apt-build install <套件名稱>:最佳化安裝套件 (先apt-build update 更新套件list)

apt-build --reinstall install <套件名稱>:重新最佳化編譯已安裝過的套件

apt-cache search <關鍵字>:可以針對尚未安裝的套件作查詢

  apt-cache search <關鍵字1>|grep <關鍵字2>:
               找尋套件資訊中含有關鍵字2的關鍵字1套件

  apt-cache -n search <關鍵字>:找尋套件名稱含有關鍵字的套件

apt-cache show <套件名稱>:顯示套件詳細資訊及介紹

apt-cache showpkg <套件名稱>:顯示套件相依性及反相依性等資訊

apt-cache showsrc <套件名稱>:取得編譯所需的套件名稱

apt-cache depends <套件名稱>:顯示套件相依性等資訊

apt-cache rdepends <套件名稱>:顯示套件反相依性等資訊

apt-file search :透過已知檔名,來找歸屬之套件

auto-apt run ./configure:若configure遇到缺少的套件,會自動詢問是否安裝


ex2/ex3檔案系統

fdisk [/dev/hda or /dev/sda]:磁碟分割 (編輯partition table)
 常用指令:sudo fdisk -l (顯示系統所有的partition)

mke2fs [option] [device]:格式化ex2/ex3 (同Dos下的format)
 -j:加入journal (日誌),即以ex3方式格式化

mkfs [option [device:可選擇以特定檔案格式做格式化
 -t:選擇特定檔案格式
 常用指令:以ls -l /sbin/mkfs* 可以查看系統有的、可以支援的檔案格式 

dumpe2fs:印出ex2/ex3檔案系統的資訊

e2fsck:主機突然當機時,用來檢查metadata與實際資料是否一致 (同windows的scandisk)

fsck: 檢查並修復檔案系統,通常用在主機不正常關機或切割新partition時,用來檢metadata與實際資料是否一致。fsck處理完後,有任何錯誤的 檔案都會丟到/lost+found目錄下。執行fsck的partition,切記不可掛載在系統上,否則會有磁碟資料毀損的風險。

tune2fs:調整ex2/ex3檔案系統的參數

df [option]..[File]:顯示磁碟使用資訊
 -h:較易閱讀的格式
 -T:顯示該partition的file system格式
 -i:顯示inode數量

du:估計檔案佔用的空間
 -h:較易閱讀的格式
 -s:僅顯示總量
 常用指令:sudo du -sh /* (顯示根目錄下每個目錄佔用的磁碟大小)



uname:顯示系統資訊
 -a:顯示系統核心所有資訊

getent passwd:顯示系統所有使用者,包括LDAP的帳號








(X Window下)
[Ctrl] + [Alt] + [F1] ~ [F6] :文字介面登入 tty1 ~ tty6 終端機

[Ctrl] + [Alt] + [F7] :圖形介面桌面。

引用:http://tw.myblog.yahoo.com/jw!2I.ae0ieQ0bJH5eWZoCQkA--/article?mid=364

( 知識學習其他 )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=allya&aid=9080891