区分文件和目录:
- 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文件
| 表示管道文件。