用Linux時可能有處處不方便的感覺, 可是等使用一段 時間掌握了一些技巧後就會感到越來越順手了. 以下就是我 使用Linux以來積累的一些經驗與技巧, 相信對初學者會有所幫助的.
1. 使用虛擬控制台
登錄後按Alt+F2鍵這時又可以看到“login:“提示符, 這 個就是第二個虛擬控制台. 一般新安裝的Linux有四個虛擬控 制台, 可以用Alt+F1~Alt+F4來訪問. 虛擬控制台最有用的時 候是當一個程序出錯鎖住輸入時可以切換到其他虛擬控制台 ? [color=red:8ea1de57f3]現在一般默認是7個,可以用Alt+F1~Alt+F7來切換,第七個一般是Xwindow;如果啟用了xwindow則要用ctrl+alt+F*來切換[/color:8ea1de57f3]
2. 拷貝與粘貼
字符界面: 不管是Slackware 還是RedHat 安裝後每次啟 動時都會自動運行一個叫gpm的程序, 該程序運行後就可以用 鼠標來拷貝與粘貼了. 具體做法是按住鼠標左鍵拖動使要拷貝的地方反白, 這時反白的區域已經被拷貝, 再按鼠標右鍵拷貝的內容就會被粘貼在光標所在位置了. X-Window下: 拷貝的操作與字符界面下一樣, 三鍵鼠標的話 按中鍵粘貼, 兩鍵鼠標的話同時按左右鍵粘貼(須在配置XF86 時在鼠標的設置裡選擇 Emulate 3 Button).
3. 快速進入某些目錄
鍵入 cd ~ 可進入用戶的home目錄. 鍵入 cd - 可進入上一個進入的目錄. [color=red:8ea1de57f3]在RH8,9中用cd回車就可以進入登錄目錄了,比如是root用戶cd則進入/root.[/color:8ea1de57f3]
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 script文件或是其他的什麼格式 例如: #file startx
7 .命令文件的路徑
當你鍵入一些命令如find, shutdown, mount, startx時是否 想過要知道這些文件究竟放在哪個目錄裡? 用命令 whereis 可以實現,如 #whereis startx [color=red:8ea1de57f3]還可以用which,例如which ls[/color:8ea1de57f3]
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.
[color=red:8ea1de57f3]這個地方有錯,應該是id:5:initdefault.現在也不用進入/sbin裡去執行shutdown了因為已經在/etc/profile中加了path.[/color:8ea1de57f3]
14. 後台運行 X 程序
執行一個X程序時別忘了在後面加一個&號,如 #netscape & 否則的話在你推出執行的程序之前再無法在那個終端窗口裡輸入命令?
15. 強行退出 X
有時候在 X 裡由於程序出錯鼠標鍵盤都不起作用, 這時 候不用著急, 因為在Linux下幾乎不會像在Win95裡那樣惡性 死機, 你只須鍵入Ctrl+Alt+BackSpace鍵就可以回到字符界 面下了. [color=red:8ea1de57f3]如果默認啟動的x,則按這三個鍵會重新啟動x.[/color:8ea1de57f3]
16. 重裝Win9x後lilo失效無法啟動Linux
只須先用軟盤啟動Linux然後運行一次lilo即可。對於 RedHat可以用命令mkbootdisk來制作啟動盤,例如: mkbootdisk --devices /dev/fd0 2.0.34-1 其中2.0.34-1是 /lib/modules下的一個目錄。
[color=red:8ea1de57f3]那個2.0.34-1其實就是內核版本號,如果你不知道可以這樣.mkbootdisk --devices /dev/fd0 `uname -r`.注意這個`是tab鍵上方的那個鍵,不是單引號.[/color:8ea1de57f3]
17. 把dos/windows改為缺省啟動的OS
RedHat把Linux作為lilo缺省啟動的OS,即出現 boot: 提示符後直接回車啟動Linux。如果想改為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
[color=red:8ea1de57f3]這個寫法也過時了,如果你用lilo,則直接在prompt的下面加一行default=dos,然後運行lilo -v就可以,如果是grub,則更改default=0看你windows是0還是1.grub一般不用重新安裝[/color:8ea1de57f3]
18. 去掉引導區內的lilo信息
安裝lilo後如果硬盤數量或分區情況有改變的話將導致硬盤不能啟動,這時只須用軟盤啟動dos再運行 fdisk/mbr 即可。(這個方法還可清除任何引導區病毒)
19. 讓 X 支持 AGP 顯卡
下載一個 AX 4.1 即 AcceleratedX 4.1 , 一個商業版 的 X Server 。除 AGP 顯卡外 AX 還支持很多牌號的顯卡。 另外還可以用AX 帶的設置程序 Xsetup 方便的對分辨率,刷新率等參數進行設置。不過我也不知道用AGP卡效果如何,因為我現在還在用老掉牙的 S3 765 。[color=red:8ea1de57f3]現在默認都支持AGP了 [/color:8ea1de57f3]
20. 把 man 或 info 的信息存為文本文件
以 tcsh 為例: man tcsh | col -b > tcsh.txt info tcsh -o tcsh.txt -s
21. 用當前路徑作提示符
對 bash 來說,在 .bashrc 裡加一行: PS1=“$PWD$“ 對 tcsh 來說,在 .tcshrc 裡加一行: set prompt=“%/>“
22. 壓縮可執行文件
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#
[color=red:8ea1de57f3]現在可以用gzip[/color:8ea1de57f3]
23. 查看 Linux 啟動時的信息
Linux 啟動時屏幕顯示的信息來不及看清就一閃而過, 如果對這些信息感興趣的話可以在啟動完後用命令 dmesg 查看。[color=red:8ea1de57f3]用dmesg |more可能看的更仔細些 [/color:8ea1de57f3]
24. 處理文件名內含有特殊字符的文件
如果有一個文件名叫 -file 如果想刪除它,鍵入 rm -file 會顯示 invalid option ,原來由於文件名的第一個字符為 - , Linux 把文件名當作選項了,可以加 -- 解決 這個問題, 如 rm -- -file 。如果是其他特殊字符的話可 以在特殊字符前加一個 ,或者用雙引號把整個文件名括起來。
25. 一次處理一整個目錄
Linux/UNIX 的很多常用命令如 rm , cp 等都有一個參 數---- -r , 是遞歸的意思, 命令裡加了參數 -r 就可以對目標目錄及其下所有子目錄進行操作,如: rm -rf /test (f 是 force 意為強行) , 該命令完全刪除 根目錄下的子目錄 test ,作用類似於 dos 下的 deltree ,當然使用這個命令時要特別小心。再如: cp -r /test /test1 有類似 dos 下 xcopy /s 的作用。
26. 修改登錄畫面
對本機: 先修改文件 /etc/issue 改為相要顯示的內容, 再修改文件 /etc/rc.d/rc.local(RedHat) 或 /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
27. 幾個有用的別名
幾個能方便操作和減少誤操作的別名,建議把它們放到啟動 文件裡, 如 /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包
28. 使用命令補齊
所謂命令補齊(Command-Line Completion)是指當鍵入的 字符足以確定目錄下一個唯一的文件時只須按 Tab 鍵就可以 自動補齊該文件名的剩下部分,例如要把目錄 /freesoft 下 的文件 gcc-2.8.1.tar.gz 解包,當鍵入到 tar xvfz /freesoft/g 時如果該文件是該目錄下唯一以 g 起頭的文件 的話就可以按下 Tab 鍵,這時命令會被自動補齊為:tar xvfz /freesoft/gcc-2.8.1.tar.gz ,非常方便。
29. 最後一條技巧
有時間的話多看看系統提供的FAQ文件,因為通常遇到的 問題大多數都能在裡面找到答案。 [color=red:8ea1de57f3]這個可以用man命令來查看,比如man ls或者info來看更詳細的幫助信息,比如info /etc/fstab.另外,你還可以直接到/usr/share/doc中查看幫助手冊.[/color:8ea1de57f3]
[color=green:8ea1de57f3]30.進入單用戶模式和限制進入單用戶模式.
單用戶模式可以讓普通用戶擁有root的所有權限,如果你忘記root密碼了,或者系統出現了問題而系統管理員不在急著要修復系統的話,用處還是很大的.但也有安全隱患.
a.進入單用戶模式
lilo的話,在出現引導界面時按ctrl+x然後在boot:後輸入linux single回車即可進入單用戶模式.
grub:出現引導界面後,按e,然後選擇第二行(kernel*那一行),再按e.再結尾處輸入single或者init 1或者1(都可以),按回車,然後按b引導即可.
b.只限制進入單用戶模式,引導系統時不要密碼
lilo:在install=/boot/boot.b的下一行加上 password=password
restricted
然後運行lilo -v
需要注意的是,最好限制普通用戶修改編輯lilo.conf不然這明文的密碼就沒有用了.chmod 600 /etc/lilo.conf.只給root用戶讀寫權限就OK了.
grub:在grub.conf中在第一段任何位置加password=明文密碼,或者先用grub-md5-crypt生成一個加密的密碼,然後用鼠標選中它,按ctrl+shift+c復制,然後打開grub.conf在title的上面一段加上password=--md5(注意這兒有一個空格),然後擊右鍵,把你的加過密的密碼粘過來.或者你可以寫成password --md5空格加過密的密碼的格式都可以.然後保存重啟就行了.
建議使用加密的密碼.這樣即使普通用戶打開grub.conf也不知道密碼是什麼.
c.限制用戶進入指定的系統.(對多重引導的系統有用)
lilo:在label=*的下面加password=密碼
grub:在title=*的下面加password --md5 加過密的密碼