Linux使用篇
安裝完linux,並配置好linux的啟動,那麼如果在安裝時你選的是啟動到圖形界面下的話,現在你就應該可以看到登陸的窗口了。輸入你的用戶名和密碼,(呵呵,安裝時設定的,別忘了!)就開始了你的linux之旅。
在linux下,你的確可以體驗到永不死機的神話。Linux系統的確強大,在他的下面你的確不用擔心莫名其妙的藍屏。筆者使用linux以有幾年,在這幾年裡從沒發生過真正的死機,就算是偶爾的在xwindows下系統沒有了響應也可以按"ctrl+alt+backspace"退出窗口返回命令行模式下。
其實要了解linux,那就一定要習慣命令行模式,因為xwindows只是運行在命令行模式上的一個應用程序而已,就象dos與windows3.x一樣,所以了解一下linux的常用命令還是很有用處的。下面我就介紹一些在linux下使用頻率最高的幾個命令,這些命令的介紹並不象專業書籍那樣介紹的大而全,我只是揀著那些對我們普通用戶最有用的來介紹,每個命令都對照著相同功能的dos命令來說,並列出一些常用的參數。
在介紹一些具體的命令前先要說明的是,如果碰到不會用的命令,可以打"man [command]"來得到關於這個命令的幫助,如果想知道一個命令都有什麼參數的時候可以?quot;command -help"來得到。要注意的是linux裡的參數的輸入形式和dos裡的不一樣,在命令後面應該打一個空格,然後打"-",最後再跟一個或多個參數。還要注意的是linux下大小寫是有區別的!
基本操作命令
ls
相當於dos下的dir命令,是列文件列表的命令,和dir差不多。參數有:
參數
說明
-a
列出系統中的隱含文件,linux下的隱含文件是靠文件名的格式來表示的,不同於dos是靠文件屬性來表示。具體的說只要這個文件是以“.”開頭的,那麼他就是一個隱含文件。
-l
以長式列出。就是把該文件或目錄的所有信息都列出來,一個文件占一整行。
cd
和dos下的cd一樣,轉換目錄的命令。需要指出的是linux下的轉到上級目錄要打"cd .."而不是dos下的"cd.."。也就是說"cd"後面要有個空格。
pwd
列出當前目錄命令,相當於dos下沒有參數的cd命令。比如:
[root@ttqq bin]# pwd
/usr/bin
[root@ttqq bin]#
這表示我們現在在"/usr/bin"目錄下。
有關目錄和文件的命令
mkdir
建立新目錄,相當於dos的md命令。一般就用 mkdir [dirname],參數:
參數
說明
-m mode
表示建立目錄時默認的目錄模式。這個是dos和windows所沒有的功能。主要是關於權限的問題,讀者如有興趣請參考相關專業書籍。
rmdir
刪除目錄,相當於dos的rd命令。用法:rmdir [dirname]。
cat
在文件後面追加文件或在屏幕上打印文件內容,追加功能相當於dos的copy file1+file2,而在屏幕上打印文件內容可以和dos的typeml來類比。如果文件太大,以至於在一屏幕上無法完全顯示,那麼可以試試下面這個命令。
more
分屏顯示文件內容,和dos下的more命令大致相同,而他的特點是可以和別的命令來搭配使用。如:cat /home/eec/myfile | more。
cp
拷貝文件,相當於dos下的copy使用方法和dos下的copy一樣。參數:
參數
說明
-r
相當於dos的xcopy/s。用於拷貝一個目錄下的所有文件和文件夾。
ln
建立文件鏈接。相當於windows下的快捷方式。用法:"ln 源文件 目標文件"
mv
重新命名文件,等價於dos的move和ren命令。用法:"mv oldname newname"比如:"mv 111 /home/ekoala/222"就是把"111"這個文件移動到"/home/ekoala"目錄下,並改名為"222"
touch
改變文件的修改時間或建立時間。相當於dos的copy file+nul。最簡單的用法是:"touch file_name",即把"file_name"這個文件的時間改為當前時間。注意:如果touch後面的文件不存在的話就會在磁盤上建立一個新的空文件。
進程或進程的相關命令
首先介紹一下linux的多進程,linux的多進程要比windows的多進程更有效率、更加穩定。在命令行狀態下輸入的普通命令都在前台完成,而如果你在命令後面加一個"&",那麼這個命令就在後台運行。好,言歸正傳,現在開始介紹有關進程的常用命令。
at
安排作業在稍後執行。這個命令非常強大,同時也非常復雜,這個命令可以說是unix/linux的一大特色。我們先來看一個具體的實例:
[root@ttqq bin]# at 21:05 Jul 31 at>cat /usr/docs/ccttrr.htm >myfile at> warning:commands will be executed using /bin/sh job 5 at 2000-07-31 21:05
以上的意思為輸入在7月31日21點05分運行一個程序,接著系統提示用戶輸入命令或命令列表,使用"ctrl+d"終止。終止at後,系統給出一個警告,這個響應表示指定的工作將在指定的時間運行,工作號為5,如果想取消此作業可用與之相連的工作號來完成。
如果命令很多,那建議將命令列表放入一個文件,若文件名是"comtable"那就輸入:
[root@ttqq bin]# at 21:05 Jul 31 由於at的特殊性,所以linux系統對at有一些權限上的規定:
超級用戶可以隨意使用at命令,但對普通用戶來說,則由/etc/at.allow與/etc/at.deny這兩個文件來決定。
如果/etc/at.allow這個文件存在,那麼只有在該文件中提及的用戶可以使用該命令,相反的,如果這個文件不存在,則檢查/etc/at.deny這個文件,該文件中未提及的用戶可以使用該命令。如果兩個文件都不存在。那就只有超級用戶可以使用該命令。如果/etc/at.deny這個文件為空,那麼所有用戶都可以用這個命令。
at的參數有:
參數
說明
-l
列出現在由at安排的作業。超級用戶可以列出所有的用戶,普通用戶只能列出自己的at作業。
-m
作業完成後,即使沒有輸出,也將郵件送到用戶。
-r
從作業中取消指定的作業,比如取消上例的作業:at –r 5。超級用戶可以取消所有的用戶,而普通用戶只能取消自己的作業。
ps
顯示當前正在執行的進程,由於進程執行的非常快,所以本命令只能列出查詢瞬間發生的進程。以下為超級用戶用ps -al參數的輸出:
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 100 S 0 273 265 0 69 0 - 472 wait4 tty1 00:00:00 bash 100 S 500 286 266 0 62 0 - 466 wait4 tty2 00:00:00 sh 100 S 503 299 267 0 64 0 - 465 read_c tty3 00:00:00 sh 000 S 500 318 286 0 62 0 - 1193 do_sel tty2 00:00:00 vi 100 R 0 328 273 0 70 0 - 638 - tty1 00:00:00 ps
其中"PID"為進程號,對進程的管理就是通過進程號來實現的。ps的參數有:
參數
說明
-a
顯示所有的進程,支線於超級用戶使用。
-l
長格式輸出。
-u
用戶格式輸出,顯示用戶名和起始時間。
-r
只顯示當前運行的進程。
-s
加入子cpu時間和頁錯誤報告。
下面我在說一下ps各列標題的意思: 列名
說明
PID
進程號。
PRI
進程的優先級。
NI
Linux的nice值,負數少意味著占用較少的cpu時間。
SIZE
虛擬映象的大小,計算式為:“文本+數據+棧”。
RSS
駐留空間的大小,顯示當前常駐內存的程序的k字節大小。
WCHAN
進程等待的內核事件名。
TT
進程的控制終端tty的名稱。
STAT
進程狀態,用下列代碼中的一個給出。
R
可執行的。
S
睡眠狀態。
D
不間斷睡眠。
T
停止或追蹤。
Z
是一個zombia進程。
W
當前進程在內存中沒有駐留頁。
PAGEIN
造成從磁盤讀寫頁的頁面錯誤。
TRS
文本寄存大小。
SWAP
交換文件的千字節數。
SHARE
共享內存數。
kill
容許送一個信號到當前進程,通常本命令用於終止進程的運行,所以也叫"殺死"進程。用法為:kill 進程號。超級用戶可以殺死所有進程,普通用戶只能殺死自己的進程。
顯示輸出命令
banner
banner通過一個傳給它的放大變量產生一個大字標題。可以指定十個字符,這些字符將放大成一系列的"*"號。語法如下:
banner [-w[n]] 字符串
-wn改變字符寬度,從132列到n列,如果只指定了-w,那麼設定寬度為80列。如:
benner "my benner"
這樣就會在屏幕上打印一個大的"my benner"。
cal
這個命令在屏幕上顯示日歷,這個命令非常有用。用法:cal [month] [year],參數為:
參數
說明
Month
用1-12表示顯示的月份。缺省的是顯示本月。
Year
可以是1-9999年,缺省是本年。必須寫足4位數,也就是說,92代表公元92年,而不是公元1992年。
cal 10 1994,表示顯示1994年10月的月歷。
clear
清除屏幕,跟dos的cls一樣。
date
顯示系統的日期和時間,或由超級用戶來設定系統的時間。用戶可以控制時間如何顯示。語法如下:
date MMDDhhmm[CC][YY][.ss],參數說明:
參數
說明
MMDDhhmm[CC][YY][.ss]
這些都是設定時間的格式。下表解釋每一個變量。每部分必須都有兩位數字。
MM
月份(1-12)
DD
日期(1-31)
Hh
小時(00-24)
mm
分鐘(00-59)
CC
年的前兩位(可選)
YY
年份(00-99)(可選)
Ss
秒(可選)
file
決定文件類型。File能確定該文件是否是可執行文件、文本文件、數據文件等。許多unix命令只是shell文件,file能確定這些命令是不是shell文件。他也可以確定該文件是否是基於文本的文件,以及該文件是否能編輯和浏覽。參數:
參數 說明
-z 深入觀察一個壓縮文件,並試圖查找出他的類型。
-l 本參數容許符號連接。
-f ffile 告訴file要鑒別的文件列表在fflie。這對於要鑒別很多文件很有用。
-m 文件 指定用於說明文件類型的magic的一個替代文件。
find
find是一個非常強大的查找工具。他研究指定目錄,並產生與指定標准相匹配的文件列表。文件可以按文件名、文件大小、建立時間、修改時間和其他許多標准,也可以在發現一個匹配文件的時候執行一個指令。語法如下:
find 目錄(也可以是目錄列表) 匹配標准。他的主要參數有:
參數
說明
-z
深入觀察一個壓縮文件,並試圖查找出他的類型。
-l
本參數容許符號連接。
-f ffile
告訴file要鑒別的文件列表在fflie。這對於要鑒別很多文件很有用。
-m 文件
指定用於說明文件類型的magic的一個替代文件。
參數
說明
目錄(或目錄列表)
希望查詢文件或文件集的目錄列表,目錄中用空格分開。
匹配標准
希望查詢文件的匹配標准或說明。
-name 文件
告訴find要找什麼文件,要找的文件包括在引號中,可以用統配符,如:“*”、“?”。
-perm模式
匹配所有模式為指定數字型模式值的文件。不僅僅是讀、寫和執行,表示除了這個模式外的所有模式。
-type x
匹配所有類型為x的文件。X可以是c(特殊字符),b(特殊塊),d(目錄),p(有名管道),l(符號連接),s(套接文件)或者f(一般文件)。
-links n
匹配所有連接數為n的文件。
-size n
匹配所有大小為n塊的文件。512字節塊,若k在n後,則為1k字節塊。
-user 用戶號
匹配所有用戶序列號是指定的用戶序列號的文件。用戶號可以是數字型,也可以是用戶登陸名。
-attinme n
匹配在n天前訪問過的文件。
-ntime n
匹配在n天前修改過的文件。
-exec 命令
對每個匹配文件執行命令。
-newer
匹配所有修改時間比file文件更新的文件。
這些參數是可以一起並列使用的,也可以通過邏輯表達式來限制查詢標准,如下表所示:
參數
說明
-and
缺省的邏輯表達,表示要同時滿足表達式左右兩個的規則。可以不用,因為是缺省的。
-o
這時or操作符,表示只要滿足一個規則就可以。
-!
這是not操作符,表示否定後面的表達式。
總之,find命令非常復雜,不是三言兩語就能說清楚的,建議大家多參考聯機手冊,並多加練習就可以輕松掌握。
用戶和用戶管理及其他系統設定的相關命令
chgrp
改變文件的組所有權。一些chgrp命令有長短兩種參數參數的指定方式,現只介紹短版本。語法:chgrp [參數] 組 文件列表,參數有:
參數
說明
-c
只有在文件所有權確實改變時才進行詳細說明。
-f
不打印文件所有權不能改變的錯誤信息。
-v
詳細說明文件所有權變化信息。
組
要改變到的組,可以是組號的數字值,也可以是/etc/growp文件中的組名。
文件列表
要改變組所有權的文件列表,文件間以空格分隔。
如果你不是文件的所有者或超級用戶則不能改變文件的組所有權。
例子:chgrp ekoala /usr/eee/*
即把/usr/eee下的所有文件的組所有權改變為ekoala的。
chomd
改變文件模式,文件模式控制與該文件有關的訪問權。Linux有3個安全級別:所有者級、組訪問級和其他用戶級。在這3個級中有3種讀寫權限:讀、寫和執行。對標准文件,讀權限意味著用戶可以看到該文件的內容;寫權限能修改文件;執行權限則可以運行文件。對於目錄則稍有不同:讀權限可以看到目錄下的內容,即可以用ls命令;寫權限則可以在目錄下建立新文件或從目錄中刪除文件;執行權限則意味著能從一個目錄轉變到另一個目錄中,則可以使用cd命令。