关闭

linux 命令及shell 知识小点汇集

标签: shelllinux
146人阅读 评论(0) 收藏 举报
分类:

一、  linux 命令中,经常会用到对一个命令进行编辑的情况,为了提高工作效率,利用一些快捷键可以达到事半功倍的效果,以前常用的快捷键,多时不用,有些生疏了,在这里简单小节,以备查用。

复现历史命令的快速方式

1、向上箭头“↑”,可以复现上一条执行的指令

2、! +abc,可以执行最近一条以abc开头的命令

3、Crtl +r 可以查找历史命令

4、history  N  |grep  abc ,查找历史最近N条命令里包含abc的命令列表

编辑命令的快捷键

5 、移动快捷键

      Ctrl+a 切换到命令行开始

      Ctrl+e 切换到命令行末尾

      Alt + f 光标向前(Forward)移动到下一个单词

      Alt + b 光标往回(Backward)移动到前一个单词

6、删除快捷键

      Ctrl+u 清除剪切光标之前的内容

      Ctrl+k 清除剪切光标及光标之后的内容

      Ctrl + w 删除从光标位置前到当前所处单词的开头

       Alt + d 删除从光标位置到当前所处单词的末尾

二、之前为了对日期命名的大量文档进行处理,要使用求某一指定日期的前N天的函数,当时用的急,就用了转换为到1970-01-01秒的方法,后来发现可以借助date 的--date 直接求解,在这列出这两种方法,并列出一些shell 中个人细节上出的问题。

1、针对shell中的return ,在有些linux环境下,使用source或者'.'来执行,才能返回,用sh 执行不会中断执行

2、while循环中,当读取文件使用 cat $FileName | while read Line

                                                       do

                                                        return

                                                       done

     结构时,中间的return是从管道返回,中断了while,但是,while后续的程序仍然会被执行,解决的方式是使用

     while read line

      do

      done <$FileName   由于该方式,没有使用管道,不会有上面的问题

3、获取某一日期的前或者后N天的方法

    (1)方法1,SECONDS=`date -d  "$DATE" +'%s'

                   DAYS=$(((86400*N)))

                   `SECONDS=$(((SECONDS-86400*N)))

                   echo 'date -d  @SECONDS'

   (2) 方法2,直接使用 `date  --date="$DATE  -N day" +'%Y%m%d' `或者 `date -d "N day ago $DATE" +'%Y%m%d'  `  

    

 

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:14231次
    • 积分:430
    • 等级:
    • 排名:千里之外
    • 原创:34篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条
    文章分类