• Linux常用基础命令操作(二)


    10  >输出重定向 文件不存在则创建文件,文件存在则清空内容 放入>左边的内容  比较危险 建议备份后操作

          >>追加输出重定向,在文本结尾追加内容,不删除原内容

         <输入重定向 

         <<追加输入重定向

         箭头指向为数据流向

    [root@m01 abc]# cat >>white.txt<<EOF
    > i am white bai 
    > thankyou
    > EOF
    [root@m01 abc]# cat white.txt 
    i am white bai 
    thankyou
    [root@m01 abc]# > white.txt 
    [root@m01 abc]# cat white.txt 

    [root@m01 abc]# echo "who are you">>white.txt 
    [root@m01 abc]# cat white.txt                 
    i am white bai 
    thankyou
    who are you

    0是标准输入:一般配合<<   <使用,数据流从右到左

    1是标准正常输出,一般配合>>  >使用,数据流从左到右

    2是标准错误输出,把错误内容输入到后面的文件,数据流从左到右

    2>错误重定向,把错误的信息输入到后面文件,删除原有文件

    2>>错误追加重定向,把错误的信息追加到后面文件,不删除原内容

    [root@m01 abc]# cat a.txt 
    qwe
    [root@m01 abc]# cat b.txt 
    [root@m01 abc]# 
    [root@m01 abc]# eho qwe 1>a.txt 2>b.txt
    [root@m01 abc]# cat a.txt              
    [root@m01 abc]# cat b.txt              
    -bash: eho: command not found

    如果a内正确和错误的都写一个文件echo qwe 1>a.txt 2>a.txt(麻烦)一般写为echo qwe 1>a.txt 2>&1(推荐)或echo qwe &>a.txt(错误输出和正确输出在一个位置)

    11、cp   拷贝,复制

    常用参数

    -r 递归  -p连同文件属性一起拷贝 -d 目录    -a等价于-pdr    -i覆盖前提示(默认) 

    不加参数只能复制文件

    [root@m01 abc]# cp a.txt  /tmp/
    [root@m01 abc]# ll /tmp/
    total 6372
    -rw-r--r--  1 jenkins jenkins   19673 Sep 12 20:59 akuma304166024346870543jar
    -rw-r--r--  1 jenkins jenkins   19673 Sep 10 18:41 akuma6786136470976806683jar
    -rw-r--r--  1 root    root          0 Sep 20 22:27 a.txt
    [root@m01 data]# cp abc/ /tmp/
    cp: omitting directory ‘abc/’
    [root@m01 data]# cp abc/ /tmp/ -a
    [root@m01 data]# ll /tmp/     
    total 6372
    drwxr-xr-x  3 root    root         60 Sep 20 22:21 abc
    [root@m01 data]# cp abc/ /tmp/ -a
    cp: overwrite ‘/tmp/abc/white.txt’? 

    如果想覆盖不提示  cp  使用则覆盖不提示 

    12、mv  移动,修改文件名  

    常用参数

    -r 递归  -p连同文件属性一起移动 -d目录    -a等价于-pdr  

    不加参数只能复制文件

    [root@m01 data]# cd abc/
    [root@m01 abc]# mv a.txt  ../asd/
    [root@m01 abc]# tree
    .
    ├── bas
    ├── b.txt
    └── white.txt
    
    1 directory, 2 files
    [root@m01 abc]# tree ../asd/
    ../asd/
    └── a.txt

    注意 移动多个文件到目录  结尾一定是目录

    13、rm 删除文件

    常用参数

    -f 强制删除 -r删除目录 (普通文件不能加-r)   rm -fr 删除后无法恢复  

    [root@m01 abc]# cp b.txt b.txt.bak
    [root@m01 abc]# ll
    total 12
    drwxr-xr-x 2 root root  6 Sep 20 15:58 bas
    -rw-r--r-- 1 root root 30 Sep 20 22:22 b.txt
    -rw-r--r-- 1 root root 30 Sep 20 22:33 b.txt.bak
    -rw-r--r-- 1 root root 37 Sep 20 22:14 white.txt
    [root@m01 abc]# rm -f b.txt
    [root@m01 abc]# ll
    total 8
    drwxr-xr-x 2 root root  6 Sep 20 15:58 bas
    -rw-r--r-- 1 root root 30 Sep 20 22:33 b.txt.bak
    -rw-r--r-- 1 root root 37 Sep 20 22:14 white.txt
    [root@m01 abc]# rm -fr bas/
    [root@m01 abc]# ll
    total 8
    -rw-r--r-- 1 root root 30 Sep 20 22:33 b.txt.bak
    -rw-r--r-- 1 root root 37 Sep 20 22:14 white.txt

    删除的正确操作(谨慎操作)
    a,删除文件前使用mv命令移动到/tmp替代删除
    b,进入目标目录cd;find . -type f -name " " |xargs rm -i(通过管道传递后没有-i不会提醒是否删除)

    14、find  查找文件    

    常用参数

    -type 查询类型 f文件 d目录 c字符 b磁盘 s(通信用) l链接 

    -a 交集 (默认) -o 并集

    -name 查询名字  -maxdepth 查找深度(几级目录) -mtime 修改时间 +7 7天前 同理(-ctime修改时间 -atime接入时间 均不常用)

    [root@m01 abc]# find /data -type f -name "a.txt"
    /data/asd/a.txt
    [root@m01 abc]# find /data -type f -name "a.txt" -exec rm {} ;  
    #等价于(建议使用下面命令)
    [root@m01 abc]# find /data -type f -name "a.txt" |xargs rm -f;  
    [root@m01 ~]# find /data -type f ! -name "*.sh" -mtime +7|xargs cat
    [root@m01 ~]# find /log -type f -name "*oldboy" -mtime +15|xargs rm -rf

    | 管道   把所有东西放在一起

    15、grep 过滤

    常用参数

    -v 过滤掉后面的内容排除后打印   

    -n对匹配的内容打印行号 (不常用)

    -w按照单词搜索相当于 边界 (不常用)

    边界  换行  (不常用)

    -i不区分大小写   

    egrep 等价于grep -E  扩展grep可以过滤多个 

    [root@m01 ~]# grep 3306 /etc/services 
    mysql           3306/tcp                        # MySQL
    mysql           3306/udp                        # MySQL
    [root@m01 ~]# grep -i (mysql /etc/services         #查找(mysql  不区分大小写
    sphinxql        9306/tcp                # Sphinx search server (MySQL listener)
    # 转义
    [root@m01 ~]# egrep "3306|1521" /etc/services   
    #或
    [root@m01 ~]# grep -E "3306|1521" /etc/services   
    mysql           3306/tcp                        # MySQL
    mysql           3306/udp                        # MySQL
    ncube-lm        1521/tcp                # nCube License Manager
    ncube-lm        1521/udp                # nCube License Manager
    mysql           3306/tcp                        # MySQL
    mysql           3306/udp                        # MySQL
    ncube-lm        1521/tcp                # nCube License Manager
    ncube-lm        1521/udp                # nCube License Manager

    16、alias  查看或设置系统现有的别名   

    (可以为一些危险命令加一些保护参数,防止互操作,可以把复杂的字符串和命令变成的简单的字符串,可以定义命令alias a='cp' a就可以进行cp一样的操作了;该命令位置为内存内,建议保存至/etc/profile或者~/.bashrc就永久生效)

    [root@m01 ~]# alias cp
    alias cp='cp -i'
    [root@m01 ~]# alias ll
    alias ll='ls -l --color=auto'

    17、unalias 删除系统命令的别名 

    cp为cp -i(-i提示是否确认)不推荐使用,理解原理

    18、seq 序列(只能生成数字序列) 

    常用参数  -w相等长度   seq 1 2 10   从1-10 间隔2 

    [root@m01 ~]# seq 1 2 10 >1.txt
    [root@m01 ~]# seq -w 1 2 10 >2.txt 
    
    [root@m01 ~]# cat 1.txt 
    1
    3
    5
    7
    9
    [root@m01 ~]# cat 2.txt 
    01
    03
    05
    07
    09

    19、tree 目录树状显示 

    常用参数

    -d只显示目录 -L 数字 最多显示数字层的目录  -f显示完整目录结构  -i显示目录不打印树枝 -F区分普通文件和特殊文件 

    [root@m01 ~]# tree /data/abc/
    /data/abc/
    ├── b.txt.bak
    ├── white.txt
    └── www
        └── asd
            └── aaa
    
    3 directories, 2 files
    
    [root@m01 ~]# tree -L 2 /data/abc/       
    /data/abc/
    ├── b.txt.bak
    ├── white.txt
    └── www
        └── asd
    [root@m01 ~]# tree -dL 1 /data/abc/
    /data/abc/
    └── www
    [root@m01 ~]# tree -f /data/abc/ 
    /data/abc
    ├── /data/abc/b.txt.bak
    ├── /data/abc/white.txt
    └── /data/abc/www
        └── /data/abc/www/asd
            └── /data/abc/www/asd/aaa
    [root@m01 ~]# tree -i /data/abc/
    /data/abc/
    b.txt.bak
    white.txt
    www
    asd
    aaa
  • 相关阅读:
    ACL权限
    rf中setup与teardown
    字符串常用方法
    fiddler模拟弱网测试
    appium自动化webview时遇到的chromedriver问题
    appium 设备信息字典(desired_caps)
    appium 操作界面
    元素定位方法之Uiautomator方法
    jemter csv参数化时注意问题
    windows下binlog问题解决
  • 原文地址:https://www.cnblogs.com/wlbl/p/9683904.html
Copyright © 2020-2023  润新知