linux中vi基本语句用法 复制 移动 删除.docx
《linux中vi基本语句用法 复制 移动 删除.docx》由会员分享,可在线阅读,更多相关《linux中vi基本语句用法 复制 移动 删除.docx(17页珍藏版)》请在冰豆网上搜索。
![linux中vi基本语句用法 复制 移动 删除.docx](https://file1.bdocx.com/fileroot1/2022-11/23/898b1449-b005-41d6-ae82-f1a393241f39/898b1449-b005-41d6-ae82-f1a393241f391.gif)
linux中vi基本语句用法复制移动删除
LINUX常用命令
1、LINUX文件名称
LINUX文件名称:
最大长度为255字节;
大小写敏感(file1和File1表示两个不同的文件);
无专用扩展名(LINUX文件名可出现多个小数点,并无特殊含义)。
LINUX特殊文件名
/
表示根目录
.
表示当前目录
..
表示当前目录的父目录
.字符串
表示隐含文件,如".profile"文件
文件名通配符
?
任一个字符,如"abc?
"
*
任何字符,如"ab*10"表示以ab开头和以10结尾的名字
2、LINUX文件存取权限
文件的存取权限LINUX文件的存取有三种权限:
权限
普通文件的存取权限
目录的存取权限
r
具有读取文件的权利
能读取文件名称
w
具有写入文件的权利
能建立和删除文件,可以改变文件名
x
具有执行文件的权利
能使用该目录下的文件(如cd命令)搜索文件等
文件存取权限的显示可以通过"ls-l"命令显示,如:
$ls-lfile1
显示如下:
-rwxr-xr--
2
wjm
newservice
321
Oct1709:
33
file1
上行第2-4字符"rwx"表示此文件属主wjm对此文件的权利为"可读、可写、可执行",上行第5-7字符"r-x"表示此工作组newservice内的用户对此文件的权利为"可读、不可写、可执行",上行第8-10字符"r--"表示其他用户对此文件的权利为"可读、不可写、不可执行"
文件存取权限的修改用chmod命令修改文件的存取权限,chmod命令的格式如下:
格式1:
chmodsymbolic_modefile...
格式2:
chmodabsolute_modefile...
这里只介绍符号模式(symbolic_mode),符号模式的命令格式如下:
chmod[who]oppermisionfile...
who项表示用户类型,它的内容为以下一项或多项:
u
拥有者(user---owner)
g
与拥有者同一组的用户(group)
o
其他人(other)
a
所有人(all)
op项表示动作:
+
表示要加上permission指定的权利
-
表示要取消permission指定的权利
permission项为存取权限,它的内容为以下一项或多项:
r
表示可读
w
表示可写
x
表示可执行
举例:
chmodu+wtestreport
拥有者对test和report文件“可写”
chmodu-xabc.c
拥有者对abc.c文件不可执行
chmodu+rwxmyfile1
拥有者对myfile“可读、可写、可执行”
chmodugo+rwxmyfile2
任何人都对myfile“可读、可写、可执行”
3、LINUX文件系统常用命令
LINUX命令
LINUX命令举例
类似DOS命令
显示当前目录
pwd
pwd
cd
改变目录
cd
cd/usr
cdc:
\usr
进入家目录
cd
cd
创建目录
mkdir
mkdirabc
mdabc
删除空目录
rmdir
rmdirabc
rdabc
删除目录及其内容
rm-r
rm-rabc
deltreeabc
显示目录内容
ls
lsabc
ls-labc(文件长列表)
ls-aabc(所有类型文件)
ls-d*(不进子目录)
dirabc
显示文本文件内容
cat
catfile1.c
typefile1.c
一次一屏显示文本
文件内容
more
morefile1.c
拷贝文件
cp
cpfile1file2
copyfile1file2
移动(重命名)文件
mv
mvcall.testcall.list
movecall.tstcall.lst
rencall.testbbb
删除文件
rm
rmcall.list
delcall.lst
cp命令
该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,同MSDOS下的copy命令一样,功能十分强大。
语法:
cp[选项] 源文件或目录 目标文件或目录
说明:
该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。
该命令的各选项含义如下:
-a 该选项通常在拷贝目录时使用。
它保留链接、文件属性,并递归地拷贝目录。
-d 拷贝时保留链接。
-f 删除已经存在的目标文件而不提示。
-i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。
回答y时目标文件将被覆盖,是交互式拷贝。
-p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
-r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。
此时目标文件必须为一个目录名。
-l 不作拷贝,只是链接文件。
需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名已存在,用cp命令拷贝文件后,这个文件就会被新源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。
例:
cp/home/lx/test.tar./把/home/lx目录下的test.tar文件拷贝到当前目录下。
mv命令
用户可以使用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中。
该命令如同MSDOS下的ren和move的组合。
语法:
mv[选项] 源文件或目录 目标文件或目录
说明:
视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。
命令中各选项的含义为:
-I 交互方式操作。
如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答y或n,这样可以避免误覆盖文件。
-f 禁止交互操作。
在mv操作要覆盖某已有的目标文件时不给任何指示,指定此选项后,i选项将不再起作用。
如果所给目标文件(不是目录)已存在,此时该文件的内容将被新文件覆盖。
为防止用户用mv命令破坏另一个文件,使用mv命令移动文件时,最好使用i选项。
例:
mvtest1test2把当前目录下的test1文件重命名为test2
mv/home/lx/test.tar../把/home/lx目录下的test.tar文件移动到上级目录下。
rm命令
用户可以用rm命令删除不需要的文件。
该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。
对于链接文件,只是断开了链接,原文件保持不变。
rm命令的一般形式为:
rm[选项] 文件…
如果没有使用-r选项,则rm不会删除目录。
该命令的各选项含义如下:
-f 忽略不存在的文件,从不给出提示。
-r 指示rm将参数中列出的全部目录和子目录均递归地删除。
-i 进行交互式删除。
使用rm命令要小心。
因为一旦文件被删除,它是不能被恢复的。
了防止这种情况的发生,可以使用i选项来逐个确认要删除的文件。
如果用户输入y,文件将被删除。
如果输入任何其他东西,文件则不会删除。
例:
rm–rf/home/lx/test删除/home/lx目录下的test文件夹以及文件夹中的内容。
mkdir命令
功能:
创建一个目录(类似MSDOS下的md命令)。
语法:
mkdir[选项]dir-name
说明:
该命令创建由dir-name命名的目录。
要求创建目录的用户在当前目录中(dir-name的父目录中)具有写权限,并且dirname不能是当前目录中已有的目录或 文件名称。
命令中各选项的含义为:
-m 对新建目录设置存取权限。
也可以用chmod命令设置。
-p 可以是一个路径名称。
此时若路径中的某些目录尚不存在, 加上此选项后, 系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
rmdir 命令
功能:
删除空目录。
语法:
rmdir[选项]dir-name
说明:
dir-name表示目录名。
该命令从一个目录中删除一个或多个子目录项。
需要特别注意的是,一个目录被删除之前必须是空的。
rm-rdir命令可代替 rmdir,但是有危险性。
删除某目录时也必须具有对父目录的写权限。
命令中各选项的含义为:
-p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。
如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应 的信息。
cd 命令
功能:
改变工作目录。
语法:
cd[directory]
说明:
该命令将当前目录改变至directory所指定的目录。
若没有指定directory, 则回到用户的主目录。
为了改变到指定目录,用户必须拥有对指定目录的执行和读 权限。
该命令可以使用通配符。
例:
cd..进入当前目录的上一层目录
cd~进入用户的home目录,同cd
cd/usr/bin跳到/usr/bin目录
pwd 命令
在Linux层次目录结构中,用户可以在被授权的任意目录下利用mkdir命令创建新目录,也可以利用cd命令从一个目录转换到另一个目录。
然而,没有提示符来告知用户目前处于哪一个目录中。
要想知道当前所处的目录,可以使用pwd命令,该命令显示整个路径名。
语法:
pwd
说明:
此命令显示出当前工作目录的绝对路径。
ls 命令
ls是英文单词list的简写,其功能为列出目录的内容。
这是用户最常用的一个命令之一,因为用户需要不时地查看某个目录的内容。
该命令类似于DOS下的dir命令。
语法:
ls[选项][目录或是文件]
对于每个目录,该命令将列出其中的所有子目录与文件。
对于每个文件,ls将输出其文件名以及所要求的其他信息。
默认情况下,输出条目按字母顺序排序。
当未给出目录名或是文件名时,就显示当前目录的信息。
命令中各选项的含义如下:
-a 显示指定目录下所有子目录与文件,包括隐藏文件。
-A 显示指定目录下所有子目录与文件,包括隐藏文件。
但不列出“.”和 “..”。
-b 对文件名中的不可显示字符用八进制逃逸字符显示。
-c 按文件的修改时间排序。
-C 分成多列显示各项。
-d 如果参数是目录,只显示其名称而不显示其下的各文件。
往往与l选项一起使用,以得到目录的详细信息。
-f 不排序。
该选项将使lts选项失效,并使aU选项有效。
-F 在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记“@”,管道(或FIFO)后面标记“|”,socket文件后面标记“=”。
-i 在输出的第一列显示文件的i节点号。
-l 以长格式来显示文件的详细信息。
这个选项最常用。
每行列出的信息依次是:
文件类型与权限 链接数 文件属主 文件属组 文件大小 建立或最近修改的时间 名字
对于符号链接文件,显示的文件名之后有“—〉”和引用文件路径名。
对于设备文件,其“文件大小”字段显示主、次设备号,而不是文件大小。
目录中的总块数显示在长格式列表的开头,其中包含间接块。
-L 若指定的名称为一个符号链接文件,则显示链接所指向的文件。
-m 输出按字符流格式,文件跨页显示,以逗号分开。
-n 输出格式与l选项相同,只不过在输出中文件属主和属组是用相应的UID号和GID号来表示,而不是实际的名称。
-o 与l选项相同,只是不显示拥有者信息。
-p 在目录后面加一个“/”。
-q 将文件名中的不可显示字符用“?
”代替。
-r 按字母逆序或最早优先的顺序显示输出结果。
-R 递归式地显示指定目录的各个子目录中的文件。
-s 给出每个目录项所用的块数,包括间接块。
-t 显示时按修改时间(最近优先)而不是按名字排序。
若文件修改时间相同,则 按字典顺序。
修改时间取决于是否使用了c或u选顶。
缺省的时间标记是最后一次修 改时间。
-u 显示时按文件上次存取的时间(最近优先)而不是按名字排序。
即将-t的时间 标记修改为最后一次访问的时间。
-x 按行显示出各排序项的信息。
用ls-l命令显示的信息中,开头是由10个字符构成的字符串,其中第一个字符表示文件类型,它可以是下述类型之一:
- 普通文件
d 目录
l 符号链接
b 块设备文件
c 字符设备文件
后面的9个字符表示文件的访问权限,分为3组,每组3位。
第一组表示文件属主的权限,第二组表示同组用户的权限,第三组表示其他用户的权限。
每一组的三个字 符分别表示对文件的读、写和执行权限。
各权限如下所示:
r 读
w 写
x 执行。
对于目录,表示进入权限。
s 当文件被执行时,把该文件的UID或GID赋予执行进程的UID(用户ID)或GID(组ID)。
t 设置标志位(留在内存,不被换出)。
如果该文件是目录,在该目录中的文件只能被超级用户、目录拥有者或文件属主删除。
如果它是可执行文件,在该文件执行后,指向其正文段的指针仍留在内存。
这样再次执行它时,系统就能更快地装入该文件。
tar命令
tar可以为文件和目录创建档案。
利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。
tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案,如软盘。
利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。
Linux上的tar是GNU版本的。
语法:
tar[主选项+辅选项] 文件或者目录
使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。
主选项:
c 创建新的档案文件。
如果用户想备份一个目录或是一些文件,就要选择这个选项。
r 把要存档的文件追加到档案文件的未尾。
例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。
t 列出档案文件的内容,查看已经备份了哪些文件。
u 更新文件。
就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。
x 从档案文件中释放文件。
辅助选项:
b 该选项是为磁带机设定的。
其后跟一数字,用来说明区块的大小,系统预设值为20(20*512bytes)。
f 使用档案文件或设备,这个选项通常是必选的。
k 保存已经存在的文件。
例如我们把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖。
m 在还原文件时,把所有文件的修改时间设定为现在。
M 创建多卷的档案文件,以便在几个磁盘中存放。
v 详细报告tar处理的文件信息。
如无此选项,tar不报告文件信息。
w 每一步都要求确认。
z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。
例:
tar–cvfbak.tarbackup备份backup目录下的所有文件和目录
tar–xvfbackup.tar将备份backup.tar文件还原
tar–czvfbackup.tar.gzbackup备份backup目录下的所有文件和目录,并以zip压缩
tar–xzvfbackup.tar.gz将备份backup.tar.gz文件还原
gzip命令
减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。
gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。
语法:
gzip[选项] 压缩(解压缩)的文件名
各选项的含义:
-c 将输出写到标准输出上,并保留原有文件。
-d 将压缩文件解压。
-l 对每个压缩文件,显示下列字段:
压缩文件的大小
未压缩文件的大小
压缩比
未压缩文件的名字
-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。
-t 测试,检查压缩文件是否完整。
-v 对每一个压缩和解压的文件,显示文件名和压缩比。
-num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。
系统缺省值为6。
unzip命令
用MSWindows下的压缩软件winzip压缩的文件如何在Linux系统下展开呢?
可以用unzip命令,该命令用于解扩展名为.zip的压缩文件。
语法:
unzip[选项] 压缩文件名.zip
各选项的含义分别为:
-x 文件列表 解压缩文件,但不包括指定的file文件。
-v 查看压缩文件目录,但不解压。
-t 测试文件有无损坏,但不解压。
-d 目录 把压缩文件解到指定目录下。
-z 只显示压缩文件的注解。
-n 不覆盖已经存在的文件。
-o 覆盖已存在的文件且不要求用户确认。
-j 不重建文档的目录结构,把所有文件解压到同一目录下。
find命令
-namefilename按文件名查找,但是要加“”
-userusername查找属于username的文件
-print显示找到的文件路径名
-atimen查找前n天访问过的文件
例:
find–name‘*.cdslck’|xargsrm查找并删除.cdslck文件
4、进程
如何让程序后台运行
要让程序在后台执行,只需在命令行的最后加上“&”符号。
如icfb&
如何控制后台进程
一、显示进程信息
LINUX命令
解释
ps
显示使用终端有关的进程信息
ps-u用户名
显示某用户的进程(如ps-uabc)
ps-e
显示所有正在运行的进程信息
ps-f
长列表显示每个进程信息
长列表显示所有正在运行的进程信息,LINUX命令如下:
ps–ef
二、实时监控进程状况
top
三、用kill命令杀掉后台进程
LINUX命令
解释
kill进程号
删除进程
kill-9进程号
强制删除进程
如何查看磁盘使用情况
解释
LINUX命令
查看磁盘自由空间
df-v
查看磁盘使用情况
du[文件名]
5、Vi的使用
功能最强在的编辑器——vi
vi是所有LINUX系统都会提供的屏幕编辑器,它提供了一个视窗设备,通过它可以编辑文件。
当然,对LINUX系统略有所知的人,或多或少都觉得vi超级难用,但vi是最基本的编辑器,所以希望读者能好好把它学起来,以后在LINUX世界里必将畅行无阻、游刃有余,因为其他几种文本处理器并非LINUX标准配备。
说不定别人的Linux机器没安装joe或pico,如果您不会vi,那您可能就没辄了。
vi的基本概念
基本上vi可分为三种操作状态,分别是命令模式(Commandmode)、插入模式(Insertmode)和底线命令模式(Lastlinemode),各模式的功能区分如下:
1.Comandmode:
控制屏幕光标的移动,字符或光标的删除,移动复制某区段及进入Insertmode下,或者到Lastlinemode。
2.Insertmode:
唯有在Insertmode下,才可做文字数据输入,按Esc等可回到Comandmode。
3.Lastlinemode:
将储存文件或离开编辑器,也可设置编辑环境,如寻找字符串、列出行号等。
不过可以把vi简化成两个模式,即是将Lastlinemode也算入Commandmode,把vi分成Command和Insertmode。
vi的基本操作
•进入vi
在系统提示符号输入vi及文件名称后,即可进入vi全屏幕编辑画面:
$vitestfile
有一点要特别注意,就是您进入vi之后是处于“Commandmode”下,您要切换到Insertmode才能输入文字。
初次用vi的用户都会想先用上下左右键移动光标,结果电脑一直叫,把自己气个半死,所以进入vi后,先不要乱动,转换入Insert后再说。
•切换至Insertmode编辑文件
在Commandmode下按‘i’、‘a’或‘o’三键就可进入Insertmode。
这时候您就可以开始输入文字了。
i:
插入,从目前光标所在之处插入所输入的文字。
a:
增加,目前光标所在的下一个字开始输入文字。
o:
插入新的一行,从行首开始输入文字。
•Insert的切换→Commandmode,按Esc键
您目前处于Insertmode,您就只能一直打字。
假如您发现打错字了,想用光标键往回移动,将该字删除,就要按ESC键转换回Commandmode,再删除文字。
•离开vi及存文件
在Commandmode下,可按冒号“:
”键入入Lastlinemode,例如:
:
wfilename(输入“wfilename”,将文章存入指定的文件名filename)
:
wq(输入“wq”,因为进入之时已经指定文件名testfile,所以会写入testfile并离开vi)
:
q!
(输入“q!
”,强制离开并放弃编辑的文件)
Commandmode功能键列表
在介绍commandmode指令的时后,指令后面加上“常用”字眼的功能键,表示比较常用的vi指令,请读者您一定要学会、记住。
(1)i、a、o切换进入Insertmode。
[超级常用]
(2)移动光标
vi可以直接用键盘上的光标键来上下左右移动,但正规的vi是用小写英文字母h、j、k、l,分别控制光标左、下、上、右移一格。
按Ctrl+B:
屏幕往后移动一页。
[常用]
按Ctrl+F:
屏幕往前移动一页。
[常用]
按Ctrl+U:
屏幕往后移动半页。
按Ctrl+D:
屏幕往前移动半页。
按0(数字零):
移动文章的开头。
[常用]
按G:
移动到文章的最后。
[常用]
按w:
光标跳到下个word的开头。
[常用]
按e:
光标跳到下个word的字尾。
按b:
光标回到上个word的开头。
按$:
移到光标所在行的行尾。
[常用]
按^:
移到该行第一个非空白的字符。
按0:
移到该行的开头位置。
[常用]
按#:
移到该行的第#个位置,例:
51、121。
[常用]
(3)删除文字
x:
每按一次删除光标所在位置的后面一个字符。
[超常用]
#x:
例如,6x表删除光标所在位置的后面6个字符。
[常用]
X:
大字的X,每按一次删除光标所在位置的前面一个字符。
#X:
例如,20X表删除光标所在位置的前面20个字符。
dd:
删除光标所在行。
[超常用]
#dd:
例如,6