linux初學者學習大全<轉>

Linux 使用技巧集錦(轉載)

2006-04-23 12:45:25
 標籤:linux   [推送到技術圈]

 
初用Linux時可能有處處不方便的感覺, 可是等使用一段時間掌握了一些技巧後就會感到越來越順手了. 以下就是我使用Linux以來積累的一些經驗與技巧, 相信對初學者會有所幫助的.

1. 使用虛擬控制檯

  登錄後按Alt+F2鍵這時又可以看到"login:"提示符, 這個就是第二個虛擬控制檯. 一般新安裝的Linux有四個虛擬控制檯, 可以用Alt+F1~Alt+F4來訪問. 虛擬控制檯最有用的時候是當一個程序出錯鎖住輸入時可以切換到其他虛擬控制檯登錄進入後殺掉這個出錯的進程.

2. 拷貝與粘貼

  字符界面: 不管是Slackware 還是RedHat 安裝後每次啓動時都會自動運行一個叫gpm的程序, 該程序運行後就可以用鼠標來拷貝與粘貼了. 具體做法是按住鼠標左鍵拖動使要拷貝的地方反白, 這時反白的區域已經被拷貝, 再按鼠標右鍵拷貝的內容就會被粘貼在光標所在位置了.
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 script文件或是其他的什麼格式 例如:
#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鍵就可以回到字符界面下了。

16. 重裝Win9x後lilo失效無法啓動Linux
  只須先用軟盤啓動Linux然後運行一次lilo即可。對於RedHat可以用命令mkbootdisk來製作啓動盤,例如:
mkbootdisk --devices /dev/fd0 2.0.34-1
其中2.0.34-1是 /lib/modules下的一個目錄。

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

18. 去掉引導區內的lilo信息
  安裝lilo後如果硬盤數量或分區情況有改變的話將導致硬盤不能啓動,這時只須用軟盤啓動dos再運行 fdisk/mbr 即可。(這個方法還可清除任何引導區病毒)

19. 讓 X 支持 AGP 顯卡
  下載一個 AX 4.1 即 AcceleratedX 4.1 , 一個商業版的 X Server 。除 AGP 顯卡外 AX 還支持很多牌號的顯卡。另外還可以用AX 帶的設置程序 Xsetup 方便的對分辨率,刷新率等參數進行設置。不過我也不知道用AGP卡效果如何,因爲我現在還在用老掉牙的 S3 765 。


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#

23. 查看 Linux 啓動時的信息
  Linux 啓動時屏幕顯示的信息來不及看清就一閃而過,如果對這些信息感興趣的話可以在啓動完後用命令 dmesg 查看。

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文件,因爲通常遇到的問題大多數都能在裏面找到答案。

30.取消^M字符
當你FTP一些DOS文件到unix下時,你經常會看見每行文件後面有個討 厭的^M 字符,有兩個簡單的方法可以取消它。 用"vi"打開此文件,在Command mode下敲入: s/^V^M//g 或者,在UNIX SHELL下敲入: sed 's/^V^M//g' foo > foo.new


31.使用nohup命令
如果你想進程在你退出系統後還能執行,可以使用NOHUP命令 如: % nohup tar -cf /dev/tape /home & 你退出後再重新登錄的話,使用'ps'命令可以看到進程還在執行

32.查看文件的方法
如果你只想看文件的前5行,可以使用head命令,如: head -5 /etc/passwd 如果你想查看文件的後10行,可以使用tail命令,如: tail -10 /etc/passwd 你知道怎麼查看文件中間一段嗎?你可以使用sed命令 如: sed -n '5,10p' /etc/passwd 這樣你就可以只查看文件的第5行到第10行。

33.計算文件數和目錄數下面的語句可以幫你計算有多少個文件和多少個目錄..
# ls -l * |grep "^-"|wc -l ---- to count files
# ls -l * |grep "^d"|wc -l ----- to count dir
還可以將以上的語句變成script或做個alias

