LINUX 命令大全

LINUX 命令大全  

Linux虽然是免费的,但它的确是一个非常优秀的操作系统,与MS-WINDOWS相比具有可
靠、 稳定、速度快等优点,且拥有丰富的根据UNIX版本改进的强大功能。下面,作为一
个典型的DOS 和WINDOWS用户,让我们一起来学习Linux的一些主要命令,希望大家能尽
快进入到Linux的世界里。

  一、启动
  Linux的启动操作过程和DOS相似(尽管如此,但作为操作系统本身,Linux在启动和
退出时所作的工作要比DOS多得多),也可以通过按下Ctrl+Alt+Del三键进行热启动。不
同的是Linux启动到最后时,需要进行登录。下面是一个典型的登录过程:
  ……
  RedHat Linux release 5.1
  Kernel 2.0.32 on an i686
  login:
  你键入:root 后,计算机显示输口令(password:),输入你的口令(如果是第一次
启动,则是你在安装时所输入的口令)即可。当计算机出现一个“#”提示 符时,表明
你登录成功!
  [root@localhost root]#_    Linux提示符
  C:/>_         DOS提示符

  二、常用的一些命令:
  1.显示文件目录命令ls(DOS下为DIR)
  在Linux中用ls命令显示文件及目录(当然,你仍然也可用DIR命令,只不过在这里的
参数不同)。例如:#ls root mnt boot dev bin usr xiong tmp etc games
  看起来似乎简单(就相当于DOS中的“DIR/W”),但你会发现你看到的有些难懂,连
哪些是目录哪些是文件都不清楚,哪些又是可执行文件呢?不要紧,请输入:#ls -F+
root/ mnt/ boot/ dev/ bin/ usr/ xiong* tmp/ etc/ games / readme
  看清楚了吧,带*为可执行文件(相当于DOS中的EXE和COM文件),带/为子目录,其
它的为通用文件。另外,我们可用ls -l显示文件目录的详细情况(相当于DOS中的DIR命
令)。千万注意区分大小写!!如LS -f;Ls等都是错误的。另外,ls命令还有许多参数,
你可以用man ls或ls--help去进一步了解。

  2.改变当前目录命令cd(DOS下为CD)
  在DOS中,我们可以用C:/>CD/MNT/cdrom或cd/mnt/cdrom
  C:/mnt/cdrom>cd ..或cd..或CD..
  C:/mnt>cd/或C:/mnt>cd /
  而在Linux中为cd /mnt/cdrom,目录名的大小写必须与实际相同,cd后必须有空
格。
  pwd 显示当前目录
  cd .. 必须为小写,必须有空格
  cd / 总目录为/,cd与/必须有空格

  3.建立子目录mkdir(DOS下为MD或MKDIR)
  在Linux中只能用mkdir,可用相对路径和绝对路径,请比较:
  C:/>md xiong或md /xiong或md/xiong   DOS系统
  [root@localhost /]#mkdir xiong或mkdir /xiong   Linux系统

  4.删除子目录命令rmdir(DOS下为RD)
  在Linux中用rmdir命令删除子目录,例如:
  rmdir /mnt/cdrom 相当于rd /mnt/cdrom
  注意:同DOS一样,要删除的子目录必须是空的,而且必须在上一级目录中才能删除
