最明显的是:
较少文件名,然后按Shift + F启动跟随模式。
就像tail
,但是您具有less
的所有附加功能-例如滚动,搜索和突出显示搜索结果。
多年来我一直在使用tail
监视日志文件。
这只是让我思考:还有其他过时的命令并且有强大的替代方法吗?
请分享幸福-每个帖子一个命令。
我想指出我的观点,这是程序员使用grep的替代方法。
我很惊讶(包括我在内的人)使用了find和xargs拼凑在一起的别名和shell脚本已有很长时间了。
[netcat
应该被netcat
通用替换。
值得一看一些常用命令的GNU版本,因为它们已经悄悄地获得了超出标准(XPG4等)版本的有用改进。
例如,递归grep比socat
好得多。
在Linux上,find ... -print0 | xargs -0 ...
(来自$()
程序包)的行为比ip
/ iproute2
更可预测,并且易于解析输出。
ifconfig
替代了route
和pax
,并使用了一系列明智的命令行选项:pax
从归档文件读取,tar
写入归档文件,cpio
执行树到树的副本。它还提供-r
选项,以允许您在从/向归档读取文件或向其写入文件之前对文件名执行替换。 :-)
编辑:马克·贝克(Mark Baker)提出了一个有趣的观点,我应该予以澄清。默认情况下,-w
制作-rw
存档(是-s
的扩展,并且可以由大多数pax
程序解压缩)。但是,使用pax
选项,可以创建ustar
存档和tar
存档(这两个是由标准保证的)。一些实现(例如BSD之一)支持创建更多类型,例如旧式(-x
之前的版本)cpio
存档。
有人可能会说ustar
已经完全淘汰了ustar
。
但是,由于自从perl存在之前就一直使用awk,所以我仍然使用它;对于更严重的脚本,我使用python而不是perl。
atool
:轻松处理档案文件[awk
是perl
的更好选择。
'rename'是一个很好的替代方法,它可以代替一个人写的将名称更改为一堆文件的文件。
本身并不是真正的过时命令的替代品,但是屏幕是打开多个终端窗口和/或使用bg等的不错选择。
如果您使用的是GNU系统,请不要使用http://debaday.debian.net/2008/12/28/atool-handling-archives-without-headaches/;而是使用dig
。
尝试在类固醇上使用htop-top
。>>
尝试在类固醇上使用multitail-tail
。>>
不能完全替代任何东西,但是moreutils是小的Unixy工具的集合,这些工具基本上是为了填补* nix工具箱中的漏洞。
因为您只希望每个帖子一个命令,所以我想我必须选择sponge
例如,如果您这样做:
grep 'something' somefile.txt > somefile.txt
somefile.txt最终将为空。因此,您可以使用海绵:
grep 'something' somefile.txt | sponge somefile.txt
Rsync可以有效且有效地替换/补充大多数文件传输方法(scp,rcp,管道tar命令等,甚至在许多情况下甚至是cp)。
由于其多功能性,它有很多选择。但我真的建议至少学习rsync的基础知识。
mtr
与traceroute不同,它几乎立即找到路由(因为它在移动到下一跳之前不等待响应)。
默认情况下,命令行版本安装在Debian中(软件包mtr-tiny)。
上下文相关自动完成。
嗯,我知道,它不是command
bash_completion
的配置已经非常好,这意味着不仅用于文件和目录!例如,如果我键入svn pr<TAB><TAB>
我得到:
praise propdel propedit propget proplist propset
甚至
svn propget svn:k<TAB>
我自动获得
svn propget svn:keywords
[它也适用于ant
和make
自动读取默认文件或在命令行上指定的文件!这是一个实时保护程序!
[rsh
/rexec
/rcp
/ etc。已被ssh
/scp
/ etc。]取代
问题和标签是矛盾的。 Linux不是Unix(愚蠢的开放组织),并且大多数“真正的” Unix机器都没有接近Linux的软件。例如,在相当普通的AIX 5.3pl6上安装:
少$ksh:较少:未找到。
是的,我管理这些系统,但是我们同意在大多数情况下不加载非核心组件,因为我们需要它们以匹配现场部署的系统。
在工具箱中拥有较新的工具真是太好了,但是如果您不了解“老派”方式,那么如果您曾经使用过AIX / Solaris / HP,那么您将遭受巨大的痛苦-UX / etc系统,没有更新的工具(甚至可能没有bash)。
注意,在我们的开发VM上,我确实安装了尽可能多的现代工具,这仅仅是因为尽管我可以在更简单的环境中工作,但这并不意味着我喜欢它。而且,我在Linux(CentOS 5)系统上做了尽可能多的工作,这仅仅是因为它上的工具仍比我为AIX可以轻易打包的任何工具更新(Solaris更好; HP-UX则更差)。] >
[netcat
应该被netcat
通用替换。
值得一看一些常用命令的GNU版本,因为它们已经悄悄地获得了超出标准(XPG4等)版本的有用改进。
例如,递归grep比socat
好得多。
而且,socat
处理了长期存在的可怕的引用问题,该问题使xargs无法正确处理时髦的,充满空格的文件名。
[GNU tar使用'j'和'z'标志来直接处理bzip和gzip存档。
bash的find | xargs grep
替代反引号使偶尔嵌套的反引号表达式更易于读写。
在Linux上,find ... -print0 | xargs -0 ...
(来自$()
程序包)的行为比ip
/ iproute2
更可预测,并且易于解析输出。
ifconfig
替代了route
和pax
,并使用了一系列明智的命令行选项:pax
从归档文件读取,tar
写入归档文件,cpio
执行树到树的副本。它还提供-r
选项,以允许您在从/向归档读取文件或向其写入文件之前对文件名执行替换。 :-)
编辑:马克·贝克(Mark Baker)提出了一个有趣的观点,我应该予以澄清。默认情况下,-w
制作-rw
存档(是-s
的扩展,并且可以由大多数pax
程序解压缩)。但是,使用pax
选项,可以创建ustar
存档和tar
存档(这两个是由标准保证的)。一些实现(例如BSD之一)支持创建更多类型,例如旧式(-x
之前的版本)cpio
存档。
有人可能会说ustar
已经完全淘汰了ustar
。
但是,由于自从perl存在之前就一直使用awk,所以我仍然使用它;对于更严重的脚本,我使用python而不是perl。
atool
:轻松处理档案文件一些例子:
示例来自:tar
[awk
是perl
的更好选择。
'rename'是一个很好的替代方法,它可以代替一个人写的将名称更改为一堆文件的文件。
本身并不是真正的过时命令的替代品,但是屏幕是打开多个终端窗口和/或使用bg等的不错选择。
如果您使用的是GNU系统,请不要使用http://debaday.debian.net/2008/12/28/atool-handling-archives-without-headaches/;而是使用dig
。
dig
确实有用,而不是弹出和推送或创建临时别名。
添加要使用tag
nslookup
转到此目录
sed '1!G;h;$!d'
无论安装了
tac
,您都可以用bm (link)代替bm -a /path/to/a/dir tag
(与cdbm tag
相似-甚至可以在NIS设置中执行Right Thing(TM)。为什么
glibc
会为您生成解压缩器时又打扰getent passwd foo
?甚至更进一步...为什么当GNU
grep foo /etc/passwd
将自动检测压缩时又打扰aliases ethers group hosts netgroup networks protocols rpc services shadow
或gzip -dc foo.tar.gz | tar xf -
?tar xzf foo.tar.gz
神奇地起作用。我不确定这是答案还是对问题的修改。
在使用less代替尾巴替换之前,您可以搜索“ / search_string”,然后调用“跟随”命令(shift-F)。现在,将滚动显示任何“ search_strings”。当您扫描一堆程序输出或日志并寻找特定的字符串或模式时,此功能非常有用。
不要忘记,您也可以使用正则表达式!
cfdisk是命令行驱动器分区实用程序fdisk的易于使用的升级。
,它是一种非常强大的工具,可以显示/操纵路由,设备,策略路由和隧道。不推荐使用[[,而推荐使用ipifconfig
和iwconfigtar xzf foo.tar.gz
可能仍只能与琐碎的参数一起使用,否则,其行为可能无法预测。出于所有其他目的(控制字符,换行抑制,格式化),它已经被功能强大且一致的tar xjf foo.tar.bz2
命令所取代。我真的很喜欢使用locate代替find-使用“ locate filepattern”比“ find / -name filepattern -print”更容易使用,并且效率更高,因为它使用索引数据库。您必须按计划运行updatedb命令以更新定位数据库;请查看发行版的手册页以获取详细信息。
tar
胜过tar xf foo.tar.(gz|bz2)
。echo
易于配置,甚至不有趣。[printf
:tmux
而不是screen
,具有更强大的tmux
语法。 (由于Perl正则表达式使用的是Perl Pie而不是perl -pi -e 's/foo/bar/'
,因此它并不是直接的替代品。)[我发现sed 's/foo/bar/'
可以很好地替代perlre。
dig
确实有用,而不是弹出和推送或创建临时别名。
添加要使用tag
无论安装了tac
,您都可以用bm (link)代替bm -a /path/to/a/dir tag
(与cdbm tag
相似-甚至可以在NIS设置中执行Right Thing(TM)。
为什么glibc
会为您生成解压缩器时又打扰getent passwd foo
?
甚至更进一步...为什么当GNU grep foo /etc/passwd
将自动检测压缩时又打扰aliases ethers group hosts netgroup networks protocols rpc services shadow
或gzip -dc foo.tar.gz | tar xf -
? tar xzf foo.tar.gz
神奇地起作用。
我不确定这是答案还是对问题的修改。
在使用less代替尾巴替换之前,您可以搜索“ / search_string”,然后调用“跟随”命令(shift-F)。现在,将滚动显示任何“ search_strings”。当您扫描一堆程序输出或日志并寻找特定的字符串或模式时,此功能非常有用。
cfdisk是命令行驱动器分区实用程序fdisk的易于使用的升级。
ifconfig
和iwconfigtar xzf foo.tar.gz
可能仍只能与琐碎的参数一起使用,否则,其行为可能无法预测。出于所有其他目的(控制字符,换行抑制,格式化),它已经被功能强大且一致的tar xjf foo.tar.bz2
命令所取代。您必须按计划运行updatedb命令以更新定位数据库;请查看发行版的手册页以获取详细信息。
tar
胜过tar xf foo.tar.(gz|bz2)
。 echo
易于配置,甚至不有趣。printf
:tmux
而不是screen
,具有更强大的tmux
语法。 (由于Perl正则表达式使用的是Perl Pie而不是perl -pi -e 's/foo/bar/'
,因此它并不是直接的替代品。)最明显的是:
sed 's/foo/bar/'
可以很好地替代perlre。不能完全替代任何东西,但是moreutils是小的Unixy工具的集合,这些工具基本上是为了填补* nix工具箱中的漏洞。
Rsync可以有效且有效地替换/补充大多数文件传输方法(scp,rcp,管道tar命令等,甚至在许多情况下甚至是cp)。
mtr
上下文相关自动完成。
[rsh
/rexec
/rcp
/ etc。已被ssh
/scp
/ etc。]取代
问题和标签是矛盾的。 Linux不是Unix(愚蠢的开放组织),并且大多数“真正的” Unix机器都没有接近Linux的软件。例如,在相当普通的AIX 5.3pl6上安装: