Linu常用命令解析_第1页
Linu常用命令解析_第2页
Linu常用命令解析_第3页
Linu常用命令解析_第4页
Linu常用命令解析_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux常用命令解析

一、文件处理命令2

1mv命令2

2cp命令8

3chmod命令10

5Is命令19

6mkdir命令24

7file命令25

8cd命令26

11tail命令语法31

二网络操作命令32

1.ifconfig命令32

2.ip命令34

3.ping命令35

4.Netstat命令36

6.ftp命令43

7.route命令45

三、系统安全相关命令48

1passwd命令48

2.Su命令51

3.shutdown命令52

4.reboot命令59

5install命令62

6linuxyum命令详解63

7linux的mount(挂载)命令详解70

8.exit命令79

9.last命令79

四、其它命令:83

l.Linux下的tar压缩解压缩命令详解83

2.linuxzip/unzip命令84

3.详名田介绍Linuxman命令87

1

一、文件处理命令

1mv命令

mv命令是move的缩写,可以用来移动文件或者将文件改名(move(rename)files),是Linux系统下常用的

命令,经常用来备份文件或者目录。

1.命令格式:

mv[选项]源文件或目录目标文件或目录

2.命令功能:

视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个

新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是

源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,

源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件

时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。

3.命令参数:

-b:若需覆盖文件,则覆盖前先行备份。

-f:force强制的意思,如果目标文件已经存在,不会询问而直接覆盖:

-i:若目标文件(destination)已经存在时,就会询问是否覆盖!

-u:若目标文件已经存在,且source比较新,才会更新(update)

-t:-target-directory=DIRECTORYmoveallSOURCEargumentsintoDIRECTORY,即指定mv的目标目录,该选项适

用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。

4.命令实例:

实例一:文件改名

命令:

mvtest.logtestl.txt

输出:

复制代码

代码如下:

[root@localhosttest]#ll

总计20drwxr-xr-x6rootroot409610-2701:58scf

drwxrwxrwx2rootroot409610-2517:46test3

drwxr-xr-x2rootroot409610-2517:56test4

drwxr-xr-x3rootroot409610-2517:56test5

-rw-r--r-lrootrootl610-2806:04test.log

[root@localhosttest]#mvtest.logtestl.txt

[root@localhosttest]#ll

总计20drwxr-xr-x6rootroot409610-2701:58scf

-rw-r-r-lrootrootl610-2806:04testl.txt

drwxrwxrwx2rootroot409610-2517:46test3

drwxr-xr-x2rootroot409610-2517:56test4

drwxr-xr-x3rootroot409610-2517:56test5

2

说明:

将文件test.log重命名为testl.txt

实例二:移动文件

命令:

mvtestl.txttest3

输出:

[root@localhosttest]#ll

总计20drwxr-xr-x6rootroot409610-2701:58scf

-rw-r-r-lrootroot2910-2806:05testl.txt

drwxrwxrwx2rootroot409610-2517:46test3

drwxr-xr-x2rootroot409610-2517:56test4

drwxr-xr-x3rootroot409610-2517:56test5

[root@localhosttest]#mvtestl.txttest3

[root@localhosttest]#ll

^il"16drwxr-xr-x6rootroot409610-2701:58scf

drwxrwxrwx2rootroot409610-2806:09test3

drwxr-xr-x2rootroot409610-2517:56test4

drwxr-xr-x3rootroot409610-2517:56test5

[root@IocaIhosttest]#cdtest3

[root@localhosttest3]#ll

总计4

-rw-r-r-lrootroot2910-2806:05testl.txt

[root@localhosttest3]#

说明:

将testl.txt文件移到目录test3中

实例三:将文件Iogl.txtjog2.txtjog3.txt移动到目录test3中。

命令:

mvlogl.txtlog2.txtlog3.txttest3

mv-t/opt/soft/test/test^Vlogl.txtlog2.txtlog3.txt

输出:

代码如下:

[root@localhosttest]#ll

总计28

-rw-r-r-lrootroot810-2806:15logl.txt

-rw-r-r-lrootrootl210-2806:15log2.txt

-rw-r-r-lrootrootl310-2806:16log3.txt

drwxrwxrwx2rootroot409610-2806:09test3

[root@localhosttest]#mvlogl.txtlog2.txtlog3.txttest3

[root@localhosttest]#ll

总计16drwxrwxrwx2rootroot409610-2806:18test3

[root@locaIhosttest]#cdtesty

[root@localhosttest3]#ll

总计16

3

-rw-r-r-lrootroot810-2806:15logl.txt

-rw-r-r--lrootrootl210-2806:15log2.txt

-rw-r-r-lrootrootl310-2806:16log3.txt

-rw-r-r-lrootroot2910-2806:05testl.txt

[root@localhosttest3]#

[root@localhosttest3]#ll

总计20

-rw-r-r-lrootroot810-2806:15logl.txt

-rw-r-r-lrootrootl210-2806:15log2.txt

-rw-r-r-lrootrootl310-2806:16log3.txt

drwxr-xr-x2rootroot409610-2806:21logs

-rw-r-r-lrootroot2910-2806:05testl.txt

[root@localhosttest3]#mv-t/opt/soft/test/testVlogl.txtlog2.txtlog3.txt

