LINUX NEWBIE ADMINISTRATOR GUIDE

ver. 0.32 1999-04-18
Part 6: Linux Shortcuts and Commands
by Peter,  Stan,  Barbara and Marie Klimas
Answers to Some Frequently Asked Linux Questions
Distributed under the General Public Licence http://www.gnu.org/copyleft/gpl.html. Your feedback, comments, corrections, and improvements are appreciated. Send them to either bklimas@magma.ca or bw641@freenet.carleton.ca

This is a Chinese [BIG5] translation
蔡由世
內思高工
305新竹縣新埔鎮
台灣
Email: chuavv@mail.savs.hcc.edu.tw



第6章: >Linux切換鍵<

內容:

Linux切換鍵和指令:

A. Linux切換鍵
B. 系統資訊指令
C. 網路工具
D. 基本操作
E. 基本管理指令
F. 程序(process)控制
G. Linux內建之發展工具和程式語言

Linux切換鍵和指令:

請注意LINUX是分英文字母的大小寫。例:Netscape,NETSCAPE和nEtscape都是不一樣的指令。同樣的my_filE,my_file和my_FILE都是不一樣的檔案。
 

A. Linux切換鍵

 
<Ctrl><Alt><F1> 切換至第一文字終端。在Linux之下你可以同時打開好幾個終端機。
<Ctrl><Alt><Fn>  (n=1..6) 切換至第n文字終端。
<Ctrl><Alt><F7> 切換至第一圖形 (GUI)終端。
<Ctrl><Alt><Fn> (n=7..11) 切換至第n圖形 (GUI)終端。
<Tab> 自動完成指令。
<ArrowUp> (↑鍵) 捲動而編輯指令歷史。按<Enter>來執行。
<Shift><PgUp> 捲上終端之輸出。可以用在login指示下,這樣可以看啟動電腦所有之資訊。
<Shiift><PgDown> 捲下終端之輸出。
<Ctrl><Alt><+> (X-windows) 切換X-server至下一螢幕解析度。
<Ctrl><Alt><-> (X-windows) 切換X-server至前一螢幕解析度。 
<Ctrl><Alt><BkSpc> (X-windows) 殺掉目前的X-windows server。如果X-windows server當機時就用這方法離開。
<Ctrl><Alt><Del> 關掉系統,然後重新啟動。
<Ctrl>c 殺掉目前正在執行的程序。
<Ctrl>d 從目前之終端離開(logout)。
<Ctrl>d 傳送「End-of-File」至目前正在執行的程序。
<Ctrl>s 暫停終端之輸出。.
<Ctrl>q 回復終端之輸出。
<Ctrl>z 將目前之程序放到背景。
reset 如你用cat顯示二進制檔之內容到螢幕,有時螢幕上所顯示之字元都是亂碼。用之指令來回復正常之輸出。
<MiddleMouseButton> <滑鼠中鍵>:貼上在別的地方已標記過的文字。這是Linux正常的「複製/貼上」運作。
~ 自己的home directory。 
. (句點) 目前的目錄。
.. (兩點) 父(上一層的)目錄。
 
B. 系統資訊指令
 
指令 說明
pwd 顯示目前使用之目錄。
hostname 顯示或改變這主機(local host)之名稱。
whoami 顯示我的login name.
date 顯示或改變電腦之日期和時間。格式為[mmddhhmm[yyyy]]。[月/日/時(24)/分[/年]]。例:改變目前之日期和時間為2000-12-31 23:57,就下:date 123123572000。
time 確定一個程序需要多少時間來完成和其它資訊。
who 顯示在這電腦已連線之使用者。
rwho -a 顯示在這網路上所有的使用者。rwho程序應該已啟動。如沒有啟動的話,執行setup來啟動(你必須是root)。
finger user_name 顯示使用者之系統資訊,如 finger root。
uptime 顯示這電腦已開機多久的時間了。
ps 顯示所有正在執行的程序(process)。
ps axu | more 顯示所有正在執行的程序,包含程序之擁有者。
top 繼續顯示正在執行的程序,用cpu使用率來排列。
uname -a 顯示伺服器之資訊。
free 顯示記憶体資訊(kbytes為單位)。
df -h (=disk free) 顯示所有檔案系統的磁碟空間之資訊。
du / -bh | more (=disk usage) 顯示從根目錄有關每子目錄佔用的磁碟空間。
cat /proc/cpuinfo 顯示cpu有關資料。
cat /proc/interrupts 顯示所有已用到的中斷。
cat /proc/version 顯示Linux的版本和其它資訊。
cat /proc/filesystems 顯示目前所使用的檔案系統。
cat /etc/printcap 顯示列表機的設定。
lsmod (當root) 顯示已載入的核心模組。
set | more 顯示使用者之環境變數。
echo $PATH 顯示環境變數「PATH」之內容。
 
C. 網路工具
 
