linux指令大全 
安裝 Linux: 
- 準備兩張磁片:
- bootdisk:
- rawrite  <Enter鍵>
 - bare.i    <Enter鍵>
 - A     <Enter鍵>
 
 - rootdisks:
- rawrite   <Enter鍵>
 - color.gz <Enter鍵>
 - A   <Enter鍵>
 
 
 - Fips (安裝程式所附) 或Fdisk 硬碟
 - 把bootdisk 放進磁碟機後重新開機;出現boot: 時按<Enter鍵>
 - 換rootdisks,出現slackware login: 時輸入root
 - # fdisk /dev/hdb        (表示要fdisk第二顆硬碟)
 - fdisk指令:
- a:設定由那個分割區開機
 - c:設定dos相容標記
 - d:砍掉一個分割區
 - l:列出所有fdisk看得懂的分割區型別
 - m:輔助說明
 - n:增加一個新的分割區
 - p:列出目前分割區的狀態
 - q:不儲存並離開
 - t:設定一個分割區代號
 - u:改變硬碟資料的顯示方式
 - v:查看全部分割的記錄
 - w:儲存並離開
 - x:其它功能
 
 - # setup    (執行安裝程式)
 - 選擇 TARGET選項:指定安裝目的地的硬碟分割區、format、2048
 - SOURCE選項:選擇安裝程式來源,一般為CD-ROM (可選ATAPI/IDE);選擇custom後輸入/slack31/slakware (依光碟片的路徑而會有所不同)
 - DISK SETS:選擇要安裝的元件
 - INSTALL:安裝 (一般都選擇MENU)
 - 製作開機磁片、設定modem、設定mouse、設定cdrom、設定字型 (m1.fnt)、設定LILO開機、設定網路、設定mail型式、設定時區、重新開機 (輸入 shutdown -r now;不要按reset)
 
使用者資料:/etc/
passwd
切換虛擬主控台:alt + 
F1、alt + F2、………
Linux 的 shell:(類似DOS之command.com):
tcsh 或 bash (內定為bash)
鍵入 exit 可回到上一層 shell 或離開系統
檔案、目錄代表顏色:/etc/
DIR_COLORS
目錄 (藍色)  | 一般檔案 (白色)  | 可執行檔 (青綠色)  | 圖檔 (粉紅色)  | 
符號連結檔 (靛色)  | 系統的設備檔 黃色  | 壓縮檔 (紅色)  |    | 
檔案屬性:
性質  | 檔案雍有者  | 群組使用者  | 其它使用者  | 
d  | rwx  | r-x  | --x  | 
表示檔案雍有者可讀、可寫可執行;群組使用者可讀可執行;其它使用者可執行  | 
目錄的使用權限: 
r--:只能讀;可以ls看目錄下有什麼檔案而不能編輯或讀取檔案
-w-:只能寫;但還不能建目錄或拷貝檔案進去
-x:可以cd進去此目錄,但無法使用 ls
rw-:可以ls看此目錄中有那些檔案;但是無法進去此目錄、無法使用ls -l、無法編輯目錄、無法拷貝檔案進去
r-x:可以cd進去此目錄、可以使用 ls、但無法拷貝檔案進去
-wx:可以cd進去此目錄、可以拷貝檔案進去;無法使用 ls
性質:- 一般檔案    ;    d 目錄     ;    l 符號連結檔    ;     c 字元設備
b 區塊設備 (如硬碟);s 一個socket (如/dev/printer印表機);p 一個pipe
linux根目錄下的目錄說明:
[align]
目錄名稱  | 說明  | 例  | 
bin  | 系統的一些重要執行檔  | Kill、cp、df  | 
boot  | 系統開機的一些載入檔  |    | 
cdrom  | 光碟機裡的資料被掛上來的地方  |    | 
dosc  | 開機時把dos檔案系統掛上來的地方  |    | 
etc  | 系統設定檔  |    | 
home  | 使用者的自家目錄所在、ftp server  |    | 
lib  | 基本函數庫  |    | 
Lost+found  | 系統檢查結果  |    | 
mnt  | 可以掛上其它檔案系統  |    | 
proc  | 整個系統運作資訊  |    | 
root  | 系統管理者的自家目錄所在  |    | 
sbin  | 一些設定的可執行程式、設定網路  |    | 
tmp  | 雜七雜八的東西  |    | 
usr  | 應用程式  | X-window  | 
var  | 記載著各種系統上的變數的地方  |    | 
vmlinuz  | 系統核心檔案  |    | 
/proc 下的檔案介紹: - more cpuinfo:顯示有關cpu的訊息
 - more devices:區塊設備、字元設備
 - more filesystems:目前核心技援的檔案系統
 - more dma:直接記憶體存取
 - more interrupts:中斷向量值、中斷次數
 - more ioports:系統中每個設備的輸出/輸入埠的位址範圍
 - more meminfo:記憶體分配狀態
 - more pci:顯示PCI介面訊息
 
