歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux不完全手冊(二)

Linux不完全手冊(二)

日期:2017/3/3 16:45:17   编辑:關於Linux

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命令。

用法:

chomd a + w letter

則是給所有用戶加入寫文件letter的權限。

權限代碼為:讀(r)、寫(w)、執行(x)。

chown

這個命令和chgrp很相似,這個命令是改變文件的用戶所有權,就是說將文件的擁有者設為其他用戶。用法:

chown [參數] 用戶 文件列表,參數有:

參數 說明 -c 只有在文件權限確實改變時才進行詳細說明。 -f 不打印權限不能改變的文件錯誤信息。 -v 詳細說明權限的變化。 文件列表 列出由要chown改變權限的文件。 用戶 可以是用戶號或是在/etc/passwd文件中的用戶名。

要注意的是:文件的所有權只能由超級用戶或文件的所有者更改。但是,如果文件的所有者將文件指定給其他的用戶,則沒有權利將文件再指定給自己,因為此時該用戶已經不是文件的所有者了。

例子:

chown ekoala /usr/eee/ttqq ,這個意思是將/usr/eee/ttqq這個文件的所有者改為ekoala。

id

顯示用戶的系統標識,報告用戶的名稱、用戶號、組名和組號。參數:

參數 說明 -g 只打印組號。 -G 只打印補充組。 -u 只打印用戶號。

如:

[ekoala@ttqq usr]$ id

uid=10002(ekoala) gid=500(student) groups=500(student)

[ekoala@ttqq usr]$

顯示自己的用戶信息。

passwd

維護用戶口令,系統管理員可以用這個命令管理用戶賬號。用法:

passwd [用戶名]

只有系統管理員才可以更改別人的密碼。普通用戶只能改自己的密碼。如:

[ekoala@ttqq ekoala]$ passwd

Changing password for ekoala

(current) UNIX password: 〔輸入當前密碼〕

New UNIX password: 〔新密碼〕

Retype new UNIX password: 〔確認新密碼〕

Password:all authentication tokens updated successfully 〔成功改變密碼〕

Useradd

添加一個新用戶或改變用戶現有信息。

Userdel

刪除一個用戶和他所有的文件。

硬盤管理和文件壓縮的命令

df

報告硬盤的剩余空間數。參數有:

參數 說明 -a 可選的文件系統列表,他報告剩余的硬盤的空間數,若此項為空白,則報告現在裝有的所有的文件系統。 -I 列出節點使用信息代替塊使用信息。 -k 打印大小為1k為單位代替512k的塊。 -t fstype 限制只列出fstype類型的文件系統列表。 -x fstype 限制只列出非fstype的文件系統列表。

gzip

gzip是一個非常流行的壓縮工具,他通常和tar命令一起使用。語法:

gzip [參數] 文件列表,參數有:

-a ASCII文本模式:按照約定轉化文件結尾標志,這個選項只支持非UNIX操作系統,在msdos下,回車和換行符在壓縮的時候被轉換成換行符,解壓的時候再轉換回來。 -c 輸出到標准輸出,保留原文件不變,如果有幾個輸入文件,則輸出保持一定的順序。 -d 解壓縮。 -f 強制壓縮。 -l 詳細顯示文件的壓縮情況:

1, 壓縮文件的大小。

2, 未壓縮前的大小。

3, 壓縮比和被壓縮的文件名。

4, 如果和-v參數一起使用,還顯示下列信息:

a, 壓縮方法。

b, 未壓縮數據的32位CRC碼。

c, 文件的更改時間。

-q 不顯示所有警告信息。 -r 遞歸壓縮目錄結構。

tar

tar是一個很流行的文件備份和壓縮工具,用於建立系統備份或建立單一文件。Tar的語法很麻煩,現簡單介紹如下:

tar crtux[fmtVwF] 文件列表。參數有:

參數 說明 參量 指定獲得檔案,可以是以下幾個參數。 C 建立一個新檔案或覆蓋一個已存在的檔案。 R 在文件列表中命名。 A 添加文件到備份包中。 T 列出壓縮文件的列表。 U 從壓縮文件裡面解壓縮文件。 文件列表 要處理的文件列表,可以包括統配符。如果處理的是目錄,那麼則處理目錄及其下的所有文件和文件夾。 -b 指定分塊數量n,n×512k,n的默認值是20。 -m 告訴tar解壓縮時不需修改時間,修改時間就是解壓縮的時間。 -c 目錄名 更改目錄。 -k 保留已存在的文件,不從壓縮文件中覆蓋。 -v 生成有卷標的壓縮文件。 -z 使用gzip解壓縮文件。

比如解開一個名叫9s.tgz的壓縮文件:

tar zxvf 9s.tgz

