2008年12月20日 星期六
gcc: command not found
一:先確認是否有安裝gcc
rpm -qa | grep gcc
顯示如下表是有安裝
libgcc-4.3.0-8.i386
gcc-4.3.0-8.i386
-----------------------------
二:安裝方法
yum install gcc
三:使用方式
gcc -o test test.c
2008年12月14日 星期日
Fedora 忘記 root 的密碼
開機時,進入 GRUB 的畫面接下 keyboard “a” 鍵,接下來游標會停留在一行指令的畫面中,在這個原畫面中的指令後面加上 single ,記得不要跟原指令連在一起,用空白鍵分開,之後按下 enter ,進入到單人模式裡的預設 bash 提示命令下,鍵入 passwd ,重新給 root 密碼,然後重新開機正常進入登入畫面,即可用剛剛所打的密碼以 root 身份登入了。
2008年1月16日 星期三
視窗化的VNC
fedora 有兩種設定,如果你要接收目前螢幕上的畫面
打vino-preferences
(要在fc主機,為圖型畫面,不能用putty操作)
就可以設定了,如果你要多開幾個X-windows
在命令列 vncserver 開:1~:9
但是會出現爛爛的畫面
你要到/root/.vnc/xstartup
原本設定→#twm &
更改後→gnome-session &
988 ps aux |grep vnc →看是否有在執行
989 ps aux |grep vino →看是否有在執行
991 vncpasswd →設定密碼
992 vino-preferences --display=10.10.21.77:0 →將fc畫面傳給xp,需灌顯示軟體
2007年9月16日 星期日
2007年9月11日 星期二
計中Fedora 筆記整理
計中Fedora 筆記整理
[rpm] rpm -e <套件名稱>"就可以移除軟體
[Tarball] (make/make install),多半把安裝的目錄移除即可。
下載 internet 檔案的指令, 最常用的就是 wget 了:
wget http://www.snort.org/dl/current/snort-2.7.0.1.tar.gz
如果是不用帳號密碼的 ftp 站台:
wget ftp://www.somewhere.com/file.name
如果是需要帳號密碼的 ftp 站台:
wget --ftp-user=帳號 --ftp-password=密碼 ftp://www.somewhere.com/file.name
裝某些 Linux 套件, Red Hat / Fedora Core 系列可用 yum 指令
但需先執行這個動作才能使用 yum:
rpm --import /usr/share/rhn/RPM-GPG-KEY-fedora
yum list 可查詢套件清單
yum install [套件名稱] 安裝指定的套件 (套件名稱需存在於上述清單中)
07.09.04 FreeBSD 筆記
env - working Environment
logname
uname - Unix name
finger - 查詢使用data
su - substitute user
pwd - present working directory
cd - change directory
cp - copy
rm - remove
mv - move
chown - change owner
cat file | sort - 將cat的結果,由大到小排序顯示
which - 查閱命令所在位置
ex:
$which bash
/bin/bash
find / -name snort -print
→由根目錄(/)開始尋找,以檔案名稱(-name)為尋找對像
→檔名=snort,如找到則印出(-print)所在位置
常見壓縮檔
.z - compress/uncompress
.zip - zip/unzip
.gz - gzip
.bz2 - bzip
常見shell版本
sh - Bourne Shell [AT&T貝爾實驗室開發]
ksh - Korn Shell [AT&T的David Korn針對sh開良]
bash - Bourne Again Shell [由Brian Fox所寫,Chet Ramey開發]
csh - C Shell[為BSD Unix的標準配備,bill joy撰寫]
tcsh - TC Shell [為C Shell的改良版]
ls -a -l -r -F /home/rex
-a [列出所有檔案及目錄,含隱藏檔]
-l [以"長"列表方式顯示檔案及目錄]
-r [以相反順序呈現]
-F [在每個目錄後加斜線(/),執行檔後加星號(*)]
wildcards - 萬用字元
* [任何長度的任何字元]
? [一個任何字元]
[][中括號內其中任何一個字元]
單引號 '
利用兩個單引號包起來的字串,特殊字元的意義都被取消
ex:
$echo '***star***'
***star***
反向單引號 `
兩個反向單引號表示執行內部的指令
ex:
$echo Today is = `date`
Today is = 二 9月 4 23:39:23 HKT 2007
標準輸入/輸入轉向
標準輸入(stdin,代號0) : 鍵盤輸入
標準輸出(stdout,代號1) : 螢幕輸出
標準錯誤輸出 (stderr,代號2) : 螢幕輸出
轉向
< [輸入轉向,將鍵盤輸入由另一個轉入(如檔案)取代] > [轉出轉向,將轉出到螢幕的資料(標準輸出或錯誤輸出)
轉到另一個位置(如檔案)上]
>> [輸出附加轉向。將所輸出的資料附加(append)到另一個檔案
之後]
ps [顯示行程]
kill -9 543 [無條件刪除執行中的程序]
過濾器
一些特殊文件處理工具,常統稱為過濾器(Filter)
以下為常見Filter
cat [concatenate,連結並顯示文字]
comm [compare,比較排序過的檔案]
crypt [ encryption,將資料加密編碼或解密]
cut [從輸入行剪下某些欄位]
diff [differences,兩檔案間,以行對行比較並顯示不同處]
egrep [使用完整的正規表示式搜尋式樣文字]
fgrep [使用字元字串搜尋文字]
grep [使用式樣搜尋文字]
head [顯示檔案的開頭部份]
less/more [顯示文字,一次一個畫面]
nl [將每一行編號]
paste [將文字行合併]
pg [顯示文字,一次一個畫面]
pr [格式化列印文字]
sort [排序文字]
spell [檢查拼字錯誤]
tail [顯示檔案中最後的部份]
tr [translate,轉換文字]
uniq [顯示檔案中的唯一行,移除重複內容的行]
wc [word count,計算檔案中的行數、字元數
4-14
07.09.05 FreeBSD 筆記
grep [Global Regular Expression Print]
$grep[options] PATTERN [FILE...]
$grep[options] [-e PATTERN | -f FILE][FILE...]
其中options有
-c :計算行數
-l :顯示出相符的檔案
-n :顯示相符的行號
-i :忽略大小寫
ex:
$grep my file [在file中,搜尋my字串]
egrep [extended grep]
fgrep [ fixed/file grep]
sort[ OPTION]...[FILE]...
-n : 依照數字大小排序
-r : 反向排序
-m : 依照月份排序
-b : 忽略空白排序
ex;
$ps -ef | cut -d' ' -f1 | sort | uniq
1.ps -ef[顯示系統正在執行的程序]
2.cut -d ' ' -f1[取第二個欄位]
3.sort [排序]
4.uniq [唯一印出,即刪除重覆]
執行c語言
$cc -o hello hello.c
$ ./hello
#uname [OPTION]...
常用OPTION:
-a : 顯示孩心所有訊息
-r : 僅顯示核心的版本號碼
-s : 僅顯示核心主機名稱
-n : 僅顯示主機名稱
-v : 顯示核心編輯的時間
-p : 顯示核心的cpu版本
-i : 顯示主機平台名稱
-o : 顯示作業系統名稱
initrd = Initial RAM Disk = 初始化記憶磁碟
查閱已載入模組 - lsmod
並非在kernel目錄下模組都已載入系統,可用lsmod命令查閱
# /sbin/lsmod
/proc/sys/ 存放系統參數的目錄
各目錄屬性如下:
debug = debug = 儲存系統除錯的相關訊息
dev = Device file = 儲存設備檔案運作中的訊息
fs = file system
kernel = kernel
net = network
proc = process
sunrpc = 儲存sun RPC子系統運作中的訊息
vm = virtual memory
yum = Yellow-dog Updater Modified
自動更新核心,如下:
# yum - y update kernel
RPM = Red Hat Package Manager
rpm -qa
#rpm -ivh packageName = 安裝套件
#rpm -ivh -replacepkgs packageName =重新安裝套件
#rpm -ivh -replacefiles PackageName = 重新安裝套件
#rpm -Uvh PackageName = 套件升級 = #rpm -Fvh PackageName
#rpm -e PackageName = 移除套件
自動擴充工具 - yum
yum [option][command][package...]
1.option
-y : 內定詢問項,以Yes回應
-d[number] : 設定偵錯(debug)等級(0~10),值越低偵測範圍越小
-e[number] : 設定錯誤等級(0~10)
2.command
install package1 [package2] = 安裝套件
update [package1][package2][...] = 更新套件
chek-update = 檢查需要更新的套件
remove | erase package1[package2][...] = 移除或刪除套件
list[...] = 列出套件
info [...] = 顯示套件訊息
設定連結網站
/etc/yum.repos.d/fedora.repo
/etc/yum.repos.d/fedora-updates.repo
可在mirrorlist項目,更改離主機較近的網址
線上查詢與搜尋套件 #yum list available
線上查詢可更新套件 #yum check-update
ex:
#yum install php = 安裝php套件
#yum remove httpd = 移除httpd套件
#yum update setup = 線上更新setup套件
原始檔案擴充 -makefile
#tar -xzvf apache.tar.gz = 解壓縮
看完README檔,安裝步驟如下
#./configure --prefix=PREFIX [PREFIX]是指定安裝位置
一般都安裝於/usr/local/apache目錄下
#make
#make install
#PREFIX/bin/apachectl start
PID = process ID
UID = User Identifier
GID = Group ID
comment = 註解
lP = Line printer = 列印工作者
shutdown = 關機工作者
daemon = 監督工作者
named = 名稱工作者
apache = 網頁工作者
UUCP = Unix to Unix Copy伺服工作者
4個主要帳戶
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
帳戶管理[useradd、passwd、deluser、groupadd、groupdel]
#userdel -r username = 刪除使用者登入目錄及該目錄下的所有檔案
07.09.06 FreeBSD 筆記
#passwd -l rex = 暫停rex的帳戶(lock)
#passwd -u rex = 恢復rex的帳戶(unlock)
DOS = Disk Operating System
MBR = Master Boot Record
IPL = Initial Program Loader
#df -i = 查看磁碟相關資訊(只有系統碟)
#fdisk -l /dev/sda =查看磁碟分割資訊(整個磁碟)
07.09.05 FreeBSD 筆記
建立檔案系統
mkfs = make file system
各選項功能如下:
-t fstype : 建立檔案系統並指定系統格式,如:ext2
-c : 檢查故障區塊(bad block)
blocks : 在指定檔案系統上建立資料區塊
#mkfs -t msdos /dev/fd0 = 格式化軟碟
#mount -t msdos /dev/fd0 /media/floppy = 將軟碟掛載於/media/floppy
#cp /etc/passwd /media/floppyfile_1 = 複制某一檔案到該目錄下
#ls -l /media/floppy = 觀看複制結果
#umount /media/floppy = 卸載軟碟
#ls -l /media/floppy = 觀看結果
#mount -t iso9660 /dev/fdc /media/cdrom = 將光碟機掛上
#umount -a = 卸載所有裝置
#mount -a = 將/etc/fstab內所有裝置掛上
#cat /etc/mtab = 察看掛載記錄
fsck = file system check = 檢查檔案系統
#fsck -t msdos /media/floppy = 檢查軟碟片的檔案系統
regular file = 一般檔案
special file = 特殊檔案
重要的目錄與檔案
/etc = 系統組態、設定有關的檔案
/bin = 重要的二進位檔(binary)
/dev = 系統設備檔(device,裝置)
/lib = 系統常用的庫存檔(library),
所有在/bin與/sbin二進位檔所需要的庫存檔,皆存放於此
/mnt = 臨時掛載的檔案系統
/root = root的家目錄
/sbin = 一些較常用的系統管理命令,只有root才有資格使用此目錄下的命令
/tmp = 程式執行中所產生的臨時檔案
/proc = 系統核心與正在執行程序之間的資訊,此目錄下的檔案並非真實存在
,只不過是個虛擬檔案,但可觀察其內容
/var = 程式執行當中會修改到的檔案,大多是會變化的設定檔,如named、www
/home = 存放一般使用者的家目錄
/lost+found = 檔案系統發生錯誤而執行系統檢查時(fsck指令)
,此目錄存放已發生故障區段的資料
/usr = 存放主要應用程式的地方,Unix會將應用系統所包含的檔案或命令分散於
/usr/bin、/usr/lib、/usr/local 等目錄下
較重要的檔案
/etc/passwd = 使用者名稱與密碼
/etc/shadow = 使用者密碼加密後的檔案
/etc/inittab = 系統啟動檔
/etc/services = 網路服務埠口規劃檔案
/etc/protocols = 網路協定所指定通訊埠口
/etc/profile = 系統 shell設定檔
/etc/crontab = 定期執行指令的程式(cron)的設定檔
/etc/X11/ = [此目錄]存放x-windows的相關設定
/etc/rc.d/ = [此目錄]存放系統的開機與關機的Shell檔,其中包含rc0.d - rc6.d 6個執行階層
/etc/hosts = 解析主機名稱與網路位址
/etc/resolv.conf = 設定DNS的主機位址
/etc/fstab = 系統啟動時,自動掛載(mount)檔案系統裝置的檔案
/usr/X11R6/ = [此目錄]所有windows操作所需的2進位檔、記錄檔都存於此 ;
但與系統有關係的設定檔,則存放於/etc/X11目錄下
/usr/bin = [此目錄]存放所有與系統修復無關及非管理用的執行檔都存放於此
/usr/local = [此目錄]存放使用者自行安裝的軟體
/usr/lib = [此目錄]存放/usr/bin、usr/sbin目錄內的程式操作所需的庫存函數(library)
/usr/share = [此目錄]存放所有在/usr目錄下所安裝軟體,所需要取用的資料
/usr/share/doc = [此目錄]存放安裝軟體的說明文件
/usr/share/man = [此目錄]存放安裝軟體的線上手冊
/usr/src = [此目錄]存放linux系統原始碼
/var/log = [此目錄]所有系統記錄檔
/var/spool = [此目錄]存放系統的Spool工作排序
/var/run = [此目錄] 記錄目前執行中程序的PID
/var/tmp = 程式執行中的暫存檔
LILO = linux load
GRUB = Grand Unified Bootloader
重新啟動
#/sbin/reboot
常用參數
-n : 關機時,不呼叫sync程序回存資料,有可能遺失某此資訊
-w : 非真正動新啟動,只是將所有狀態寫入/var/log/utmp檔內
-d : 重新啟動時並不將狀態寫入/var/log/utmp檔內
-f : 強制重新啟動,但不呼叫shutdown
系統重新啟動
#/sbin/shutdown
常用參數
-t sec : 秒後,再shutdown
-c : 取消shutdown
-r : 關機後,立即啟動,即reboot
-h : 完成關機後,系統立即停頓(halt)
-n : 關機時,不呼叫sync程序回存資料,有可能遺失資料
-f : 重新啟動系統時,不呼叫fsck來檢查系統
#shutdown -r now =重新開機
#shutdown -r +30 "System will be restart after 30 minutes"
=通知所有使用者,系統延後30分關閉
#shutdown -h 0 = 立即關機
行程種類
Interactive process = 交談式行程
Batch process = 批次行程
Daemon process = 監督行程
ps = process status = 顯示行程狀態
常用參數
-pids : 顯示指定PID的行程
-e : 顯示所有行程
-l : 長行顯示格式
-f : 顯示所有資訊
-u : 顯示某一使用者所產生的行程
#ps -ef = 顯示系統行程
其中顯示
ID = 產生此行程的ID
PPID = Parent process ID
STIME = 產生此行程的日期時間
#ps -uax = 顯示行程詳細狀態
其中:
%CPU : CPU 使用時間比率
%MEM : 記憶體使用比率
RSS : 佔用多少記憶體
STAT : 行程狀態,可能是
→R : running
→S : Sleeping
→T : Trace = 追蹤或停止
→Z : Zombie = 僵屍或suspend(暫停中)
→W : 沒有固定的Pages
→< : 高優先權行程 →N : 低優先權行程
#vi test.c & = 產生一個背景行程
cron = 周期性行程
#ls /etc/cron.daily = fedora每天執行哪些指令
#nice = 顯示優先等級
#nice -10 cpy /etc/passwd p1 = 減低優先權
permanent service = 常駐性服務 = standalone service = 獨立性服務
Blocking service = 阻斷性服務
Transient service = 暫時性服務
服務程式目錄
Unix將大部份的服務程式都匯集於 /etc/rc.d/init.d
#/etc/rc.d/init.d/服務程式 statart|stop|restart|reload|status
服務管理命令 - chkconfig
可利用chkconfig命令來檢視某一服務到底被嵌入哪幾種
Runlevel工作模式
07.09.07 Fedora 筆記
#/sbin/lsmod = 查閱已載入模組
#/sbin/lsmod | grep des = 查詢des模組是否載入
#/sbin/insmod des.ko = 載入des.ko模組
#/sbin/rmmod des = 移除des模組
domainname = 參數
常見的備份工具
tar = tape archive
cpio = copy to / from archive
dump/restore
#tar -cvf file.tar *f = 將目錄下所有f開頭的檔案,包裝成file.tar
#tar -xvf file.tar = 解開包裝
tar/compress並用
#tar -cZvf file.tar.z f* = 將目錄下所有f開頭的檔案,包裝並壓縮成file.tar.z檔
#tar -xZvf file.tar.z = 解開
tar/bzip2並用
#tar -clvf file.tar.bz2 file_1, file_2 = 包裝、壓縮
#tar -xlvf script.tar.bz2 = 解包裝、解壓縮
網路設定
#ifconfig eth0 163.22.21.157 broadcast 163.22.21.254 netmask 255.255.255.0 = 設定網路資訊
#ifconfig eth0 up = 啟動網路介面
ifconfig = interface configuration
lo = Loopback
eth0 = Ethernet
ppp0 = Point-to-Point Protocol
MTU = Maximum Transfer Unit
RIP = Routing Information Protocol
TX packets : 傳送封包總數、錯誤數量、遺失數量、溢流數量
RX packets : 接收封包總數、錯誤數量、遺失數量、溢流數量
靜態路由設定
#/sbin/route
Flags的旗號意義
U = Up =啟動
H = Host = 表示這條路徑之目的地為主機
G = Gateway = 此路徑為網路閘門轉送
D = ICMP Redirect - 經由ICMP 重導路由設由
M = modify =
#/sbin/route add -net 140.127.139.0 netmask 255.255.255.0 gw 140.127.138.254 = 設定路由
#/sbin/route add default gw 163.22.21.254 = 設定預設路由
#/sbin/route del default gw 163.22.21.254 = 刪除路由
ping - 測試網路
常用參數
-c = count = 設定傳送次數,預設為30
-d = 啟動Socket的SO_DEBUG功能
-f = Flood ping = 會快速的連續
-i wait = 每筆偵測相隔時間,預設值為1秒
-I = Interface_address = 發出封包的介面卡位址
-r = 忽略Routing Table,而將封包直接送到遠端主機
-R = 記錄路由過程
-v =
07.09.09.Fedora筆記
路由追蹤
#/usr/sbin/traceroute 選項 主機位址
常用選項如下
-d = 使用socket層級的除錯功能
-F = 設定Don't Fragment位址
-g gateway = 設定路由器位址,最多8個
-m count = 設定最大TTL值,預設值為30
-n = 使用IP位址,而不用主機名稱
-r = 忽略Routing Table ,直接將封包傳送到目的位址
顯示網路狀態
#/bin/netstat [選項]
常用選項如下:
-a = 顯示目前所有連接的socket
-c = 持續列出網路狀態
-C = 顯示路由快取資訊
-e = 顯示詳細的網路資訊
-g = 顯示多重廣播群組名單
-i = 顯示網路介面資訊
-l = 顯示傾聽中的socket清單
-M = 顯示示偽裝連線(NAT)
-n = 顯示IP位址而不是主機名稱
-r = 顯示路由表
-s = 顯示網路資訊統計清單
-t = 顯示TCP連線狀態
-u = 顯示UDP連線狀態
-v = 顯示詳細資訊
-w = 顯示Raw socket連線
ex:
#/bin/netstat -rn = 查閱路由表
ARP快取表命令
#/sbin/arp [選項]
常用選項:
-a = 顯示所有記錄
-d hostname = 刪除hotstname主機記錄
-s hostname hw_address = 增加hostname 增加hostname主機的硬體位址(hw_address)
DNS查詢 - nslookup
#nslookup
>server = 目前指定的DNS Server
>server 168.95.1.1 = 變換DNS Server
SSH = Secure Shell
Vsftpd = very secure FTP daemon
Anonymous FTP = 匿名ftp
Perl = Practical Extraction and Report Language
#uptime = 顯示目前系統負載
#free = 檢視記憶體裝態
常用參數:
-b = 以位元組格式
-k = 以Kbyte格式
-m = 以Mbyte格式
-o = 不顯示緩衝調節列
-s delay = 以間隔秒數來顯示
-t = 記憶體總合
檢視虛擬記憶體效能 - vmstat = virtual memory statistics
常用選項:
-a = active = 顯示active、inactive的記憶體
-f = fork = 顯示啟動後,所建立(fork)行程所使用記憶的總合
-d = disk = 磁碟機使用情形
-p = partition = 顯示某一分割區
#vmstat -s = 顯示系統內所有虛擬記憶體表格
檢視磁碟使用狀態 - df
常用選項:
-a = 顯示所有檔案系統
-i = 顯示inode訊息
-k/m = 以kilobytes或megabytes顯示
顯示檔案佔用空間 - du
常用選項
-a = 顯示某一目錄下所有檔案及檔案大小
-b = 以byte顯示檔案或目錄大小
-k = 以kbyte顯示檔案或目錄大小
-c = 顯示所有或目錄大小的總合
檢視TCP連線 - nc
常用選項
-i = interval
-h = 線上說明
-l = 監聽模式
-n = 使用ip位址而非電腦名稱
-p = source_port = 查機來源埠
-s = source_ip_address = 本機IP位址
-r = 以亂數指定本機與遠端連接埠口號碼
-u = 使用udp協定
-v = 顯示詳細的執行訊息
-w = time_out = 等待連線時間
ex:(兩部電腦的對話
1.#nc -l 1234 = 等待1234埠的連線
2.#nc 163.22.21.158 (連線)
2.good morning (對話開始)
傾倒網路傳輸資料 - tcpdump
常用選項:
-c = count = 收到指定封包數後,即停止作業
-e = 每列資料上顯示連結層級的封包標頭
-f = 以數字顯示網路位址
-i = interfece = 指定介面送出封包
-l = 使用標準輸出列的緩衝區
-r = file = 由指定檔案讀取資料
-s = snaplen = 每次抓取資料的長度
-T = type = 強制表示所指定封包型態轉換成設定封包類型
#usr/sbin/tcpdump = 顯示目前通過指定網路卡的封包標頭
#usr/sbin/tcpdump -e -c 1 = 擷取前1個封包,並顯示其封包標頭
#usr/sbin/tcpdump -i eth0 -f -c 1 = 由eth0網路卡上擷取一個封包,並以數字顯示網路位址
Fedora Core 6 指令速查
rpm -e 套件名 →移除套件
uname -r →觀看核心版本
-------------------------------------------------------------------------
/boot/grub/menu.lst //修改開機登入畫面
-------------------------------------------------------------------------
ls -l > dir.txt //把ls-l的結果寫入dir.txt檔
cat data.txt >> result.txt //把前一個檔案內容附加到後一個檔案內容
ls [abc]* //列出所有以"a","b","c"中任一字元開頭的檔案、子目錄
ls [d-g] //列出所有英文字母"d" ~"g"範圍中任一字元開頭的檔案、子目錄
ls [3-7] //列出所有數字"3"-"7"範圍中任一字元開頭的檔案、子目錄
set //查詢目錄系統環境變數狀況
ps aux | grep httpd //檢查httpd是否已在執行
-------------------------------------------------------------------------
ps = process status =報告執行中的程式
ps -u //觀察屬於自已的程序之詳細資訊
-l //參數、資訊更豐富
-al //一併查看其它使用者所執行的程序
ps aux //查看背景執行的程序
ps aux --sort user //將程序依照使用者名稱字母排序
ps aux | grep "rex" //查詢包含"rex"字串的文字
kill 1330 //把PID1330刪除
kill -15 1330 //把PID1330刪除(上一個無效時)
kill -9 1330 //把PID1330刪除(上兩個無效時,終極手段)
-------------------------------------------------------------------------
man logout //查詢指令「logout」的用法
/etc/inittab //修改id:5:initdefault: 把5改成3,表以文字模式開機
ntsysv //檢查開機時,預先啟動的程式
-------------------------------------------------------------------------
useradd u1 //新增使用者
passwd u1 //更變密碼
passwd -d u1 //刪除密碼,使用者可不用密碼登入
finger rex //檢視使用著資訊,含已/未 登入
chfn Enter //修改使用者資料
passwd -l u1 //鎖定使用者密碼
passwd -u u1 //解除鎖定
userdel -r u1 //移除使用者(-r:一併移除家目錄及所有檔)
-------------------------------------------------------------------------
chmod u+x ex1 //加上所屬使用者對檔案ex1的執行權
chmod o-wx ex1 //取消其它使用者對ex1寫入及執行權
rm -參數 filename
參數 d 刪除目錄
f 強制刪除沒有寫入權限的檔案
- 顯示說明
i 刪除前先詢問
r 刪除目錄及此目錄下所有檔案、子目錄
-version 指令的版本資訊
tar可打包文件成一個檔,gzip可對單一檔案壓縮,故兩者通常一起用
tar -cvf file.tar f1 f2 f3 //用打包f1(2、3)
tar -tf file.tar //顯示file.tar內容
tar -vrf file.tar f1 f2 //將f1、f2加入file.tar
tar -xvf file.tar //解開檔案
gzip -v file //將file壓縮(v:顯示壓縮比)
gzip -d file //將gile.gz解壓縮(d:取代原本file.gz)
bzip2 -k file //將file壓縮(K:取代原來的檔案)
bunzip -d file //解壓縮
→1次解完tar.gz的檔案
gunzip -c wireshark-0.99.4.tar.gz | tar -xvf -
連結
ln 來源檔 連結檔
ln /home/ma/f1 link1 //建立link1連結到/home/ma/file1
ln -d 來源目錄 連結檔 //連結目錄
ln -s 來源檔 連結檔 //符號連結(來源檔不見,符號連結就會斷掉)
nslookup hostname //DNS反查(ex:nslookup www.yahoo.com.tw)
traceroute hostname //本機到其它主機經過的路由(ps.windows為:tracert)
mtr hostname //動態顯示的traceroute
在動態畫面中可按 D:更改顯示模式、R:重新統計連線、Q:結束mtr
host hostname //查詢hostname的IP位址
hostname //查詢主機名稱
netstat //顯示本機網路連網狀態
netstat -at //顯示本機提供的所有TCP網路連線的狀態
route //查詢目前的閘道器設定
dmesg | grep eth0 //查詢eth0的製造商及型號
lspci //查詢主機硬體資料(Ex:PCI、ISA、IDE..)
iptables -L //檢查本機的防火牆規則
rpm -qa | grep ssh //查詢ssh是否有安裝
Linux常見檔案類型
副檔名 檔案型態
.Z 壓縮檔,用指令:compress壓縮
.tar 將不同目錄及檔案打包,方便攜帶
.gz 以gzip壓縮的壓縮檔
.tgz 以tar打包文件,再以gzip壓縮的檔案
.rpm RPM(Red Hat Package Manager)檔案,包裝好的軟體
.conf 設定檔,內容通常是系統或程式的設定
.a 文件檔(archive file)
.lock 鎖定檔,決定一個程式是否使用
.h C及C++程式語言的標頭檔
.c C語言原始程式碼
.cpp C++原始程式碼
.o 程式物件檔(Program object file)
.pl perl的script檔
.tcl tcl的script檔
.so 函數庫檔
.txt 文字檔
.html html檔
.ps postScript檔案,一種列印格式
.au .wav 聲音檔
.xpm 影像檔
.png 圖片或影像檔
---------特定檔案、目錄的作用-------------------------------------------
/etc/group檔 存放有關群組的資料
/etc/hosts檔 主機網域名稱與對應IP網址
/etc/hosts.allow檔 指定特定主機可以用這些服務
ex:
all: 203.72.1. 來自203.72.1.*網域可使用所有服務
hosts.deny檔 拒絕特定主機使用服務(預定為空)
ex:
in.telnetd:203.71.20.1 拒絕203.71.20.1主機經由tcpd啟動telnet服務
all:all 拒絕所有主機經由tcpd使用所有服務
/etc/rc.d/rc.local檔 設定開機要預先載入的規則(如防火牆規則)
/etc/protocols檔 指定網路協定編號(ex:TCP為6)
/etc/services檔 指定網路服務所用的通訊埠號碼及採用協定TCP/UDP
/etc/sysconfig/network檔 設定主機名稱、網路介面預設的閘道及開機是否啟動網路
/etc/sysconfig/network-scripts目錄 放置所有網路介面的個別設定檔