終端機資料設定檔:/etc/termcap
export TERM=vt100    (設定終端機為vt100;bash shell)
如何設定指令的別名:例:將 ls -l 設定成dir
alias dir='ls -l'        (以後下dir指令相當於下 ls -l 指令)
如何更改系統提示符號:
ps1='參數'    (一般指令列的提示符號)
ps2='參數'    (當指令太長需換行時第二行的提示符號)
ps1的參數: - \h主機名稱
 - \w 當時目錄所在
 - \s shell的名稱
 - \$ 如果是使用者為root時顯示#;其它使用者顯示$
 - \t 以時間來表示
 - \d 以日期來表示
 - \u 目前的使用者代號
 - \# 指令的序能
 - \! 指令的歷史序號
 - \\ 顯示\符號
 - 字串:顯示此字串
 
linux之shell scripts (類似dos之批次檔)
例:製做類似dos之diskcopy外部指令
檔案名稱:diskcopy
#!/bin/sh
echo -n "Insert source disk in first floppy drive,then hit enter"
read ans;
dd if=/dev/fd0 of=/tmp/dcopy$$
echo -n "Remove source disk and insert other disk ,then hit enter"
read ans;
dd of=/dev/fd0 if=/tmp/dcopy$$
/bin/rm -f /tmp/dcopy$$
備註:不用副檔名;需更改檔案屬性為可執行;例 chmod 755 diskcopy
ls:列出檔案資訊 → 類似dos之dir - -l:列出詳細的檔案資訊
 - -a:列出全部檔案包括隱藏檔
 - -R:遞回列出檔案及子目錄其下的所有子目錄和檔案
 - -x:以多欄方式列出,字母順序由左而右
 - -i:以i -node來列出,會列出每個檔案在磁碟中的編號
 - -m:列出檔案時以逗號 , 來分隔
 - -n:把群組及檔案擁有者名稱轉成數字代碼
 - -t:依檔案的修改時間排序 (由新而舊)
 - -u:依檔案上次的存取時間排序 (需與t配合)
 - -s:檔案的大小以區塊為單位 (每個區塊block = 512 bytes)
 - -o:用顏色來顯示各種類別的檔案
 - -r:以相反的英文字母順序顯示
 - -d:只顯示目錄訊息而非目錄下的檔案
 
ln 製作捷徑檔:
ln -參數 已存在的檔案 要連結成的檔案
ln -參數 原來的目錄 要連結的目錄
參數說明:
- 不加:預設值;只限於相同檔案系統間的連結,且不能連結目錄
 - s:可作不同檔案系統間的連結,且能連結目錄
 - f:如果要連結成的檔案已存在,則砍掉這個已存在的檔案
 - n:如果要連結成的檔案已存在,則停止連結,不會砍掉該檔案
 
