有ls没有办法显示否定条件,例如“所有不是符号链接的文件”?我在项目目录中经常使用后者,但其他否定也很有用。
目前,我的研究仅导致为“like”创建一个别名:
find . -maxdepth 1 ! -type l | sort # (...)
Run Code Online (Sandbox Code Playgroud)
但显然这种方式我没有得到 的着色ls,列格式等......
我有时使用 OS X 10.8.2 上的 Bash v3 和穿山甲上的 Bash v4。
客观的:
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)给出正确的结果,但弄乱了文件系统。
我喜欢有 $PAGER 的选择,例如
我在阅读 Info 文档时可以享受同样的选择吗?(即info tar)
我有哪些选择?
我正在寻找对以下 ProxyCommand 的深入解释,包括其操作的具体细节。如果可以的话,你能否为我彻底剖析它并改进它?为了可读性,如果没有别的。
ProxyCommand ssh gatewayserver 'exec 3<>/dev/tcp/targetserver/22; cat <&3 & cat >&3;kill $!'
Run Code Online (Sandbox Code Playgroud) 在 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]?我想我这样做是错误的。也许条目与实际的系统调用不对应?
如果我有一个可以监控的探针,我如何检查它提供哪些参数供访问以及它们是什么类型?我假设一些指针需要根据它们的数据布局取消引用..
我在tmux,mutt在一个非活动窗口。如果 IMAP 标志通过外部方式在消息上发生变化,我会看到可视铃和状态栏发生变化,将我的注意力吸引到电子邮件客户端上。这很好用。
我想做但仍然无法上班的是:
我通过 IMAPS 使用 Gmail。
在 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) 在 my 中tmux.conf,我需要使用当前用户的大写名称来启动会话(这实际上是一种简化,但它可以作为示例)。
想象一下这样的虚构行,这是非法的:
new-session -n BananaWindow -s "$(echo "${USER}" | tr '[:lower:]' '[:upper:]')" 'bash -l'
Run Code Online (Sandbox Code Playgroud)
我怎样才能达到上面的目的?
我正在寻找“现代”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/但也允许考虑其他程序。
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 身份登录,如下所示:
“须藤须——”
(顺便说一句,如果我想保持登录状态,有没有更好的方法?)
echo $0 产生“-sh”:(
我想这个问题此时可以删除或变形为:
“如何使用 bash 以 'root' 身份正确登录?” (也许正在编辑 /private/etc/passwd?这似乎不起作用。或者... sudo bash -l?)
目录“$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)