下一级子目录。

  5.删除文件命令RM(DOS下为DEL或EARSE)
  在Linux中用RM命令删除文件,例:
    rm /ucdos.bat 相当于del /ucdos.bat

  6.文件改名命令MV(DOS下为REN或RENAME)在Linux中用mv命令给文件改名,例:
  mv /mnt/floppy p相当于 ren /mnt/floppy p
  说明:在Linux中的mv命令除了文件改名外,还有文件移动的功能,请看例子:
  mv /mnt/floppy /bin 相当于DOS中的命令 move /mnt/floppy /bin

  7.文件复制命令cp(DOS下为COPY)
  在Linux中用cp命令进行文件复制,例:
  cp /ucdos/* /fox 相当于copy /ucdos/*.* /fox
  注意:DOS中的*.*在Linux中用*代替。

  8.获取帮助信息命令man(DOS下为HELP)
  在Linux中用man命令获取帮助信息,例:
  man ls 相当于help dir
  ls --help 相当于dir/

  9.显示文件的内容less(DOS下为TYPE)
  在Linux中用less命令进行文件显示工作,例如,我们要显示man1子目录下的mwm.lx
的内容,只需输入:[root@localhost man1]#less mwm.lx 即可。在Linux中,我们也
可用另外一个命令“more”来显示文件内容,例如:more mwm.lx。你会看到,这两个命
令非常相似,实际上,less命令的功能要比more强一些,你可以自己去摸索。在Linux中
,还提供了两个DOS中没有的阅读文件的命令,它们是head和tail命令,分别用来显示文
件的头部和后部的部分内容。使用格式为:head(tail) [m] ,缺省n时,显示10行,例
如:
  head /usr/man/mwm.lx 显示文件mwm.lx前10行的内容
  head 15 /usr/man/mwm.lx 显示文件mwm.lx前15行的内容
  tail 17 /usr/man/mwm.lx 显示文件mwm.lx后17行的内容

  10.重定向与管道
  大家知道,在DOS中,我们可以通过重定向与管道方便地进行一些特殊的操作,如:
dir>direct将当前目录放入文件direct中;type readme>>direct,将文件readme的内容
追加到文件direct中;又如:type readme.txt|more,分页显示文本文件readme.txt的内
容。在Linux中的重定向与管道操作同DOS中的操作几乎一样,上面两个例子在Linux中应
为:ls>direct; less readme.txt|more(注:实际上,Linux中的more和less命令本身具
有分页功能)。

 

  11.外壳程序(shell):命令解释器(command)
  在DOS系统中,我们绝大多数用户都是用的command.com这个命令解释器。当然,你
显示文件的头部和后部的部分内容。使用格式为:head(tail) [m]
,缺省n时也可换用Norton或DOS4.0以后的dosshell。在Linux中,有好几种shell。常见
的有:ash,bash,ksh,tcsh,zsh等,从上面的环境变量中SHELL=/bin/bash可以看出你
用的是哪种shell,它位于何处。计算机默认的一般是bash。

   以上讲到的仅仅是与DOS功能相似的一些Linux命令,而作为一个多用户、多任务的
操作系统,其强大的功能还远不止于此。希望更多的人用上这个优秀的操作系统,相信你
一定不会后悔的。


--------------------------------------------------------------------------

linux基本命令讲解

1 ls
常见用法和参数
ls   就是显示当前路径的非隐藏文件名,下面是效果
lcnja:/# ls
bin   cdrom etc   initrd     lib       media opt   root srv tmp var
boot dev   home initrd.img lost+found mnt   proc sbin sys usr vmlinuz


ls -a 显示所有的文件,包括隐藏文件及目录
lcnja:/# ls -a
.   boot   etc   initrd.img media proc srv usr
..   cdrom home   lib       mnt   root sys var
bin dev   initrd lost+found opt   sbin tmp vmlinuz
lcnja:/#

ls -l 列表显示,我们来看一下,我中间去掉了一部分了的哦
lcnja:/# ls -l
总用量 132
drwxr-xr-x   2 root root   4096 2005-06-11 03:54 bin
-rw-r--r--   1 root root     0 2005-06-12 03:39 lcnja
lrwxrwxrwx   1 root root 11 2005-06-11 03:51 cdrom -> media/cdrom
lrwxrwxrwx   1 root root 25 2005-06-11 03:53 vmlinuz -> boot/vmlinuz-2.6.11-1-386

  这里简单的讲一下,最前面大家是不是看到了3个不同的显示,一个是d, 一个是- 一个是l
这是什么意思呢,d表示directory--目录 -表示没这个属性,其实也就是一个文件了拉,l表示link---链

节,这个就相当于windows的快捷方式了吧

  lrwxrwxrwx 那这一长串是什么意思呢,对unix或者linux不熟悉的就要问了,很多人在做回流的时候改

文件属性不清楚我这里就来说一下,l 表示link已经说了,最开始的3位rwx这个是表示文件所有者的权限

,中间的rwx是表示文件所有者所在的组的其他成员对该文件所拥有的权限,后面的3位rwx就是表示除开

上面说的两者外的所有人,也就是other

  这里说一下,w就是write可写权限,r就是read读权限 x就是execute执行权限
但是还有人说为什么他们让我把属性改成755呢,不是几个字母啊
!!!!!! 这里就来说一下这个字母和数字的关系,r=4 w=2 x=1 没任何权限=0   !!!!!
那755是怎么来的呢,第一位7表示文件所有者权限7=4+2+1,表示他有读写执行权限,也就是所有权限
5=4+1表示有读和执行权限,但是不可以修改它,不可删除他,一般来说7是危险的,重要的文件比如

passwd passwd- shadow shadow-这4个文件一般我们设置的权限可能就是700了

还有问说这里文件显示大小都是以字节算的啊,我难道还要去算等于多少m或者是多少k吗,不需要
我们在后面加以个h
如下
-rw-r--r--   1 root root   0 2005-06-12 03:39 lcnja
drwxr-xr-x   2 root root 4.0K 2005-06-11 03:51 srv
drwxr-xr-x 10 root root   0 2005-06-12 03:14 sys
drwxrwxrwt   4 root root 4.0K 2005-06-12 03:34 tmp
drwxr-xr-x 13 root root 4.0K 2005-06-11 08:30 usr
drwxr-xr-x 13 root root 4.0K 2005-06-11 03:51 var
lrwxrwxrwx   1 root root   25 2005-06-11 03:53 vmlinuz -> boot/vmlinuz-2.6.11-1-386
看到了没,这里就显示为我们可以简单明了的大小了,说以下h是怎么来的---human--人类-这里表示人性

化的显示

-----关于常见的ls的使用基本就是这几个,当然还有很多高级的用法,使用man ls查看帮助页面-----.

ls [选项] [文件名...]
POSIX 标准选项: [-CFRacdilqrtu1]  

GNU 选项 (短格式):
[-1abcdfgiklmnopqrstuxABCDFGLNQRSUX] [-w cols] [-T cols] [-I pattern] [--full-time] [--

format={long,verbose,commas,across,vertical,single-column}] [--sort=

{none,time,size,extension}] [--time={atime,access,use,ctime,status}] [--color[=

{none,auto,always}]] [--help] [--version] [--]  
描述( DESCRIPTION )

程序ls先列出非目录的文件项,然后是每一个目录中的 “可显示”文件。如果没有选项之外的参数【译

注:即 文件名部分为空】出现,缺省为 "." (当前目录)。选 项“ -d ”使得目录与非目录项同样对

待。除非“ -a ” 选项出现,文件名以“.”开始的文件不属“可显示”文 件。

以当前目录为准,每一组文件(包括非目录文件项,以及 每一内含文件的目录)分别按文件名比较顺序

排序。如果 “ -l ”选项存在,每组文件前显示一摘要行——给出该 组文件长度之和(以 512 字节为

单位)。


输出是到标准输出( stdout )。除非以“ -C ”选项要 求按多列输出,输出将是一行一个。然而,输

出到终端时, 单列输出或多列输出是不确定的。可以分别用选项“ -1 ” 或“ -C ”来强制按单列或多

列输出。


-C
多列输出,纵向排序。
-F
每个目录名加“ / ”后缀,每个 FIFO 名加“ | ”后缀,每个可运行名加“ * ”后缀。
-R
递归列出遇到的子目录。
-a
列出所有文件,包括以 "." 开头的隐含文件。
-c
使用“状态改变时间”代替“文件修改时间”为依据来排序(使用“ -t ”选项时)或列出(使用“ -l

”选项时)。
-d
将目录名象其它文件一样列出,而不是列出它们的内容。
-i
输出文件前先输出文件系列号(即 i 节点号— i-node number)。 -l 列出(以单列格式)文件模式(

file mode ),文件的链接数,所有者名,组名,文件大小(以字节为单位),时间信息,及文件名。缺

省时,时间信息显示最近修改时间;可以以选项“ -c ”和“ -u ”选择显示其它两种时间信息。对于设

备文件,原先显示文件大小的区域通常显示的是主要和次要的号(majorand minor device numbers)。
-q
将文件名中的非打印字符输出为问号。(对于到终端的输出这是缺省的。)
-r
逆序排列。
-t
按时间信息排序。
-u
使用最近访问时间代替最近修改时间为依据来排序(使用 “ -t ”选项时)或列出(使用“ -l ”选项

时)。
-1 单列输出。

GNU 细节
如果标准输出是终端,将多列输出(纵向排序)。
dir ( 也被安装为命令 d ) 等同于“ ls -C ”;即,文件
缺省是多列输出,纵向排序。vdir ( 也被安装为命令 v ) 等同于“ ls -l ”; 即,文件缺省是按长格

式输出。

GNU 选项
-1, --format=single-column 一行输出一个文件(单列输出)。如标准输出不是到终端,此选项就是缺

省选项。
-a, --all
列出目录中所有文件,包括以“.”开头的文件。
-b, --escape
把文件名中不可输出的字符用反斜杠加字符编号(就象在 C 语言里一样)的形式列出。
-c, --time=ctime, --time=status
按文件状态改变时间(i节点中的ctime)排序并输出目录内容。如采用长格式输出(选项“-l”),使用

文件的状态改变时间取代文件修改时间。【译注:所谓文件状态改变(i节点中以ctime标志),既包括文

件被修改,又包括文件属性(如所有者、组、链接数等等)的变化】
-d, --directory
将目录名象其它文件一样列出,而不是列出它们的内容。
-f
不排序目录内容;按它们在磁盘上存储的顺序列出。同时启动“ -a ”选项,如果在“ -f ”之前存在“

-l ”、“ - -color ”或“ -s ”,则禁止它们。
-g 忽略,为兼容UNIX用。
-i, --inode
在每个文件左边打印 i 节点号(也叫文件序列号和索引号— — file serial number and index number

)。i节点号在每个特定的文件系统中是唯一的。
-k, --kilobytes
如列出文件大小,则以千字节KB为单位。
-l, --format=long, --format=verbose
除每个文件名外,增加显示文件类型、权限、硬链接数、所有者名、组名、大小( byte )、及时间信息

(如未指明是其它时间即指修改时间)。对于6个月以上的文件或超出未来 1 小时的文件,时间信息中的

时分将被年代取代。
每个目录列出前,有一行“总块数”显示目录下全部文件所占的磁盘空间。块默认是 1024 字节;如果设

置了 POSIXLY_CORRECT 的环境变量,除非用“ -k ”选项,则默认块大小是 512 字节。每一个硬链接都

计入总块数(因此可能重复计数),这无疑是个缺点。

列出的权限类似于以符号表示(文件)模式的规范。但是 ls
在每套权限的第三个字符中结合了多位( multiple bits )的信息,如下: s 如果设置了 setuid 位或

setgid 位,而且也设置了相应的可执行位。 S 如果设置了 setuid 位或 setgid 位,但是没有设置相应

的可执行位。 t 如果设置了 sticky 位,而且也设置了相应的可执行位。 T 如果设置了 sticky 位,但

是没有设置相应的可执行位。 x 如果仅仅设置了可执行位而非以上四种情况。 - 其它情况(即可执行位

未设置)。
-m, --format=commas
水平列出文件,每行尽可能多,相互用逗号和一个空格分隔。
-n, --numeric-uid-gid
列出数字化的 UID 和 GID 而不是用户名和组名。
-o
以长格式列出目录内容,但是不显示组信息。等于使用“ --format=long --no-group ”选项。提供此选

项是为了与其它版本的 ls 兼容。
-p
在每个文件名后附上一个字符以说明该文件的类型。类似“ -F ”选项但是不标示可执行文件。
-q, --hide-control-chars
用问号代替文件名中非打印的字符。这是缺省选项。
-r, --reverse
逆序排列目录内容。
-s, --size
在每个文件名左侧输出该文件的大小,以 1024 字节的块为单位。如果设置了 POSIXLY_CORRECT 的环境

变量,除非用“ -k ”选项,块大小是 512 字节。
-t, --sort=time
按文件最近修改时间( i 节点中的 mtime )而不是按文件名字典序排序,新文件靠前。
-u, --time=atime, --time=access, --time=use
类似选项“ -t ”,但是用文件最近访问时间( i 节点中的 atime )取代文件修改时间。如果使用长格

式列出,打印的时间是最近访问时间。
-w, --width cols
假定屏幕宽度是 cols ( cols 以实际数字取代)列。如未用此选项,缺省值是这样获得的:如可能先尝

试取自终端驱动,否则尝试取自环境变量 COLUMNS (如果设置了的话),都不行则取 80 。
-x, --format=across, --format=horizontal
多列输出,横向排序。
-A, --almost-all
显示除 "." 和 ".." 外的所有文件。
-B, --ignore-backups
不输出以“ ~ ”结尾的备份文件,除非已经在命令行中给出。
-C, --format=vertical
多列输出,纵向排序。当标准输出是终端时这是缺省项。使用命令名 dir 和 d 时,则总是缺省的。
-D, --dired
当采用长格式(“ -l ”选项)输出时,在主要输出后,额外打印一行: //DIRED// BEG1 END1 BEG2

END2 ...
BEGn 和 ENDn 是无符号整数,记录每个文件名的起始、结束位置在输出中的位置(
字节偏移量)。这使得 Emacs 易于找到文件名,即使文件名包含空格或换行等非正常字符也无需特异的

搜索。
如果目录是递归列出的(“ -R ”选项),每个子目录后列出类似一行:
//SUBDIRED// BEG1 END1 ... 【译注:我测试了 TurboLinux4.0 和 RedHat6.1 ,发现它们都是在 “

//DIRED// BEG1... ”之后列出“ //SUBDIRED// BEG1 ... ”,也即只有一个而不是在每个子目录后都

有。而且“ //SUBDIRED// BEG1 ... ”列出的是各个子目录名的偏移。】
-F, --classify, --file-type
在每个文件名后附上一个字符以说明该文件的类型。“ * ”表示普通的可执行文件; “ / ”表示目录

;“ @ ”表示符号链接;“ | ”表示FIFOs;“ = ”表示套接字 (sockets) ;什么也没有则表示普通

文件。
-G, --no-group
以长格式列目录时不显示组信息。
-I, --ignorepattern
除非在命令行中给定,不要列出匹配 shell 文件名匹配式( pattern ,不是指一般表达式)的文件。在

shell 中,文件名以 "." 起始的不与在文件名匹配式 (pattern) 开头的通配符匹配。
-L, --dereference
列出符号链接指向的文件的信息,而不是符号链接本身。
-N, --literal
不要用引号引起文件名。
-Q, --quote-name
用双引号引起文件名,非打印字符以 C 语言的方法表示。
-R, --recursive
递归列出全部目录的内容。
-S, --sort=size
按文件大小而不是字典序排序目录内容,大文件靠前。
-T, --tabsize cols
假定每个制表符宽度是 cols 。缺省为 8。为求效率, ls 可能在输出中使用制表符。若 cols 为 0,则

不使用制表符。
-U, --sort=none
不排序目录内容;按它们在磁盘上存储的顺序列出。(选项“ -U ”和“ -f ”的不同是前者不启动或禁

止相关的选项。)这在列很大的目录时特别有用,因为不加排序能显著的加快速度。
-X, --sort=extension
按文件扩展名(由最后的 "." 之后的字符组成)的字典序排序。没有扩展名的先列出。
--color[=when]
指定是否使用颜色区别文件类别。环境变量 LS_COLORS 指定使用的颜色。如何设置这个变量见

dircolors(1) 。 when 可以被省略,或是以下几项之一:
none 不使用颜色,这是缺省项。
auto 仅当标准输出是终端时使用。 always 总是使用颜色。指定 --color 而且省略 when 时就等同于

--color=always 。
--full-time
列出完整的时间,而不是使用标准的缩写。格式如同 date(1) 的缺省格式;此格式是不能改变的,但是

你可以用 cut(1) 取出其中的日期字串并将结果送至命令 “ date -d ”。
输出的时间包括秒是非常有用的。( Unix 文件系统储存文件的时间信息精确到秒,
因此这个选项已经给出了系统所知的全部信息。)例如,当你有一个 Makefile 文件不能恰当的生成文件

时,这个选项会提供帮助。

GNU 标准选项
--help
打印用法信息到标准输出并顺利退出。
--version
打印版本信息到标准输出并顺利退出。
--
结束选项表。

环境
变量 POSIXLY_CORRECT 可以决定一组选择。如果没有设置此变量,每个制表符的字符数由变量 TABSIZE

决定。变量 COLUMNS (当它由一个十进制整数表示时)决定输出的列宽度(同“ -C ”选项一起用时)

。文件名不得为适应多列输出而被截断。变量 LANG, LC_ALL, LC_COLLATE, LC_CTYPE, LC_MESSAGES 及

LC_TIME 仍保持原义。变量 TZ 给出时区供 ls 输出相应的时间字串。变量 LS_COLORS 用以决定是否使

用颜色。  
已知错误
在 BSD 系统上,对于从 HP-UX 系统上通过 NFS mount 而来的文件,“ -s ”选项报告的大小只有正确

值的一半;在 HP-UX 系统上,对于从 BSD 系统上通过 NFS mount 而来的文件, ls 报告的大小则有正

确值的两倍。这是 HP-UX 的一个缺陷造成的,它也影响 HP-UX 上的 ls 程序。  
适合到
POSIX 1003.2  
参见
dircolors(1)  
注意
本页描述的是 fileutils-3.16 文件包中的 ls ,其它版本的可能略有不同。纠错或添加(功能)请

mailt aeb@cwi.nl 和 aw@mail1.bet1.puv.fi 及 ragnar@lightside.ddns.org 。本程序的错误报告请

mailt fileutils-bugs@gnu.ai.mit.edu

 


下以节简单的讲以下vi,其实我很讨厌vi的,我自己的机器连vi都没装,下面是安装vi的过程,在debian

上装的,
lcnja:/# apt-get install vim
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
将会安装下列的额外的软件包:
vim-common
建议安装的软件包:
ctags vim-doc vim-scripts
下列【新】软件包将被安装:
vim vim-common
共升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 0 个软件未被升级。
需要下载 4132kB 的软件包。
解压缩后会消耗掉 14.7MB 的额外空间。
您希望继续执行吗?[Y/n]y
获取:1 http://debian.cn99.com stable/main vim-common 1:6.3-071+1 [3425kB]
获取:2 http://debian.cn99.com stable/main vim 1:6.3-071+1 [707kB]        
下载 4132kB,耗时 13s (303kB/s)                                
选中了曾被取消选择的软件包 vim-common。
(正在读取
数据库 ... 系统当前总共安装有 28774 个文件和目录。)
正在解压缩 vim-common (从 .../vim-common_1%3a6.3-071+1_all.deb) ...
选中了曾被取消选择的软件包 vim。
正在解压缩 vim (从 .../vim_1%3a6.3-071+1_i386.deb) ...
正在设置 vim-common (6.3-071+1) ...
正在设置 vim (6.3-071+1) ...

lcnja:/#

 

 

--------简单的讲以下vi的使用方法--------

<!---->一、基本命令介绍
---- 1.光标命令

k、j、h、l——上、下、左、右光标移动命令。虽然您可以在linux中使用键盘右边的4个光标键,但是记

住这4个命令还是非常有用的。这4个键正是右手在键盘上放置的基本位置。
nG——跳转命令。n为行数,该命令立即使光标跳到指定行。
Ctrl+G——光标所在位置的行数和列数报告。
w、b——使光标向前或向后跳过一个单词。

---- 2.编辑命令

i、a、r——在光标的前、后以及所在处插入字符命令(i=insert、a=append、r=replace)。
cw、dw——改变(置换)/删除光标所在处的单词的命令 (c=change、d=delete)。
x、d$、dd——删除一个字符、删除光标所在处到行尾的所有字符以及删除整行的命令。

---- 3.查找命令

---- /string、?string——从光标所在处向后或向前查找相应的字符串的命令。

---- 4.拷贝复制命令

---- yy、p——拷贝一行到剪贴板或取出剪贴板中内容的命令。

二、常见问题及应用技巧
---- 1.在一个新文件中读/etc/passwd中的内容,取出用户名部分。

---- vi file
---- :r /etc/passwd 在打开的文件file中光标所在处读入/etc/passwd
---- :%s/:.*//g 删除/etc/passwd中用户名后面的从冒号开始直到行尾的所有部分。
----您也可以在指定的行号后读入文件内容,例如使用命令“:3r/etc/passwd”从新文件的第3行开始读