netconf (當root)設定網路(有功能表)。
ping machine_name 檢查是否可以連接另一個電腦(給那電腦的名稱或IP)。要結束就按<Ctrl><c>。
route -n 顯示路由表。
ipfwadm -F -p m 設定防火牆,IP轉送規則和虛擬IP (masquerading)。
ifconfig (當root) 顯示使用的網路介面(ethernet,ppp,等)。要改變介面之設定請參考ifconfig --help。
ifup interface_name (使用者下/sbin/ifup) 啟動網路介面。例:ifup eth0,ifup ppp0。讓使用者啟動ppp之介面必須在ppp之設定時(執行netconf)已給使用者這個權限。
ifdown interface_name (使用者下/sbin/ifdown) 關閉網路介面。
 
D. 基本操作
 
ls 列出目前目錄之內容。dir是ls的別名。
cd directory 改變目錄。
cp source destination 複製檔案。
mcopy source destination 複製檔案從/至dos檔案系統(不需要mount)。例: mcopy a:\autoexec.bat  ~/junk。請參考man mtools有關在Linux直接用dos的一些指令,如:mdir, mcd,mren,mmove,mdel,mmd,mrd,mformat… 
mv source destination 搬移檔案或更改檔名。
ln -s source destination 建立符號連接。
rm files 刪除檔案。
mkdir directory 建立新的子目錄。
rmdir directory 刪除空的子目錄。
rm -r files (遞迴之刪除) 刪除檔案,目錄以及下面的子目錄。
cat filename  | more 一頁一頁的顯示檔案之內容。
less filename 捲上/下文字檔之內容。要結束就按q。
pico filename 編輯文字檔。
lynx html_file 文字模式之瀏覽器。
tar -zxvf filename 解壓.tar.gz或.tgz檔案。
find / -name "filename" 從根目錄尋找filename檔。filename可以包含萬用字*和?。
locate filename 比較快的尋找檔案。 
pine 文字模式的email程式。另一個email程式是elm。
mc 執行Midnight Commander檔案管理程式。像dos下的Norton Commander。
telnet server 用telnet通訊協定連接到另一個電腦。你可以用對方的電腦名稱或IP。對方電腦會要求你輸入login name和password。 
rlogin server (=remote login) 遠方之login。連接時會自動使用你在這電腦的login name和password。如失敗,就會要求你輸入login name和password。
rsh server (=remote shell) 遠方使用者介面(shell)。另一個方法與遠方電腦連接。連接時會自動使用你在這電腦的login name和password。如失敗,就會要求你輸入login name和password。 
ftp server 用ftp通訊協定連接到另一個電腦。ftp是使用在與遠方電腦複製檔案。
minicom Minicom串列埠通訊程式。像dos下之Telix。
./program_name 執行在目前目錄下的程式。
xinit 執行沒有視窗管理員的X-windows server。
startx 執行有視窗管理員的X-windows server。
startx -- :1 執行下一X-windows在顯示器1(顯示器0為初始直)。你可以同時使用幾個圖形終端。用  <Ctrl><Alt><F7>,<Ctrl><Alt><F8>,等來切換。
xterm (X terminal) 執行一個X-windows終端。離開時就下exit。
xboing (X terminal)。很好玩的遊戲。
gimp (X terminal) 影像編輯器,像PhotoShop或Corel Draw。
netscape (X terminal) 執行netscape。
netscape -display host:0.0 (X terminal) 執行netscape在這電腦但將輸出傳到遠方電腦名稱為host的顯示器0螢幕0。你可以使用xhost在這電腦給與權限將輸出傳到遠方電腦host。
shutdown -h now (當root) 關機。平常用在遠方關機。一般的關機方法是按 <Ctrl><Alt><Del>。
halt  
reboot
(當root) 關機/重新啟動。
 
E. 基本管理指令
 
