Linux 命令行 Tricks

  • 区分文件和目录:

    • ls -F
    • ls -F -R:递归显示目录
  • 仅改变文件的修改时间,而不修改文件的内容:

    • touch filename;
  • 使用 file 命令查看文件类型:

    • ASCII text
    • directory
    • shell script

0. 常用 tricks

  • 仅显示目录

    • ls -l | grep “^d”:以 d 开头
    • ls -F | grep “/$”:以 / 结尾
  • cd

    • cd -:上次的目录;
    • cd !$:上次命令参数中的最后一个目录;
    • cd !^:上次命令参数中的第一个目录;
    • 重复调用上次命令中的参数Esc + .
  • !!:重复执行上一个命令;

  • !num:重复执行 history 中编号为 num 的命令;
  • !?abc:重复前一个包含abc的命令,注意abc的选择一定要足够特别,否则会有多项匹配,引发歧义;

    其实暗含一种搜索的感觉,搜索、匹配成功之后,直接执行。
    命令行环境下还有一种更为强大的搜索方式,ctrl + r
    (reverse-i-search)'':,第一个飘号和单引号之间的内容为搜索的内容,冒号之后为匹配的内容;

  • 重复调用上次命令中的参数Esc + .

1. type

显示关于命令类型的信息:

  • An executable program like all those files we saw in /usr/bin.
  • A command built into the shell itself.

    $ type cd
    $ type type
  • A shell function.
  • An alias.

    $ type ls
    ls is aliased to `ls --color=auto'

2. ls 的参数

  • -F,–classify,加上文件类型的指示符号 (*/=@| 其中一个)

    过滤出一个路径下的全部目录,不含子目录 
    
    $ ls -F | grep /$

    不加任何标识符,表示它是一般文件。

    *: 表示可执行文件

    / 表示目录
    @ 表示soft link文件
    = 表示socket文件
    | 表示管道文件。

原文地址:https://www.cnblogs.com/mtcnn/p/9421123.html