zoukankan      html  css  js  c++  java
  • shell 常用小命令总结

      1. 重命名

    1) 较简单的处理命令:mv 原文件名 新文件名

    如:mv myFile newName                           ###  将MyFile重命名为newName.

    2) 重命名文件命令:rename name_old  name_new file

    如:rename myFile newName myFile.text    #### 将myFile.text重命名为newName.text

    这个命令在批量重命名是更好用

     如: rename oldName newName oldName1.text oldName2.text oldName3.text

    这个命令将oldName1.text oldName2.text oldName3.text文件名中oldName替换为newName

      2. xshell 文件传输 

       sz 是文件下载到本地:

    sz filename               ##下载一个文件
    sz filename1 filename2    ##下载多个文件 

    sz dir/* ##下载dir目录下的所有文件,不包含dir下的文件夹

    rz 是上传本地文件到服务器:
    输入rz回车后,会出现文件选择对话框,选择需要上传文件,一次可以指定多个文件,上传到服务器的路径为当前执行rz命令的目录。

    3. 删除或复制
    删除文件或者文件夹rm
    rm filename 可以直接删除文件
    rm -r dir 可以删除文件夹及里面的子文件/文件夹; rmdir dir 只能删除空文件夹
    rm -v 可以详细显示删除的内容
    复制文件夹及其内容
    cp -r adsprecise_v2/ adsprecise_test

    -r 可以表示递归复制文件夹的内容
    目标文件夹存在时会把整个adsprecise_v2 复制过去,包含文件夹本身
    目标文件夹不存在会把adsprecise_v2 的所有内容复制过去,不包含

    4. 字符串拼接
    a=`date -d yesterday +%Y%m%d` ## 20151207
    b1="weblog_"$a".txt" ##weblog_20151207.txt
    c="weblog_" d=".txt"
    b2=$c$a$d
    ##weblog_20151207.txt


    5. lftp

    • 安装

    要在root权限下,yum install -y lftp 一下就可以

    • lftp 用户名:密码@ftp地址:传送端口(默认21)

    用法举例
    (1)lftp username:password@127.0.0.1:21 回车
    (2)lftp username@127.0.0.1 回车     ##默认21端口 回车后输入密码
    (3)lftp 127.0.0.1 回车   ##回车后 login 登录
    (4)lftp 回车 --> open 127.0.0.1 --> login 登录

    • 上传文件

    #上传文件至FTP服务器

    lftp ${FTP_USER}:${FTP_PWD}@${FTP_SERVER} <<EOF

    cd ${FTP_DIR}/
    lcd /data/admin/mjoys_export/
    put $FILE_NAME
    bye
    EOF

    • 可以使用cd / ls 命令查看 FTP服务器上的文件


    6.  shell 创建日志

    dt=`date -d yesterday +%Y%m%d`   #20151206

    #add a log file
    log_file=$dt".log"

    echo
    echo 'Executing... Pls check process details in log file /data/admin/mjoys_export/logs/log_file'
    exec > $DIRECTORY_PATH$log_file 2>&1

    7.  压缩与解压tar

    tar  -zcvf  文件名.tar.gz  压缩路径或者文件  

    tar  -ztvf  文件名.tar.gz  来查看 文件名.tar.gz这个包中包含了什么文件

    tar  -zxvf 文件名.tar.gz   ./     xxl/date/test.sql  可以把包中的test.sql  解压出来不管其他的

    8. 大于小于等于

      英文缩写:

    不相等 -ne    (not equal)
    大于 -gt (greater than)
    小于 -lt (less than)
    大于或等于 -ge (greater than or equal)
    小于或等于 -le (less than or equal)

    9. 自加或自减

    shell中

    1)

    自加的写法 ((x++))  或者((x+=1))

    减法同理  ((x--))  或者((x-=1))

    2)使用变量

    a=1
    a=$(($a+1))
    a=$[$a+1]
    a=`expr $a + 1`

    3)还有一个办法,let

    $let x=x+1
    $let x=x-1

    10.  保存密码等

    在 $home 路径下   编辑 .bashrc 文件

    完成后  需要导入一下才能生效。

    source .bashrc

    11. date 获取前天,任意一天前的日期

    写死: dt=$(date +%Y%m%d --date '7 days ago')

    传参:

    days=7
    dt=$(date +%Y%m%d --date "$days days ago")    ## 正数,表示几天之前

    dt=$(date +%Y%m%d --date "-$days days ago")   ## 负数,表示几天之后

    同样还有年月的用法

    date -d "x weeks ago" +%Y%m%d

    date -d "x years ago" +%Y%m%d

    上面两种格式都可以,对于变量的结果,也可以用 ``和$() 都行

    12. while 和 sed

    把文本中每行的首尾空格去掉

    cat $FILE_NAME|while read line
    do
    echo $line|sed 's/^s*|s*$//g'>>$filename_new && echo proceeding...
    done
    s/^s*|s*$//g 正则解释:
    •  s 是空格  
    • ^ 是开头 $ 是结尾 * 是任意多个字符(0或n个)
    • | 是或者,需要转义
    • /g 是全局
    • 开头的s 为搜索,s/a/b/  意思为把搜索到的a替换为b

                          s/a/b/g      是把搜索到的a 全部 替换为b  : 这里是把搜索到的开头空格或结尾空格替换为空字符。

    13.  ls 命令

    查看文件大小  ls -lh

    查看隐藏文件  ls -a

    14. df 查看磁盘的使用情况

     df -lh

    15. 判断上面一个命令是否结束

     tar ... && echo 'yes' || echo 'no'
    if [ $? -eq 0 ];then
    echo "yes"
    else
    echo "no"
    fi

    $?符号显示上一条命令的返回值,如果为0则代表执行成功,其他表示失败。
  • 相关阅读:
    A promise tomorrow is worth a lot less than trying today.
    时间相关函数
    JAVA中日期格式转换各个字母代表含义
    参考链接
    修饰器
    最新提案
    ArrayBuffer
    读懂 ECMAScript 规格
    使用markdown写博客
    linux系统界面转换
  • 原文地址:https://www.cnblogs.com/skyEva/p/5015279.html
Copyright © 2011-2022 走看看