printtool (當root在X-terminal)設地定列表機。這些設定會寫在/etc/printcap。
setup (當root) 設定滑鼠,音效卡,鍵盤,X-windows,系統之服務。
alias ls="ls-Fskb --color" 建立ls之別名美化ls之輸出。如你要所有使用者可以使用這功能就放在/etc/bashrc。
adduser user_name (當root) 建立新使用者帳號。例:adduser barbara。不要忘下一步是要設定新使用者之password。新使用者的磁碟空間是放在/home/user_name。
useradd user_name 和adduser相同之指令。
userdel user_name 9當root) 刪除使用者帳號。使用者之磁碟空間和email是另外處理。
groupadd group_name 建立新的group(群組)。
passwd 改變自己的password。如你是root,你可以改變任何使用者之password:password user_name。
chmod perm files (=change mode) 改變自己檔案之權限(root可以改變任何檔案)。檔案權限有三種:read能讀 (r),write能寫 (w),execute能執行 (x)給與三種使用者:owner擁有者 (u),members屬擁有者同樣的群組 (g),others其他使用者  (o)。用ls -l來查看檔案的權限。rwxrwxrwx表示所有使用者對這檔案有所有權限。左邊三個字元代表擁有者之權限,中間三個代表與擁有者同群之權限,右邊三個代表其他使用者之權限。沒有權限是用「-」。例:chmod a+r junk會給所有使用者(a=all:user+group+others)對junk檔案讀取之權限。chmod o-x junk會取消其他使用者對junk檔案執行之權限。請參考chmod --help和man chmod。要設定你建立檔案的初始權限你可以用umask(請參考man umask)。
chown new_owner files 
chgrp new_group files
改變檔案之擁有者和群組。如你複製一個檔案給另一個人你就用這兩個指來令改擁有者和群組。
su (=super user) 擔任root之身份。系統會要求你輸入root之password。要離開時,就下exit。如在你擔任root的身份的同時也建立root的環境變數就用su -l。
rpm -ivh files (=Red Hat Package Manager[包裝管理員])。安裝(-i)或更新/安裝(-U) rpm包裝。 
glint (X terminal) 圖形模式之rpm包裝管理員。
kernelcfg (當root在 X terminal) 圖形模式啟動或取消核心模組。
setserial /dev/cua0 port 0x03f8 irq 4 (當root)設定非標準參數的串列埠。左邊的例子顯示出第一串列埠(dos的com1)標準的參數。如你要每次啟動電腦就用這設定,就將這指令加在 /etc/rc.d/rc.local檔裡。請參考man setserial。 

以下是掛接(mount)的一些例子:
mount -t auto /dev/fd0 /mnt/floppy (當root) 掛上(mount)軟碟機。/mnt/floppy目錄必須存在而是空的。
mount -t auto /dev/cdrom /mnt/cdrom (當root) 掛上(mount) CDROM。
mount /mnt/floppy (當使用者) 掛上(mount)軟碟機。必須設定/etc/fstab使用者才可以下這指令。
mount /mnt/cdrom (當使用者) 掛上(mount)CDROM。必須設定/etc/fstab使用者才可以下這指令。
umount /mnt/floppy 裁下(Unmount)軟碟機。 
 

F. 程序(process)控制
 
ps (=print status) 顯示目前正在執行的程序和程序之ID (PID)號碼。如你想顯示所有正在執行的程序和誰執行這些程序,就下ps axu。
fg PID 將在背景的程序放在前景。
bg PID 將在前景的程序放在背景。熱鍵為<Ctrl>z。
kill PID 殺掉正在執行的程序。用ps來確定程序的PID。
killall program_name 殺掉正在執行的程序。用ps來確定程序的名稱。
xkill (Xwindow terminal) 用滑鼠點選你要殺掉的程序。
lpc (當root) 檢查和控制列表機。
lpq 顯示列表機佇列之內容。
lprm job# 刪除在列表機佇列裡的工作。
nice program_name 執行程序同時設定程序之優先權。
renice PID 改變正在執行的程序之優先權。
請注意在前面以已講過的切換鍵:<Ctrl>c,<Ctrl>z,<Ctrl>s,<Ctrl>q。
G. Linux內建之發展工具和程式語言
 
emacs (X-terminal) emacs編輯器。 
gcc c_source_filename GNU C 編譯器。
g++ cpp_source_filename GNU C++ 編譯器。
perl 指令稿(script)語言。指令稿是相似dos之批次檔。
python 物件導向直譯器。免費手冊可以在 http://www.python.org/doc/ 瀏覽或在 ftp://ftp.python.org 下載。
tcl 指令稿語言。
wish (xterm) Tk之前端(front end)和在X-windows tcl之延伸。平常用在寫前端程式。
g77 GNU FORTRAN編譯器。
f2c FORTRAN至c之轉換器。
fort77 FORTRAN編譯器。呼叫 f2c和gcc或 g++。
basic Chipmunk Basic。
cvs 平行版本系統。
diff file1 file2 [>patchfile] 比較兩個檔案的內容而列出不同之處。「>patchfile」將diff的結果寫在patchfile裡。
sdiff [-w 80] file1 file2 比較兩個檔案的內容。用並排方式顯示。「-w 80」告訴sdiff用80行來顯示兩個檔案的內容。
patch file2patch < patchfile 將diff所產生的patchfile使用在file2patch。要一次完成這功能就把diff和patch兩個指令混合在一起:diff file1 file2 | patch file2patch。file2patch可能是file1或file2。
grep string filename 在檔案內尋找字串。
tr 翻譯工具。列:文字檔案內的字串用另一字串來代替。
gawk GNU awk。常用來處理有定界符號(delimited)的文字檔。
sed 處理文字檔之工具。
o  shell script(指令稿)是比dos之批次檔強的很多。在sh下執行的shell指令稿在第一列用#!/bin/sh來開始。
o  我知道有兩個很好而免費Pascal之編譯器(Free Pascal and GNU Pascal),但是你自己在網際網路下載然後安裝。