cat:顯示檔案內容    (類似dos之
type)
cat -參數 檔名
若不加參數:即 cat 新檔案 (類似dos之copy con 新檔名)
按 ctrl + d 結束並儲存
more:顯示檔案的內容,如果超過一頁則暫停    (類似dos之
more)
more -參數 檔名
指令 | more    (類似dos之指令|more;如type 檔名|more)
參數說明:
- p:先清除螢幕再列出
 - c:每頁都清除螢幕一次再從螢幕最頂端列出
 - s:如果檔案中有許多連續空白列時,只顯示一列
 - l:忽略檔案中的跳頁符號
 
mv:更改、移動目錄或檔案 (類似dos之ren、move)
mv -參數 來源檔 (或目錄) 目的檔 (或目錄)
參數說明: - b:移動之前先做備份
 - v:做完移動之後顯示所做的移動情形
 - f:強迫性移動,不會詢問使用者是否確認
 
pwd:顯示目前工作目錄路徑
passwd:改變密碼
rm:刪除檔案或目錄        (類似dos之
del、deltree)
rm -參數 檔案或目錄 - r:刪除其下的檔案及目錄    (類似dos之deltree)
 - i:刪除時提出警告
 - f:刪除時不提出警告
 - d:刪除目錄,即使該目錄並非空目錄
 
cp:複製檔案        (類似dos之
copy)
cp -參數 來源檔 (或目錄) 目的檔 (或目錄) - a:拷貝目錄,保留所有的資訊,包括連結的檔
 - d:保留連結的檔案
 - s:製造符號連結
 - f:拷貝時若相同檔名的檔案直接複蓋不提出警告
 - i:拷貝時若相同檔名的檔案不直接複蓋而會提出警告
 - l:不拷貝,但是連結檔案
 - p:保留檔案的修改時間及存取權限
 - r:拷貝時包含目錄及目錄下的檔案
 
mkdir:建立子目錄    (類似dos之
md)
mkdir -參數 目錄名稱 - p:連續建立兩個以上不存在的目錄
 - m:設定這個目錄的存取權限
 
cd 子目錄名稱 → 轉移目錄 (類似dos之
cd) 
- cd ~ → 回自家目錄
 - ..為上一層目錄
 - 分隔符號為/非dos的\
 
rmdir:刪除子目錄,必須為空目錄 (類似dos之
rd)
rmkdir -參數 子目錄名稱
p:若刪除此目錄之後,其上層目錄變成空目錄,則一併刪除
grep:用關鍵字找尋檔案
grep -參數 '字串' 要尋找的來源檔案 - 數字:列出找到字串的檔案名稱和字串前後幾行的內容
 - A 數字:列出找到字串的檔案名稱和字串後幾行的內容
 - B 數字:列出找到字串的檔案名稱和字串前幾行的內容
 - c:顯示找到該字串的個數,不會顯示檔案內容
 - h:不會顯示檔名,只會顯示內容
 - i:忽略大小寫
 - L:只顯示檔名一次
 - m:只找尋字串完全相同者
 
dd:字碼轉換程式 將軟碟上的資料寫成一個檔,或把一個檔寫入磁碟
dd if=輸入檔或設備名稱 of=輸出檔或設備名稱
skip=blocks → 跳過讀入緩衝區的區塊數
bs=bytes → 設定讀/寫緩衝區的bytes
cbs=bytes → 一次轉換的bytes
ibs=bytes → 讀入緩衝區的bytes
obs=bytes → 寫入緩衝區的bytes
count=blocks → 只寫入block數
conu= - ascii → 將EBCDIC碼轉成ASCII
 - ebcdic → 將ASCII碼轉成EBCDIC
 - ibm → 將ASCII碼轉成IBM
 - block → 將變動位元轉成固定字元
 - ublock → 將固定位元轉成變動字元
 - lcase → 將大寫變小寫
 - ucase → 將小寫變大寫
 - swab → 將每一組bytes的資料做交換
 - noerror → 忽略錯誤
 - notrunc → 不要打斷 truntate 的輸出檔
 - sync → 對ibs所指定的區塊大小填入空白
 