34.只列子目錄的方法:
ls -F | grep /$ 或者
alias sub = "ls -F | grep /$"(linux)
ls -l | grep "^d" 或者
ls -lL | grep "^d" (Solaris)

35.利用Find命令改變所有權
想要改變當前目錄下所有文件的所有權,可以這樣:
find . -exec chown OWNER.[GROUP] {} ; (Solaris)
find . -exec chown -R OWNER.[GROUP] {} ; (Linux)

36.列出除了某些類型文件的當前目錄所有文件
使用Ksh,用ls !(*.Z)可以顯示所有文件,除了*.Z文件。 這個命令在一個目錄裏有許多種類型的文件的時候很有用。

37、處理特殊的文件名

假設Linux系統中有一個文件名叫“-aaa”,如果我們想對它進行操作,例如現在要刪除它,如果我們按照一般的刪除方法在命令行中輸入rm -aaa命令,界面將會提示我們是無效選項(invalid option),原來由於文件名的第一個字符爲 - ,Linux把文件名當作選項了,我們可以使用“--”符號來解決這個問題,例如我們可以輸入rm -- -aaa命令來刪除-aaa文件。如果是其他特殊字符的話可以在特殊字符前加一個“”符號,或者用雙引號把整個文件名括起來。

38、修復Linux下超級用戶的密碼

如果超級用戶將密碼忘記,就無法進入系統,也無法管理和使用系統。本來這種事不太可能發生,但是在一些Linux單機使用者,尤其是初學者中,卻是比較容易發生。一般的解決方法就是格式化硬盤來重新安裝系統,但這有點兒小題大作了。準備好bootdisk和rootdisk兩張軟盤,從軟驅啓動,啓動到root盤並出現shell提示符。將Linux根目錄分區mount至/mnt目錄,比如你的Linux在硬盤第一分區,就在命令行中輸入mount /dev/hda1 /mnt,然後進入mnt目錄,將其中的etc/passwd文件改名,輸入mv /mnt/etc/passwd /mnt/etc/passwd.bak就可以了;接着使用命令cp /etc/passwd /mnt/etc/passwd將軟盤上的/etc/passwd文件複製到硬盤中的etc目錄下,這樣重新由硬盤啓動,登錄時就不會詢問超級密碼;最後使用mv/etc/passwd.bak passwd命令將passwd文件改回,再運行passwd命令重新設定密碼就可以了。

39、直接進行Linux的安裝工作

   通常我們在安裝某個操作系統軟件時,需要該系統的引導盤啓動才能安裝。但我們在安裝Linux操作系統時,可以利用該系統光盤中的一個名爲loadlin.exe的DOS軟件,將Linux核心直接調入內存,並由Linux核心代替當前操作系統來接管計算機,並進入Linux的安裝界面。在安裝Linux時,我們只要在運行對話框中輸入loadlin E:imagesvmlinuz root=/dev/ram initrd=E:imagesinitrd.img這個命令就可以直接安裝Linux了;其中E是光驅盤符,E:imagesvmlinuz爲Linux核心名。

40、快速啓動Linux系統

   隨着個人計算機配置的日益提高,在自己的計算機上安裝Linux系統已經不是什麼新鮮的事了。假設我們的計算機上同時裝有windows和Linux兩個操作系統,應該如何啓動Linux呢?是否每次都需要重啓計算機,通過LiLo引導?其實如果我們在dos下,有一種簡單快速啓動Linux的方法,那就是load Linux。loadlin.exe是在dos下的可執行程序,它可以在純dos環境下迅速啓動Linux,而且無需重啓計算機,通常我們可以在光盤的/kernels目錄下可以找到這個程序。如果不知這個程序被放置於安裝盤的何處,可以使用“find -name loadlin*”命令來尋找。找到之後將其複製到dos分區中,同時還需要複製一份你所使用的Linux內核文件。可以通過windows直接從光盤複製,也可在Linux環境下使用mcopy命令將文件copy到dos分區;接着再編寫一個Linux.bat的批處理文件,文件內容如下:c:loadlin c:vmlinuz root=/dev/hda1 ro

