Questions tagged «utilities»

命令行上用于完成特定工作的小程序

2
安装命令复制整个目录时出现问题
所以我有一些配置文件的仓库,我试图创建一个makefile将它们安装在homedir中。我的问题是当我直接在bash中运行以下命令时 install -m 755 -d ~/path/to/dotfilesDir/ ~/ 似乎什么也没发生 install -m 755 ~/path/to/dotfilesDir/{file1,file2,...} ~/ 按预期工作。 为什么第一个(更简便)的解决方案不起作用?

4
将命令的输出存储到环形缓冲区
我有一个长时间运行的命令,该命令在stdout上生成大量输出。例如,我希望仅保留最后三天或最后一个gibibyte(避免在中间使用切割线),并尽可能保留不超过20 MiB的文件块。每个文件块都以数字后缀或时间戳命名。 就像是: my-cmd | magic-command --output-file-template=my-cmd-%t \ --keep-bytes=1G \ --keep-time=3d \ --max-chunk-size=20M \ --compress=xz 会写: my-cmd-2014-09-05T10:04:23Z 当达到20M时,它将压缩并打开一个新文件,依此类推,过一会儿它将开始删除最旧的文件。 是否存在这样的命令? 我知道logrotate它管理其他应用程序编写的文件的能力,但是我正在寻找更简单的方法,而不必设置cron作业,指定规则,暂停进程等。

2
来自moreutils的海绵-外壳重定向有什么区别?有用的例子?
> brew install moreutils ==> Downloading https://homebrew.bintray.com/bottles/moreutils-0.55.yosemite.bottle.tar.gz ######################################################################## 100.0% ==> Pouring moreutils0.55.yosemite.bottle.tar.gz 🍺 /usr/local/Cellar/moreutils/0.55: 67 files, 740K 海绵读取标准输入并将其写到指定文件中。与Shell重定向不同,海绵在写入输出文件之前先吸收所有输入。这允许构造读取和写入同一文件的管道。 我不明白 请给我一些有用的例子。 什么吸收了是什么意思?

3
头吃多余的字符
预期以下shell命令仅输出输入流的奇数行: echo -e "aaa\nbbb\nccc\nddd\n" | (while true; do head -n 1; head -n 1 >/dev/null; done) 但是,它只是打印第一行:aaa。 与-c(--bytes)选项一起使用时不会发生相同的事情: echo 12345678901234567890 | (while true; do head -c 5; head -c 5 >/dev/null; done) 该命令1234512345按预期输出。但这仅在该实用程序的coreutils实现中有效head。该busybox的执行还是吃多余的字符,所以输出正好12345。 我想这种特定的实现方式是出于优化目的而完成的。您不知道行的结尾,因此不知道需要读取多少个字符。不消耗输入流中多余字符的唯一方法是逐字节读取流。但是一次从流中读取一个字节可能很慢。因此,我想head将输入流读取到足够大的缓冲区中,然后计算该缓冲区中的行数。 --bytes使用option 时无法说相同的话。在这种情况下,您知道需要读取多少个字节。因此,您可以准确地读取此字节数,但不能超过此数目。该corelibs实现使用这个机会,但是busybox的一个没有,它仍然比读取所需到缓冲区的字节以上。这样做可能是为了简化实现。 所以这个问题。head实用程序从输入流中消耗比要求更多的字符是否正确?Unix实用程序是否有某种标准?如果存在,是否指定了这种行为? 聚苯乙烯 您必须按Ctrl+C停止上面的命令。Unix实用程序不会在超越时失败EOF。如果您不想按,则可以使用更复杂的命令: echo 12345678901234567890 | (while true; do head -c 5; head -c …

4
有没有工具可以了解机器的一般状态?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 3年前关闭。 我渴望有一个Linux的工具,它将使我对计算机上正在发生的事情有一个大致的了解。我正在寻找的示例信息: 安装了哪些守护程序(www,db,其他) 配置这些服务的位置 服务器正在运行什么内核和发行版以及发行版的年代(如果该工具还可以告知发行版是否仍受支持,将非常感激) RAM,CPU和磁盘空间信息 安装的驱动器/路径 有关我的帐户的信息:我是否在接受其他有用的信息 常规网络信息(阻塞或打开的端口) 编辑: 已安装的解释器/编译器及其版本(C,Python等) X版本和已安装的任何DE

1
了解`who -a`命令的输出
我问这个问题是因为,尽管互联网上有很多答案表明这who -a是一个选择,但是没有人解释如何读取输出。如果您可以提供解释此问题的在线网站链接,那将同样是一个不错的答案。这是我要解密的示例: [bo@hostname ~]$ who -a Jun 17 03:47 590 id=si term=0 exit=0 system boot Jun 17 03:47 run-level 3 Jun 17 03:47 last=S Jun 17 03:48 4424 id=l3 term=0 exit=0 LOGIN tty1 Jun 17 03:48 5503 id=1 LOGIN tty2 Jun 17 03:48 5504 id=2 LOGIN tty3 Jun 17 03:48 …
14 sshd  utilities 


3
dd可以替代吗?
我还应该使用其他哪些工具来截断,查找和跳过文件。dd的命令行选项似乎不方便且很陌生,我不喜欢在缓慢但精确的搜索模式(bs=1)和快速但不灵活的模式(bs=4k或其他)之间进行选择。 是否有更现代的工具可以从一个文件(或管道,套接字或开发人员)的31337位置读取555个字节,并将它们写入到位置128205的另一个文件中(使用块512 + 43)(带或不带截断)?
14 files  utilities  dd  binary 



2
观看支持颜色的替代品
我有一个phpunit带有彩色输出的命令()。根据watch,命令我应该能够使用该--color标志来允许颜色渲染通过。但是,这不起作用。还有其他解决方法吗?
12 bash  utilities  watch 

3
有没有办法使perl -i不破坏符号链接?
我的一个朋友指出,如果您这样做: perl -pi.bak -e 's/foo/bar/' somefile 当“ somefile”实际上是一个符号链接时,perl会按照文档所说的去做: 它通过重命名输入文件,使用原始名称打开输出文件并选择该输出文件作为print()语句的默认值来做到这一点。该扩展名(如果提供)用于修改旧文件的名称以制作备份副本[...] 这将导致指向未更改的实际文件的新符号链接“ somefile.bak”,以及具有更改的新的已更改常规文件“ somefile”。 在许多情况下,遵循符号链接将是理想的行为(即使它使.bak文件的正确位置不明确)。除了测试包装器中的符号链接并适当处理大小写以外,还有其他简单的方法吗? (sed做同样的事情,这是值得的。)

4
从字节偏移量获取行号
具有文件的字节偏移量。 有没有提供此字节行号的工具? 字节计数从零开始,例如:第一个字节为0而不是1。 行号以1.开头 文件可以同时包含纯文本,“二进制” blob,多字节字符等。但是我感兴趣的部分:文件结尾,仅包含ASCII。 示例文件: 001 002 003 <<-- first zero on this line is byte 8 004 具有字节偏移量8将使我行3。 猜猜我可以用这样的东西来找到行号: 一个。tail -c+(offset + 1) file | wc -l,这里+1为tail从1计数 湾 wc -l file C。那么tail -n+num 这里num是a - b + 1 但是...是否有可以num直接给我的相当普遍的工具? 编辑,错误:或更明显的是: head -c+offset file | wc -l

2
chmod代表什么?
为了记住命令,通常最好了解它的名称来自何处。例如,cp来自副本。usermod表示“用户修改”(至少我猜是这样)。 chmod来自哪里,这意味着什么?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.