Linux 常用指令集

安裝 Linux：

1.	準備兩張磁片：
1.	bootdisk：
1.	rawrite  <Enter鍵>
2.	bare.i    <Enter鍵>
3.	A     <Enter鍵>
2.	rootdisks：
1.	rawrite   <Enter鍵>
2.	color.gz <Enter鍵>
3.	A   <Enter鍵>
2.	Fips (安裝程式所附) 或Fdisk 硬碟
3.	把bootdisk 放進磁碟機後重新開機；出現boot: 時按<Enter鍵>
4.	換rootdisks，出現slackware login: 時輸入root
5.	# fdisk /dev/hdb        (表示要fdisk第二顆硬碟)
6.	fdisk指令：
1.	a：設定由那個分割區開機
2.	c：設定dos相容標記
3.	d：砍掉一個分割區
4.	l：列出所有fdisk看得懂的分割區型別
5.	m：輔助說明
6.	n：增加一個新的分割區
7.	p：列出目前分割區的狀態
8.	q：不儲存並離開
9.	t：設定一個分割區代號
10.	u：改變硬碟資料的顯示方式
11.	v：查看全部分割的記錄
12.	w：儲存並離開
13.	x：其它功能
7.	# setup    (執行安裝程式)
8.	選擇 TARGET選項：指定安裝目的地的硬碟分割區、format、2048
9.	SOURCE選項：選擇安裝程式來源，一般為CD-ROM (可選ATAPI/IDE)；選擇custom後輸入/slack31/slakware (依光碟片的路徑而會有所不同)
10.	DISK SETS：選擇要安裝的元件
11.	INSTALL：安裝 (一般都選擇MENU)
12.	製作開機磁片、設定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	
表示檔案雍有者可讀、可寫可執行；群組使用者可讀可執行；其它使用者可執行	
目錄的使用權限：：
1.	r--：只能讀；可以ls看目錄下有什麼檔案而不能編輯或讀取檔案
2.	-w-：只能寫；但還不能建目錄或拷貝檔案進去
3.	-x：可以cd進去此目錄，但無法使用 ls
4.	rw-：可以ls看此目錄中有那些檔案；但是無法進去此目錄、無法使用ls -l、無法編輯目錄、無法拷貝檔案進去
5.	r-x：可以cd進去此目錄、可以使用 ls、但無法拷貝檔案進去
6.	-wx：可以cd進去此目錄、可以拷貝檔案進去；無法使用 ls
7.	性質：- 一般檔案    ；    d 目錄     ；    l 符號連結檔    ；     c 字元設備
b 區塊設備 (如硬碟)；s 一個socket (如/dev/printer印表機)；p 一個pipe
 linux根目錄下的目錄說明：

目錄名稱	說明	例	
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 下的檔案介紹：
1.	more cpuinfo：顯示有關cpu的訊息
2.	more devices：區塊設備、字元設備
3.	more filesystems：目前核心技援的檔案系統
4.	more dma：直接記憶體存取
5.	more interrupts：中斷向量值、中斷次數
6.	more ioports：系統中每個設備的輸出／輸入埠的位址範圍
7.	more meminfo：記憶體分配狀態
8.	more pci：顯示PCI介面訊息
 終端機資料設定檔：/etc/termcap

export TERM=vt100    (設定終端機為vt100；bash shell)
 如何設定指令的別名：例：將 ls -l 設定成dir

alias dir='ls -l'        (以後下dir指令相當於下 ls -l 指令)
 如何更改系統提示符號：

ps1='參數'    (一般指令列的提示符號)
ps2='參數'    (當指令太長需換行時第二行的提示符號)
ps1的參數：
1.	\h主機名稱
2.	\w 當時目錄所在
3.	\s shell的名稱
4.	\$ 如果是使用者為root時顯示#；其它使用者顯示$
5.	\t 以時間來表示
6.	\d 以日期來表示
7.	\u 目前的使用者代號
8.	\# 指令的序能
9.	\! 指令的歷史序號
10.	\\ 顯示\符號
11.	字串：顯示此字串
 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