[root@locaIhosttest3]#cd..

[root@localhosttest]#cdtestV

[root@localhosttest4]#ll

总计12

-rw-r-r-lrootroot810-2806:15logl.txt

-rw-r-r-lrootrootl210-2806:15log2.txt

-rw-r-r-lrootrootl310-2806:16log3.txt

[root@localhosttest4]#

说明:

mvlogl.txtlog2.txtlog3.txttest3命令将logl.txt,Iog2.txt,Iog3.txt三个文件移到test3目录中去,

mv-t/opt/soft/test/test4/logl.txtlog2.txtlog3.txt命令又将三个文件移动到test4目录中去

实例四:将文件filel改名为file2,如果file2已经存在,则询问是否覆盖

命令:

mv-ilogl.txtlog2.txt

输出:

夏制代码

代码如下:

[root@localhosttest4]#ll

总计12

-rw-r-r-lrootroot810-2806:15logl.txt

-rw-r-r-lrootrootl210-2806:15log2.txt

-rw-r-r-lrootroot1310-2806:16log3.txt

[root@localhosttest4]#catlogl.txt

odfdfs

[root@localhosttest4]#catlog2.txt

ererwerwer

[root@localhosttest4]#mv-ilogl.txtlog2.txt

mv:是否覆盖“Iog2.txt”?y

4

[root@localhosttest4]#catlog2.txt

odfdfs

[root@localhosttest4]#

实例五:将文件filel改名为file2,即使file2存在,也是直接覆盖掉。

命令:

mv-flog3.txtlog2.txt

输出:

复制代码

代码如下:

[root@localhosttest4]#ll

总计8

-rw-r--r-lrootroot810-2806:15log2.txt

-rw-r-r-lrootrootl310-2806:16log3.txt

[root@localhosttest4]#catlog2.txt

odfdfs

[root@localhosttest4]#catlog3

cat:log3:没有那个文件或R录

[root@localhosttest4]#ll

总计8

-rw-r-r--lrootroot810-2806:15log2.txt

-rw-r-r-lrootrootl310-2806:16log3.txt

[root@localhosttest4]#catlog2.txt

odfdfs

[root@localhosttest4]#catlog3.txt

dfosdfsdfdss

[root@localhosttest4]#mv-flog3.txtlog2.txt

[root@localhosttest4]#catlog2.txt

dfosdfsdfdss

[root@locaIhosttest4]#ll

总计4

-rw-r-r-lrootrootl310-2806:16log2.txt

[root@localhosttest4]#

说明:

Iog3.txt的内容直接覆盖了Iog2.txt内容,-f这是个危险的选项,使用的时候一定要保持头脑清晰,一般情

况下最好不用加上它。

实例六:目录的移动

命令:

mvdirldir2

输出:

复制代码

5

代码如下:

[root@localhosttest4]#ll

-rw-r-r-lrootroot1310-2806:16log2.txt

[root@localhosttest4]#ll

-rw-r--r--lrootrootl310-2806:16log2.txt

[root@localhosttest4]#cd..

[root@localhosttest]#ll

drwxr-xr-x6rootroot409610-2701:58scf

drwxrwxrwx3rootroot409610-2806:24test3

drwxr-xr-x2rootroot409610-2806:48test4

drwxr-xr-x3rootroot409610-2517:56test5

[root@localhosttest]#cdtest3

[root@localhosttest3]#ll

drwxr-xr-x2rootroot409610-2806:21logs

-rw-r-r-lrootroot2910-2806:05testl.txt

[root@locaIhosttest3]#cd..

[root@IocaIhosttest]#mvtest4test3

[root@localhosttest]#ll

drwxr-xr-x6rootroot409610-2701:58scf

drwxrwxrwx4rootroot409610-2806:54test3

drwxr-xr-x3rootroot409610-2517:56test5

[root@localhosttest]#cdtesty

[root@localhosttest3]#ll

drwxr-xr-x2rootroot409610-2806:21logs

-rw-r-r-lrootroot2910-2806:05testl.txt

drwxr-xr-x2rootroot409610-2806:48test4

[root@localhosttest3]#

说明:

如果目录dir2不存在,将口录dirl改名为dir2;否则,将dirl移动到dir2中。

实例7:移动当前文件夹下的所有文件到上一级目录

命令:

mv*../

输出:

复制代码

代码如下:

[root@localhosttest4]#ll

-rw-r-r--lrootroot2510-2807:02logl.txt

-rw-r-r-lrootrootl310-2806:16log2.txt

[root@localhosttest4]#mv*../

[root@IocaIhosttest4]#11

6

