小编Rob*_*ino的帖子

ls _not_ 符号链接的所有内容

ls没有办法显示否定条件,例如“所有不是符号链接的文件”?我在项目目录中经常使用后者,但其他否定也很有用。

目前,我的研究仅导致为“like”创建一个别名:

find . -maxdepth 1 ! -type l | sort # (...)
Run Code Online (Sandbox Code Playgroud)

但显然这种方式我没有得到 的着色ls,列格式等......

我有时使用 OS X 10.8.2 上的 Bash v3 和穿山甲上的 Bash v4。

ls bash symlink

13
推荐指数
1
解决办法
5435
查看次数

解压文件,创建的是哪个目录?

客观的:

a.zip使用unzipon命令展开存档后Ubuntu 12.10,将a.zip展开到的文件夹的名称分配给bash变量v

a.zip 假定并保证扩展到单个文件夹,而不是多个文件夹。

例子:

如果unzip a.zip扩展到文件夹./foo/echo $v应该返回foo

我的环境:

GNU/Linux (kernel 3.5.0-25-generic)
Ubuntu 12.10    
bash v4.2.37(1)-release
UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP.
Run Code Online (Sandbox Code Playgroud)

当前的解决方法不满意:扩展通过unzip -d bar a.zip然后v=$(ls -1 bar)给出正确的结果,但弄乱了文件系统。

shell zip

8
推荐指数
1
解决办法
4615
查看次数

替代信息阅读器

我喜欢有 $PAGER 的选择,例如

  • 更多的
  • 较少的
  • 最多
  • ...

