yum命令大全(yum常用命令)

yum命令大全(yum常用命令)注意 为了方便代码阅读 文章代码块里把表示管理员模式的 都去掉了 这不是错误 不要搞错 首先先来几个热键 非常方便 一定要记住 Tab 按键 命令补齐功能 Ctrl c 按键 停掉正在运行的程序 Ctrl d 按键 相当于 exit 退出 Ctrl l 按键 清屏 1 关机命令 shutdown 在 linux 领域内大多用在服务器上 很少遇到关机的操作 毕竟服务器上跑一个服务是永无止境的

大家好,我是讯享网,很高兴认识大家。





Linux命令大全
讯享网

注意:为了方便代码阅读,文章代码块里把表示管理员模式的#都去掉了。这不是错误。不要搞错!!

首先先来几个热键,非常方便,一定要记住

Tab按键—命令补齐功能

Ctrl+c按键—停掉正在运行的程序

Ctrl+d按键—相当于exit,退出

Ctrl+l按键—清屏

1.关机命令:shutdown

在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。

正确的关机流程为:sync > shutdown > reboot > halt

例如你可以运行如下命令关机:

下面是一个简单的样例。

Linux命令大全

取消定时关机命令:shutdown -c

最后总结一下,不管是重启系统还是关闭系统,首先要运行 sync 命令,把内存中的数据写到磁盘中。

关机的命令有 shutdown –h now halt poweroff  init 0 , 重启系统的命令有 shutdown –r now reboot init 6

2.重启命令:reboot

Linux命令大全

–-help命令

man命令(命令说明书)

我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /。

其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。

首先我们需要先知道什么是绝对路径与相对路径。

命令:cd 目录

cd是Change Directory的缩写,这是用来变换工作目录的命令。

命令:ls [-al]

语法:

ls 查看当前目录下的所有目录和文件ls -a 查看当前目录下的所有目录和文件(包括隐藏的文件)ls -l 或 ll 列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)ls /dir 查看指定目录下的所有目录和文件 如:ls /usr

将家目录下的所有文件列出来(含属性与隐藏档)

如果想要创建新的目录的话,那么就使用mkdir (make directory)吧。

语法:

选项与参数:

实例:请到/tmp底下尝试创建数个新目录看看:

上面的权限部分,如果没有加上 -m 来强制配置属性,系统会使用默认属性。

如果我们使用 -m ,如上例我们给予 -m 711 来给予新的目录 drwx–x—x 的权限。

选项与参数:

删除文件:rm 文件 删除当前目录下的文件rm -f 文件 删除当前目录的的文件(不询问)

删除目录:rm -r aaa 递归删除当前目录下的aaa目录rm -rf aaa 递归删除当前目录下的aaa目录(不询问)

全部删除:rm -rf 将当前目录下的所有目录和文件全部删除rm -rf / 【慎用!慎用!慎用!】将根目录下的所有文件全部删除

注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了方便大家的记忆,无论删除任何目录或文件,都直接使用 rm -rf 目录/文件/压缩包

rmdir (删除空的目录)

语法:

选项与参数:

删除 runoob 目录

将 mkdir 实例中创建的目录(/tmp 底下)删除掉!

选项与参数:

cp (复制文件或目录)

cp 即拷贝文件和目录。

语法:

选项与参数:

一、重命名目录命令:mv 当前目录 新目录例如:mv aaa bbb 将目录aaa改为bbb注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行 重命名的操作

二、剪切目录命令:mv 目录名称 目录的新位置示例:将/usr/tmp目录下的aaa目录剪切到 /usr目录下面 mv /usr/tmp/aaa /usr注意:mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作

三、拷贝目录命令:cp -r 目录名称 目录拷贝的目标位置 -r代表递归示例:将/usr/tmp目录下的aaa目录复制到 /usr目录下面 cp /usr/tmp/aaa /usr注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不 用写-r递归

Linux find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

