小女生的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执行该脚本