1.	-l：列出詳細的檔案資訊
2.	-a：列出全部檔案包括隱藏檔
3.	-R：遞回列出檔案及子目錄其下的所有子目錄和檔案
4.	-x：以多欄方式列出，字母順序由左而右
5.	-i：以i -node來列出，會列出每個檔案在磁碟中的編號
6.	-m：列出檔案時以逗號 , 來分隔
7.	-n：把群組及檔案擁有者名稱轉成數字代碼
8.	-t：依檔案的修改時間排序 (由新而舊)
9.	-u：依檔案上次的存取時間排序 (需與t配合)
10.	-s：檔案的大小以區塊為單位 (每個區塊block = 512 bytes)
11.	-o：用顏色來顯示各種類別的檔案
12.	-r：以相反的英文字母順序顯示
13.	-d：只顯示目錄訊息而非目錄下的檔案
 ln 製作捷徑檔：

ln -參數 已存在的檔案 要連結成的檔案
ln -參數 原來的目錄 要連結的目錄
參數說明：
1.	不加：預設值；只限於相同檔案系統間的連結，且不能連結目錄
2.	s：可作不同檔案系統間的連結，且能連結目錄
3.	f：如果要連結成的檔案已存在，則砍掉這個已存在的檔案
4.	n：如果要連結成的檔案已存在，則停止連結，不會砍掉該檔案
 cat：顯示檔案內容    (類似dos之type)

cat -參數 檔名
若不加參數：即 cat 新檔案 (類似dos之copy con 新檔名)
按 ctrl + d 結束並儲存
 more：顯示檔案的內容，如果超過一頁則暫停    (類似dos之more)

more -參數 檔名
指令 | more    (類似dos之指令|more；如type 檔名|more)
參數說明：
1.	p：先清除螢幕再列出
2.	c：每頁都清除螢幕一次再從螢幕最頂端列出
3.	s：如果檔案中有許多連續空白列時，只顯示一列
4.	l：忽略檔案中的跳頁符號
 mv：更改、移動目錄或檔案 (類似dos之ren、move)

mv -參數 來源檔 (或目錄) 目的檔 (或目錄)
參數說明：
1.	b：移動之前先做備份
2.	v：做完移動之後顯示所做的移動情形
3.	f：強迫性移動，不會詢問使用者是否確認
 pwd：顯示目前工作目錄路徑
 passwd：改變密碼
 rm：刪除檔案或目錄        (類似dos之del、deltree)

rm -參數 檔案或目錄
1.	r：刪除其下的檔案及目錄    (類似dos之deltree)
2.	i：刪除時提出警告
3.	f：刪除時不提出警告
4.	d：刪除目錄，即使該目錄並非空目錄
 cp：複製檔案        (類似dos之copy)

cp -參數 來源檔 (或目錄) 目的檔 (或目錄)
1.	a：拷貝目錄，保留所有的資訊，包括連結的檔
2.	d：保留連結的檔案
3.	s：製造符號連結
4.	f：拷貝時若相同檔名的檔案直接複蓋不提出警告
5.	i：拷貝時若相同檔名的檔案不直接複蓋而會提出警告
6.	l：不拷貝，但是連結檔案
7.	p：保留檔案的修改時間及存取權限
8.	r：拷貝時包含目錄及目錄下的檔案
 mkdir：建立子目錄    (類似dos之md)

mkdir -參數 目錄名稱
1.	p：連續建立兩個以上不存在的目錄
2.	m：設定這個目錄的存取權限
 cd 子目錄名稱 → 轉移目錄 (類似dos之cd)
1.	cd ~ → 回自家目錄
2.	..為上一層目錄
3.	分隔符號為／非dos的＼
 rmdir：刪除子目錄，必須為空目錄 (類似dos之rd)

rmkdir -參數 子目錄名稱
p：若刪除此目錄之後，其上層目錄變成空目錄，則一併刪除
 grep：用關鍵字找尋檔案

grep -參數 '字串' 要尋找的來源檔案
1.	數字：列出找到字串的檔案名稱和字串前後幾行的內容
2.	A 數字：列出找到字串的檔案名稱和字串後幾行的內容
3.	B 數字：列出找到字串的檔案名稱和字串前幾行的內容
4.	c：顯示找到該字串的個數，不會顯示檔案內容
5.	h：不會顯示檔名，只會顯示內容
6.	i：忽略大小寫
7.	L：只顯示檔名一次
8.	m：只找尋字串完全相同者
 dd：字碼轉換程式 將軟碟上的資料寫成一個檔，或把一個檔寫入磁碟

