linux操作技巧集
1:HOST的樂趣: Host能夠用來查詢域名,然而它可以得到更多的信息。host -t mx l
inux.com可以查詢出Linux.com的MX記錄,以及處理Mail的Host的名字。Host -l linux
com會返回所有注冊在linux.com下的域名。host -a linux.com則會顯示這個主機的所
有域名信息。
2:找到命令需要的文件,也許你希望搞清楚一個命令它到底使用到了什么其他相關文件
和命令?試試ldd就可以了。如ldd traceroute,返回結果會是libc.so.6,lid-linux.s
o.2
3:定時!定時!你希望定時處理嗎?你肯定希望能夠讓你輕松一些!crontab可以聽候
您的指示。命令行中輸入:crontab -e這進入文本編輯器,再在其中輸入0 5 * * * wg
et -t3 -I/home/tom/URLs -N。這樣每天早上5點就會運行這個wget命令。前五個是時間
參數:分 時 日 月 星期幾。你可以 0 5 * * 6,0 command line here,這樣就在每個
星期六和星期天5am運行。你需要man 5 crontab來得到更為詳細的解釋。隨便說一下,
wget是一個取web頁面的小程序。 console頂部顯示現在時間:在/etc/bashrc或~/.bas
hrc中加入環境變量PROMPT_COMMAND。export PROMPT_COMMAND=echo -ne "33733[2;999
r33[1;1H33[00;44m33[K"`date`"33[00m338"
4:使用多達23個的虛擬終端(VT),假設你現在有6個,仿照/etc/inittab種的文件,
加入
8:234:respawn:/sbin/getty 38400 tty8
24:234:respawn:/sbin/getty 38400 tty24
要跳過VT7,因為X使用這個終端。然后telinit q以重新加載配置文件。使用左Alt+Fn在
1-6和8-12件切換,使用右Alt+Fn鍵在13-24之間切換。
5:Console切換:左Alt-方向鍵,循環切換console。效果和Alt+Fn一樣。
6:簡單的進行Dos轉Unix:如果你的文本文件中每行結尾都有討厭的Ctrl-M的話,使用
這句命令能夠快速的解決問題 sed s/^M// filename > newfilename
7:快速建立MP3播放列表:find /mnt/cdrom -name *.mp3 -print >> cd1.play.list.
這樣就會把CDRom中的所有MP3文件建立一個名為cd1.play.list的文件。然后使用xmms
或 x11amp就能進行播放了。
8:/proc中的重要信息
cat /proc/cpuinfo - CPU (i.e. vendor, Mhz, flags like mmx)
cat /proc/interrupts - 中斷
cat /proc/ioports - 設備IO端口
cat /proc/meminfo - 內存信息(i.e. mem used, free, swap size)
cat /proc/partitions - 所有設備的所有分區
cat /proc/pci - PCI設備的信息
cat /proc/swaps - 所有Swap分區的信息
cat /proc/version - Linux的版本號
9:真正的Console界面:說實話無論是KDE和GNome我都沒什么喜歡的,畢竟受Windows熏
陶了這么長時間了。但是在Console下其實才是真正的Cool界面。使用SVGATextMode可以
讓你的命令行界面達到132x60(標準是80x25)。我的486(Trident9440)上使用的是132
x43,那密密麻麻的字符真象Hollywood的幾年前的電影(現在連電影里都是Windows了)
給人感覺神秘兮兮的。配置文件在/etc/TextConfig中,不過如果你的XWindow都無法正
常顯示的話,那估計這也用不了了(畢竟是好幾年前的東西了)。
10:讓你的硬盤飛起來: Linux下也可以使用32Bit I/O和DMA。使用/sbin/hdparm -c1
/dev/hda(hdb,hdc..)打開32Bit傳輸模式,使用命令 /sbin/hdparm -d1 /dev/hda(hdb
,hdc...) 打開DMA。最后使用/sbin/hdparm -k1 /dev/hda 以使硬盤在Reset之后保持上
面的設定,這么一來,硬盤讀寫速度應該可以提高一倍以上。
11:微調你的Ext2: Linux下的命令tune2fs可以設定最大Mount次數(因為Linux即時在m
ounted clean狀況下,達到一定的mount次數后,會強制e2fsck對于我這樣的每天開關機
的來說很不方便),tune2fs命令的其他用途請參見man。
12:禁止在Netscape中顯示閃爍(Blink)Tag: ~/.Xdefaults中修改 Netscape*blinki
ngEnabled: False 之后運行 xrdb -Load ~/.Xdefaults
13:隨時改變XTerm的字體大小:shift加+/-
14:Ext2的文件屬性: lsattr列出屬性,chattr可以改變屬性。如 chattr +A filenam
e 則系統不會修改其last access time屬性;chattr +i 則可以避免被rm掉。
15:SIS6326顯卡的配置:在Device中加入:DacSpeed 110 Option "no_bitblt" Optio
n "sw_cursor"
16:使用strings可以把字符串從Binary文件中分離出來
17:你大概已經習慣了使用Top來觀察系統使用情況,那就使一使使用Vmstat 1來看看c
pu的空閑程度(顯示結果的最后一項)。
18:使用Watch命令,反復執行特定命令,如"watch ls -l /tmp/blah",將一直觀察文
件的大小改變。
19:使用pppstats得到ppp連接的數據。
20:顯示遠程機器的NFS: showmount -e hostname
21:使用autofs免去你每次mount和umount之苦,再RedHat6.0中帶了autofs的rpm,只要安
裝好之后便可以享受自動加載文件系統的方便。 在/misc目錄下,創建一個cd目錄,如
果使用其自帶的auto.misc和auto.master的話,馬上就可以實現自動加載功能了。
22:在Bash Shell中,可以用!重復上幾次輸入過的命令,這樣就可以省去往上滾動的
麻煩了。使用ctl+R可以互動的檢索以前使用過的命令行。
23:使用cd -在上兩個cd /directory/操作中切換。如先是cd /home/foo接著是 cd /h
ome/maison則接著打cd - 會進入 /home/foo再打cd - 會進入 /home/maison。
24:Bash中的快捷鍵:ESCAPE-B 會向前條一個單詞,Ctrl-K會刪除從光標到行末所有字
符。
25:在PS命令中使用grep,例:ps auxw | grep gpm 會列出所有含有gpm字符的進程。
26:在同一個命令行上同時執行多條命令:用分號分隔。如編譯一個源文件:type ./c
onfigure ; make ; make install 。之后你就可以去散步了(不要在電腦前花費了太多
時間了,生活中還有很多美好的東西。)
27:把運行結果輸出到一個文件中,如 ls -l > foo.file。
28:使用Top命令監視系統狀況,內存使用情況,開機時間,進程狀況,每個用戶的使用
情況等等。使用S命令可以改變其刷新的時間:如.5將會使其每半秒鐘更新一次。
29:同時Unzip多個文件,unzip *不正確,而是unzip "*"。
30:建立符號連結,這大概是最有用的功能了,ln -s real-file symbolic-file,無論
是設備,文檔還是腳本程序。
31:改變顯示的單位,如du -hm 將以M為單位輸出結果,同樣的du -hk則以K為單位輸出
。
32:自動Logoff,在~/.bashrc中加入這么一句話:TMOUT=300則會在5分鐘之后logoff,不
過如果less這類程序運行則不會啟動。
33:在使用less 或 more時,直接啟動編輯器:在less中打入v鍵,會立即啟動vi或其他
你在環境變量中指明的編輯器,但是more只能使用vi。
初用Linux時可能有處處不方便的感覺, 可是等使用一段時間掌握了一些技巧后就會
感到越來越順手了. 以下就是我使用Linux以來積累的一些經驗與技巧, 相信對初學者會
有所幫助的.
1. 使用虛擬控制臺
登錄后按Alt+F2鍵這時又可以看到"login:"提示符, 這個就是第二個虛擬控制臺.
一般新安裝的Linux有四個虛擬控制臺, 可以用Alt+F1~Alt+F4來訪問. 虛擬控制臺最有
用的時候是當一個程序出錯鎖住輸入時可以切換到其他虛擬控制臺登錄進入后殺掉這個
出錯的進程.
2. 拷貝與粘貼
字符界面: 不管是Slackware 還是RedHat 安裝后每次啟動時都會自動運行一個叫g
pm的程序, 該程序運行后就可以用鼠標來拷貝與粘貼了. 具體做法是按住鼠標左鍵拖動
使要拷貝的地方反白, 這時反白的區域已經被拷貝, 再按鼠標右鍵拷貝的內容就會被粘
貼在光標所在位置了.
X-Window下: 拷貝的操作與字符界面下一樣, 三鍵鼠標的話按中鍵粘貼, 兩鍵鼠標的話
同時按左右鍵粘貼(須在配置XF86時在鼠標的設置里選擇 Emulate 3 Button).
3. 快速進入某些目錄
鍵入 cd ~ 可進入用戶的home目錄.
鍵入 cd - 可進入上一個進入的目錄.
4. 軟驅的使用
如果是Linux 的ext2文件系統用如下命令:
#mount -t ext2 /dev/fd0 /mnt
dos格式的軟盤則用命令:
#mount -t msdos /dev/fd0 /mnt
然后就可以在/mnt里訪問軟盤的內容了, 注意在取出軟盤之前要先卸掉軟盤上的文件系
統,
#umount /mnt 否則會導致信息丟失.
在軟盤上建立文件系統可用如下命令:
#mke2fs /dev/fd0 1440
5. RedHat下顯示彩色目錄列表
打開/etc/bashrc, 加入如下一行:
alias ls="ls --color"
下次啟動bash時就可以像在Slackware里那樣顯示彩色的目錄列表了, 其中顏色的含義如
下:
藍色-->目錄
綠色-->可執行文件
紅色-->壓縮文件
淺藍色-->鏈接文件
灰色-->其他文件
6. 顯示文件的類型
用命令 file 可以使你知道某個文件究竟是ELF格式的可執行文件, 還是shell scr
ipt文件或是其他的什么格式 例如:
#file startx
7 .命令文件的路徑
當你鍵入一些命令如find, shutdown, mount, startx時是否想過要知道這些文件究竟放
在哪個目錄里? 用命令
whereis 可以實現,如
#whereis startx
8. 查找文件
find 命令要加一些參數才能查到文件, 如:
#find /usr -name XF86Setup -print
在/usr里查找文件XF86Setup.
9. 刪除無用的core文件
程序運行出后有時候會產生一個名為core的文件, 這個文件一般很大而且沒什么用, 可
以刪除掉以釋放空間.
10. 一次解開.tar.gz文件
解開.tar.gz文件一般要先用gunzip解壓再用tar解包, 在Linux下可以一次完成, 如:
#tar zxpvf sample.tar.gz
11. 顯示win95分區里的長文件名
如果你發現win95分區里的長文件命不能顯示, 可以重新用vfat方式來mount. 對于
啟動時就mount的分區可以修改文件/etc/fstab, 將里面的msdos字樣改為vfat. 如果無
法用vfat mount, 則要重新編譯一下核心, 加入對vfat的支持.
12. Linux 里的Norton Commander
在提示符下鍵入命令mc后你就會看到一個與Norton Commander很相似的界面, 實際
上功能也很相似甚至更強大, 比如可以直接對.tar.gz 壓縮包里的文件進行操作(有點像
ZipMagic).
13. 啟動后直接進入X
編輯/etc/inittab文件, 把id:3:initdefautl改為 id:4:initdefautl. 不過搜索路
徑可能會有些問題, 關機時你得直接進入/sbin 里去執行 shutdown.
14. 后臺運行 X 程序
執行一個X程序時別忘了在后面加一個&號,如 #netscape & 否則的話在你推出執行
的程序之前再無法在那個終端窗口里輸入命令了.
15. 強行退出 X
有時候在 X 里由于程序出錯鼠標鍵盤都不起作用, 這時候不用著急, 因為在Linux
下幾乎不會像在Win95里那樣惡性死機, 你只須鍵入Ctrl+Alt+BackSpace鍵就可以回到字
符界面下了.
1. 重裝Win9x后lilo失效無法啟動Linux
只須先用軟盤啟動Linux然后運行一次lilo即可。對于RedHat可以用命令mkbootdis
k來制作啟動盤,例如:
mkbootdisk --devices /dev/fd0 2.0.34-1
其中2.0.34-1是 /lib/modules下的一個目錄。
2. 把dos/windows改為缺省啟動的OS
RedHat把Linux作為lilo缺省啟動的OS,即出現 boot: 提示符后直接回車啟動Linu
x。如果想改為dos/Windows,修改文件/etc/lilo.conf,把有關啟動dos的部分放在前面
,再運行一次lilo即可。例如把lilo.conf從:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz-2.0.34-1
label=linux
root=/dev/hdc5
read-only
other=/dev/hda1
label=dos
table=/dev/hda
改為:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
other=/dev/hda1
label=dos
table=/dev/hda
image=/boot/vmlinuz-2.0.34-1
label=linux
root=/dev/hdc5
read-only
3. 去掉引導區內的lilo信息
安裝lilo后如果硬盤數量或分區情況有改變的話將導致硬盤不能啟動,這時只須用
軟盤啟動dos再運行 fdisk/mbr 即可。(這個方法還可清除任何引導區病毒)
4. 讓 X 支持 AGP 顯卡
下載一個 AX 4.1 即 AcceleratedX 4.1 , 一個商業版的 X Server 。除 AGP 顯
卡外 AX 還支持很多牌號的顯卡。另外還可以用AX 帶的設置程序 Xsetup 方便的對分辨
率,刷新率等參數進行設置。不過我也不知道用AGP卡效果如何,因為我現在還在用老掉
牙的 S3 765 。
5. 把 man 或 info 的信息存為文本文件
以 tcsh 為例: man tcsh | col -b > tcsh.txt
info tcsh -o tcsh.txt -s
6. 用當前路徑作提示符
對 bash 來說,在 .bashrc 里加一行:
PS1="\$PWD\\$"
對 tcsh 來說,在 .tcshrc 里加一行:
set prompt="%/>"
7. 壓縮可執行文件
Linux 下有一個類似 dos 里的 pklite 和 lzexe 的命令 -- gzexe 。而且壓縮率
一般都可以超過 50% ,在空間緊張時很有用。比如:
/dosc/temp# ls -al
total 148
-rwxr-xr-x 1 root root 149564 Dec 8 15:33 gawk
/dosc/temp# gzexe gawk
gawk: 54.5%
/dosc/temp# ls -al
total 216
-rwxr-xr-x 1 root root 68710 Dec 8 15:36 gawk
-rwxr-xr-x 1 root root 149564 Dec 8 15:33 gawk~
/dosc/temp#
8. 查看 Linux 啟動時的信息
Linux 啟動時屏幕顯示的信息來不及看清就一閃而過,如果對這些信息感興趣的話
可以在啟動完后用命令 dmesg 查看。
9. 處理文件名內含有特殊字符的文件
如果有一個文件名叫 -file 如果想刪除它,鍵入 rm -file 會顯示 invalid opti
on ,原來由于文件名的第一個字符為 - , Linux 把文件名當作選項了,可以加 -- 解
決這個問題, 如 rm -- -file 。如果是其他特殊字符的話可以在特殊字符前加一個 \
,或者用雙引號把整個文件名括起來。
10. 一次處理一整個目錄
Linux/UNIX 的很多常用命令如 rm , cp 等都有一個參數---- -r , 是遞歸的意
思, 命令里加了參數 -r 就可以對目標目錄及其下所有子目錄進行操作,如:
rm -rf /test (f 是 force 意為強行) , 該命令完全刪除根目錄下的子目錄 test ,
作用類似于 dos 下的 deltree ,當然使用這個命令時要特別小心。再如:
cp -r /test /test1 有類似 dos 下 xcopy /s 的作用。
11. 修改登錄畫面
對本機:
先修改文件 /etc/issue 改為相要顯示的內容, 再修改文件 /etc/rc.d/rc.local(Red
Hat) 或 /etc/rc.d/rc.S(Slackware) 把下面幾句注釋掉:
# This will overwrite /etc/issue at every boot. So, make any changes you
# want to make to /etc/issue here or you will lose them when you reboot.
echo "" > /etc/issue
echo "Red Hat Linux $R" >> /etc/issue
echo "Kernel $(uname -r) on $a $(uname -m)" >> /etc/issue
cp -f /etc/issue /etc/issue.net
echo >> /etc/issue
不然的話每次重新啟動 /etc/issue 都會被更改。
對 telnet 的遠地機器:
先把文件 /etc/usr/sbin/in.telnetd 改名,如改為 in.telnetd.exe ,再編一個名為
in.telnetd 的 shell 腳本, 在顯示完需要的內容后再調用 in.telnetd.exe 。如:
#!/bin/sh
cat /etc/login.banner #需要在登錄提示符前顯示的內容
echo -n ""
exec /usr/sbin/in.telnetd.exe
12. 幾個有用的別名
幾個能方便操作和減少誤操作的別名,建議把它們放到啟動文件里, 如 /etc/bashrc
。
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
#前三個別名的作用是在刪除、覆蓋文件之前先提示確認,RedHat已經自動
#加上了,強烈建議Slackware的用戶也加上,因為Linux/UNIX下文件一旦刪
#除就再也無法恢復了。
alias l='ls -l'
alias cd..='cd ..'
alias utar='tar xvfz' #解 *.tar.gz 文件
alias inforpm='rpm -qpi' #顯示rpm包的信息
alias instrpm='rpm -Uhv' #安裝rpm包
alias listrpm='rpm -qpl' #列rpm包內的文件
alias uistrpm='rpm -e' #反安裝rpm包
13. 使用命令補齊
所謂命令補齊(Command-Line Completion)是指當鍵入的字符足以確定目錄下一個唯
一的文件時只須按 Tab 鍵就可以自動補齊該文件名的剩下部分,例如要把目錄 /frees
oft 下的文件 gcc-2.8.1.tar.gz 解包,當鍵入到 tar xvfz /freesoft/g 時如果該文
件是該目錄下唯一以 g 起頭的文件的話就可以按下 Tab 鍵,這時命令會被自動補齊為
:tar xvfz /freesoft/gcc-2.8.1.tar.gz ,非常方便。
14. 最后一條技巧
有時間的話多看看系統提供的FAQ文件,因為通常遇到的問題大多數都能在里面找到答案。?
評論
查看更多