命令:find 目录 参数 文件名称

部分参数:

find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。

expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。

-mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件

-amin n : 在过去 n 分钟内被读取过

-anewer file : 比文件 file 更晚被读取过的文件

-atime n : 在过去n天内被读取过的文件

-cmin n : 在过去 n 分钟内被修改过

-cnewer file :比文件 file 更新的文件

-ctime n : 在过去n天内被修改过的文件

实例

将目前目录及其子目录下所有延伸档名是 c 的文件列出来。

将目前目录其其下子目录中所有一般文件列出

将目前目录及其子目录下所有最近 20 天内更新过的文件列出

pwd 是 Print Working Directory 的缩写,也就是显示目前所在目录的命令。

选项与参数:

实例:单纯显示出目前的工作目录:

Linux touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。

ls -l 可以显示档案的时间记录。

语法

实例

使用指令”touch”修改文件”testfile”的时间属性为当前系统时间,输入如下命令:

首先,使用ls命令查看testfile文件的属性,如下所示:

执行指令”touch”修改文件属性以后,并再次查看该文件的时间属性,如下所示:

使用指令”touch”时,如果指定的文件不存在,则将创建一个新的空白文件。例如,在当前目录下,使用该指令创建一个空白文件”file”,输入如下命令:

rm (移除文件或目录)

语法:

选项与参数:

将创建的 bashrc 删除掉!

如果加上 -i 的选项就会主动询问喔,避免你删除到错误的档名!

先来个vim键盘图!

Linux命令大全

vi/vim 的使用

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode)输入模式(Insert mode) 底线命令模式(Last line mode)。这三种模式的作用分别是:

3.1.3.1 命令模式:

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

以下是常用的几个命令:

若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。

命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

3.1.3.2 输入模式

在命令模式下按下i就进入了输入模式。

在输入模式中,可以使用以下按键:

3.1.3.4 底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

按ESC键可随时退出底线命令模式。

简单的说,我们可以将这三个模式想成底下的图标来表示:

Linux命令大全

打开文件

命令:vi 文件名示例:打开当前目录下的aa.txt文件 vi aa.txt 或者 vim aa.txt

注意:使用vi编辑器打开文件后,并不能编辑,因为此时处于命令模式,点击键盘i/a/o进入编辑模式。

编辑文件

使用vi编辑器打开文件后点击按键:i ,a或者o即可进入编辑模式。

i:在光标所在字符前开始插入a:在光标所在字符后开始插入o:在光标所在行的下面另起一新行插入

Linux命令大全

保存或者取消编辑

保存文件:

第一步:ESC 进入命令行模式第二步:: 进入底行模式第三步:wq 保存并退出编辑

取消编辑:

第一步:ESC 进入命令行模式第二步:: 进入底行模式第三步:q! 撤销本次修改并退出编辑

Linux系统中使用以下命令来查看文件的内容:

你可以使用 man [命令]来查看各个命令的使用文档,如 :man cp。

3.1.4.1 cat

由第一行开始显示文件内容

语法:

选项与参数:

检看 /etc/issue 这个文件的内容:

3.1.3.2 tac

tac与cat命令刚好相反,文件内容从最后一行开始显示,可以看出 tac 是 cat 的倒着写!如:

3.1.3.3 nl

显示行号

语法:

选项与参数:

实例一:用 nl 列出 /etc/issue 的内容

3.1.3.5 more

一页一页翻动

3.1.3.6 less

一页一页翻动,以下实例输出/etc/man.config文件的内容:

3.1.3.7 head

取出文件前面几行

语法:

选项与参数:

默认的情况中,显示前面 10 行!若要显示前 20 行,就得要这样:

3.1.3.8 tail

取出文件后面几行

语法:

选项与参数:

Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。利用 chmod 可以藉以控制文件如何被他人所调用。

使用权限 : 所有使用者

语法

参数说明

mode : 权限设定字串,格式如下 :