dd if=輸入檔或設備名稱 of=輸出檔或設備名稱
skip=blocks → 跳過讀入緩衝區的區塊數
bs=bytes → 設定讀／寫緩衝區的bytes
cbs=bytes → 一次轉換的bytes
ibs=bytes → 讀入緩衝區的bytes
obs=bytes → 寫入緩衝區的bytes
count=blocks → 只寫入block數
conu=
1.	ascii → 將EBCDIC碼轉成ASCII
2.	ebcdic → 將ASCII碼轉成EBCDIC
3.	ibm → 將ASCII碼轉成IBM
4.	block → 將變動位元轉成固定字元
5.	ublock → 將固定位元轉成變動字元
6.	lcase → 將大寫變小寫
7.	ucase → 將小寫變大寫
8.	swab → 將每一組bytes的資料做交換
9.	noerror → 忽略錯誤
10.	notrunc → 不要打斷 truntate 的輸出檔
11.	sync → 對ibs所指定的區塊大小填入空白
 df：查詢硬碟使用量
1.	a：顯示全部的檔案系統和各分割區的磁碟使用情形
2.	i：顯示i -nodes的使用量
3.	k：大小用k來表示 (預設值)
4.	t：顯示某一個檔案系統的所有分割區磁碟使用量
5.	x：顯示不是某一個檔案系統的所有分割區磁碟使用量
6.	T：顯示每個分割區所屬的檔案系統名稱
 du：查詢檔案或目錄的磁碟使用空間
1.	a：顯示全部目錄和其次目錄下的每個檔案所佔的磁碟空間
2.	b：大小用bytes來表示 (預設值為k bytes)
3.	c：最後再加上總計 (預設值)
4.	l：計算所有檔案大小
5.	s：只顯示各檔案大小的總合
6.	x：只計算同屬同一個檔案系統的檔案
7.	L：計算所有的檔案大小
 find：找尋檔案、目錄

find 【起始目錄】 -name 【欲找的檔名】 -print
從起始目錄開始尋找檔案；使用萬用字元*時須在檔名兩端加"
 fsck：檢查、修復linux檔案系統

fsck -參數 分割區名稱
1.	a：自動修復
2.	r：執行時會詢問
3.	V：顯示處理時的每一個步驟
4.	t：指定一個檔案系統
5.	n：不要真正執行，只看執行時會做那些動做
 mount：掛上檔案系統

mount -參數 設備名稱 存放目錄
mount ip位址:/所提供的目錄 存放目錄
1.	設備名稱：如/dev/hda2、/dev/fd0
2.	存放目錄：必須是已存在的目錄
3.	不加參數：顯示目前已經掛上來的檔案系統、目錄
4.	a：掛上/etc/fstab下所述全部的檔案系統
5.	t：指定所掛上來的檔案系統的名稱 (見/proc/filesystems)
6.	n：掛上檔案系統時不會把檔案系統的資料寫入/etc/mtab中
7.	w：檔案系統設定為可讀寫
8.	r：掛上來的檔案系統設定為唯讀
9.	例：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 -參數 擁有者 (或擁有群組) 檔案
1.	R：將目錄下之檔案及其子目錄一併更改擁有者
2.	v：執行完後顯示訊息
 su：將一個普通使用者提昇為超級使用者
 who：顯示目前線上使用者
1.	-m：顯示本身的資料
2.	-q：顯示使用者帳號和線上人數
3.	-i：顯示使用者的閒置時間
4.	-w：顯示線上使用者能否用write傳送訊息給他
 w：顯示目前線上使用者     (可顯示正在執行的指令)
 vall <檔案名稱：傳送訊息給線上所有使用者 (root專用)
 write：傳送訊息給線上某一位使用者

write 使用者帳號 終端機名稱
 mesg y 或 mesg n：設定是否讓別人傳送訊息給自已
 talk 使用者帳號 終端機名稱：與別人聊天
 sync：把記憶體中的資料寫入硬碟
 date：顯示日期、時間
 shutdown：關機