df:查詢硬碟使用量 
- a:顯示全部的檔案系統和各分割區的磁碟使用情形
 - i:顯示i -nodes的使用量
 - k:大小用k來表示 (預設值)
 - t:顯示某一個檔案系統的所有分割區磁碟使用量
 - x:顯示不是某一個檔案系統的所有分割區磁碟使用量
 - T:顯示每個分割區所屬的檔案系統名稱
 
du:查詢檔案或目錄的磁碟使用空間 
- a:顯示全部目錄和其次目錄下的每個檔案所佔的磁碟空間
 - b:大小用bytes來表示 (預設值為k bytes)
 - c:最後再加上總計 (預設值)
 - l:計算所有檔案大小
 - s:只顯示各檔案大小的總合
 - x:只計算同屬同一個檔案系統的檔案
 - L:計算所有的檔案大小
 
find:找尋檔案、目錄
find 【起始目錄】 -name 【欲找的檔名】 -print
從起始目錄開始尋找檔案;使用萬用字元*時須在檔名兩端加"
fsck:檢查、修復linux檔案系統
fsck -參數 分割區名稱 - a:自動修復
 - r:執行時會詢問
 - V:顯示處理時的每一個步驟
 - t:指定一個檔案系統
 - n:不要真正執行,只看執行時會做那些動做
 
mount:掛上檔案系統
mount -參數 設備名稱 存放目錄
mount ip位址:/所提供的目錄 存放目錄 - 設備名稱:如/dev/hda2、/dev/fd0
 - 存放目錄:必須是已存在的目錄
 - 不加參數:顯示目前已經掛上來的檔案系統、目錄
 - a:掛上/etc/fstab下所述全部的檔案系統
 - t:指定所掛上來的檔案系統的名稱 (見/proc/filesystems)
 - n:掛上檔案系統時不會把檔案系統的資料寫入/etc/mtab中
 - w:檔案系統設定為可讀寫
 - r:掛上來的檔案系統設定為唯讀
 - 例:mount -t iso9660 /dev/hdd /cdrom
 
掛上光碟機,把光碟機之資料放入/cdrom目錄之中
umount:卸下已掛上的檔案系統
umount 已經掛上的目錄或設備名稱
例:umount /cdrom → 卸下/cdrom目錄
mke2fs:製作檔案系統 (類似dos之
format)
mke2fs -參數 設備名稱
adduser:新增使用者
chmod:改變檔案權限屬性
chmod □□□ 檔名    → □□□ 代表雍有者;群組;全體使用者
例:111 101 101 → □□□ = 755;
雍有者可讀、寫、執行;群組及全體使用者可讀、執行
chown:更改某個檔案或目錄的擁有者或擁有群組
chown -參數 擁有者 (或擁有群組) 檔案 - R:將目錄下之檔案及其子目錄一併更改擁有者
 - v:執行完後顯示訊息
 
su:將一個普通使用者提昇為超級使用者
who:顯示目前線上使用者 
- -m:顯示本身的資料
 - -q:顯示使用者帳號和線上人數
 - -i:顯示使用者的閒置時間
 - -w:顯示線上使用者能否用write傳送訊息給他
 
w:顯示目前線上使用者     (可顯示正在執行的指令)
vall <檔案名稱:傳送訊息給線上所有使用者 (root專用)
write:傳送訊息給線上某一位使用者
           write 使用者帳號 終端機名稱
mesg y 或 mesg n:設定是否讓別人傳送訊息給自已
talk 使用者帳號 終端機名稱:與別人聊天
sync:把記憶體中的資料寫入硬碟
date:顯示日期、時間
shutdown:關機
shutdown -參數 時間 訊息 - k:並非真正關機,只是送出訊息
 - r:關機後重新開機
 - h:關機後不重新開機
 - f:快速關機
 - n:快速關機,不要經過init的程序
 - c:取消關時的程序
 - t:在警告訊息和刪除信號間做停留
 - 時間可用now或任意數字 (代表分鐘)
 
