zoukankan      html  css  js  c++  java
  • 基本命令中部

    基本命令

    移动文件

    将/data目录移动到/root下
    涉及命令mv

    [root@nfsnobody ~]# mv /data/ /root/     移动
    [root@nfsnobody ~]# ls /root/            查看
    anaconda-ks.cfg  data  install.log  install.log.syslog
    [root@nfsnobody ~]#
    

    备份文件

    备份nfsnobody.txt
    涉及命令cp

    [root@nfsnobody ~]# cp /root/data/nfsnobody.txt /root/data/nfsnobody.txt.bak 
    ##########             备份cp  将需要备份的文件加上  .bak
    
    [root@nfsnobody ~]# ls -l /root/data/                                     检查
    total 0
    -rw-r--r--. 1 root root 0 Jul 10 19:18 nfsnobody.txt
    -rw-r--r--. 1 root root 0 Jul 10 19:19 nfsnobody.txt.bak
    [root@nfsnobody ~]#
    

    改名

    将nfsnobody.txt 修改成oldgirl.txt
    涉及命令mv

    [root@nfsnobody ~]# mv /root/data/nfsnobody.txt /root/data/oldgirl.txt    改名
    [root@nfsnobody ~]# ls -l /root/data/                                  查看
    total 0
    -rw-r--r--. 1 root root 0 Jul 10 19:19 nfsnobody.txt.bak
    -rw-r--r--. 1 root root 0 Jul 10 19:18 oldgirl.txt
    [root@nfsnobody ~]#
    

    删除文件

    删除oldgirl.txt
    涉及命令 rm   参数 -f

    [root@nfsnobody ~]# rm /root/data/oldgirl.txt                删除文件
    rm: remove regular empty file `/root/data/oldgirl.txt'? y       确认删除 y
    [root@nfsnobody ~]#
    

    强制删除不提示

    [root@nfsnobody ~]# rm -f /root/data/oldgirl.txt          强制删除不提示
    [root@nfsnobody ~]# ls -l /root/data/                     查看
    total 0
    -rw-r--r--. 1 root root 0 Jul 10 19:19 nfsnobody.txt.bak
    [root@nfsnobody ~]# 
    ####-f  强制删除不提示
    

    删除目录

    删除/tmp下的/data
    涉及命令 rm 
    -rf  强制删除不提示 (工作中需慎用)
    -r 递归 删除目录及以下文件
    -f 强制删除不提示

    [root@nfsnobody ~]# rm /tmp/data/          
    rm: cannot remove `/tmp/data/': Is a directory      这是一个目录  不能直接删除目录
    [root@nfsnobody ~]# rm -r /tmp/data/             -r 递归 删除目录及以下文件
    rm: remove directory `/tmp/data'? y 
    [root@nfsnobody ~]# 
    
    [root@nfsnobody ~]# rm -rf /tmp/data/            -rf  强制删除不提示 (慎用!)
    [root@nfsnobody ~]#
    

    mkdir命令补充

    创建多层目录(批量创建目录)
    -p 创建多层目录
    -v 显示创建过程

    [root@nfsnobody ~]# mkdir -p /nfsnobody/test
    [root@nfsnobody ~]# 
    [root@nfsnobody ~]#    #-p     创建多层目录
    

    创建多层目录并显示内容

    [root@nfsnobody ~]# mkdir -pv /1/2/3
    mkdir: created directory `/1'
    mkdir: created directory `/1/2'
    mkdir: created directory `/1/2/3'
    [root@nfsnobody ~]#     #  -v 显示创建过程
    

    cd命令补充

    cd..

    cd.. 进入到上一级目录

    [root@nfsnobody ~]# cd /root/data/
    [root@nfsnobody data]# cd ..
    [root@nfsnobody ~]# ##进入到上一级目录
    

    cd. 及cd.可能会使用的环境

    cd. 进入到当前目录

    [root@nfsnobody data]# cd .
    [root@nfsnobody data]# ##进入到当前目录
    [root@nfsnobody data]# ##用到cd . 的时候
    [root@nfsnobody data]# ##移动xxxx文件 到当前目录
    [root@nfsnobody data]# cp /root/data/nfsnobody.txt .     
    ######可能使用到的地方   如当前在data目录下  要把一个文件复制到data 可以使用 . 代替要复制的路径
    

    管道的概念

    管道的概念

    简单来说管道就是将前面命令处理的结果传递给后面的命令

    管道与|xargs(管道xargs)的区别

    find|xargs ls -ld##把前一个命令的结果,通过管道传递给后面的命令(ls -ld),传递的是文件名
    find| 命令    ##把前一个命令的结果,通过管道传递给后面的命令,传递的是普通的文本,文字,字符串

    find命令

    创建环境

    touch/root/nfsnobody.txt  /root/alex.txt/root/lidao.txt
    

    查找文件

    涉及命令 find

    在/root目录查找文件nfsnobody.txt

    find查找命令

    [root@nfsnobody ~]# #find 在哪里找 -在哪找 f 找什么名字的 "nfsnobody.txt" 
    [root@nfsnobody ~]# find /root/ -type f -name "nfsnobody.txt"
    /root/nfsnobody.txt
    [root@nfsnobody ~]# 
    
    -type  找什么类型的  f  file      (文件)
                         d  directory(目录)
    

    在/root目录查找以 .txt 结尾的文件

    • 所有字符(文字)  任何文字
    [root@nfsnobody ~]# find /root/ -type f -name "*.txt"
    /root/alex.txt
    /root/lidao.txt
    /root/nfsnobody.txt
    [root@nfsnobody ~]# ###  *所有字符  任意字符
    [root@nfsnobody ~]#
    

    实现查找并删除

    基于find命令下实现

    方法一

    为防止误删除 不直接用rm删除  先用 ls -l查看一下内容  确认一下  确认后再删除

    [root@nfsnobody ~]# find /root/ -type f -name "*.txt"|xargs ls -l   查找并查看
    -rw-r--r--. 1 root root 0 Jul 10 19:42 /root/alex.txt
    -rw-r--r--. 1 root root 0 Jul 10 19:42 /root/lidao.txt
    -rw-r--r--. 1 root root 0 Jul 10 19:46 /root/nfsnobody.txt
    [root@nfsnobody ~]# find /root/ -type f -name "*.txt"|xargs rm       查找并删除
    [root@nfsnobody ~]# ls -l /root/                                     检查是否删除
    total 40
    -rw-------. 1 root root  1161 Jul 10 18:26 anaconda-ks.cfg
    -rw-r--r--. 1 root root 21736 Jul 10 18:26 install.log
    -rw-r--r--. 1 root root  5890 Jul 10 18:25 install.log.syslog
    

    方法二

    因上面已删除 重新创建环境

    touch/root/nfsnobody.txt  /root/alex.txt/root/lidao.txt
    

    首先为防止未删除 先查找并查看*.txt的文件
    $

    [root@nfsnobody ~]# ls -l $(find /root/ -type f -name "*.txt")
    -rw-r--r--. 1 root root 0 Jul 10 18:47 /root/alex.txt
    -rw-r--r--. 1 root root 0 Jul 10 18:47 /root/lidao.txt
    -rw-r--r--. 1 root root 0 Jul 10 18:47 /root/nfsnobody.txt
    

    确认无误 rm -f 删除

    [root@nfsnobody ~]# rm -f $(find /root/ -type f-name "*.txt")     rm -f 强制删除不提示
    [root@nfsnobody ~]# ls /root/                                      检查是否删除
    anaconda-ks.cfginstall.log  install.log.syslog
    [root@nfsnobody ~]#
    

    方法三

    同上先模拟创建环境
    先查看搜索出的内容 然后再删除

    [root@nfsnobody ~]# find /root/ -type f -name "*.txt" -exec ls -l {} ;  查看搜索的文件
    -rw-r--r--. 1 root root 0 Jul 10 18:51 /root/alex.txt
    -rw-r--r--. 1 root root 0 Jul 10 18:51 /root/lidao.txt
    -rw-r--r--. 1 root root 0 Jul 10 18:51 /root/nfsnobody.txt
    [root@nfsnobody ~]# find /root/ -type f -name "*.txt" -exec rm {} ;     删除搜索的文件
    [root@nfsnobody ~]# ls /root/                                            检查
    anaconda-ks.cfg  install.log  install.log.syslog
    [root@nfsnobody ~]#
    

    过滤信息

    问题信息
    已知文件 test.txt 内容为:
    test
    liyao
    nfsnobody nfsnobody
    请给出输出test.txt 文件内容时,不包含 nfsnobody 字符串的命令
    首先模拟环境

    [root@nfsnobody ~]# mkdir -p /data
    [root@nfsnobody ~]# cat > /data/test.txt <<EOF
    test
    liyao
    nfsnobody
    EOF
    

    方法一 grep

    grep-v 清除搜索的内容 显示其他的

    [root@nfsnobody ~]# grep "nfsnobody"/data/test.txt 
    nfsnobody
    [root@nfsnobody ~]# grep -v "nfsnobody"/data/test.txt 
    test
    liyao
    

    方法二head  tail

    head默认显示文件的前几行内容  默认显示前十行

    [root@nfsnobody ~]# head -2 /data/test.txt    -2 == -n2  在此处表示的参数是一样的
    test
    liyao
    [root@nfsnobody ~]# head -n2 /data/test.txt 
    test
    liyao
    [root@nfsnobody ~]#
    

    tail(拓展)

    tail默认显示文件的最后几行内容  默认显示最后十行

    [root@nfsnobody ~]# tail -2 /data/test.txt    -2 == -n2 显示最后两行
    liyao
    nfsnobody
    [root@nfsnobody ~]# tail -n2 /data/test.txt 
    liyao
    nfsnobody
    [root@nfsnobody ~]#
    

    awk

    ! 表示取反

    [root@nfsnobody ~]# awk '!/nfsnobody/'/data/test.txt 
    test
    liyao
    [root@nfsnobody ~]# awk '/nfsnobody/'/data/test.txt 
    nfsnobody
    [root@nfsnobody ~]#
    

    sed

    d 意思  delete

    [root@nfsnobody ~]# sed '/nfsnobody/d'/data/test.txt 
    test
    liyao
    

    显示文件20到30行的内容

    准备环境

    [root@nfsnobody ~]# seq 40 >/data/ett.txt
    

    方法一head | tail

    先用head提取文件前30行  然后用管道传递给 tail  取后11行

    [root@nfsnobody ~]# head -30 /data/ett.txt |tail-11
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    

    方法二awk

    NR 行号
    NR==20取第三行    ;

    [root@nfsnobody ~]# awk 'NR==20,NR==30'/data/ett.txt
    ####因行数太多 此处不写  输出内容同5.1
    

    方法三 sed

    -n 取消默认输出(sed命令不会把文件内容都显示出来)
    p (print显示打印)

    [root@nfsnobody ~]# sed -n '20,30p' /data/ett.txt 
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    

    方法四 grep

    -A

    [root@nfsnobody ~]#grep -A "20"/data/ett.txt
    
  • 相关阅读:
    UML建模图
    Ubuntu选择软件源
    用于主题检测的临时日志(c5ac07a5-5dab-45d9-8dc2-a3b27be6e507
    【Android】不弹root请求框检测手机是否root
    android开机动画(bootanimation)
    UniversalImageLoader(异步加载大量图片)
    PHP字符串
    Android获取本机号码及运营商
    静态代码块、构造代码块、构造方法
    Android来电拦截及来电转移
  • 原文地址:https://www.cnblogs.com/wenrulaogou/p/11981991.html
Copyright © 2011-2022 走看看