其中我們假設loadlin.exe和vmlinuz這兩個內核文件都在c盤根目錄,而root爲Linux根設備,而且Linux處於硬盤第一分區,所以設備名爲/dev/hda1,ro意爲readonly。以後在dos下要啓動Linux時,運行Linux.bat就可以了。這樣啓動Linux快速高效,大大的減少了系統自檢時等待的時間。

41、消除Xwindows下的死機現象

   如果我們在Xwindows狀態下運行Linux時,由於硬件本身的問題或者自己操作上的不當,有時侯可能會導致系統突然失去響應,也就是我們常見到的一種死機現象,其實此時系統並沒有死機。我們可以用兩個常用的方法來消除這種現象:第一,用鍵盤上的複合鍵Ctrl+Alt+Backspace來關閉當前正在運行的任務;第二,首先按住鍵盤上的Ctrl+Alt+F2複合鍵,讓系統切換到另一個操作檯,然後登陸到系統,再執行#ps -ax|grep startx命令,這將會列出你的Xserver的進程標識(PID),接着在命令行中輸入如下命令就能消除Xwindows下的死機現象:#kill -9 PID_Number,最後通過Alt+F1複合鍵返回原來的平臺。

42、快速關閉Linux系統

   舊版本的的Linux/UNIX系統必須先運行shutdown命令,然後才能關閉電源,但最新版本的Linux/UNIX系統已經在這個方面作了很大的改進,再也沒有必要象以前那樣關機了。因爲新版本的系統借鑑了大型機的技術,採用了抗掉電的日誌式文件系統,可以自動跟蹤保存用戶數據、自動同步刷新文件系統,用戶完全可以隨手關閉電源,從而達到快速關閉系統的目的了。

43、巧妙使用rm命令

   我們知道在Linux字符界面中,要刪除一個文件的話可以使用rm命令,刪除一個目錄可以使用rmdir命令。但由於rmdir命令只能刪除空白的目錄,假使某個目錄下面有文件,就只能先用rm命令來把目錄中的文件刪除掉纔可以,所以通常需要rmdir與rm這兩個命令配合使用才能徹底刪除一個完整的目錄。但用這種方法來對付幾級子目錄還能湊合,如果一個目錄中含有若干個子目錄,而且這若干子目錄中又包含了若干級子目錄,再使用這種方法不把你累死纔怪。現在我們可以使用帶-r參數的rm命令來刪除一個非空目錄,例如我們在命令行中輸入rm -r bbb這樣的命令,表示系統將把bbb目錄中包含的所有文件和子目錄全部刪除掉。

44、善用虛擬操作檯

   當我們登錄進Linux系統後,如果再按一下鍵盤上的Alt+F2鍵,這時我們又可以看到一個Shell提示符,其實這個就是第二個虛擬操作檯。通常,新安裝的Linux系統共有四個虛擬操作檯,我們可以分別用複合鍵Alt+F1、Alt+F2、Alt+F3、Alt+F4來訪問它們。使用虛擬操作檯頻率最多的地方就是,當某一個程序出錯鎖住輸入時或者Linux系統突然失去響應時,就可以切換到其他虛擬操作檯登錄進入後殺掉這個出錯的進程任務。

45、增加虛擬緩存

   如果計算機上的SWAP(交換空間)不夠了,只要我們的硬盤上還有空餘的空間,我們就可以把這些剩餘空間利用起來,我們可以直接使用命令:mkswap /dev/hda(假設Linux的驅動器是/dev/hda),swapon /dev/hda;要自動啓動Swap,可以把新的分區加入到etc/fstab中去,照着原來swap的寫就行了。用"free"檢查swap的大小,Linux支持最多16個交換分區,每個交換分區最大128M,沒有空閒分區的時候,可以用個大文件來建立。下面是執行的一系列命令:

   #dd if=/dev/zero of=swapfile bs=1024 count=8192

   #mkswap swapfile 8192

   #sync

   #swapon swapfile