reboot:快速關機 (類似按 Alt + Ctrl + Del 鍵
top:查看系統狀態;每隔幾秒更新一次,按 Ctrl + c 結束
ps:查看系統中正在執行的程式之程序資料 
- -l:長格式顯示
 - -u:顯示使用者名稱和起始時間
 - -i:顯示各程式的詳細執行情況
 - -s:顯示各程式的訊號名稱
 - -v:顯示虛擬記憶體使用情況
 - -m:顯示記憶體分配情形
 - -f:顯示執行的路行群
 - -a:其它使用者執行的程式一併顯示出來
 - -x:顯示所有程序
 - -r:顯示前景執行的程式
 - -c:只顯示執行程式的名字
 - -e:顯示執行程式的環境變數
 - -f:不顯示標題欄
 - -w:若訊息一列無法容納,則換列顯示
 
kill:終止程式之執行 (配合
ps指令)
kill 程序號碼 (pid)    → 強迫終止程式之執行
kill -l     → 列出所有的信號
uname:查詢linux版本 (/proc/uname)
free:查詢目前記憶體的使用情形
uptime:顯示目前的使用者和平均的系統負荷
ftp:檔案傳送
ftp IPAddress
ftp 127.0.0.1 → 連進自已的電腦 - !:暫時離開ftp回到自已的電腦,exit回到ftp
 - bin:以binary模式ftp
 - get:下載檔案 → get 檔名 【新檔名】
 - mget:下載多個檔案 → mget 檔名 → 可使用 * 或 ?
 - put:上傳檔案 → put 檔名 【新檔名】
 - mput:上傳多個檔案
 - prompt:對答模式開關 → 預設值為 off
 - bye:結束ftp
 
telnet:連到別台機器
telnet IPAddress
telnet 127.0.0.1 → 連進自已的電腦
rlogin:連到別台機器
rlogin -l 簽入的帳號 IP
netstat:查詢網路目前狀況 
- -a:全部列出
 - -c:每隔幾秒鐘重新列一遍
 - -i:界面狀態
 - -n:以網路IP位址代替名稱列出網路連接情形
 - -o:列出時間狀態
 - -r:列出網路的路徑表
 - -t:列出tcp協定的連接情形
 - -u:列出udp協定的連接情形
 - -v:列出版本
 - -w:列出raw程序連結的資訊
 - -x:列出有關unix網域socket的資訊
 
nslookup:查詢一台機器的IP位址及其對應的網域名稱
finger:列出某人的線上資料
finger -參數 使用者名稱 - s:使用短格式顯示使用者的各項資訊
 - l:使用長格式顯示使用者的各項資訊
 - p:使用長格式顯示時不列出計畫檔和專案檔
 
ping:查詢網路上某台主機是否開著
ping -參數 主機位址 - c 次數:送幾次封包給這台主機,然後等待回應
 - d:設定SO_DEBUG選項
 - f:大量且快速的送網路封包給一台主機,看它的回應
 - i 秒數:設定幾秒鐘送一次封包給一台主機,預設值1秒
 - q:不顯示傳送封包的資訊,只顯示最後結果
 - l 次數:在次數內,以最快速的方式送封包給一台主機
 
man:查詢某個指令的輔助說明 → man 指令名稱
help:查詢某個內建指令的說明 (bash shell) → help 內建指令名稱
whereis:尋找某個指令的檔案位置 → whereis 指令名稱
locate:找尋檔案 → locate 相關字
whatis:查詢某個指令的用途 → whatis 指令名稱
at:設定某一個時間執行某一個指令
crontab:設定每天或每月定期執行的指令
nohup:設定退出系統後,程式仍不被終止
echo:印出字串
clear:清除螢幕
指令&     → 將該程式弄到背景執行
cal 月 年:顯示月曆 
- -j:顯示查詢的那一天為每年的第幾天
 - -y:顯示整年的月曆
 
如何在一塊網路卡上Bind多個IP:/sbin/ifconfig eth0:1 210.202.165.1 up