所以我应该找到给定目录中所有带有 .C 或 cc 冲浪修复的文件,并将它们的名称更改为 .C.blah 或 .cc.blah
有命令可以这样做吗?
或者我应该用命令 find 来实现这个吗?
这有点像菜鸟问题,但我在添加到我的路径时遇到了问题,并且不记得上次我是如何进行更改的。
所以我使用命令“ export PATH=$PATH:/Users/evanmcdonnal/go/bin”来修改我的路径。然后我使用echo $PATH它显示我以前的路径并附加了上面的内容。问题是,当我退出终端并再次打开它时,更改消失了。有什么我在这里遗漏的,它是使更改永久化所必需的吗?我尝试直接在 etc 中编辑路径文件,但操作系统不会让我没有 root 权限,而且获得这些权限似乎有点麻烦。
我想限制 find 命令的输出。过去我曾经用于这个 ls 命令,例如:
ls *tgz|head -100|xargs -i mv "{}" ../
Run Code Online (Sandbox Code Playgroud)
但我知道如果文件名包含换行符,结果可能是不可预测的。所以更正确的方法是这样的:
find ... -print0 | xargs -0
Run Code Online (Sandbox Code Playgroud)
但是采用这种方法我无法使用 head 命令限制 find 的输出 - 它显示所有文件名用 ^@ 特殊符号分隔:
find . -name '*tgz' -print0|head -2|less
Run Code Online (Sandbox Code Playgroud)
file1.tgz^@file2.tgz^@file3.tgz^@file4.tgz^@file5.tgz^@
有没有办法消除这种尴尬?
我试图在 awk 的帮助下解决它:
find . -name 'BATCHED*' -print0|awk 'BEGIN{RS=""}'
Run Code Online (Sandbox Code Playgroud)
但它仍然显示所有或零行。
可以借助awk解决吗?有更好的解决方案吗?
顺便提一句。我发现这个非常有指导意义的参考,但我的问题没有答案。
我通过 GNOME 终端中的 SSH 连接有一个 Bash 终端。服务器是 Debian Linux,客户端是 Ubuntu Linux。
长行的输出显示得很好,但是当我使用 UP 键在 bash 历史记录中滚动时,输出只有 80 个字符,然后被破坏并再次从同一行开始。
它应该是这样的:
server01:/usr/local/bin# 超长命令参数 1 参数 2 参数 3
但它看起来像这样:
参数 3 usr/local/bin# 超长命令 参数 1 参数 2
对于 MAC OS 版本 (10.7),我需要能够从终端挂载 SMB 共享。有没有办法将 mount_smbfs 与钥匙串一起使用,这样我就不会提示用户名/密码或必须将其添加到命令中?我对此很陌生,因此将不胜感激。
我不明白以下行为:
我有一个文件名为someFile下/opt/com/internal/someFile
如果我ls -all /opt/com/internal/someFile的权限700 user:userGroup
我是 root 并且我愿意 cp /root/folder/someFile /opt/com/internal/someFile
我没有得到覆盖的提示。为什么不?
权限不变。但是,如果我这样做cp /root/folder/someFile /opt/com/internal/someFile并且该文件someFile不存在,则它由root和 not拥有user。为什么?
Bash 的元删除将删除一个路径组件而不是整个路径。你如何让 zsh 表现得像那样?
我发现了这个,这似乎有效。这是正确的做法吗?
当我第一次切换到 Zsh 时,我最想念的关于 bash 的一件事是 Mb 和 Mf(后向词和前向词)会跳过整个 /path/location,而不是每个由“/”分隔的词。为了使行为更像 bash,你可以评估这个命令:export WORDCHARS=''
.bashrc登录到共享相同主目录的不同节点时,我可以加载不同的文件吗?
也就是说,我最感兴趣的是在以 bash 登录时加载不同的 PATH 目录,具体取决于我登录的不同 Linux 节点?例如,如果我在 abc-01 机器上登录 bash,我想.bashrc加载一个给定的文件,但是当我登录 abc-02 时,它使用相同的 /home/username 目录,我想使用不同的.bashrc. 我该怎么做呢?
我正在调试一个必须与其他组件一起运行的应用程序。我将所有内容都包装在一个脚本中:
#!/bin/bash
./component1 > 1.log &
./my_application &
./component2 > 2.log &
Run Code Online (Sandbox Code Playgroud)
我想在终端中看到输出,所以我没有重定向my_application.
原来my_application有段错误。但奇怪的是,抱怨分段错误信息的输出行没有在我的终端中打印出来。最后一行根本就不见了。
如果我./my_appliation单独在另一个终端中运行,则输出工作正常。我看到了“Segmentation fault”的最后一行
当我使用 & 运行我的应用程序时,为什么我的输出丢失?如果我在命令末尾添加 & 有什么区别?
我见过有人这样做:
cp . yy/
cd !$
Run Code Online (Sandbox Code Playgroud)
最后一行翻译成:
cd yy/
Run Code Online (Sandbox Code Playgroud)
所以我认为的!$意思是“上一行的最后一个论点”。
我对吗?
有没有其他类似的替代品?
我在哪里可以找到他们的文档?