我在阅读 Info 文档时可以享受同样的选择吗?(即info tar

我有哪些选择?

info

8
推荐指数
1
解决办法
970
查看次数

关于 ssh ProxyCommand

我正在寻找对以下 ProxyCommand 的深入解释,包括其操作的具体细节。如果可以的话,你能否为我彻底剖析它并改进它?为了可读性,如果没有别的。

ProxyCommand ssh gatewayserver 'exec 3<>/dev/tcp/targetserver/22; cat <&3 & cat >&3;kill $!'
Run Code Online (Sandbox Code Playgroud)

bash process io-redirection openssh

6
推荐指数
1
解决办法
3162
查看次数

DTrace 捕获应用于某些文件的任何 chmod

在 Mac OS X 目录下,/audit我有一些用户可以chmod根据自己的喜好访问的文件。

我需要chmod通过记录时间、用户和文件来审核对任何文件所做的任何事情chmod,尤其是后者。

我可以dtrace -n 'syscall::chmod:entry'并检测到事件,如何读取第一个参数chmod

man 2 chmod 告诉我路径在第一个参数中:

chmod(const char *path, mode_t mode);
Run Code Online (Sandbox Code Playgroud)

但我怎么读args[0]?我想我这样做是错误的。也许条目与实际的系统调用不对应?

如果我有一个可以监控的探针,我如何检查它提供哪些参数供访问以及它们是什么类型?我假设一些指针需要根据它们的数据布局取消引用..

osx monitoring system-calls dtrace

6
推荐指数
1
解决办法
633
查看次数

在 tmux 窗口中 Mutt 新的电子邮件通知

我在tmuxmutt在一个非活动窗口。如果 IMAP 标志通过外部方式在消息上发生变化,我会看到可视铃和状态栏发生变化,将我的注意力吸引到电子邮件客户端上。这很好用。

我想做但仍然无法上班的是:

  • 在另一个 tmux 窗口中获取有关传入电子邮件的正确通知
  • 切勿在到达后 5 分钟内收到通知,可能会微调此间隔

我通过 IMAPS 使用 Gmail。

tmux email mutt imap

6
推荐指数
1
解决办法
5694
查看次数

控制台 CPU 利用率图表

我需要从终端监控 CPU 和网络利用率。

对于网络流量,我找到了完美的工具:slurm。它给了我一个移动的图表。它为我提供了一个类似 nCurses 的 UI,我可以从 tty 中使用它。

这是一个屏幕截图在 Falce 上 slurm 0.3.3

是否有显示 CPU 利用率的 slurm 等效项?

performance monitoring

5
推荐指数
3
解决办法
1万
查看次数

经过这次磨难后我还在使用 bash 吗?

在 Mountain Lion 主机上Coguaro,我coconutpowder使用以下命令以用户身份登录bash

Coguaro:~ coconutpowder$ echo $0
-bash
Run Code Online (Sandbox Code Playgroud)

我需要以提升的权限运行命令,因此我尝试su切换到root但它不允许我:

Coguaro:~ coconutpowder$ su -
Password:
su: Sorry
Run Code Online (Sandbox Code Playgroud)

费够了。我阅读了该man页面su并得到了这个:

PAM is used to set the policy su(1) will use.
In particular, by default only users in the ``admin'' or ``wheel''
groups can switch to UID 0 (``root'').
Run Code Online (Sandbox Code Playgroud)

我注意到我不属于任何一个允许su这样做的群体:

Coguaro:~ coconutpowder$ id
uid=502(coconutpowder) gid=20(staff) groups=20(staff),12(everyone),61(localaccounts)
Run Code Online (Sandbox Code Playgroud)

所以我重新运行su命令,并在其前面加上 a 前缀sudo,我可以按照如下方式执行此操作/etc/sudoers

/etc/sudoers: coconutpowder …
Run Code Online (Sandbox Code Playgroud)

osx shell bash su shell-script

4
推荐指数
1
解决办法
610
查看次数

tmux.conf 嵌入 shell 脚本?

在 my 中tmux.conf,我需要使用当前用户的大写名称来启动会话(这实际上是一种简化,但它可以作为示例)。

想象一下这样的虚构行,这是非法的:

new-session -n BananaWindow -s "$(echo "${USER}" | tr '[:lower:]' '[:upper:]')" 'bash -l'
Run Code Online (Sandbox Code Playgroud)

我怎样才能达到上面的目的?

tmux

4
推荐指数
1
解决办法
2976
查看次数

积极开发的文本浏览器

我正在寻找“现代”lynx/links/elinks fork 或类似的积极维护并且可以被认为是最先进的类型,拜托。

我已经看过这个:http : //web-browsers.findthebest.com/compare/18-25-26/ELinks-Web-Browser-vs-Lynx-Web-Browser-vs-Links-Web-Browser

这个问题类似于这个/sf/ask/42326651/但也允许考虑其他程序。

lynx links

3
推荐指数
1
解决办法
646
查看次数

Bash 进程替换在 OS X 上无法以“root”身份运行

OS X 10.6.8,如果我使用 Bash Process Substitution 作为“root”,它就不起作用。

  • 应该是这样吗?
  • 为什么?

注意:这就是我的意思......“<(列表)”

mysql -D robottinosino < <(echo 'select robot from tino_sino;') 
Run Code Online (Sandbox Code Playgroud)

/* 一个人为的例子,无可否认,因为你可以使用一个简单的管道交换 echo 和 mysql ......我想不出一个更好的例子 */

编辑:

  • 我以 root 身份登录,如下所示:

    “须藤须——”

(顺便说一句,如果我想保持登录状态,有没有更好的方法?)

  • 不在Bash 上,所以我的问题真的很愚蠢,下面的评论立即解决了这个问题!:(

echo $0 产生“-sh”:(

我想这个问题此时可以删除或变形为:

“如何使用 bash 以 'root' 身份正确登录?” (也许正在编辑 /private/etc/passwd?这似乎不起作用。或者... sudo bash -l?)

osx shell bash root

3
推荐指数
1
解决办法
1137
查看次数

以递归方式将电子邮件文件从 .txt 重命名为 .eml

目录“$d”包含几千个扩展名为 .txt 的电子邮件文件。要在我的电子邮件客户端中打开它们,我需要将它们重命名为 .eml

此命令是否会正确重命名它们:

find "${d}" -type f -name '*.txt' | while read f; do mv -vn "${f}" "${f%.*}".eml; done
Run Code Online (Sandbox Code Playgroud)

或者有更好,更强大的方法来做到这一点?

我想不出一种优雅的方法来使用:

-exec ...{}... \;
Run Code Online (Sandbox Code Playgroud)

find rename

2
推荐指数
1
解决办法
1552
查看次数