其中:

其他参数说明:

权限的设定方法有两种, 分别可以使用数字或者是符号来进行权限的变更。

数字类型改变档案权限:

Linux命令大全

符号类型改变档案权限:

Linux命令大全

Linux 常用的压缩与解压缩命令有:tar、gzip、gunzip、bzip2、bunzip2、compress 、uncompress、 zip、 unzip、rar、unrar 等。

Windows的压缩文件的扩展名 .zip/.rarlinux中的打包文件:aa.tarlinux中的压缩文件:bb.gzlinux中打包并压缩的文件:.tar.gz

Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.gz结尾的。而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。

最常用的打包命令是 tar,使用 tar 程序打出来的包我们常称为 tar 包,tar 包文件的命令通常都是以 .tar 结尾的。生成 tar 包后,就可以用其它的程序来进行压缩了,所以首先就来讲讲 tar 命令的基本用法。

tar 命令的选项有很多(用 man tar 可以查看到),但常用的就那么几个选项,下面来举例说明一下:

这条命令是将所有 .jpg 的文件打成一个名为 all.tar 的包。-c 是表示产生新的包,-f 指定包的文件名。

这条命令是将所有 .gif 的文件增加到 all.tar 的包里面去,-r 是表示增加文件的意思。

这条命令是更新原来 tar 包 all.tar 中 logo.gif 文件,-u 是表示更新文件的意思。

这条命令是列出 all.tar 包中所有文件,-t 是列出文件的意思。

这条命令是解出 all.tar 包中所有文件,-x 是解开的意思。

以上就是 tar 的最基本的用法。为了方便用户在打包解包的同时可以压缩或解压文件,tar 提供了一种特殊的功能。这就是 tar 可以在打包或解包的同时调用其它的压缩程序,比如调用 gzip、bzip2 等。

4.1.1.1 tar调用

gzip 是 GNU 组织开发的一个压缩程序,.gz 结尾的文件就是 gzip 压缩的结果。与 gzip 相对的解压程序是 gunzip。tar 中使用 -z 这个参数来调用gzip。下面来举例说明一下:

这条命令是将所有 .jpg 的文件打成一个 tar 包,并且将其用 gzip 压缩,生成一个 gzip 压缩过的包,包名为 all.tar.gz。

这条命令是将上面产生的包解开。

4.1.1.2  tar 调用 bzip2

bzip2 是一个压缩能力更强的压缩程序,.bz2 结尾的文件就是 bzip2 压缩的结果。

与 bzip2 相对的解压程序是 bunzip2。tar 中使用 -j 这个参数来调用 gzip。下面来举例说明一下:

这条命令是将所有 .jpg 的文件打成一个 tar 包,并且将其用 bzip2 压缩,生成一个 bzip2 压缩过的包,包名为 all.tar.bz2

这条命令是将上面产生的包解开。

4.1.1.3 tar 调用 compress

compress 也是一个压缩程序,但是好象使用 compress 的人不如 gzip 和 bzip2 的人多。.Z 结尾的文件就是 bzip2 压缩的结果。与 compress 相对的解压程序是 uncompress。tar 中使用 -Z 这个参数来调用 compress。下面来举例说明一下:

这条命令是将所有 .jpg 的文件打成一个 tar 包,并且将其用 compress 压缩,生成一个 uncompress 压缩过的包,包名为 all.tar.Z。

这条命令是将上面产生的包解开。

有了上面的知识,你应该可以解开多种压缩文件了,下面对于 tar 系列的压缩文件作一个小结:

1) 对于.tar结尾的文件

2) 对于 .gz 结尾的文件

3)对于 .tgz 或 .tar.gz 结尾的文件

4) 对于 .bz2 结尾的文件

5) 对于 tar.bz2 结尾的文件

6) 对于 .Z 结尾的文件

7) 对于 .tar.Z 结尾的文件

