linux命令go on

  :touch可以改变时间戳.

    文件有三个时间:

      1:最近一次的访问时间;

      2:最近一次修改时间,modify:文件内容的改变;

      3:最近一次改变时间,change:文件元数据的改变;

      文件数据: 

         数据:文件的具体内容.
         元数据:文件属性,属主属组,节点号.

         文件的属性变了内容不一定变,文件的内容变了属性则一定会变.比如文件的大小,最近的改变时间.

    -a:仅改变访问时间(access time)

    -m:改变修改时间.

    -t:CCYYMMDDhhmm.ss(年月日时分.秒).

    -c:如果文件不存在不创建(因为touch默认操作是如果文件不存在创建文件).

 

  二:file FILENAME

    linux可执行文件与文本文件都为普通文件.Windows可通过后缀名进行判断,linux下通过file命令查看是可执行文件(elf)还是文本文件(ascii)等等.

  :几个常见的文件查看命令

    more通常称为只能向后看的文件命令,其实它可以往前看,但是前提是文件没有显示完.

    man命令其实就是调用less命令,所以应该学习less 命令,很好用.

    tail有个-f选项.它的功能是打开一个文件,但是并不结束,一直等待.如果有另外的进程写入这个文件,那么此时tail -f会显示最新修改的文件内容.这个选项只有tail有,head并不有.

    cut -d: -f 1,5 /etc/passwd 剪切一个文本的第一行,第五行.每一行以:作为分割符.具体man cut.

   shell环境配置

  BASH

    /etc:profile,profile.d/*,bashrc   全局变量

    ~/.bash_profile,~/.bashrc    特定用户变量.

  BASH特性:

    命令行编辑快捷键:

      跳到命令行开头(crtl+a)

      跳到命令行结尾(crtl+e)

      删除光标到行首的内容(crtl+u)

      删除光标到行尾的内容(crtl+k)

      清屏(保留当前的命令行crtl+l)

      取消命令(crtl+c)

    缓存: 

       PATH变量存放了执行命令Bash应该去哪里找这些命令,linux系统里有很多很多的命令,如果每次执行相同的命令都到一个位置下寻找命令将会使用随度很慢.Linux有个hash表用来存放最近执行的命令.比如之前执行过wc命令,那么hash存储了wc以及其位置.那么下次再次执行wc时候先到hash里寻找,看是否有同名的命令,如果找到/usr/bin/wc,那么就会使用这个路径下的wc命令去执行.这比寻找PATH里的变量一遍一遍的速度快的多得多.但是方便的时候肯定带来了一些"bug".假如第一次执行过wc之后,执行了 mv /usr/bin/wc /bin/wc.(把wc命令移动到/bin下),那么第二次执行的时候就会报错找不到wc命令,因为hash记录的wc同名命令是/usr/bini下的,但是wc已经移动了位置.即使PATH里存放了/bin这个路径,那么bash执行的时候还是会去/usr/bini下找wc而不是到专一位置的/bin下寻找wc.这个就是linux的hash命令缓存.清楚缓存可以尝试hash -d wc或者hash -r(全部的路径).具体信息可以查看 help hash

    命令历史:

       history命令查看命令历史(内部命令).$HISTSIZE为history记录的最大命令数.

         系统退出后会保存history命令里的命令到一个配置文件里$HISTFILE.每个用户的$HISTFILE不一样.~/.bash_history存放的是各个不同用户的命令历史.

         $HISTSIZE,$HISTFILE,$HISTFILESIZE三个与history命令有关的全局变量.

      !n表示执行命令历史的第n号命令.!!表示执行上一条命令.所以可以先执行history查看命令历史以及序列,然后!加上制定的序号即可.

      !COMMAND:表示执行最近一次COMMAND执行的命令

      ESC+.或者ALT(按住)+. 调用上一条命令的命令参数.

      $HISTCONTROL: 

      ignorespace:忽略以为空格开头的命令.

      ignoredups:忽略重复的相邻命令记录.

      ignoreboth:两者均忽略.

      可以通过export HISTCONTROL=[ignorespace]...[...]进行设置.

    history命令:
      -c:清空历史记录

      -w:保存缓存中的命令到命令历史文件.

    命令通配符:

      *:任意长度的任意字符

      ?:任意单个字符

      []:匹配制定范围内的任意单个字符:a[axy]b.  

        [a-z],[A-Z],[0-9].[a-z0-9]表示数字与小写字母(注意二者之间没有空格和逗号).

原文地址:https://www.cnblogs.com/brillliu/p/3540334.html