[root(®localhosttest4]#cd..

[root@localhosttest3]#ll

-rw-r-r-lrootroot2510-2807:02logl.txt

-rw-r-r-lrootroot1310-2806:16log2.txt

drwxr-xr-x2rootroot409610-2806:21logs

-rw-r-r--lrootroot2910-2806:05testl.txt

drwxr-xr-x2rootroot409610-2807:02test4

实例八:把当前目录的一个子目录里的文件移动到另一个子目录里

命令:

mvtesty*.txttest5

输出:

复制代码

代码如下:

[root@localhosttest]#ll

drwxr-xr-x6rootroot409610-2701:58scf

drwxrwxrwx4rootroot409610-2807:02test3

drwxr-xr-x3rootroot409610-2517:56test5

[root@IocaIhosttest]#cdtest3

[root@localhosttest3]#ll

-rw-r-r-lrootroot2510-2807:02logl.txt

-rw-r-r-lrootrootl310-2806:16log2.txt

drwxr-xr-x2rootroot409610-2806:21logs

-rw-r-r-lrootroot2910-2806:05testl.txt

drwxr-xr-x2rootroot409610-2807:02test4

[root@locaIhosttest3]#cd..

[root@locaIhosttest]#mvtestV*.txttestS

[root@localhosttest]#cdtest5

[root@localhosttest5]#ll

-rw-r--r-lrootroot2510-2807:02logl.txt

-rw-r-r-lrootrootl310-2806:16log2.txt

-rw-r-r-lrootroot2910-2806i05testl.txt

drwxr-xr-x2rootroot409610-2517:56test5-l

[root@locaIhosttest5]#cd..

[root@locaIhosttest]#cdtesty

[root@localhosttest3]#ll

drwxr-xr-x2rootroot409610-2806:21logs

drwxr-xr-x2rootroot409610-2807:02test4

[root@localhosttest3]#

实例九:文件被覆盖前做简单备份,前面加参数・b

命令:

7

mvlogl.txt-blog2.txt

输出:

复制代码

代码如下:

[root@localhosttest5]#ll

-rw-r-r-lrootroot2510-2807:02logl.txt

-rw-r-r-lrootrootl310-2806:16log2.txt

-rw-r-r--lrootroot2910-2806:05testl.txt

drwxr-xr-x2rootroot409610-2517:56test5-l

[root@localhosttest5]#mvlogl.txt-blog2.txt

mv:是否覆盖Tog2.txt”?y

[root@localhosttest5]#ll

-rw-r-r-lrootroot2510-2807:02log2.txt

-rw-r--r--lrootrootl310-2806:16log2.txt~

-rw-r-r-lrootroot2910-2806:05testl.txt

drwxr-xr-x2rootroot409610-2517:56test5-l

[root@localhosttest5]#

-b不接受参数,mv会去读取环境变量VERSION_CONTROL来作为备份策略。

-backup该选项指定如果目标文件存在时的动作,共有四种备份策略:

l.CONTROL=none或off:不备份。

2.C0NTR0L=numbered或t:数字编号的备份

3.CONTROL=existing或nil:如果存在以数字编号的备份,则继续编号备份m+l...n:

执行mv操作前已存在以数字编号的文件Iog2.txt.~l~,那么再次执行将产生Iog2.txt~2~,以次类推。如果之

前没有以数字编号的文件,则使用下面讲到的简单备份。

4.C0NTR0L=simple或never:使用简单备份:在被覆盖前进行了简单备份,简单备份只能有一份,再次被

覆盖时,简单备份也会被覆盖。

2cp命令

cp(复制档案或目录)

[root@linux~]#cp[-adfilprsu]来源档(source)目的榔destination)

[root@linux~]#cp[options]sourcelsource2source3,**.directory

参数:

-a:相当于-pdr的意思;

-d:若来源文件为连结文件的属性(linkfile),则复制连结文件属性而非档案本身;

-f:为强制(force)的意思,若有重复或其它疑问时,不会询问使用者,而强制复制;

-i:若目的槽(destination)已经存在时,在覆盖时会先询问是否真的动作!

-I:进行硬式连结(hardlink)的连结档建立,而非复制档案本身;

-P:连同档案的属性一起复制过去,而非使用预设属性:

-r:递归持续复制,用于目录的复制行为;

-s:复制成为符号连结文件(symbolidink),亦即「快捷方式」档案:

-u:若destination比sourceI日才更新destination!

8

最后需要注意的,如果来源档有两个以上,则最后一个目的文件一定要是「目录」才行!

范例:

范例一:将家目录下的.bashrc复制到/tmp下,并更名为bashrc

[root@linux~]#cd/tmp

[root@linuxtmp]#cp^/.bashrcbashrc

[root@linuxtmp]#cp-i~/.bashrcbashrc

cp:overwrite'basrhc??n

#重复作两次动作,由于/tmp底下已经存在bashrc了,加上・i参数,

#则在覆盖前会询问使用者是否确定!可以按下n或者y呢!

#但是,反过来说,如果不想要询问时,则加上・f这个参数来强制直接覆盖!

范例二:将/var/log/wtmp复制到/tmp底下

[root@linuxtmp]#cp/var/log/wtmp.<==想要复制至ij目前的目录,最后的.不要忘

[root@linuxtmp]#ls-l/var/log/wtmpwtmp

-rw-rw-r-lrootutmp71808Jull812:4€/var/log/wtmp

-rw-r-r-lrootroot71808Jull821:58wtmp

#注意到了吗?!在不加任何参数的情况下,档案的所属者会改变,连权限也跟着改变了〜

#这是个很重要的特性!要注意喔!还有,连档案建立的时间也不一样了!

#如果您想要将档案的所有特性都一起复制过来,可以加上-a喔!

[root@linuxtmp]#cp-a/var/log/wtmpwtmp_2

[root@linuxtmp]#ls-l/var/log/wtmpwtmp_2

-rw-rw-r-lrootutmp71808Jull812:4€/var/log/wtmp

-rw-rw-r-lrootutmp71808Jull812:46wtmp_2

#瞭了吧!整个资料特性完全一模一样\!真是不赖〜这就是-a的特性!

范例三:复制/etc/这个目录下的所有内容到/tmp底下

[root@linuxtmp]#cp/etc//tmp

cp:omittingdirectory'/etc><==如果是目录,不能直接复制,要加上的参数

[root@linuxtmp]#cp-r/etc//tmp

#还是要再次的强调喔!-r是可以复制目录,但是,档案与目录的权限会被改变〜

#所以,也可以利用cp-a/etc/tmp来下达指令喔!

范例四:将范例一复制的bashrc建立•个连结档(symboliclink)

[root@linuxtmp]#ls-lbashrc

-rw-r-r-lrootroot395Jull822:08bashrc

[root@linuxtmp]#cp-sbashrcbashrc_slink

[root@linuxtmp]#cp-lbashrcbashrc_hlink

[root@linuxtmp]#ls-lbashrc*

-rw-r-r-2rootroot395Jull822:08bashrc

-rw-r-r-2rootroot395Jull822:08bashrc_hlink

lrwxrwxrwxlrootroot6Jull822:31bashrc_slink->bashrc

#那个bashrc_slink是由-s的参数造成的,建立的是一个「快捷方式」,

#所以您会看到在档案的最右边,会显示这个档案是r连结』到哪里去的!

#至于那个bashrc_hlink有趣了!建立了这个档案之后,bashrc与bashrc_hlink

#所有的参数都一样,只是,第二栏的link数改变成为2了〜而不是原本的1喔!

#这两种连结的方式的异同,我们会在下一章里面进行介绍的!

范例五:若~/.bashrc比/tmp/bashrc新才复制过来

9

[root@linuxtmp]#cp-u~/.bashrc/tmp/bashrc

#这个-u的特性,是在目标档案与来源档案有差异时,才会复制的。

#所以,比较常被用于「备份」的工作当中喔!八丁

范例六:将范例四造成的bashrc_slink复制成为bashrc_slink_2

[root@linuxtmp]#cpbashrc_slinkbashrc_slink_2

[root@linuxtmp]#ls-lbashrc_slink*

lrwxrwxrwxlrootroot6Jull822:31bashrc_slink->bashrc

-rw-r-r-lrootroot395Jull822:48bashrc_slink_2

#这个例子也是很有趣喔!原本复制的是连结档,但是却将连结档的实际档案复制过来了

#也就是说,如果没有加上任何参数时,复制的是源文件,而非连结文件的属性!

#若要复制连结文件的属性,就得要使用-d或者-a的参数了!

范例七:将家目录的.bashrc及.bash_history复制到/tmp底下

[root@linuxtmp]#cp~/.bashrc~/.bash_history/tmp

#可以将多个数据一次复制到同一个目录去!

这个cp的功能很多,而由于我们常常在进行一些数据的复制,所以也会常常用到这个指令的。一般来说,

我们如果去复制别人的数据(当然,该档案您必须要有read的权限才行啊!A')时,总是希望复制到的数据

最后是我们自己的,所以,在预设的条件中,cp的来源档与目的档的权限是不同的,目的档的拥有者通常

会是指令操作者本身。举例来说,上面的范例二中,由于我是root的身份,因此复制过来的档案拥有者与

群组就改变成为root所有了!这样说,可以明白吗?!A_A

由于具有这个特性,因此,当我们在进行备份的时候,某些需要特别注意的特殊权限档案,例如密码文件

(/etc/shadow)以及一些设定档,就不能直接以cp来复制,而必须要加上-a或者是-p等等可以完整复制档案

权限的参数才行!另外,如果您想要复制档案给其它的使用者,也必须要注意到档案的权限(包含读、写、

执行以及档案拥有者等等),否则,其它人还是无法针对您给予的档案进行修订的动作喔!注意注意!

3chmod命令

简明Linux命令行笔记:chmod

修改文件的权限

chmod[options]whooperatorpermissionfile-list(符号模式)

chmod[options]modefile-list(绝对模式)

参数

file-list是chmod需要修改权限的文件名或目录的路径名

说明

Linux中主要有两种改变权限的方法

第一种:使用符号模式,例如:chmoda+xfile,此处的a代表所有用户,+代表添加权限,x代表执行权限

第二种:使用绝对模式,例如:chmod777file,表示为所有用户添加可读可写可执行权限,三个数值分别对

应三种用户类型

符号模式

who用户类型

who用户类型意义

uUser文件的所有者

10

gOther与文件相关联的组

0Other所有其他用户

aAll相当与ug。,所有用户

operator运算符

operator意义

+为指定的用户类型添加权限

-为指定的用户类型删除权限

=设定或重置指定用户类型的权限

permission模式

permission意义对文件含义对目录含义

r设置读权限可以查看文件内容可以列出目录中的内容

w设置写权限可以修改文件内容可以在目录中创建、删除文件

X设置执行权限可以执行文件可以进入目录

从上面可以知道,为什么在目录的权限中,r和x经常在•起设置

因为必须进入目录才能读取内容

绝对模式

绝对模式的典型范例

模式意义

777所有用户都对文件具有读、写和执行权限

755文件所有者对文件具有读、写和执行权限;组用户和其他用户对文件需有读和执行权限

711文件所有者对文件具有读、写和执行权限;组用户和其他用户对文件具有执行权限

644文件所有者可以读、写文件;组用户和其他用户可以读文件

640文件所有者可以读、写文件;组用户可以读文件;其他用户不能访问文件

选项

-c显示修改过程信息

-f强制修改权限

-R对目录递归修改权限

-V显示修改过后的的信息

示例

chmodu+x

$ls-ltemp-rw-r-r-lsiusiu01月1013:50temp

$chmodu+xtemp

$ls-ltemp-rwxr-r-lsiusiu01月1013:50temp

列出文件详细信息,可看到开头有-rw-r--r-,排除第一位,后面的每三位代表一种用户类型,-表示无设置

此处为文件所有者添加执行权限

chmodug+x

11

$ls-ltemp-rwxr--r--lsiusiu01月1013:50temp

$chmodug=rwxtemp

$ls-ltemp-rwxrwxr--lsiusiu01月1013:50temp

为文件所有者和组用户添加执行权限

chmodg-x

$ls-ltemp-rwxrwxr-lsiusiu01月1013:50temp

$chmodg-xtemp

$ls-ltemp-rwxrw-r-lsiusiu01月1013:50temp

为组用户减去执行权限

chmod777

$ls-ltemp-rwxrw-r--lsiusiu01月1013:50temp

$chmod777temp

$ls-ltemp-rwxrwxrwxlsiusiu01月1013:50temp

为所有用户添加可读可写可执行权限

chmod755

$ls-ltemp-rwxrwxrwxlsiusiu01月1013:50temp

$chmod755temp

$ls-ltemp-rwxr-xr-xlsiusiu01月1013:50temp

为所有者添加读、写和执行权限,组用户和其他用户添加读和执行权限

chmod-Rv755

$ls-l

总用量4

drwxr-xr-x2siusiu40961月1013:57dir

$chmod-Rv755dir”dir”的权限模式保留为0755(rwxr-xr-x)

递归为文件夹添加权限,并显示权限添加信息

Tips

1.文件夹必须先要有执行权限才可读写

2.除了以上基本的用户权限外,还有setuid、setgid和粘滞位等设置,有点高级。俺这里是简明笔记

4vi命令

VI的基本概念

基本上vi可分为三种操作状态,分别是命令模式(Commandmode)、插入模式(Insertmode)和底线命令

模式(Lastlinemode),各模式的功能区分如下:

1.Comandmode:控制屏幕光标的移动,字符或光标的删除,移动复制某区段及进入Insertmode下,或者

至ijLastlinemode。

2.Insertmode:唯有在Insertmode下,才可做文字数据输入,按Esc等可回至UComandmode。

3.Lastlinemode:将储存文件或离开编辑器,也可设置编辑环境,如寻找字符串、列出行号等。

不过可以把vi简化成两个模式,即是将Lastlinemode也算入Commandmode,把vi分成Command和

Insertmodeo

vi的基本操作

?进入vi

在系统提示符号输入vi及文件名称后,即可进入vi全屏幕编辑画面:

$vitestfile

12

有一点要特别注意,就是您进入vi之后是处于"Commandmode”下,您要切换到Insertmode才能输入文

字。初次用vi的用户都会想先用上下左右键移动光标,结果电脑•直叫,把自己气个半死,所以进入vi后,

先不要乱动,转换入Insert后再说。

?切换至Insertmode编辑文件

在Commandmode下按'『、匕'或'o'三键就可进入Insertmode。这时候您就可以开始输入文字了。

i:插入,从目前光标所在之处插入所输入的文字。

a:增加,目前光标所在的下一个字开始输入文字。

。:插入新的一行,从行首开始输入文字。

?lnsert的切换--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、I,分别控制光标左、下、上、右移一格。

按Ctrl+B:屏幕往后移动一页。[常用]

按Ctrl+F:屏幕往前移动一页。[常用]

按Ctrl+U:屏幕往后移动半页。

按Ctrl+D:屏幕往前移动半页。

按0(数字零):移动文章的开头。[常用]

按G:移动到文章的最后。[常用]

按w:光标跳到下个word的开头。(常用]

按e:光标跳到下个word的字尾。

按b:光标回到上个word的开头。

按$:移到光标所在行的行尾。[常用]

按人:移到该行第一个非空白的字符。

按0:移到该行的开头位置。[常用]

按#:移到该行的第#个位置,例:51,121o[常用]

(3)删除文字

X:每按一次删除光标所在位置的后面一个字符。[超常用]

#x:例如,6x表删除光标所在位置的后面6个字符。[常用]

X:大字的X,每按一次删除光标所在位置的前面一个字符。

#X:例如,20X表删除光标所在位置的前面20个字符。

dd:删除光标所在行。[超常用]

#dd:例如,6dd表删除从光标所在的该行往下数6行之文字。[常用]

13

(4)复制

yw:将光标所在处到字尾的字符复制到缓冲区中。

(想在和#x、#X的功能相反)

P:将缓冲区内的字符粘贴到光标所在位置(指令‘yw'与加必须搭配使用)。

yy:复制光标所在行。[超常用]

P:复制单行到您想粘贴之处.(指令‘yy'与'P'必须搭配使用)

#yy:如:6yy表示拷贝从光标所在的该行往下数6行之文字。[常用]

P:复制多行到您想粘贴之处。(指令‘#yy'与'p'必须搭配使用)

“ayy:将复制行放入buffera,vi提供buffer功能,可将常用的数据存在buffer

“ap:将放在buffers的数据粘贴。

“b3yy:将三行数据存入bufferb。

“b3p:将存在bufferb的资料粘贴

(5)取代

r:取代光标所在处的字符:[常用]

R:取代字符直到按Esc为止。

(6)复原(undo)上一个指令

u:假如您误操作一个指令,可以马上按u,回复到上一个操作。[超常用]

.:.可以重复执行上一次的指令。

(7)更改

cw:更改光标所在处的字到字尾$处。

c#w:例如,c3w代表更改3个字。

(8)跳至指定行

Ctrl+G:列出光标所在行的行号。

#G:例如,15G,表示移动光标至文章的第15行行首。[常用]

Lastlinemode下指令简介

读者您要使用Lastlinemode之前,请记得先按Esc键确定您已经处于Commandmode下后,再按冒号":"

或“/”或“?”三键的其中一键进入Lastlinemode。

1.列出行号

setnu:输入“setnu”后,会在文章的每一行前面列出行号。

2.跳到文章的某一行

#:井号代表一个数字,在Lastlinemode提示符号前输入数字,再按Enter就会跳到该行了,如:15[Enter]

就会跳到文章的第15行。[常用]

3.寻找字符串

/关键字:先按/,再输入您想寻找的字,如果第一次找的关键字不是您相尽可能的,可以一直按n会往下

寻找到您要的关键字为止。

?关键字:先按?,再输入您想寻找的字,如果第一次找的关键字不是您想要的,可以按n会往前寻找到

您要的关键字为止。

4.取代字符串

1.$s/string/replae/g:在lastlinemode输入“1,$s/string/replace/g”会将全文的string字符串取代为replace

字符串,其中l,$s就是指搜寻区间为文章从头至尾的意思,g则是表示全部取代不必确认。

%s/string/replace/c:同样会将全文的string字符串取代为replace字符串,和上面指令不同的地方是,%s

和l,$s是相同的功能,c则是表示要替代之前必须再次确认是否取代。

l,20s/string/replace/g:将1至20行间的string替代为reIpace字符串。

5.存文件

14

W:在lastlinemode提示符号“:”前按w即可将文件存起来。[超常用]

#,#wfilename:如果您想摘取文章的某一段,存成另•个文件,可用这个指令#代表行号,例如30,50wnice,

将您正在编辑文章的第30~50行存成nice这个文件。

6.离开

q:按q就离开,有时如果无法离开vi,可搭配“!:强置离开vi,如“q!”

qw:一般建议离开时,搭配w•起使用,如此离开时还可存文件。[常用]

VI命令集锦:

进入vi的命令

vifilename:打开或新建文件,并将光标置于第•行首

vi+nfilename:打开文件,并将光标置于第n行首

vi+filename:打开文件,并将光标置于最后一行首

vi+/patternfilename:打开文件,并将光标置于第一个与pattern见配的串处

vi-rfilename:在上次正用vi编辑时发生系统崩溃,恢复filename

vifilenamefilename:打开多个文件,依次编辑

移动光标类命令

h:光标左移一个字符

I:光标右移一个字符

space:光标右移一个字符

Backspace:光标左移一个字符

k或Ctrl+p:光标上移一行

j或Ctrl+n:光标下移一行

Enter:光标下移一行

w或W:光标右移一个字至字首

b或B:光标左移一个字至字首

15

e或E:光标右移一个字j至字尾

):光标移至句尾

(:光标移至句首

}:光标移至段落开头

{:光标移至段落结尾

nG:光标移至第n行首

n+:光标下移n行

n-:光标上移n行

n$:光标移至第n行尾

H:光标移至屏幕顶行

M:光标移至屏幕中间行

L:光标移至屏幕最后行

0:(注意是数字零)光标移至当前行首

$;光标移至当前行尾

屏幕翻滚类命令

Ctrl+u:向文件首翻半屏

Ctrl+d:向文件尾翻半屏

Ctrl+f:向文件尾翻一屏

Ctrl+b;向文件首翻一屏

nz:将第n行滚至屏幕顶部,不指定n时将步前行滚至屏幕顶部。

16

插入文本类命令

i:在光标前

I:在当前行首

a:光标后

A:在当前行尾

0:在当前行之下新开一行

0:在当前行之上新开一行

r:替换当前字符

R:替换当前字符及其后的字符,直至按ESC键

S:从当前光标位置处开始,以输入的文本替代指定数目的字符

S:删除指定数目的行,并以所输入文本代替之

new或nCW:修改指定数目的字

nCC:修改指定数目的行

删除命令

ndw或ndW:删除光标处开始及其后的n-1个字

do:删至行首

d$:删至行尾

ndd:删除当前行及其后n-1行

x或X:删除一个字符,x删除光标后的,而X删除光标前的

Ctrl+u:删除输入方式下所输入的文本

17

搜索及替换命令:

/pattern:从光标开始处向文件尾搜索pattern

?pattern:从光标开始处向文件首搜索pattern

n:在同一方向重复上一次搜索命令

N:在反方向上重复上一次搜索命令

:s/pl/p%:将当前行中所有pl均用p2替代

:nl,n2s/pl/p次:将第nl至n2行中所有pl均用p2替代

:g/pVs//p%:将文件中所有pl均用p2替换

选项设置

all:列出所有选项设置情况

term:设置终端类型

ignorance:在搜索中忽略大小写

list:显示制表位(Ctrl+I)和行尾标志($)

number:显示行号

report:显示由面向行的命令修改过的数目

terse:显示简短的警告信息

warn:在转到别的文件时若没保存当前文件则显示NOwrite信息

nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符

nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始

mesg:允许vi显示其他用户用write写到自己终端上的信息

18

最后行方式命令

:nl,n2con3:将nl行到n2行之间的内容拷贝到第n3行下

:nl,n2mn3:将nl行到n2行之间的内容移至到第n3行下

:nl,n2d:将nl行到n2行之间的内容删除

:w:保存当前文件

:efilename:打开文件filename进行编辑

:x:保存当前文件并退出

:q:退出vi

:q!:不保存文件并退出vi

:kommand:执行shell命令command

:nl,n2w!command:将文件中nl行至n2行的内容作为command的输入并执行之,若不指

定nl,n2,则表示将整个文件内容作为command的输入

:rlcommand:将命令command的输出结果放到当前行。

51s命令

英文全名:List即列表的意思,当我们学习某种东西的时候要做到知其所以然,当你知道了这个东西大概是

个什么了以后你的思维就会联想到很多的东西学习的就会很快。

1.Is-a列出文件下所有的文件,包括以“开头的隐藏文件(linux下文件隐藏文件是以.开头的,如果存

在..代表存在着父目录)。

2.IS-I列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等。

3.Is-F在每一个文件的末尾加上一个字符说明该文件的类型。“@“表示符号链接、表示FIFOS、”/”表示

目录、"="表示套接字。

4.Is-s在每个文件的后面打印出文件的大小。size(大小)

5.Is-t按时间进行文件的排序Time(时间)

6.Is-A列出除了"."和以外的文件。

7.Is-R将目录下所有的子目录的文件都列出来,相当于我们编程中的“递归”实现

8.Is-L列出文件的链接名。Link(链接)

9.Is-S以文件的大小进行排序

以上是一些关于Is命令的一些用法,当然还有好多没有列出来,大家可以man一下。有助于学习英文

19

Is可以结合管道符”I“来进行一下复杂的操作。比如:ls|less用于实现文件列表的分页,Is

计算当前目录下的文件数量

ls-|*|grep"A-"|wc-|

最后说一下linux下文件的一些文件颜色的含义

绿色代表可执行文件,(绿色代表通行证的意思)呵呵

红色一。代表压缩文件

深蓝色>代表目录

浅蓝色-代表链接文件

灰色-代表其它的一些文件

Is命令是linux下最常用的命令。Is命令就是list的缩写缺省下Is用来打印出当前目录的清单如果Is指

定其他目录那么就会显示指定目录里的文件及文件夹清单。通过Is命令不仅可以查看linux文件夹包含

的文件而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。Is命令在日常的linux

操作中用的很多!

1.命令格式:

Is[选项][目录名]

2.命令功能:

列出目标目录中所有的子目录和文件。

3.常用参数:

-a,-all列出目录下的所有文件,包括以.开头的隐含文件

-A同但不列出(表示当前目录)和(表示当前目录的父目录)。

-c配合-It:根据ctime排序及显示ctime(文件状态最后更改的时间)配合-I:显示ctime但根据名称

排序否则:根据ctime排序

-C每栏由上至下列出项目

-color[=WHEN]控制是否使用色彩分辨文件“WHEN可以是,neve「、匕Iways,或匕uto,其中之•

-d,-directory将目录象文件一样显示,而不是显示其下的文件。

-D,-dired产生适合Emacs的dired模式使用的结果

-f对输出的文件不进行排序,选项生效,-1st选项失效

-g类似-I,但不列出所有者

-G,-no-group不列出任何有关组的信息

-h,-human-readable以容易理解的格式列出文件大小(例如IK234M2G)

-si类似-h,但文件大小取1000的次方而不是1024

-H,-dereference-command-line使用命令列中的符号链接指示的真正目的地

-indicator-style二方式指定在每个项目名称后加上指示符号〈方式〉:none(默认),classify(-F),file-type(-p)

-i,-inode印出每个文件的inode号

-b-ignore:样式不印出任何符合shell万用字符<样式〉的项目

-k即-block-size=lK,以k字节的形式表示文件的大小。

-I除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。

-L,-dereference当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息

-m所有项目以逗号分隔,并填满整行行宽

-o类似-I,显示文件的除组信息外的详细信息。

-r,-reverse依相反次序排列

-R,-recursive同时列出所有子目录层

20

-s,-size以块大小为单位列出所有文件的大小

-S根据文件大小排序

-sort=WORD以下是可选用的WORD和它们代表的相应选项:

extension-Xstatus-c

none-Utime-t

size-Satime-u

time-taccess-u

version-vuse-u

-t以文件修改时间排序

-u配合显示访问时间而且依访问时间排序

配合-I:显示访问时间但根据名称排序

否则:根据访问时间排序

-U不进行排序;依文件系统原有的次序列出项目

-V根据版本进行排序

-w,-width二COLS自行指定屏幕宽度而不使用目前的数值

-X逐行列出项目而不是逐栏列出

-X根据扩展名排序

-1每行只列出一个文件

-help显示此帮助信息并离开

-version显示版本信息并离开

4.常用范例:

例•:歹ij出/home/peidachang文件夹下的所有文件和目录的详细资料

命令:Is-I-R/home/peidachang

在使用Is命令时要注意命令的格式:在命令提示符后,首先是命令的关键字,接下来是命令参数,在命令

参数之前要有一短横线所有的命令参数都有特定的作用,自己可以根据需要选用一个或者多个参数,

在命令参数的后面是命令的操作对象。在以上这条命令"Is-I-R/home/peidachang”中,“Is”是命令关

键字,“-I-R”是参数,"/home/peidachang"是命令的操作对象。在这条命令中,使用到了两个参数,

分别为“I”和“R",当然,你也可以把他们放在一起使用,如下所示:

命令:Is-IR/home/peidachang

这种形式和上面的命令形式执行的结果是完全一样的。另外,如果命令的操作对象位于当前目录中,可以

直接对操作对象进行操作;如果不在当前目录则需要给出操作对象的完整路径,例如上面的例子中,我的当

前文件夹是peidachang文件夹,我想对home文件夹下的peidachang文件进行操作,我可以直接输入Is-IR

peidachang,也可以用Is-IR/home/peidachang。

例二:列出当前目录中所有以“t”开头的目录的详细内容,可以使用如下命令:

命令:Is-It*

可以查看当前目录下文件名以“t”开头的所有文件的信息。其实,在命令格式中,方括号内的内容都是可

以省略的,对于命令Is而言,如果省略命令参数和操作对象,直接输入“Is”,则将会列出当前工作目

录的内容清单。

例三:只列出文件下的子目录

命令:Is-F/opt/soft|grep/$

列出/opt/soft文件下面的子目录

输出:

复制代码

21

代码如下:

[root@localhostopt]#Is-F/opt/soft|grep/$

jdkl.6.O_16/

subversion-1.6.1/

tomcat6.0.3y

命令:Is-I/opt/soft|grep"Ad"

列出/opt/soft文件下面的子目录详细情况

输出:

复制代码

代码如下:

[root@localhostopt]#Is-I/opt/soft|grep"Ad"

drwxr-xr-x10rootroot409609-1718:17jdkl.6.0_16

drwxr-xr-x1610161016409610-1103:25subversion-1.6.1

drwxr-xr-x9rootroot40962011-11-01tomcat6.0.32

例四:列出目前工作目录下所有名称是s开头的档案,愈新的排愈后面,可以使用如下命令:

命令:Is-ltrs*

输出:

[root@localhostopt]#Is-Itrs*

src:

总计0

script:

总计0

soft:

总计350644

drwxr-xr-x9rootroot40962011-11-01tomcat6.0.32

-rwxr-xr-x1rootroot8187126009-1718:15jdk-6ul6-linux-x64.bin

drwxr-xr-x10rootroot409609-1718:17jdkl.6.0_16

-rw-r-r-1rootroot20583128109-1718:33apache-tomcat-6.0.32.tar.gz

-rw-r-r-1rootroot545768409-2100:23tomcat6.0.32.tar.gz

-rw-r-r-1rootroot472617910-1011:08subversion-deps-1.6.1.tar.gz

-rw-r-r-1rootroot750102610-1011:08subversion-1.6.l.tar.gz

drwxr-xr-x1610161016409610-1103:25subversion-1.6.1

例五:列出目前工作目录下所有档案及目录;目录于名称后加可执行档于名称后加“物

命令:Is-AF

输出:

[root@localhostopt]#Is-AF

log/script/soft/src/svndata/web/

例六:计算当前目录下的文件数和目录数

命令:

ls-1*|grepM-“|wc-l一文件个数

Is-I*|grep"Ad"|wc-I一目录个数

22

例七:在Is中列出文件的绝对路径

命令:Is|sed"s:A:'pwd"/:"

输出:

[root@localhostopt]#Is|sed"s:A:'pwd7:H

/opt/log

/opt/script

/opt/soft

/opt/src

/opt/svndata

/opt/web

例九:列出当前目录下的所有文件(包括隐藏文件)的绝对路径,对目录不做递归

命令:find$PWD-maxdepth1|xargsIs-Id

输出:

复制代码

代码如下:

[root@localhostopt]#find$PWD-maxdepth1|xargsIs-Id

drwxr-xr-x8rootroot409610-1103:43/opt

drwxr-xr-x2rootroot40962012-03-08/opt/log

drwxr-xr-x2rootroot40962012-03-08/opt/script

drwxr-xr-x5rootroot409610-1103:21/opt/so

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论