我正在使用命令
ls -a | grep '^\.'
仅显示隐藏文件。我添加了这一行
alias hidden='ls -a | grep '^\.'' # show only hidden files
归档.bash_aliases
但这不起作用。应该是人品有问题吧'
。
你能帮我写出正确的别名吗?
答案1
让 shell 列出点文件,并告诉ls
不要查看目录:
ls -d .*
答案2
要么将内部一对引号设为双引号:
alias hidden='ls -a | grep "^\."'
或者将外面的一对引号设为双引号:
alias hidden="ls -a | grep '^\.'"
或者将所有引号设为双引号并转义内部对:
alias hidden="ls -a | grep \"^\.\""
或者将其设为函数,这样您就可以在调用时传递一些参数:
hidden() { ls -a "$@" | grep '^\.'; }
答案3
ls -Ad .* #This will list all the hidden files & directories while retaining the color & formatting
或者
要创建相同的别名:
alias lh='ls -Ad .*'
或者
同样的事情可以通过 grep 命令和管道操作符完成;但是它会丢失颜色和格式:
ls -a|grep "^\."
或者
通过别名:
alias lh='ls -a|grep "^\."'
答案4
根据记录,这似乎对我不起作用,因为ls -a
打印两列(有时更多列)。我建议使用该-1
选项来确保每个文件都在自己的行中。像这样的东西:
alias hidden='ls -a1 | grep "^\."'