另外对于 Windows 下的常见压缩文件 .zip 和 .rar,Linux 也有相应的方法来解压它们:

1) 对于 .zip

linux 下提供了 zip 和 unzip 程序,zip 是压缩程序,unzip 是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:

这条命令是将所有 .jpg 的文件压缩成一个 zip 包:

这条命令是将 all.zip 中的所有文件解压出来。

2) 对于 .rar

要在 linux 下处理 .rar 文件,需要安装 RAR for Linux。下载地址:http://www.rarsoft.com/download.htm,下载后安装即可。

这样就安装好了,安装后就有了 rar 和 unrar 这两个程序,rar 是压缩程序,unrar 是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:

这条命令是将所有 .jpg 的文件压缩成一个 rar 包,名为 all.rar,该程序会将 .rar 扩展名将自动附加到包名后。

这条命令是将 all.rar 中的所有文件解压出来

tar

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

下面的参数 -f 是必须的:

# tar -cf all.tar *.jpg

这条命令是将所有 .jpg 的文件打成一个名为 all.tar 的包。-c 是表示产生新的包,-f 指定包的文件名。

这条命令是将所有 .gif 的文件增加到 all.tar 的包里面去。-r 是表示增加文件的意思。

这条命令是更新原来 tar 包 all.tar 中 logo.gif 文件,-u 是表示更新文件的意思。

这条命令是列出 all.tar 包中所有文件,-t 是列出文件的意思。

这条命令是解出 all.tar 包中所有文件,-x 是解开的意思。

压缩

解压

总结

grep命令是一种强大的文本搜索工具

使用实例:

从文件内容查找匹配指定字符串的行:

例子:在当前目录里第一级文件夹中寻找包含指定字符串的 .in 文件

从文件内容查找与正则表达式匹配的行:

查找时不区分大小写:

查找匹配的行数:

$ grep -c “被查找的字符串” 文件名

从文件内容查找不匹配指定字符串的行:

find命令在目录结构中搜索文件,并对搜索结果执行指定的操作。

find 默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。另外,搜索公众号编程技术圈后台回复“1024”,获取一份惊喜礼包。

使用实例:

从根目录开始查找所有扩展名为 .log 的文本文件,并找出包含 “ERROR” 的行:

例子:从当前目录开始查找所有扩展名为 .in 的文本文件,并找出包含 “thermcontact” 的行:

