linux常用命令grep、find、vim、alias

1.定义一个对所有用户都生效的命令别名,例如:lftps='lftp 172.168.0.1/pub'

在/etc/profile文件的最后写入命令别名:

alias lftps='lftp 172.168.0.1/pub'

由于此文件会在所有用户登录时执行,所以重新登录的用户就会生效此命令别名。

2.显示/etc/passwd文件中不以/bin/bash结尾的行

grep -v "/bin/bash$" /etc/passwd

-v 选项表示过滤去掉符合条件的行,$表示锚定行尾位置。

3.找出/etc/passwd文件中,包含二位数字或三位数的行。

grep '\<[0-9]\{2,3\}\>' /etc/passwd

[0-9]表示一个数字。

\{2,3\}表示数字字符有2位或3位

前后的'\<.....\>'表示锚定词首和词尾。避免把4位数字的行也搜索出来。

4.显示/proc/meminfo文件中以大写或小写S开头的行;用三种方式实现

grep -E '^s|^S' /proc/meminfo

-E表示使用扩展正则表达式,

^表示锚定行首

 '^s|^S' 表示行首为大写S或小写s

grep -i '^s' /proc/meminfo

-i表示忽略大小写

grep '^[sS]' /proc/meminfo

[sS]使用范围语法字符来表示大写S或小写s

awk '/^[sS]/{print $0}' /proc/meminfo

awk命令也可以实现搜索匹配的功能

sed -n '/^[sS]/p' /proc/meminfo

sed命令也有搜索显示符合条件的行的功能。

5.使用echo输出一个绝对路径,使用egrep取出路径名,类型执行 dirname /etc/passwd的结果

一个绝对路径可能是一个文件或一个目录。而且目录的后最后可以/结尾也可以不以/结尾。

echo "/Absolute/path/to/file"|egrep -o ".*/\<"

echo "/Absolute/path/to/dir/"|egrep -o ".*/\<"

上面两个语句的显示结果为/Absolute/path/to/

-o  表示只显示符合匹配条件的内容,不会显示整行内容

.*  表示匹配任何字符任意次,也包含了路径分隔符

\< 表示锚定单词的词首位置,"/\<"表示"/”号后是某个单词的词首位置,即"/"之后一定要有一个单词。这个可以避免最右边的“/"后面为行尾的情况,

6.找出ifconfig中ip地址,要求结果只显示IP地址

ifconfig |grep -Po "[\d.]+(?=  netmask)"|grep -v "127.0.0.1"

-P表示使用perl正则表达式来解析

[\d.]+  表示一个或多个[\d.]范围字符,即一个或多个数字或"."号的字符

(?=  netmask) :表示其后跟着“两个空格+netmask”字符,(?=...)表示这里的内容不会被匹配到结果中去。

由于有一个"lo“的回路IP127.0.0.1不是我们需要的所以要把它过滤掉。

7.vim定制自动缩进四个字符。

全局定制:/etc/vimrc

用户个人定制:~/.vimrc

在文件尾部加入两行:

set ai      #设置自动缩进

set ts=4     #设置缩进的字符数

保存文件退出,对于后面打开vim程序会发现设置已生效

8.编写脚本,实现自动添加三个用户,并计算这三个用户的uid之和

#!/bin/bash

add_user()

{

        userName=$1

        id $userName && userdel -r $userName

        useradd $userName

        echo "123456"|passwd --stdin $userName

}

add_user "user1"

add_user "user2"

add_user "user3"

echo -e "The three user's UID Summation:\c"

cat /etc/passwd|grep "^user[1-3]:"|awk -F: '{sum+=$3}END{print sum}'

创建用户前先检查用户是否存在,如果存在就先删除用户然后再创建。

9.find用法以及常用用法的实例演示。

find命令是在目录层级结构中查找符合条件的文件,所以它可以同时查指定目录及其子目录。同时它还可以对搜索结果执行一定的文件处理操作。

命令语法:

find [选项] [查找路径]... [查找条件] [处理操作]

其中:

(1)查找路径:缺省值为当前路径,路径可有有多个,路径之间以空格隔开

(2)查找条件:

    -name "文件名称”,支持通配符

    -iname  "文件名称“ ,与name基本相同,但是它忽略字母大小写

     -user  username 查找指定用户属主的文件,同样还有-uid  UID

     -group  groupName查找属于指定组的文件,同样还有-gid   GID

      -type   filetype:根据文件类型查找,常用的类型为"f"普通文件,"d"目录文件

      -size   [+|-]数字单位:常用单位为k、M、G,+号表示大于,-号表示小于等于,无符号则以10M为例,表示9M<文件大小<=10M。

    -atime  [+|-]数字  :表示文件的最后被访问时间,以天为单位,+号表示大于等于天数+1,-号表示小于天数,无符号则以10为例,表示 10<=文件最后访问时间<11 。同样还有-mtime表示文件内容数据的最后修改时间,-ctime表示文件的元数据的最后修改时间

    -amin表示文件的最后被访问时间,以分钟为单位,规则与-atime一样。同样还有-mmin表示文件内容数据的最后修改时间  和-cmin 表示文件的元数据最后修改时间

    -perm [+|-]  MODE  表示根据文件的访问权限为条件。

    -a表示前后两个条件要同时满足(与的关系)

    -o表示前后两个条件满足一个即可(或的关系)

    -not 或 !表示后面的条件取反。

(3)处理操作

    -print 显示结果在屏幕上,这是默认操作

    -ls   对结果文件使用ls -l 长格式显示有屏幕上。

    -delete:  删除查找到的文件

    -fls  /路径/结果文件名 :  把结果以长格式信息保存到指定的文件中

    -exec  命令 {}  \;   :表示对查找到的文件执行相应的命令,{}表示查找到的文件在命令中的占位符。

    -ok   命令  {} \;     :与exec相同,但是对每个文件进行操作前,会弹出提示信息等用户确认。

常用用法的实例演示如下:

$find  /etc -name hosts

在目录/etc中查找文件hosts

$find  /  -size +204800

在根目录下查找大于100MB的文件,size是以块为单位,2块=1K

$find   /tmp  -user  user1

在/tmp目录下查找所有者为user1的文件

$ find  /etc  -cmin -5

在/etc下查找5分钟内被修改过属性的文件和目录

$ find  /etc  -size  +163840  -a  -size -204800

在/etc下查找大于80MB小于100MB的文件

$ find  /etc  -name hosts  -exec  ls  -l {} \;

在/etc下查找hosts文件并显示其详细信息

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,837评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,551评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,417评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,448评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,524评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,554评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,569评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,316评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,766评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,077评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,240评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,912评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,560评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,176评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,425评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,114评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,114评论 2 352

推荐阅读更多精彩内容