入/etc/passwd的所有内容。
---- 我们还可以使用以下方法删掉文件中所有的空行及以#开始的注释行。
---- #cat squid.conf.default | grep -v ‚^$‚ | grep -v ‚^#‚

----2.在打开一个文件编辑后才知道登录的用户对该文件没有写的权限,不能存盘,需要将所做修改存

入临时文件。

---- vi file
----:w/tmp/1保存所做的所有修改,也可以将其中的某一部分修改保存到临时文件,例如仅仅把第20~59

行之间的内容存盘成文件/tmp/1,我们可以键入如下命令。
---- vi file
---- :20,59w /tmp/1

 

---- 3.用VI编辑一个文件,但需要删除大段的内容。

----首先利用编辑命令“vifile”打开文件,然后将光标移到需要删除的行处按Ctrl+G显示行号,再到结

尾处再按Ctrl+G,显示文件结尾的行号。
----:23,1045d假定2次得到的行号为23和1045,则把这期间的内容全删除,也可以在要删除的开始行和结

束行中用ma、mb命令标记,然后利用“:‚a,‚bd”命令删除。

---- 4.在整个文件的各行或某几行的行首或行尾加一些字符串。

---- vi file
---- :3,$s/^/some string / 在文件的第一行至最后一行的行首插入“some string”。
---- :%s/$/some string/g 在整个文件每一行的行尾添加“some string”。
---- :%s/string1/string2/g 在整个文件中替换“string1”成“string2”。
---- :3,7s/string1/string2/ 仅替换文件中的第3行到第7行中的“string1”成“string2”。
---- 注意: 其中s为substitute,%表示所有行,g表示global。

---- 5.同时编辑2个文件,拷贝一个文件中的文本并粘贴到另一个文件中。

---- vi file1 file2
---- yy 在文件1的光标处拷贝所在行
---- :n 切换到文件2 (n=next)
---- p 在文件2的光标所在处粘贴所拷贝的行
---- :n 切换回文件1

---- 6.替换文件中的路径。

----使用命令“:%s#/usr/bin#/bin#g”可以把文件中所有路径/usr/bin换成/bin。也可以使用命令“:%

s//usr/bin//bin/g”实现,其中“”是转义字符,表明其后的“/”字符是具有实际意义的字符,不是分隔符。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值