locate 让使用者可以很快速的搜寻某个路径。默认每天自动更新一次,所以使用locate 命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。如果数据库中没有查询的数据,则会报出locate: can not stat () `/var/lib/mlocate/mlocate.db’: No such file or directory该错误!updatedb即可!

yum -y install mlocate 如果是精简版CentOS系统需要安装locate命令

使用实例:

whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。

使用实例:

which命令的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。

使用实例:

Linux su命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。

使用权限:所有使用者。

参数说明

变更帐号为 root 并在执行 ls 指令后退出变回原使用者

变更帐号为 root 并传入 -f 参数给新执行的 shell

变更帐号为 clsung 并改变工作目录至 clsung 的家目录(home dir)

切换用户

切换用户,改变环境变量

su用于用户之间的切换。但是切换前的用户依然保持登录状态。如果是root 向普通或虚拟用户切换不需要密码,反之普通用户切换到其它任何用户都需要密码验证。

sudo是为所有想使用root权限的普通用户设计的。可以让普通用户具有临时使用root权限的权利。只需输入自己账户的密码即可。

进入sudo配置文件命令:

案例:允许hadoop用户以root身份执行各种应用命令,需要输入hadoop用户的密码。hadoop ALL=(ALL) ALL

案例:只允许hadoop用户以root身份执行ls 、cat命令,并且执行时候免输入密码。配置文件中:hadoop ALL=NOPASSWD: /bin/ls, /bin/cat

变更帐号为 clsung 并改变工作目录至 clsung 的家目录(home dir)

切换用户

切换用户,改变环境变量

su用于用户之间的切换。但是切换前的用户依然保持登录状态。如果是root 向普通或虚拟用户切换不需要密码,反之普通用户切换到其它任何用户都需要密码验证。

yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。

基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

安装 pam-devel

移除 pam-devel

下载对应版本 repo 文件, 放入 /etc/yum.repos.d/ (操作前请做好相应备份)

运行以下命令生成缓存

除了网易之外,国内还有其他不错的 yum 源,比如中科大和搜狐。

中科大的 yum 源,安装方法查看:https://lug.ustc.edu.cn/wiki/mirrors/help/centos

sohu 的 yum 源安装方法查看: http://mirrors.sohu.com/help/centos.htm

awk、sed、grep更适合的方向:

AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。

之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。

选项参数说明:

log.txt文本内容如下:

用法一:

实例:

用法二:

实例:

用法三:

实例:

用法四:

实例:

= += -=   = /= %= ^= *= 赋值

?: C条件表达式


逻辑或 && 逻辑与

~ 和 !~ 匹配正则表达式和不匹配正则表达式

>= != == 关系运算符

空格 连接

+ - 加,减

* / % 乘,除与求余

+ - ! 一元加,减和逻辑非

^   * 求幂

++ – 增加或减少,作为前缀或后缀

$ 字段引用

in 数组成员




























过滤第一列大于2的行

过滤第一列等于2的行

过滤第一列大于2并且第二列等于’Are’的行。另外,搜索公众号Java架构师技术后台回复“面试题”,获取一份惊喜礼包。

$n 当前记录的第n个字段,字段间由FS分隔 $0 完整的输入记录 ARGC 命令行参数的数目 ARGIND 命令行中当前文件的位置(从0开始算) ARGV 包含命令行参数的数组 CONVFMT 数字转换格式(默认值为%.6g)ENVIRON环境变量关联数组 ERRNO 最后一个系统错误的描述 FIELDWIDTHS 字段宽度列表(用空格键分隔) FILENAME 当前文件名 FNR 各文件分别计数的行号 FS 字段分隔符(默认是任何空格) IGNORECASE 如果为真,则进行忽略大小写的匹配 NF 一条记录的字段的数目 NR 已经读出的记录数,就是行号,从1开始 OFMT 数字的输出格式(默认值是%.6g) OFS 输出记录分隔符(输出换行符),输出时用指定的符号代替换行符 ORS 输出记录分隔符(默认值是一个换行符) RLENGTH 由match函数所匹配的字符串的长度 RS 记录分隔符(默认是一个换行符) RSTART 由match函数所匹配的字符串的第一个位置 SUBSEP 数组下标分隔符(默认值是/034)

~ 表示模式开始。// 中是模式。




关于 awk 脚本,我们需要注意两个关键词 BEGIN 和 END。

假设有这么一个文件(学生成绩表):

我们的 awk 脚本如下:

我们来看一下执行结果:


AWK 的 hello world 程序为:

计算文件大小

从文件中找出长度大于 80 的行:

打印九九乘法表

参数说明

动作说明

在testfile文件的第四行后添加一行,并将结果输出到标准输出,在命令行提示符下输入如下命令:

首先查看testfile中的内容如下:

使用sed命令后,输出结果如下:

将 /etc/passwd 的内容列出并且列印行号,同时,请将第 2~5 行删除!

sed 的动作为 ‘2,5d’ ,那个 d 就是删除!因为 2-5 行给他删除了,所以显示的数据就没有 2-5 行罗~ 另外,注意一下,原本应该是要下达 sed -e 才对,没有 -e 也行啦!同时也要注意的是, sed 后面接的动作,请务必以 ‘’ 两个单引号括住喔!

只要删除第 2 行

要删除第 3 到最后一行

在第二行后(亦即是加在第三行)加上『drink tea?』字样!

那如果是要在第二行前

如果是要增加两行以上,在第二行后面加入两行字,例如 Drink tea or …  drink beer?

每一行之间都必须要以反斜杠『 』来进行新行的添加喔!所以,上面的例子中,我们可以发现在第一行的最后面就有 存在。

将第2-5行的内容取代成为『No 2-5 number』呢?

透过这个方法我们就能够将数据整行取代了!

仅列出 /etc/passwd 文件内的第 5-7 行

可以透过这个 sed 的以行为单位的显示功能, 就能够将某一个文件内的某些行号选择出来显示。

搜索 /etc/passwd有root关键字的行

如果root找到,除了输出所有行,还会输出匹配行。

使用-n的时候将只打印包含模板的行。

删除/etc/passwd所有包含root的行,其他行输出

搜索/etc/passwd,找到root对应的行,执行后面花括号中的一组命令,每个命令之间用分号分隔,这里把bash替换为blueshell,再输出这行:

最后的q是退出。

除了整行的处理模式之外, sed 还可以用行为单位进行部分数据的搜寻并取代。基本上 sed 的搜寻与替代的与 vi 相当的类似!他有点像这样:

先观察原始信息,利用 /sbin/ifconfig 查询 IP

本机的ip是192.168.1.100。

将 IP 前面的部分予以删除

接下来则是删除后续的部分,亦即:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0

将 IP 后面的部分予以删除

一条sed命令,删除/etc/passwd第三行到末尾的数据,并把bash替换为blueshell

-e表示多点编辑,第一个编辑命令删除/etc/passwd第三行到末尾的数据,第二条命令搜索bash替换为blueshell。

sed 可以直接修改文件的内容,不必使用管道命令或数据流重导向!不过,由於这个动作会直接修改到原始的文件,所以请你千万不要随便拿系统配置来测试!我们还是使用文件 regular_express.txt 文件来测试看看吧!

regular_express.txt 文件内容如下:

利用 sed 将 regular_express.txt 内每一行结尾若为 . 则换成 !

:q:q

利用 sed 直接在 regular_express.txt 最后一行加入 # This is a test:

由於 $ 代表的是最后一行,而 a 的动作是新增,因此该文件最后新增 # This is a test

sed 的 -i 选项可以直接修改文件内容,这功能非常有帮助!举例来说,如果你有一个 100 万行的文件,你要在第 100 行加某些文字,此时使用 vim 可能会疯掉!因为文件太大了!那怎办?就利用 sed 啊!透过 sed 直接修改/取代的功能,你甚至不需要使用 vim 去修订!

a 动作是在匹配的行之后追加字符串,追加的字符串中可以包含换行符(实现追加多行的情况)。

追加一行的话前后都不需要添加换行符  ,只有追加多行时在行与行之间才需要添加换行符(最后一行最后也无需添加,添加的话会多出一个空行)。

man sed 信息:

例如:

4 行之后添加一行:

4 行之后追加 2 行:

4 行之后追加 3 行(2 行文字和 1 行空行)

4 行之后追加 1 行空行:

实际上是插入了一个含有一个空格的行,插入一个完全为空的空行没有找到方法(不过应该没有这个需求吧,都要插入行了插入空行干嘛呢?)

添加空行:

Linux grep 命令用于查找文件里符合条件的字符串。

grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。

参数

1、在当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的行。此时,可以使用如下命令:

结果如下所示:

2、以递归的方式查找符合条件的文件。例如,查找指定目录/etc/acpi 及其子目录(如果存在子目录的话)下所有文件中包含字符串”update”的文件,并打印出该字符串所在行的内容,使用的命令为:

输出结果如下:

3、反向查找。前面各个例子是查找并打印出符合条件的行,通过”-v”参数可以打印出不符合条件行的内容。

查找文件名中包含 test 的文件中不包含test 的行,此时,使用的命令为:

结果如下所示:

小讯
上一篇 2025-05-07 11:42
下一篇 2025-05-09 18:05

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/203135.html