shutdown -參數 時間 訊息
1.	k：並非真正關機，只是送出訊息
2.	r：關機後重新開機
3.	h：關機後不重新開機
4.	f：快速關機
5.	n：快速關機，不要經過init的程序
6.	c：取消關時的程序
7.	t：在警告訊息和刪除信號間做停留
8.	時間可用now或任意數字 (代表分鐘)
 reboot：快速關機 (類似按 Alt + Ctrl + Del 鍵
 top：查看系統狀態；每隔幾秒更新一次，按 Ctrl + c 結束
 ps：查看系統中正在執行的程式之程序資料
1.	-l：長格式顯示
2.	-u：顯示使用者名稱和起始時間
3.	-i：顯示各程式的詳細執行情況
4.	-s：顯示各程式的訊號名稱
5.	-v：顯示虛擬記憶體使用情況
6.	-m：顯示記憶體分配情形
7.	-f：顯示執行的路行群
8.	-a：其它使用者執行的程式一併顯示出來
9.	-x：顯示所有程序
10.	-r：顯示前景執行的程式
11.	-c：只顯示執行程式的名字
12.	-e：顯示執行程式的環境變數
13.	-f：不顯示標題欄
14.	-w：若訊息一列無法容納，則換列顯示
 kill：終止程式之執行 (配合ps指令)

kill 程序號碼 (pid)    → 強迫終止程式之執行
kill -l     → 列出所有的信號
 uname：查詢linux版本 (/proc/uname)
 free：查詢目前記憶體的使用情形
 uptime：顯示目前的使用者和平均的系統負荷
 ftp：檔案傳送

ftp IPAddress
ftp 127.0.0.1 → 連進自已的電腦
1.	!：暫時離開ftp回到自已的電腦，exit回到ftp
2.	bin：以binary模式ftp
3.	get：下載檔案 → get 檔名 【新檔名】
4.	mget：下載多個檔案 → mget 檔名 → 可使用 * 或 ?
5.	put：上傳檔案 → put 檔名 【新檔名】
6.	mput：上傳多個檔案
7.	prompt：對答模式開關 → 預設值為 off
8.	bye：結束ftp
 telnet：連到別台機器

telnet IPAddress
telnet 127.0.0.1 → 連進自已的電腦
 rlogin：連到別台機器

rlogin -l 簽入的帳號 IP
 netstat：查詢網路目前狀況
1.	-a：全部列出
2.	-c：每隔幾秒鐘重新列一遍
3.	-i：界面狀態
4.	-n：以網路IP位址代替名稱列出網路連接情形
5.	-o：列出時間狀態
6.	-r：列出網路的路徑表
7.	-t：列出tcp協定的連接情形
8.	-u：列出udp協定的連接情形
9.	-v：列出版本
10.	-w：列出raw程序連結的資訊
11.	-x：列出有關unix網域socket的資訊
 nslookup：查詢一台機器的IP位址及其對應的網域名稱
 finger：列出某人的線上資料

finger -參數 使用者名稱
1.	s：使用短格式顯示使用者的各項資訊
2.	l：使用長格式顯示使用者的各項資訊
3.	p：使用長格式顯示時不列出計畫檔和專案檔
 ping：查詢網路上某台主機是否開著

ping -參數 主機位址
1.	c 次數：送幾次封包給這台主機，然後等待回應
2.	d：設定SO_DEBUG選項
3.	f：大量且快速的送網路封包給一台主機，看它的回應
4.	i 秒數：設定幾秒鐘送一次封包給一台主機，預設值1秒
5.	q：不顯示傳送封包的資訊，只顯示最後結果
6.	l 次數：在次數內，以最快速的方式送封包給一台主機
 man：查詢某個指令的輔助說明 → man 指令名稱
 help：查詢某個內建指令的說明 (bash shell) → help 內建指令名稱
 whereis：尋找某個指令的檔案位置 → whereis 指令名稱
 locate：找尋檔案 → locate 相關字
 whatis：查詢某個指令的用途 → whatis 指令名稱
 at：設定某一個時間執行某一個指令
 crontab：設定每天或每月定期執行的指令
 nohup：設定退出系統後，程式仍不被終止
 echo：印出字串
 clear：清除螢幕
 指令&     → 將該程式弄到背景執行
 cal 月 年：顯示月曆
1.	-j：顯示查詢的那一天為每年的第幾天
2.	-y：顯示整年的月曆
 如何在一塊網路卡上Bind多個IP：/sbin/ifconfig eth0:1 210.202.165.1 up

FreeBSD 與 linux - 指令大全
http://blog.xuite.net/chihho32/blog/18048424-[學] FreeBSD 與 linux - 指令大全