小女生的Linux技術~~~Linux常識~~31-40
Q31 什麼是LVM卷組描述區域
A: 卷組描述區域—–(Volume Group Descriptor Area)卷組描述區域存在於每個物理卷中,用於描述物理卷本身、物理卷所屬卷組、卷組中的邏輯卷及邏輯卷中物理區域的分配等所有信息,卷組描述區域是在使用pvcreate建立物理卷時建立的。
Q32 如何複製文件
A: cp /test1/file1 /test3/file2:將目錄test1下的文件file1複製到test3目錄下, 並更名爲file2。
cp –ax dir1 dir2:a:是指複製指定的目錄,幷包含其下的所有文件和子目錄。
x:此文件的格式變爲和目的地扇區的文件系統相同的。
Q33 如何移動文件
A:mv /test1/file1 /test2/file2:將test1目錄下的file1文件複製到test2目錄下, 並更改名爲file2。
mv file1 file2 將文件名file1改爲file2
Q34 如何查找文件?
A:$find ~ -name “*.txt” -print #在$HOME中查.txt文件並顯示$find . -name “*.txt” -print$find . -name “[A-Z]*” -print #查以大寫字母開頭的文件$find /etc -name “host*” -print #查以host開頭的文件$find . -name “[a-z][a-z][0–9][0–9].txt” -print #查以兩個小寫字母和兩個數字開頭的txt文件$find . -perm 755 -print$find . -perm -007 -exec ls -l {} ; #查所有用戶都可讀寫執行的文件同-perm 777$find . -type d -print$find . ! -type d -print$find . -type l -print$find . -size +1000000c -print #查長度大於1Mb的文件$find . -size 100c -print # 查長度爲100c的文件$find . -size +10 -print #查長度超過期作廢10塊的文件(1塊=512字節)
Q35 壓縮與解壓縮命令是什麼?
A:功能:將文件歸檔
格式:tar 參數 歸檔文件名稱 文件或目錄
說明:
壓縮一組文件爲tar.gz後綴。
# tar cvf backup.tar /etc
#gzip -q backup.tar
或
# tar cvfz backup.tar.gz /etc/
釋放一個後綴爲tar.gz的文件。
#gunzip backup.tar.gz
#tar xvf backup.tar
或
# tar xvfz backup.tar.gz
用一個命令完成壓縮
#tar cvf - /etc/ gzip -qc > backup.tar.gz
用一個命令完成釋放
# gunzip -c backup.tar.gz tar xvf -
解開tar.Z的文件
# tar xvfz backup.tar.Z
或
# uncompress backup.tar.Z
#tar xvf backup.tar
解開.tgz文件
#gunzip backup.tgz
壓縮和解壓縮.bz2的包
#bzip2 /etc/smb.conf
這將壓縮文件smb.conf成smb.conf.bz2
#bunzip2 /etc/smb.conf.bz2
這將在當前目錄下還原smb.conf.bz2爲smb.conf
注: .bz2壓縮格式不是很常用,你可以man bzip2
Q36 如何顯示系統環境變量?
A: env命令
功能:顯示環境變量
格式:env
說明:
顯示當前環境
env
假設有一角本my_job用來下世環境變量LANG的當前位置。
在不修改LANG變量時,使用env命令執行角本my_job,如下:
env PATH=/u/testuser/jobs: $my_job
LANG=C
當在env命令中修改了LANG的值後將有:
Env LANG=C++ PATH=/u/testuser/jobs : $PATH my_job
LANG=C++
Q37 VI的三種命令模式是什麼
A:vi 做爲Linux 系統中一種編輯器,它的使用方法和界面與 Unix 平臺十分相似。
基本上vi可以分爲三種狀態,分別是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能區分如下:
1) 命令行模式command mode)
控制屏幕光標的移動,字符、字或行的刪除,移動複製某區段及進入Insert mode下,或者到 last line mode。
2) 插入模式(Insert mode)
只有在Insert mode下,纔可以做文字輸入,按「ESC」鍵可回到命令行模式。
3) 底行模式(last line mode)
將文件保存或退出vi,也可以設置編輯環境,如尋找字符串、列出行號……等。
Q38 vi的基本操作
A:a) 進入vi
在系統提示符號輸入vi及文件名稱後,就進入vi全屏幕編輯畫面:
$ vi myfile
不過有一點要特別注意,就是您進入vi之後,是處於「命令行模式 (command mode)」,您要切換到「插入模式(Insert mode)」才能夠輸入文字。
b) 切換至插入模式(Insert mode)編輯文件
在「命令行模式(command mode)」下按一下字母「i」就可以進入「插入模式(Insert mode)」,這時候你就可以開始輸入文字了。
c) Insert 的切換
您目前處於「插入模式(Insert mode)」,您就只能一直輸入文字,如果您發現輸錯了字!想用光標鍵往回移動,將該字刪除,就要先按一下「ESC」鍵轉到「命令行模式(command mode)」再刪除文字。
d) 退出vi及保存文件
在「命令行模式(command mode)」下,按一下「:」冒號鍵進入「Last line mode」,例如:
: w filename (輸入 「w filename」將文章以指定的文件名filename保存)
: wq (輸入「wq」,存盤並退出vi)
: q! (輸入q!, 不存盤強制退出vi)
q39 命令行模式(command mode)功能鍵
A:1). 插入模式
按「i」切換進入插入模式「insert mode」,按“i”進入插入模式後是從光標當前位置開始輸入文件;
按「a」進入插入模式後,是從目前光標所在位置的下一個位置開始輸入文字;
按「o」進入插入模式後,是插入新的一行,從行首開始輸入文字。
2). 從插入模式切換爲命令行模式
vi可以直接用鍵盤上的光標來上下左右移動,但正規的vi是用小寫英文字母「h」、「j」、「k」、「l」,分別控制光標左、下、上、右移一格。
按「ctrl」+「b」:屏幕往“後”移動一頁。
按「ctrl」+「f」:屏幕往“前”移動一頁。
按「ctrl」+「u」:屏幕往“後”移動半頁。
按「ctrl」+「d」:屏幕往“前”移動半頁。
按數字「0」:移到文章的開頭。
按「G」:移動到文章的最後。
按「$」:移動到光標所在行的“行尾”。
按「^」:移動到光標所在行的“行首”
按「w」:光標跳到下個字的開頭
按「e」:光標跳到下個字的字尾
按「b」:光標回到上個字的開頭
按「#l」:光標移到該行的第#個位置,如:5l,56l。
4). 刪除文字
「x」:每按一次,刪除光標所在位置的“後面”一個字符。
「#x」:例如,「6x」表示刪除光標所在位置的“後面”6個字符。
「X」:大寫的X,每按一次,刪除光標所在位置的“前面”一個字符。
「#X」:例如,「20X」表示刪除光標所在位置的“前面”20個字符。
「dd」:刪除光標所在行。
「#dd」:從光標所在行開始刪除#行
5). 複製
「yw」:將光標所在之處到字尾的字符複製到緩衝區中。
「#yw」:複製#個字到緩衝區
「yy」:複製光標所在行到緩衝區。
「#yy」:例如,「6yy」表示拷貝從光標所在的該行“往下數”6行文字。
「p」:將緩衝區內的字符貼到光標所在位置。注意:所有與“y”有關的複製命令都必須與“p”配合才能完成複製與粘貼功能。
6). 替換
「r」:替換光標所在處的字符。
「R」:替換光標所到之處的字符,直到按下「ESC」鍵爲止。
7). 回覆上一次操作
「u」:如果您誤執行一個命令,可以馬上按下「u」,回到上一個操作。按多次“u”可以執行多次回覆。
8). 更改
「cw」:更改光標所在處的字到字尾處
「c#w」:例如,「c3w」表示更改3個字
9). 跳至指定的行
「ctrl」+「g」列出光標所在行的行號。
「#G」:例如,「15G」,表示移動光標至文章的第15行行首。
Q40 Shell的使用方法
A:程序必須以下面的行開始(必須方在文件的第一行):
#!/bin/sh
符號#!用來告訴系統它後面的參數是用來執行該文件的程序。在這個例子中我們使用/bin/sh來執行程序。
當編輯好腳本時,如果要執行該腳本,還必須使其可執行。
要使腳本可執行:
chmod +x filename
然後,您可以通過輸入: ./filename 來執行您的腳本。
註釋
在進行shell編程時,以#開頭的句子表示註釋,直到這一行的結束。
變量
在其他編程語言中您必須使用變量。在shell編程中,所有的變量都由字符串組成,並且您不需要對變量進行聲明。要賦值給一個變量,您可以這樣寫:
變量名=值
取出變量值可以加一個美元符號($)在變量前面:
#!/bin/sh
#對變量賦值:
a=”hello world”
# 現在打印變量a的內容:
echo “A is:”
echo $a
在您的編輯器中輸入以上內容,然後將其保存爲一個文件first。之後執行chmod +x first
使其可執行,最後輸入./first執行該腳本