ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux基础04 移动(剪切)mv, 删除rm, 看文件内容cat, tac, more, less, 看前后n行head, tail, 三剑客grep

2021-10-13 12:02:46  阅读:164  来源: 互联网

标签:oldboyedu head grep passwd etc mv root 三剑客


移动(剪切)mv

    mv:移动 move    # 系统默认别名mv -i 为mv(-i交互,在覆盖前会进行提醒),经测试我的centos7虚拟机并没有该别名...
    
    mv [OPTION]... 源文件 目标
    -i:交互(在覆盖前会进行提醒)
    -t:调换目标和源文件位置
    
    1.如果目标是一个目录,就把文件放入目录
    2.如果目标是一个文件,就会被覆盖
    
    [root@db04 ~]# mv file /tmp/
    [root@db04 ~]# mv file1 test1    # 如test1不存在, file1改名为test1。test1存在且为文件,覆盖; 如为目录, 放到该目录下
    [root@db04 ~]# mv dir1 /tmp/
    [root@db04 ~]# mv dir2 file4 file5 file6 /opt/ /usr/local/    # 移动dir2..., opt文件夹到/usr/local/路径下
    [root@db04 ~]# mv /tmp/dir1 ./
    [root@db04 ~]# mv /tmp/dir1 .
    [root@db04 ~]# mv /tmp/dir2 ../
    [root@db04 ~]# mv -t /tmp/ file1 file2 ./file3
    
    # 注: 在移动很多内容的文件夹时使用下方命令
    绝对路径执行命令:就是执行命令本身,不经过alias(别名)    # which cp获取命令位置,使用 /usr/bin/cp ...
    命令前面加上转义符'\':就是执行命令本身,不经过alias    # \mv hig qqq 或者 /bin/mv hig qqq

删除 rm

    rm:删除 remove
    -i:交互
    -r:递归
    -f:强制删除(force)
    -v:显示删除过程
    
    [root@oldboyedu ~]# rm -r zls
    rm: descend into directory ‘zls’? y
    rm: descend into directory ‘zls/zls1’? y
    rm: descend into directory ‘zls/zls1/zls2’? y
    rm: remove directory ‘zls/zls1/zls2/oldboy’? y
    rm: remove directory ‘zls/zls1/zls2’? y
    rm: remove directory ‘zls/zls1’? y
    rm: remove directory ‘zls’? y
    注: 最好别名永久禁止rm命令,写入/etc/bashrc重启也会生效, 再执行source /etc/bashrc即可

查看文件内容cat tac

    cat:查看
    -n:查看文件内容并显示行号
    -A:显示文件的结束符和tab键 相当于-vET
    ----------------------------------------
    -b:空行不显示编号
    -E:显示文件的结束符($)
    -T:显示文件的tab键(^I)
    
    cat >> zls.txt << EOF    # 写入文件
    卧槽
    作者:曾老湿
    江山风景美如画,
    本想吟诗赠天下。
    奈何自己没文化,
    一句卧槽浪好大。
    谢谢大家。
    EOF

    
    用法:cat [选项]... [文件]...
    
    [root@oldboyedu ~]# cat 123
    file1
    [root@oldboyedu ~]# cat 456
    file2
    [root@oldboyedu ~]# cat 123 456
    file1
    file2
    
    tac    # 文件内容从尾到头反向输出

查看文件命令 more,less

    more    # 按空格是翻页, 按回车是一行一行显示, 按q退出(cat把所有内容全加载到内存里,太大会崩。用more没事)
    [root@oldboyedu ~]# more /etc/services
    
    less    # 有查找功能
    [root@oldboyedu ~]# less /etc/services
    / + 关键字  回车
    n:向下搜索
    N:向上搜索(shift + n) 或者开启大写键也行
    [root@oldboyedu ~]# less -m -N /etc/services        # 其中-m显示百分比,-N显示行号。
    输入操作命令G转到最后一行。(输入g跳转到第一行)

查看文件的前n行

    head + 文件名
    默认显示前10行
    -n:显示前n行,n可以不写,为数字,n后面加数字
    [root@oldboyedu ~]# head /etc/services
    #查看文件前20行
    [root@oldboyedu ~]# head -n 20 /etc/services 
    [root@oldboyedu ~]# head -20 /etc/services
    
    tail + 文件名
    默认显示后10行
    
    -f:追踪文件末尾 相当于 tailf    (通过再开一个窗口,echo 123 >> services左右对比测试)
    [root@oldboyedu ~]# tail -f services    等同于    tailf services
    -n:显示后n行,n可以不写,为数字,n后面加数字
    tail -n 5 services    或    tail -5 services

三剑客之一:过滤grep

    grep:过滤关键字
    -n:显示行号
    -o:只显示关键字        # grep -on 'root' /etc/passwd显示行号不然分不清
    -B:显示关键字的前n行,n为数字 (before)# grep -B 2 '呵呵' zls.txt
    -A:显示关键字的后n行,n为数字 (after)   
    -C:显示关键字的前后n行,n为数字(center)# grep -C 1 '想' zls.txt 等于 grep -B 1 -A 1 '想' zls.txt
    -v:取反        # grep -v '^[a-f]' /etc/passwd
    -i:忽略大小写,不区分大小写
    -E:支持多关键字,多个关键字之间要用竖线 '|'分隔 相当于egrep  # grep -E 'root|bash|mail' /etc/passwd
                    # egrep '^root|^bash|^mail' /etc/passwd 以root,bash或mail开头
    ^ :以...开头
    $ :以...结尾
    . :代表任意字符
    * :代表所有    # grep '.*' /etc/passwd 匹配所有
    | :管道符,将前面命令输出的结果,交给后面的命令去处理  # ifconfig |grep eno
    
    [root@oldboyedu ~]# grep '^root' /etc/passwd    # 以root开头
    [root@oldboyedu ~]# grep 'bash$' /etc/passwd    # 以bash结尾
    [root@oldboyedu ~]# grep -n '我' zls.txt    # -n显示行数(从1开始计数)
    [root@oldboyedu ~]# grep -n '^$' zls.txt    # 查找空行
    
    #以数字的范围开头
    [root@oldboyedu ~]# grep -n '^[0-9]' passwd 
    26:1
    27:2
    28:3
    [root@oldboyedu ~]# grep -n '^[6-9]' passwd 
    [root@oldboyedu ~]# grep -n '^[1-2]' passwd 
    26:1
    27:2
    
    #以字母的范围开头
    [root@oldboyedu ~]# grep -n '^m' passwd 
    13:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    [root@oldboyedu ~]# grep -n '^[m-n]' passwd 
    13:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    17:nobody:x:99:99:Nobody:/:/sbin/nologin
    [root@oldboyedu ~]# grep -n '^[a-z]' passwd    # 开头a-z范围 
    [root@oldboyedu ~]# grep -n '^[a-Z]' passwd 
    [root@oldboyedu ~]# grep -i 'ftp' passwd

 

标签:oldboyedu,head,grep,passwd,etc,mv,root,三剑客
来源: https://www.cnblogs.com/ludingchao/p/15401540.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有