我在 Windows 上使用 Putty 连接到我的 ubuntu 16.04 服务器上的 bash shell。
这就是我在 Putty 中的样子sudo fdisk -l:
但是当我尝试将输出通过管道传输到 时less,颜色没有显示:
我试过sudo fdisk -l | less -Rand sudo fdisk -l | less -r,但输出看起来与原始输出不同。
我怎样才能让输出less看起来一样?
可能的重复:
如何将参数传递给别名?
正如可以减少保留彩色输出?我想用来git diff --color=always filename | less -r获取我的 git 差异的彩色输出。由于我经常使用它,因此为此设置一个别名会很好。但是如何filename在这个命令中包含?
我尝试了以下但没有成功:
alias gdiff='git diff --color=always $1 | less -r'
Run Code Online (Sandbox Code Playgroud)
键入gdiff example.php会显示example.phpwith的内容,less但会忽略 diff 部分。
有任何想法吗?
ls似乎有许多对我来说很奇怪的限制,这些限制未包含在其开关中(例如--max-depth=其他工具所具有的)。我喜欢维护通用标准(因此ls并ll遵循大多数普通发行版所具有的标准),但我的其他别名遵循某种易于记住的语法(lls“长列表、安全性”等)。我可以将其分成几个不同的问题,但由于这一切都与寻找通用操作方法的尝试有关ls,因此列出我的工作清单来描述我正在谈论的内容感觉更合适,因为它们都是相关的。一些具体问题:
我经常听到有人说你永远不应该ls在for循环等中使用。这在默认情况下如何查看子目录等方面是有意义的ls,但是有没有一种简单的方法可以剪辑ls以从不查看子目录内部?我--max-depth=在man页面中没有看到任何类似的内容,但在我看来,如果我们剪辑ls不进入子目录,那么在循环或其他结构中使用应该是可靠的for。是否有一种可靠的方法来剪辑ls为仅一个目录的输出,然后在 for 循环中使用它?
我使用了我认为相当笨重的结构lld(带有目录的长列表)和llf(带有文件的长列表)。有没有更好的方式来表达“我只想查看文件”?或“我只想查看目录?”;再次, man页面中我看不到任何内容。特别是,我只能以-l格式进行此列表,否则我无法 grep 出我不想显示的项目。一般来说,我认为以这种方式使用 grep 可能是一个坏主意(因为锁定-l格式),那么有没有更好的方法来实现仅选择目录项或仅选择文件,而不是使用 grep ?
如果下面的任何其他方法格式错误,我希望知道更好的方法?
尝试拥有一组标准的ls输出(每个发行版的设置通常不同)。
字符[]集通配符。例如ls name[03][17].c, 将匹配name01.c, name07.c, name31.c, name37.c, 并且[]还允许范围:ls name[07][1-9].c
请注意使用\ls来运行裸命令,忽略别名。
当我使用:
msgattrib --untranslated pl.po
Run Code Online (Sandbox Code Playgroud)
要从 po 文件中查看未翻译的字符串,我有彩色字符串,但在我使用时没有:
msgattrib --untranslated pl.po | less
Run Code Online (Sandbox Code Playgroud)