46、巧妙使用Tab鍵

   大家知道在Linux字符界面中輸入命令時,有時需要輸入很多字符,如果經常這樣逐個逐個地輸入字符,比較煩瑣。假設鍵入的字符足以確定目錄下一個唯一的文件時,我們只須按鍵盤上的 Tab 鍵就可以自動補齊該文件名的剩下部分,例如要把目錄 /ccc 下的文件 ddddddd-1.2.3.tar.gz 解包時,當我們在命令行中鍵入到tar xvfz /ccc/d時,如果該文件是該目錄下唯一以d起頭的文件的話就可以直接按下鍵盤上的Tab鍵,這時命令會被自動補齊爲:tar xvfz /ccc/ddddddd-1.2.3.tar.gz ,從而提高了輸入效率。

47、多用拷貝與粘貼來提高操作速度

   Linux系統安裝後,每次啓動到字符界面時都會自動運行一個叫gpm的程序, 該程序運行後就可以用鼠標來拷貝與粘貼了。 具體做法是按住鼠標左鍵拖動讓要拷貝的地方突出顯示, 這時突出顯示的區域已經被拷貝, 再按鼠標右鍵拷貝的內容就會被粘貼在光標所在位置了。如果我們在Xwindow下運行Linux系統,拷貝與粘貼的操作與在普通的Win9x系統下一樣。

48、加快Linux存取數據

   如果我們想快速提高Linux下的硬盤讀取數據,可以在Linux下進行一些設置,讓Linux在32位輸入輸出方式和DMA通道方式下進行工作。設置時,在Linux命令界面中輸入命令/sbin/hdparm -cl /dev/hda來打開32bit傳輸方式,輸入命令/sbin/hdparm -dl /dev/hda來打開DMA傳輸方式,接着再輸入命令/sbin/hdparm -kl /dev/hda來使硬盤在Reset之後仍然保持上述的設置,通過這些設置,我們就能提高Linux的讀盤速度到1倍以上

49.禁止啓動時進入其它操作系統

當計算機上有多個操作系統時,我們可以調整多重啓動管理器的配置,讓計算機在啓動時只能進入Linux,禁止別人進入其它操作系統。

大多Linux系統使用的都是LILO多重啓動管理器,也有使用其它啓動管理器的(藍點LINUX 2.0使用的就是grub啓動管理器)。

對於LILO啓動管理器,可以編輯/etc/lilo.conf文件,其中文字行以“image=”開頭的部分引導Linux系統,以“other=”開頭的部分引導其它操作系統。只要將以“other=”開頭描述引導其它操作系統的部分刪除,重新啓動,計算機就只能進入LINUX系統了。如果想恢復計算機可以引導其它操作系統的狀態,只要重新編輯/etc/lilo.conf文件,恢復以“other=”開頭的描述部分即可。

對於grub啓動管理器,可以編輯/boot/grub/menu.lst文件,其中以“title”開頭的文字行就是計算機啓動時出現的菜單選項,將描述引導其它操作系統的部分刪除,只保留引導Linux系統的部分,重新啓動,計算機將只顯示引導Linux系統的選項,計算機只能進入Linux系統。恢復計算機能引導其它操作系統的狀態可以重新編輯/boot/grub/menu.lst文件,添加以“title”開頭描述引導其它操作系統的部分即可。

50.啓動時直接進入KDE環境

要想讓Linux啓動時直接進入KDE環境,可對文件/etc/inittab進行修改。用文本編輯器打開文件/etc/inittab,找到如下的一行文字: id: 3: initdefault: 把它改爲: id: 5: initdefault: 再次啓動時就可以直接進入KDE環境了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章