又例如要把/home/bbs下的所有文件打包成bbs.bak.tgz,可以這樣:

tar zvcf bbs.bak.tgz /home/bbs/*

網絡相關命令

本節的內容很少,只是簡單的介紹一下對個人用戶有用的命令,雖然linux的最大特點在於他的網絡功能,可是其中大部分的功能實在是太強大了,如果想仔細研究,請參考相關書籍。

login

login用於登錄一個主機,也可以用來從一個用戶轉向另一個用戶,這一點有點象su命令,但他的用法比su要多一些。語法:

login [參數] [主機名] [用戶名],參數如下:

參數 說明 用戶名 如果沒有給出任何參數,則login需要一個用戶名。 -p 保留環境變量。 -f 忽略第二次登錄證明。 -h 遠程登錄其他主機。

ping

和dos下的一樣,用於檢查兩台聯網的計算機之間的物理網絡是否暢通,這個命令一般用於檢查網絡是否存在故障。

Ping命令向網絡主機中發送ICMP(Internet Control Messeges Protocol)包,並要求目標主機回應。參數有:

參數 說明 -c 收到主機回應即停止。 -f 洪水式發包,一旦收到主機回應就發包,或者每秒一百個包。注意,只有超級用戶才可以用這個命令,此命令會對網絡產生不良影響。 -I 每發一個包等待一秒鐘。 -l 強制連續以最快的速度發包。這個命令也只能有超級用戶使用。 -s packetsize 自定義包的大小。

其他命令

time

確定程序執行的時間。語法:

time [command]

uname

報告系統名或其他各種信息。語法:

uname [參數]

參數 說明 -s 報告系統名,這是個缺省值。 -n 報告系統的節點名。 -r 報告系統的發行號。 -v 報告系統的版本號。 -m 報告系統的硬件名。 -a 報告所有信息。

History

顯示用戶命令行的歷史記錄。

Vi的使用

要想配置系統,就要先學會文本編輯命令,因為主要的配置工作無非是對文本文件的編輯。在unix或linux裡最古老的同時也是最流行的文本編輯器就是vi了。所以要了解一些vi的用法還是有必要的,雖然對於新手可能是很難,但慢慢習慣以後,你就會發現vi其實是一個非常好用和功能強大的一個編輯器。

Vi簡介

Vi是unix世界中的極為普遍的一個全屏幕的文本編輯器,幾乎可以說是任何一台unix機器都會提供這套軟件,linux當然也有。熟悉dos下的文本編輯器如edit後,會覺得vi並不好用,unix上的確也發展出許多新的、更強大的編輯器,但並不能保證每台機器上都有。所以,熟悉一下vi的操作還是有必要的。這可以讓你在不同的機器上得心應手。

Vi的基本觀念

只要執行vi就可以進入vi的編輯環境了。在實際操作之前有個粗略的了解會比較好。Vi有兩種模式:輸入模式和命令模式。輸入模式用於輸入文字資料,而命令模式則是下達一些編排文件、存檔以及離開vi的操作命令,當執行vi後,先進入命令模式,此時輸入的任何字符都被視為命令,在輸入模式裡要進入命令模式可以按"esc",如果不知道現在處於什麼模式,則多按幾次"esc"系統就會發出"嘟嘟"聲以示進入命令模式。

進入與離開

要進入vi只要輸入vi<文件名>,vi就可以幫你自動加載所要編輯的文件或新建立一個文件。進入vi後,屏幕左方會有一些波浪號,凡是列首有該符號就表示目前此列是空的。要離開vi可以在命令模式裡打入":q",而":wq"則是存檔後離開,打入":q!"則是強制離開。

Vi的輸入模式

要如何輸入呢?有好幾種命令可以進入輸入模式(注意大小寫有分別):

新增,按a,從光標所在位置後面新增資料。按A,從光標所在列後面新增資料。

插入,按i,從光標所在位置前面開始插入資料。按I,從光標所在列的第一個非空白字前面開始插入資料。

開始,按o,從光標所在列下新增一列並進入輸入模式。按O,從光標所在列上方新增一列並進入輸入模式。

Vi的基本編輯命令:

命令 說明 x 刪除光標所在字符。 dd 刪除光標所在行。 r 修改光標所在的字符,r後接著要改成的字符。 R 進入取代狀態,新增文本會覆蓋原文本,直到按esc回到命令模式為止。 s 刪除光標所在的字符並進入輸入模式。 S 刪除光標所在的列的字符並進入輸入模式。

好了,到這裡vi的簡單用法就介紹完了,相信這些對於簡單的配置系統應該夠用了。因為大部分時間相信我們是在xwindows下,誰也不會總也對著那個黑乎乎的屏幕:)

Copyright © Linux教程網 All Rights Reserved