分類: 電腦/網(wǎng)絡 操作系統(tǒng)/系統(tǒng)故障
成都創(chuàng)新互聯(lián)公司是創(chuàng)新、創(chuàng)意、研發(fā)型一體的綜合型網(wǎng)站建設公司,自成立以來公司不斷探索創(chuàng)新,始終堅持為客戶提供滿意周到的服務,在本地打下了良好的口碑,在過去的十載時間我們累計服務了上千家以及全國政企客戶,如陽臺護欄等企業(yè)單位,完善的項目管理流程,嚴格把控項目進度與質量監(jiān)控加上過硬的技術實力獲得客戶的一致表揚。
問題描述:
歡迎大家的投稿!!!!!!!
解析:
LINUX常用命令
1 文件與目錄操作命令
1.1文件內容查詢命令
grep、fgrep、egrep
CODE:[Copy to clipboard]語法:grep[選項][查找模式][文件名1,文件名2,……]
選項:
QUOTE:
-E 每個模式作為一個擴展的正則表達式對待
-F 每個模式作為一組固定字符串對待,而不作為正則表達式
-i 比較時不區(qū)分大小寫
-l 顯示首次匹配匹配串所在的文件名并用換行符將其分開。當在文件中多次出現(xiàn)匹配串時,不重復顯示次文件名;
-x 只顯示整行嚴格匹配的行
1.2文件查找命令 find、locate
語法:
CODE:[Copy to clipboard]find 起始目錄 尋找條件 操作
以名稱和文件屬性查找
QUOTE:
-name‘字串‘ 查找文件名匹配所給字串的所有文件,字串內可用通配符*、?、[]。
-lname‘字串‘ 查找文件名匹配所給字串的所有符號鏈接文件,字串內可用通配符*、?、[]。
-gid n 查找屬于ID號為n的用戶組的所有文件。
-uid n 查找屬于ID號為n的用戶的所有文件。
-group‘字串‘ 查找屬于用戶組名為所給字串的所有的文件。
-user‘字串‘ 查找屬于用戶名為所給字串的所有的文件。
-path‘字串‘ 查找路徑名匹配所給字串的所有文件,字串內可用通配符*、?、[]。
-perm 權限 查找具有指定權限的文件和目錄,權限的表示可以如711、644。
-type x 查找類型為 x的文件,
語法:locate 相關字
1.3文件的復制、刪除和移動命令
文件復制命令
CODE:[Copy to clipboard]cp [選項] 源文件或目錄 目標文件或目錄
選項:
QUOTE:
- a 通常在拷貝目錄時使用
-d 拷貝時保留連接
-f 刪除已經(jīng)存在的目標文件而不提示
-i 和f選項相反
-p 此時cp除復制源文件內容外,還將其修改的時間和訪問權限也復制到新文件中
-r 若給出的源文件是一目錄文件,此時cp將遞歸復制該目錄下的所有的子目錄和文件,此時目標文件必須為一個目錄名;
-l 不作拷貝,只是鏈接文件
文件移動命令
CODE:[Copy to clipboard]mv[選項] 源文件或目錄 目標文件或目錄
QUOTE:
-i 交互式操作
-f 禁止交互式操作
文件刪除命令
CODE:[Copy to clipboard]rm[選項] 文件…
QUOTE:
-f 忽略不存在的文件,從不給出提示
-r 指示rm將參數(shù)中列出的全部目錄和子目錄均遞歸地刪除
-i 進行交互式刪除
1.4文件鏈接命令
CODE:[Copy to clipboard]ln [選項] 目標 [鏈接名] 或 ln [選項] 目標 目錄
QUOTE:
選項:
- s 建立符號鏈接
1.5目錄的創(chuàng)建和刪除命令
mkdir 創(chuàng)建一個目錄
語法:
CODE:[Copy to clipboard]mkdir [選項] dirname
選項:
- m 對新建目錄設置存取權限
-p 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項后,系統(tǒng)將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄。
rmdir 刪除空目錄
語法:
CODE:[Copy to clipboard]rmdir [選項] dirname
QUOTE:
選項:
- p 遞歸刪除目錄dirname,當子目錄刪除后其父目錄為空時,也一同被刪除。
1.6改變工作目錄,顯示目錄內容命令
1、改變工作目錄:
CODE:[Copy to clipboard]cd [directory]
2、顯示當前工作的目錄的絕對路徑:
CODE:[Copy to clipboard]pwd
3、顯示目錄內容:
CODE:[Copy to clipboard]ls [選項] [目錄或是文件]
QUOTE:
選項:
- a 顯示指定目錄下所有子目錄與文件,包括隱藏文件;
-c 按照文件的修改時間排序
-C 分成多列顯示各項
-d 如果參數(shù)是目錄,只顯示其名稱而不顯示其下的個文件
-F 在目錄名后面標記“/”,可執(zhí)行文件后面標記“*”,符號鏈接后面標記“@”,管道(或FIFO)后面標記“|”,socket文件后面標記“=”。
-l 以長格式來顯示文件的詳細信息
-L 若指定的名稱為一個符號鏈接,則顯示鏈接所指向的文件
-t 顯示時按修改時間而不是名字排序
-u 顯示時按文件上次存取的時間而不是名字排序
4、改變文件或目錄的訪問權限命令
CODE:[Copy to clipboard]chmod [who] [+| - | = ] [mode] 文件名?
QUOTE:
Who選項:
- u表示用戶,即文件和目錄的所有者
-g表示同組用戶
-o(other)表示其他用戶
-a (all)表示所有用戶
QUOTE:
操作符號:
+ 添加某個權限 - 取消某個權限
= 賦予給定權限并取消其他所有的權限(如果有的話)
QUOTE:
mode 選項:
- r 可讀
-w 可寫
-x 可執(zhí)行
CODE:[Copy to clipboard]chgrp [-R] group filename? 改變目錄或文件所屬的組
CODE:[Copy to clipboard]chown [-Rv] 用戶或組 文件
1.7備份與壓縮命令
1、tar命令 為文件和目錄創(chuàng)建檔案
語法:
CODE:[Copy to clipboard]tar [主選項+輔助選項] 文件或者目錄
QUOTE:
u 主選項
c 創(chuàng)建新的檔案文件。如果用戶想備份一個目錄或是一些文件,則選此項
r 把要存檔的文件追加到檔案文件的末尾
t 列出檔案文件的內容,查看已經(jīng)備份了哪些文件;
u 更新文件
x 從檔案文件中釋放文件;
u 輔助選項
b 該選項為磁帶機設定的,其后跟一位數(shù)字,用來說明區(qū)塊的大小,系統(tǒng)預設值為20
f 使用檔案文件或設備,這個選項通常是必選的
k 保存已經(jīng)存在的文件。例如把某個文件還原,在還原的過程中,遇到相同的文件,不會進行覆蓋;
m 在還原文件時,把所有文件的修改時間設定為現(xiàn)在;
M 創(chuàng)建多卷的檔案文件,以便在幾個磁盤中存放;
v 詳細報告tar處理的文件信息
w 每一步都要求確認
z 用gzip來壓縮/解壓縮文件
2、gzip命令 壓縮/解壓縮命令
語法:
CODE:[Copy to clipboard]gzip [選項] 壓縮(解壓縮)的文件名
QUOTE:
選項:
-c 將輸出寫到標準輸出上,并保留原有文件
-d 將壓縮文件解壓
-l 顯示每個壓縮文件的詳細信息
-r 遞歸式地查找指定目錄并壓縮其中的所有文件或者是解壓縮
-t 測試、檢查壓縮文件是否完整
-v 對每一個壓縮和解壓的文件,顯示文件名和壓縮比
3、unzip 命令
用MS windows下的壓縮軟件winzip壓縮的文件在linux系統(tǒng)下展開
語法:
CODE:[Copy to clipboard]unzip [選項] 壓縮文件名.zip
QUOTE:
選項:
-x 文件列表 解壓縮文件,但不包括指定的file文件
-v 查看壓縮文件目錄,但不解壓
-t 測試文件有無損壞 ,但不解壓
-d 目錄 將壓縮文件解到指定目錄下
-z 只顯示壓縮文件的注解
-n 不覆蓋已經(jīng)存在的文件
-o 覆蓋已經(jīng)存在的文件且不要求用戶確認
-j 不重建文檔的目錄結構,把所有文件解壓到同一目錄下
1.8在LINUX環(huán)境下運行DOS命令
linux系統(tǒng)提供了一組稱為mtools的可移植工具,可以讓用戶輕松地從標準的DOS軟盤上讀寫文件和目錄。
QUOTE:
mcd 目錄名 改變MSDOS目錄
mcopy 源文件 目標文件 在MSDOS和UNIX之間復制文件;
mdel 目錄名 刪除MSDOS目錄
mdir 目錄名 顯示MSDOS目錄
mformat 驅動器號 在低級格式化的軟盤上創(chuàng)建MSDOS文件系統(tǒng)
rnlabel 驅動器號 產(chǎn)生MSDOS卷標
mmd 目錄名 刪除MSDOS目錄
mren 源文件 目標文件 重新命名已存在的MSDOS文件
mtype 文件名 顯示MSDOS文件的內容
2 設備管理命令
1)linux采用下面的形式定義一個IDE硬盤:
CODE:[Copy to clipboard]/dev/hd[drive][partition]
2)SCSI硬盤使用同樣的機制表示:
CODE:[Copy to clipboard]/dev/sd[drive][partition]
3)對于一般的LINUX分區(qū),可以用mkfs將其格式化并生成文件系統(tǒng),命令如下:
CODE:[Copy to clipboard]mk2fs –c partition; size;
4)裝載文件系統(tǒng):
CODE:[Copy to clipboard]mount –t ext2 [-o optioms] partition mountpiont
其中,
QUOTE:
-t為指定裝載文件系統(tǒng)的類型;
-o指定一些選項,如只讀ro,可讀可寫rw等等;
partition定義分區(qū)名稱;
mountpiont定義文件系統(tǒng)被裝載的目錄名稱。
5)裝載CD-ROM文件系統(tǒng):
CODE:[Copy to clipboard]mount –t iso9660 –r /dev/cdrom /mnt/cdrom
6)裝載軟驅文件系統(tǒng):
CODE:[Copy to clipboard]mount –t msdos –rw /dev/fd0 /dev/mnt/floppy
7)卸載文件系統(tǒng)
CODE:[Copy to clipboard]umount /mnt/cdrom
磁帶設備的安裝要注意以下幾點:
QUOTE:
1、 首先要選擇一個唯一的SCSI ID號,然后再將設備鏈接到適當?shù)奈恢?/p>
2、 選擇驅動程序。
3、 生成設備文件。SCSI磁帶設備的主要設備號是9,次要設備號是0。設備文件名通常是/dev/nrst0(不支持回繞的磁帶設備)或/dev/nst0(支持回繞的磁帶設備)
用 ls /dev/*rst*
檢查磁帶設備文件是否存在,如果不存在,用
mknod –m 666 /dev/nrst0 c 9 9
mknod –m 666 /dev/rst0 c 9 0 生成
4、 可以對塊長度、緩存、磁帶密度等參數(shù)進行一些設置,例如
mt setblk 20 將塊長度指定為20
mt setblk 0 指定塊程度沒有限制
5、 通過檢查系統(tǒng)的啟動信息可以確定系統(tǒng)是否識別了新的磁帶設備。用dmesg命令,查看是否有以下類似的信息:
aha274x:target 4now synchronous at 4.4Mb/s
Vendor:TANDBERG Model:TDC 3800 Rev: =05:
Type: Sequential-Access ANSI SCSI revision: 02
Detected scsi tape st0 at scsi0, id4, lun0
Scsi : detected 1 SCSI tape 1 SCSI crom 1 SCSI disk total
3 軟件包管理命令
3.1軟件安裝的步驟
在LINUX系統(tǒng)上安裝軟件的步驟有:
QUOTE:
1、 查找所要安裝軟件的源文件
2、 把源文件解開放到一個目錄中,命令如下:
tar zxvf 源文件名;
3、 針對本操作系統(tǒng)配置源文件。可以是編輯make文件或其他文件,也可能是運行該軟件自帶的自動配置工具,如./configure
4、 make源文件,通常是運行make命令,即執(zhí)行 make
5、 安裝二進制文件和其他支撐文件,運行命令: make install
6、 最后,完成所有其他必須的配置
3.2軟件包管理命令
QUOTE:
rpm –ivh 軟件包;
安裝指定的軟件包,并在安裝過程中用#表示安裝的進度
rpm –Uvh 軟件包;
更新一個已經(jīng)存在的或還沒安裝好的軟件包,并刪除所有該軟件包的舊版本。
rpm –e
卸載一個rpm軟件包
rpm –qa
查看系統(tǒng)中已經(jīng)安裝的軟件包
rpm –q 軟件包;
查看系統(tǒng)中某個軟件包的版本號;
rpm –qlp 軟件包;
列出某個軟件包中的所有文件
rpm –qf 軟件包;
找出一個文件屬于哪個軟件包
4 LINUX系統(tǒng)常用命令
4.1 與系統(tǒng)管理有關的命令
Wall (Write All)
QUOTE:
對全部已 登錄的用戶發(fā)送信息,用戶可以先反要發(fā)送的信息寫好存入一個文件中,然后輸入:
# wall FileName
例:Wall ‘Thank you !’
Write
向某一用戶發(fā)送信息。
Write xxq
hello
輸入Ctrl+C組合即可終止
Shutdown命令
CODE:[Copy to clipboard]Shutdown [選項] [時間] [警告信息]
QUOTE:
-k 并不真正關機,而只是發(fā)出警告信息給所有的用戶。
-r 關機后立即重新啟動。
-h 關機后不重新啟動。
-f 快速關機,啟動時跳過fsck。
-n快速關機,不經(jīng)過init程序。
-c 取消一個已經(jīng)運行的shutdown
例:系統(tǒng)馬上關機:Shutdown –h now
Free命令
查看當前系統(tǒng)內存的使用情況,
CODE:[Copy to clipboard]Free [-b] [-k] [-m]
CODE:[Copy to clipboard]-b 以字節(jié)為單位顯示。
-k 以K字節(jié)為單位顯示。
-m 以M字節(jié)為單位顯示。
Uptime
QUOTE:
顯示系統(tǒng)已經(jīng)運行了多長的時間:現(xiàn)在時間、系統(tǒng)已經(jīng)運行的時間、目前有多少登錄用戶、系統(tǒng)在過去的1分鐘、5分鐘和15分鐘內的平均負載。
4.2與用戶有關的命令
Passwd命令
設置、更換用戶口令。
CODE:[Copy to clipboard]Passwd [用戶名]
Su
使一個普通的用戶具有超級用戶的權利,離開可用EXIT命令。
4.3其它命令
Echo命令
在顯示器上顯示一段文字,一般起到一個提示的作用。
CODE:[Copy to clipboard]echo [-n] 字符串
Cal命令
顯示某年某月的日歷。
CODE:[Copy to clipboard]cal [選項] [月[年]]
QUOTE:
選項的含義:
-j 顯示也給定月中的每一天是一年中的和幾天(從1月1日算起)。
-y 顯示也整年的日歷。
Date命令
date命令的功能是顯示和設置系統(tǒng)日期和時間。
4.4磁盤管理
磁盤空間管理
df命令
檢查文件系統(tǒng)的磁盤空間占用局部。
CODE:[Copy to clipboard]Df [選項]
QUOTE:
-a 顯示所有文件系統(tǒng)的磁盤使用情況,包括0塊(block)的文件系統(tǒng),如/proc文件系統(tǒng)。
-k 以K字節(jié)為單位顯示。
-i 顯示i節(jié)點信息,而不是磁盤塊。
- t 顯示各指定類型的文件系統(tǒng)的磁盤空間使用情況。
-x 列出不是某一指定類型文件系統(tǒng)的磁盤窨使用情況(與t相反)。
-T 顯示文件系統(tǒng)類型。
du命令
du的英文原意為disk usage,含義為顯示磁盤空間的使用情況。功能是統(tǒng)計目錄(或文件)所占磁盤空間的大小。
CODE:[Copy to clipboard]du [選項] [Names…]
QUOTE:
-s 對每人Names 參數(shù)只給也占用的數(shù)據(jù)塊總數(shù)。
-a 遞歸地顯示指定目錄中各文件用子孫目錄中的各文件占用的數(shù)據(jù)塊總數(shù)。
-b 以字節(jié)為單位列也磁盤窨使用情部(缺省以K字節(jié)為單位)
-k 以1024字節(jié)為單位列也磁盤空間使用情況。
-c 最后再加上一個總計(系統(tǒng)缺?。?/p>
-l 計算所有的文件大小,對硬鏈接文件,則計算多次。
-x 跳過在不同文件系統(tǒng)上的目錄不予統(tǒng)計。
dd命令
把指定的輸入文件拷貝到指定的輸出文件中,并且在拷貝的過程中可以進行格式轉換。語法:
CODE:[Copy to clipboard]dd 〔選項〕
QUOTE:
if =輸入文件(或設備名稱)。
of =輸出文件(或設備名稱)。
ibs = bytes 一次讀取bytes字節(jié),即讀入緩沖區(qū)的字節(jié)數(shù)。
skip = blocks 跳過讀入緩沖區(qū)開頭的ibs*blocks塊。
obs = bytes 一次寫入bytes字節(jié),即寫 入緩沖區(qū)的字節(jié)數(shù)。
bs = bytes 同時設置讀/寫緩沖區(qū)的字節(jié)數(shù)(等于設置obs和obs)。
cbs = bytes 一次轉換bytes字節(jié)。
count = blocks 只拷貝輸入的blocks塊。
conv = ASCII 把EBCDIC碼轉換為ASCII碼。
conv = ebcdic 把ASCII碼轉換為EBCDIC碼。
conv = ibm 把ASCII碼轉換為alternate EBCDIC碼。
conv = blick 把變動位轉換成固定字符。
conv = ublock 把固定們轉換成變動位
conv = ucase 把字母由小寫變?yōu)榇髮憽?/p>
conv = lcase 把字母由大寫變?yōu)樾憽?/p>
conv = notrunc 不截短輸出文件。
conv = swab 交換每一對輸入字節(jié)。
conv = noerror 出錯時不停止處理。
conv = sync 把每個輸入記錄的大小都調到ibs的大?。ㄓ胕bs填充)。
fdformat命令
低級格式化軟盤。
CODE:[Copy to clipboard]format [-n] device
QUOTE:
-n 格式化后不做檢驗
4.5常用的網(wǎng)絡命令
FTP命令
Tel命令。
Netstat命令
QUOTE:
-a 顯示所有的scoket,包括正在監(jiān)聽和。
-c 每隔1秒就重新顯示一遍,直到用戶中斷它。
-i 顯示所有網(wǎng)絡接口的信息,格式同”ifconfig –e”
-n 以網(wǎng)絡IP地址代替名稱,顯示也網(wǎng)絡連接情形。
-r 顯示核心路由表,格式同”route –e:。
-t 顯示TCP協(xié)議的連接情況。
-u 顯示UDP協(xié)議的連接情況。
-v 顯示正在進行的工作。
nslookup命令。
finger命令,功能是查詢用戶的信息。
ping命令。
(用戶和組的管理可以使用工具:TurboUserCfg或是XturboUserCfg。)
4.6有關進程的命令。
進程和啟動
CODE:[Copy to clipboard]at [-V] [-q] [-f文件名] [-mldbv]時間
at –c 作業(yè) [作業(yè)….]
AT命令啟動的進程系統(tǒng)只執(zhí)行一次。
batch [-V] [-q 隊列] [-f 文件名] [-mv] [時間]
在系統(tǒng)負載較小時,資源比較空閑時執(zhí)行。
cron命令
按一定的時間間隔執(zhí)行命令。
crontab命令
用于安裝、刪除或列出用于驅支cron后臺進程的表格。
進程查看
CODE:[Copy to clipboard]who命令。
w命令
是一個比who命令更強大的命令
w –[husfV] [user]
-h 不顯示標題。
-u 當列出當前進程和CPU時間時忽略用戶名。
-s 使用短模式。不顯示登錄時間JCPU和PCPU時間。
-f 切換顯示FROM項,也就是遠程主機名項。
-V 顯示版本信息。
user 只顯示指定用戶的情況。
ps命令。
-e 顯示所有進程。
-f 全格式
-h 不顯示標題。
-l 長格式。
-w 寬輸出。
a 顯示終端上所有進程,包括其他用戶的進程。
r 只顯示正在運行的進程。
x 顯示沒有控制終端的進程。
top 命令
動態(tài)顯示系統(tǒng)當前的進程和其他狀況。
5系統(tǒng)的啟動過程。
5.1初始啟動
在PC機啟動時,BIOS從指定的啟動設備中讀入“主引導記錄”(MBR)。MBR的格式是:
地址偏移量 內容 大小
+00 h 可執(zhí)行的代碼(啟動模塊) 可能變化
+1BE h 第一分區(qū)表項 16字節(jié)
+1CE h 第二分區(qū)表項 16字節(jié)
+1DE h 第三分區(qū)表項 16字節(jié)
+1EE h 第四分區(qū)表項 16字節(jié)
+1FE h 可執(zhí)行的標記(AA55 h) 2字節(jié)
啟動模塊包含足以裝入操作系統(tǒng)的代碼,或者是第二步的加載代碼的位置。啟動模塊需要使用BIOS調用來從磁盤裝入數(shù)據(jù),而這些中斷調用,如INT 13h等,限制了最大磁盤柱面號為1023。這也就是說啟動模塊需要加載的一切內容,如初始內存磁盤、內核、啟動的時間信息等,必須存放在1024個柱面以內。
在MBR中只有四個分區(qū)表項,每個表項的格式如下:
地址偏移 內容 大小
+00h 分區(qū)狀態(tài):00代表非啟動分區(qū),80h代表啟動分區(qū) 1字節(jié)
+01h 分區(qū)的起始位置 磁頭 1字節(jié)
+02h 分區(qū)的起始位置 柱面和扇區(qū) 1字節(jié)
+04h 分區(qū)的類型 1字節(jié)
+05h 分區(qū)的結束位置 磁頭 1字節(jié)
+06h 分區(qū)的結束位置 柱面和扇區(qū) 1字節(jié)
+08h 在主引導區(qū)和本分區(qū)的第一個扇區(qū)間的扇區(qū)數(shù)目 4字節(jié)
+0Ch 分區(qū)內的扇區(qū)數(shù)目 4字節(jié)
5.2 Linux的啟動過程
1啟動的命令行參數(shù)
在Linux啟動時,它處理所有傳遞給它的命令行參數(shù)。這可以影響Linux的運行方式。命令行參數(shù)包括:
QUOTE:
mem=xxxM:定Linux可以使用的內存大小。這在用戶的計算機系統(tǒng)有超過64MB的內存時才需要。因為從前的主板只對第一個64MB內存進行緩存,使用超過64MB的內存會使整個計算機的性能下降,所有內存均按無緩存的速度運行。
single:使Linux按單用戶方式啟動,缺省方式是多用戶方式。
root=/dev/xxx:指定Linux要安裝為根文件系統(tǒng)的設備。
init=file;:指定作為初始化進程的文件。
initrd=dev;:指定作為初始內存磁盤的設備。
ro:指定根文件系統(tǒng)為只讀。
rw:指定根文件系統(tǒng)為可讀可寫。
2 Init進程
在內核初始化自身和找到的硬件設備后,在后臺啟動進程init(/ *** in/init),init進程號1運行。
在UNIX世界中有許多啟動過程的版本,一些是基于系統(tǒng)V,一些是基于BSD。大多數(shù)Linux版本使用系統(tǒng)V的實現(xiàn)方法,在這里描述的就是這樣。
init是由文件/etc/inittab內容和功能控制的,隨啟動模式是單用戶或多用戶而不同。
QUOTE:
單用戶模式:init進程忽略/etc/inittab文件,在執(zhí)行少數(shù)幾個腳本程序后調用/dev/console shell。這樣,用戶就可以有了一個shell,而且可以執(zhí)行一定限度的任務。
多用戶模式:init進程把系統(tǒng)帶入/etc/inittab文件指定的運行級別。Init通過標準的Linux方法進入一個指定的進行級別。
3.進行級別
Linux與其他UNIX操作系統(tǒng)一樣,可以任何時刻處于任何一個運行級別。這些運行級別提供的功能不同,為主要是由于其運行的服務方程序(后臺daemon)的不同造成的。Linux共有6種運行級別。
QUOTE:
0:關閉計算機或終止計算機運行,這個級別就是系統(tǒng)停止運行。
1:單用戶啟動級別,系統(tǒng)只有一個用戶,就是root,該用戶在控制臺登錄。
2:多用戶運行級別,但無網(wǎng)絡功能。在這個運行級別,網(wǎng)絡功能沒有啟動,但是系統(tǒng)允許多個用戶登錄,可以通過虛擬控制臺或串行線路。
3:多用戶模式,有網(wǎng)絡功能。在這個運行級別,所有標準網(wǎng)絡服務均被啟動。
4:目前沒有實現(xiàn)。
5:X11運行級別,在這個運行級別,X服務器軟件運行,提供圖形界面的登錄方式。
6:系統(tǒng)重新啟動。
查詢當前運行級別:runlevel;
4在啟動過程中運行的腳本
在init進程運行時,它負責查看缺省的運行級別,并進入該運行級別。這是通過運行在/etc/rc.d/rcX.d目錄下的腳本程序來實現(xiàn)的,其中X代表運行的級別,即一個運行級別對應一個目錄。不同的字母開頭的文件有不同的作用。其中:
以K開頭的腳本程序是系統(tǒng)離開某個運行級別時執(zhí)行的,作用是停止某種服務。當系統(tǒng)從某個支持級別變?yōu)槠渌墑e時,首先要進行原運行級別所對應的所有K程序。
以S開頭的腳本程序是系統(tǒng)進入某個運行級別時所執(zhí)行的,作用是啟動某種服務。當系統(tǒng)改變?yōu)槟硞€運行級別時,就要運行新運行級別所對應的所有S程序。
5增加啟動腳本程序
用戶可能有一些特定的硬件設備要初始化,或需要在系統(tǒng)啟動時初始化一些其他應用程序,用戶可以增加自己的初始化腳本程序來完成這些工作。通常步驟是:
復制一個已經(jīng)存在的腳本,這樣可以得到一個通用的框架格式。
修改這個腳本,以完成自己的需求,要注意使程序可以處理啟動和關閉的參數(shù),盡管可能關閉處理什么也不需要干。
把這個肢本拷貝到/etc/rc.d/init.d目錄下,命名為”serv”。
按下面的方法在相應的目錄下建立運行控制鏈接:
CODE:[Copy to clipboard]ln –s ../init.d/serv/etc/rc.d/rc3.d/s99 serv
進行測試。
6 LILO和其他的啟動模塊
要啟動Linux,啟動模塊是必須的。一般用于Linux的啟動模塊是LILO,LILO用自己的主引導區(qū)代替一般的主引導區(qū)。LILO可以通過修改/etc/lilo.conf文件內容來進行配置,對引導區(qū)內容的更新通過lilo命令來完成。
下面給也了一個裝有DOS,TurboLinux3.4.0和RedHat 5.2系統(tǒng)的計算機的lilo.conf文件。在例子中的數(shù)字標號是用戶加上去并要在文中詳細解釋的。
CODE:[Copy to clipboard]# more /etc/lilo.conf
boot=dev/had
map=/boot/map
instll/boot/boot.b
prompt
#表示啟動盤是/dev/had,這是主IDE硬盤。
timeout=50
#表示等待用戶輸入的時間是50秒。
default=TL3.4
other=dev/hda1
#表示如果在上述的時間內沒有輸入,缺省的啟動系統(tǒng)是TL3.4,即TurboLinux 3.4.0
label=dos
table=dev/had
#表示如果在LILO提示用戶輸入啟動系統(tǒng)時,用戶按了Tab;鍵,各個系統(tǒng)將以label的內容顯示出來,供用戶選擇。
image=/mnt/tl3.4/boot/vmlinuz
label=TL3.4
root=/dev/hda3
read-only
TurboLinux的啟動文件,/mnt/tl3.4/boot/vmlinuz被確定,根文件系統(tǒng)在/dev/hda3,根文件系統(tǒng)是只讀方式的。
CODE:[Copy to clipboard]image=/mnt/rh5.2/boot/vmlinuz-2.0.36-0.7
label=RH5.2
root=/dev/hda4
read-only
RedHat的啟動文件,/mnt/rh5.2/boot/vmlinuz-2.0,36-0.7被確定,根文件系統(tǒng)在/dev/hda4,根文件系統(tǒng)可讀寫。
ps 命令的作用是顯示進程信息的;
| 符號,是個管道符號,表示ps 和 grep 命令同時執(zhí)行;
grep 命令是查找(Global Regular Expression Print),能使用正則表達式搜索文本,然后把匹配的行顯示出來;
ps命令有一些參數(shù):
-e : 顯示所有進程
-f : 全格式
-h : 不顯示標題
-l : 長格式
-w : 寬輸出
a :顯示終端上的所有進程,包括其他用戶的進程。
r :只顯示正在運行的進程。
u :以用戶為主的格式來顯示程序狀況。
x :顯示所有程序,不以終端機來區(qū)分。
結果信息從前到后依次是:
UID PID PPID C STIME TTY TIME CMD
zzw 14124 13991 0 00:38 pts/0 00:00:00 grep –color=auto dae
Linux中的top命令顯示系統(tǒng)上正在運行的進程。它是系統(tǒng)管理員最重要的工具之一。被廣泛用于監(jiān)視服務器的負載。top命令是一個交互命令。在運行top的時候還可以運行很多命令。
N – 以 PID 的大小的順序排列表示進程列表
P – 以 CPU 占用率大小的順序排列進程列表
M – 以內存占用率大小的順序排列進程列表
q – 退出 top
h – 幫助
1 系統(tǒng)運行時間和平均負載
這些字段顯示:當前時間、系統(tǒng)已運行的時間、當前登錄用戶的數(shù)量、相應最近5、10和15分鐘內的平均負載。
2 任務
第二行顯示的是任務或者進程的總結。進程可以處于不同的狀態(tài)。這里顯示了全部進程的數(shù)量。除此之外,還有正在運行、睡眠、停止、僵尸進程的數(shù)量(僵尸是一種進程的狀態(tài))。這些進程概括信息可以用’t’切換顯示。
3 CPU 狀態(tài)
下一行顯示的是CPU狀態(tài)。 這里顯示了不同模式下的所占CPU時間的百分比。這些不同的CPU時間表示:
us, user: 運行(未調整優(yōu)先級的) 用戶進程的CPU時間
sy,system: 運行內核進程的CPU時間
ni,niced:運行已調整優(yōu)先級的用戶進程的CPU時間
wa,IO wait: 用于等待IO完成的CPU時間
hi:處理硬件中斷的CPU時間
si: 處理軟件中斷的CPU時間
st:這個虛擬機被hypervisor偷去的CPU時間(譯注:如果當前處于一個hypervisor下的vm,實際上hypervisor也是要消耗一部分CPU處理時間的)。
4 內存使用
接下來兩行顯示內存使用率,有點像’free’命令。第一行是物理內存使用,第二行是虛擬內存使用(交換空間)。
物理內存顯示如下:全部可用內存、已使用內存、空閑內存、緩沖內存。相似地:交換部分顯示的是:全部、已使用、空閑和緩沖交換空間。
5 各列的意思
PID 進程ID,進程的唯一標識符
USER 進程所有者的實際用戶名。
PR 進程的調度優(yōu)先級。這個字段的一些值是’rt’。這意味這這些進程運行在實時態(tài)。
NI 進程的nice值(優(yōu)先級)。越小的值意味著越高的優(yōu)先級。
VIRT 進程使用的虛擬內存。
RES 駐留內存大小。駐留內存是任務使用的非交換物理內存大小。
SHR SHR是進程使用的共享內存。
S 這個是進程的狀態(tài)。它有以下不同的值:
D – 不可中斷的睡眠態(tài)。
R – 運行態(tài)
S – 睡眠態(tài)
T – 被跟蹤或已停止
Z – 僵尸態(tài)
%CPU 自從上一次更新時到現(xiàn)在任務所使用的CPU時間百分比。
%MEM 進程使用的可用物理內存百分比。
TIME+ 任務啟動后到現(xiàn)在所使用的全部CPU時間,精確到百分之一秒。
COMMAND 運行進程所使用的命令。
注意 :不同發(fā)行版的top命令在各種細節(jié)有不同,如果發(fā)現(xiàn)不同時,請讀你的幫助手冊和命令內的幫助。)
kill、kill-15、kill-9區(qū)別:
執(zhí)行kill(默認kill -15)命令,系統(tǒng)會發(fā)送一個SIGTERM信號給對應的程序,大部分程序接收到SIGTERM信號后,會先釋放自己的資源,然后再停止。用法kill pid。
kill -15 pid。
kill -9命令,系統(tǒng)給對應程序發(fā)送的信號是SIGKILL,即exit。exit信號不會被系統(tǒng)阻塞,所以kill -9能順利殺掉進程。用法kill -9 pid。
tail -n 1000:顯示最后1000行
tail -n +1000:從1000行開始顯示,顯示1000行以后的
head -n 1000:顯示前面1000行
cat a.txt 顯示文件
vim xx.conf 編輯文件
打開文件后,按insert鍵進入編輯模式;編輯完后,按esc建退出編輯模式;按shift+冒號后,輸入wq保存退出,wq!保存強制退出,q不保存退出
在根目錄模糊查找名字含java的文件
服務器端常有很多壓縮過的日志文件,當需要查找日志中某些特定信息的時候,為了避免解壓文件,可以使用zgrep,zcat等命令查找、查看壓縮文件中的信息
zgrep ' 輸入你要查找的東東' /目錄 /文件 .gz 或者.log (當日)
grep ' 輸入你要查找的東東' /目錄 /文件 .gz 或者.log (非當日的壓縮文件)
例如: zgrep 'callMktCamLoad' app.log.2019-12-03-*.gz
rpm包安裝的,可以用 rpm -qa 看到,如果要查找某軟件包是否安裝,用 rpm -qa | grep "軟件或者包的名字"
以deb包安裝的,可以用 dpkg -l 看到。如果是查找指定軟件包,用 dpkg -l | grep "軟件或者包的名字"
yum方法安裝的,可以用 yum list installed 查找,如果是查找指定包,用 yum list installed | grep "軟件名或者包名"
為什么備份?
一個備份計劃對定期備份文件來說很有必要,如果你寧愿選擇不備份,那么丟失重要數(shù)據(jù)的風險會大大增加。有了備份,你就有了從磁盤故障中恢復的能力。備份還可以幫助你抵御:意外的文件刪除/文件或文件系統(tǒng)損壞/服務器完全毀壞,包括由于火災或其他問題導致的同盤備份毀壞、硬盤或 SSD 崩潰、病毒或勒索軟件破壞或刪除文件、你可以使用磁帶歸檔備份整個服務器并將其離線存儲。
理解磁帶文件標記和塊大小
每個磁帶設備能存儲多個備份文件。磁帶備份文件通過 cpio,tar,dd 等命令創(chuàng)建。同時,磁帶設備可以由多種程序打開、寫入數(shù)據(jù)、及關閉。你可以存儲若干備份(磁帶文件)到一個物理磁帶上。在每個磁帶文件之間有個“磁帶文件標記”。這用來指示一個物理磁帶上磁帶文件的結尾以及另一個文件的開始。你需要使用 mt 命令來定位磁帶(快進,倒帶和標記)。
磁帶上的數(shù)據(jù)是如何存儲的
所有的數(shù)據(jù)使用 tar 以連續(xù)磁帶存儲格式連續(xù)地存儲。第一個磁帶歸檔會從磁帶的物理開始端開始存儲(tar #0)。接下來的就是 tar #1,以此類推。
Unix 上的磁帶設備名
/dev/rmt/0 或 /dev/rmt/1 或 /dev/rmt/[0-127] :Unix 上的常規(guī)磁帶設備名。磁帶自動倒回。
/dev/rmt/0n :以無倒回為特征,換言之,磁帶使用之后,停留在當前狀態(tài)等待下個命令。
/dev/rmt/0b :使用磁帶接口,也就是 BSD 的行為。各種類型的操作系統(tǒng)比如 AIX,Windows,Linux,F(xiàn)reeBSD 等的行為更有可讀性。
/dev/rmt/0l :設置密度為低。
/dev/rmt/0m :設置密度為中。
/dev/rmt/0u :設置密度為高。
/dev/rmt/0c :設置密度為壓縮。
/dev/st[0-9] :Linux 特定 SCSI 磁帶設備名。
/dev/sa[0-9] :FreeBSD 特定 SCSI 磁帶設備名。
/dev/esa0 :FreeBSD 特定 SCSI 磁帶設備名,在關閉時彈出(如果可以的話)。
磁帶設備名示例
/dev/rmt/1cn 指明正在使用 unity 1,壓縮密度,無倒回。
/dev/rmt/0hb 指明正在使用 unity 0,高密度,BSD 行為。
Linux 上的自動倒回 SCSI 磁帶設備名:/dev/st0
Linux 上的無倒回 SCSI 磁帶設備名:/dev/nst0
FreeBSD 上的自動倒回 SCSI 磁帶設備名:/dev/sa0
FreeBSD 上的無倒回 SCSI 磁帶設備名:/dev/nsa0
如何列出已安裝的 scsi 磁帶設備?
輸入下列命令:
### Linux(更多信息參閱 man) ###
lsscsi
lsscsi -g
### IBM AIX ###
lsdev -Cc tape
lsdev -Cc adsm
lscfg -vl rmt*
### Solaris Unix ###
cfgadm –a
cfgadm -al
luxadm probe
iostat -En
### HP-UX Unix ###
ioscan Cf
ioscan -funC tape
ioscan -fnC tape
ioscan -kfC tape
mt 命令示例
在 Linux 和類 Unix 系統(tǒng)上,mt 命令用來控制磁帶驅動器的操作,比如查看狀態(tài)或查找磁帶上的文件或寫入磁帶控制標記。下列大多數(shù)命令需要作為 root 用戶執(zhí)行。語法如下:
mt -f /tape/device/name operation
設置環(huán)境
你可以設置 TAPE shell 變量。這是磁帶驅動器的路徑名。在 FreeBSD 上默認的(如果變量沒有設置,而不是 null)是 /dev/nsa0??梢酝ㄟ^ mt 命令的 -f 參數(shù)傳遞變量覆蓋它,就像下面解釋的那樣。
### 添加到你的 shell 配置文件 ###
TAPE=/dev/st1 #Linux
TAPE=/dev/rmt/2 #Unix
TAPE=/dev/nsa3 #FreeBSD
export TAPE
1:顯示磁帶/驅動器狀態(tài)
mt status? ### Use default
mt -f /dev/rmt/0? status ### Unix
mt -f /dev/st0 status ### Linux
mt -f /dev/nsa0 status ### FreeBSD
mt -f /dev/rmt/1 status ### Unix unity 1 也就是 tape device no. 1
你可以像下面一樣使用 shell 循環(huán)語句遍歷一個系統(tǒng)并定位其所有的磁帶驅動器:
for d in 0 1 2 3 4 5
do
mt -f "/dev/rmt/$squ6kqw" status
done
2:倒帶
mt rew
mt rewind
mt -f /dev/mt/0 rewind
mt -f /dev/st0 rewind
3:彈出磁帶
mt off
mt offline
mt eject
mt -f /dev/mt/0 off
mt -f /dev/st0 eject
4:擦除磁帶(倒帶,在支持的情況下卸載磁帶)
mt erase
mt -f /dev/st0 erase? #Linux
mt -f /dev/rmt/0 erase #Unix
5:張緊磁帶盒
如果磁帶在讀取時發(fā)生錯誤,你重新張緊磁帶,清潔磁帶驅動器,像下面這樣再試一次:
mt retension
mt -f /dev/rmt/1 retension #Unix
mt -f /dev/st0 retension #Linux
6:在磁帶當前位置寫入 EOF 標記
mt eof
mt weof
mt -f /dev/st0 eof
7:將磁帶前進指定的文件標記數(shù)目,即跳過指定個 EOF 標記
磁帶定位在下一個文件的第一個塊,即磁帶會定位在下一區(qū)域的第一個塊(見圖01):
mt fsf
mt -f /dev/rmt/0 fsf
mt -f /dev/rmt/1 fsf 1 #go 1 forward file/tape (see fig.01)
8:將磁帶后退指定的文件標記數(shù)目,即倒帶指定個 EOF 標記
磁帶定位在下一個文件的第一個塊,即磁帶會定位在 EOF 標記之后(見圖01):
mt bsf
mt -f /dev/rmt/1 bsf
mt -f /dev/rmt/1 bsf 1 #go 1 backward file/tape (see fig.01)
這里是磁帶定位命令列表:
fsf? ? 前進指定的文件標記數(shù)目。磁帶定位在下一個文件的第一塊。
fsfm? 前進指定的文件標記數(shù)目。磁帶定位在前一文件的最后一塊。
bsf? ? 后退指定的文件標記數(shù)目。磁帶定位在前一文件的最后一塊。
bsfm? 后退指定的文件標記數(shù)目。磁帶定位在下一個文件的第一塊。
asf? ? 磁帶定位在指定文件標記數(shù)目的開始位置。定位通過先倒帶,再前進指定的文件標記數(shù)目來實現(xiàn)。
fsr? ? 前進指定的記錄數(shù)。
bsr? ? 后退指定的記錄數(shù)。
fss? ? (SCSI tapes)前進指定的 setmarks。
bss? ? (SCSI tapes)后退指定的 setmarks。
基本備份命令
讓我們來看看備份和恢復命令。
9:備份目錄(tar 格式)
tar cvf /dev/rmt/0n /etc
tar cvf /dev/st0 /etc
10:恢復目錄(tar 格式)
tar xvf /dev/rmt/0n -C /path/to/restore
tar xvf /dev/st0 -C /tmp
11:列出或檢查磁帶內容(tar 格式)
mt -f /dev/st0 rewind; dd if=/dev/st0 of=-
### tar 格式 ###
tar tvf {DEVICE} {Directory-FileName}
tar tvf /dev/st0
tar tvf /dev/st0 desktop
tar tvf /dev/rmt/0 foo list.txt
12:使用 dump 或 ufsdump 備份分區(qū)
### Unix 備份 c0t0d0s2 分區(qū) ###
ufsdump 0uf /dev/rmt/0? /dev/rdsk/c0t0d0s2
### Linux 備份 /home 分區(qū) ###
dump 0uf /dev/nst0 /dev/sda5
dump 0uf /dev/nst0 /home
### FreeBSD 備份 /usr 分區(qū) ###
dump -0aL -b64 -f /dev/nsa0 /usr
13:使用 ufsrestore 或 restore 恢復分區(qū)
### Unix ###
ufsrestore xf /dev/rmt/0
### Unix 交互式恢復 ###
ufsrestore if /dev/rmt/0
### Linux ###
restore rf /dev/nst0
### 從磁帶媒介上的第6個備份交互式恢復 ###
restore isf 6 /dev/nst0
### FreeBSD 恢復 ufsdump 格式 ###
restore -i -f /dev/nsa0
14:從磁帶開頭開始寫入(見圖02)
### 這會覆蓋磁帶上的所有數(shù)據(jù) ###
mt -f /dev/st1 rewind
### 備份 home ###
tar cvf /dev/st1 /home
### 離線并卸載磁帶 ###
mt -f /dev/st0 offline
從磁帶開頭開始恢復:
mt -f /dev/st0 rewind
tar xvf /dev/st0
mt -f /dev/st0 offline
15:從最后一個 tar 后開始寫入(見圖02)
### 這會保留之前寫入的數(shù)據(jù) ###
mt -f /dev/st1 eom
### 備份 home ###
tar cvf /dev/st1 /home
### 卸載 ###
mt -f /dev/st0 offline
16:從 tar number 2 后開始寫入(見圖02)
### 在 tar number 2 之后寫入(應該是 2+1)###
mt -f /dev/st0 asf 3
tar cvf /dev/st0 /usr
### asf 等效于 fsf ###
mt -f /dev/sf0 rewind
mt -f /dev/st0 fsf 2
從 tar number 2 恢復 tar:
mt -f /dev/st0 asf 3
tar xvf /dev/st0
mt -f /dev/st0 offline
關于第三方備份工具
Linux 和類Unix系統(tǒng)都提供了許多第三方工具,可以用來安排備份,包括磁帶備份在內,如:
Amanda
Bacula
rsync
duplicity
rsnapshot