假设我有一个目录结构如下
test
test/a
test/b
Run Code Online (Sandbox Code Playgroud)
现在我想执行一个命令,这样.我就可以在文件夹中对文件的基本名称a和b.
所以基本上,我想要这样的东西,我天真地尝试过
find test -type f -exec touch `basename {}` \;
Run Code Online (Sandbox Code Playgroud)
只是,这不会导致空文件a和b父目录。假设我的 touch 命令只能接受一个参数。
这将导致这样的目录结构
a
b
test
test/a
test/b
Run Code Online (Sandbox Code Playgroud)
我知道如何在 bash 脚本中执行此操作,但我对单命令解决方案感兴趣。
我想用'command &'最后或'nohup command &'来分离命令,但它在分离后立即停止。
命令很少具体,如果它在输入时收到 eof,它会中断,因此 /dev/null 作为输入将导致结束和通常有效的解决方案:
$ command < /dev/null > /dev/null 2>&1 &
Run Code Online (Sandbox Code Playgroud)
不工作...
unix/linux 中是否有其他设备可以替换 /dev/null 并表现得像空输入,但不发送 eof。
(顺便说一句,命令是非常有用的多播工具emcast,我可以尝试自己修补它,或者为此目的找到修补版本......但似乎问题可以在外面解决)
我正在添加此 EDIT 以使我的问题更清楚。我制作了 2 行完美运行的 C 程序:程序名称是“donothing”
#include <unistd.h>
int main() { while (1) { sleep(10); } return 0; }
Run Code Online (Sandbox Code Playgroud)
这就是我正在寻找的,一些设备/程序,什么都不做,但保持其标准输出打开。两者(“command & ... disown”和“nohup command &”)都有效。
$ donothing | mycommand >/dev/null &
$ disown %1
Run Code Online (Sandbox Code Playgroud)
效果很好,所以现在的问题只是:什么 unix 设备/程序表现得像我的“无所事事”。
$ echo 'foo bar' | sed SOMEMAGIC
boo far
$ echo 'one two' | sed SOMEMAGIC
tne owo
Run Code Online (Sandbox Code Playgroud)
问:一般情况下,如何将“bar”中的“b”替换为“foo”中的“f”?反过来,将“foo”中的“f”替换为“bar”的“b”。
当我执行安装应用程序的命令时,出现以下错误
/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我不知道如何解决这个问题。我在网上找到了以下解决方案:
yum install glibc.i686
Run Code Online (Sandbox Code Playgroud)
或者
yum install glibc.i386
Run Code Online (Sandbox Code Playgroud)
但是运气不好,这根本不起作用。它抛出以下错误:
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
Setting up Install Process
No package glibc.i686 available.
Error: Nothing to do
Run Code Online (Sandbox Code Playgroud)
我再次尝试解决这个问题并从网络上得到了一些解决方案
下载 centos 6 的 glibc rpm 包并安装它们。
我下载了以下软件包:
glibc-2.12-1.80.el6.i686.rpm
glibc-common-2.12-1.80.el6.i686.rpm
glibc-devel-2.12-1.80.el6.i686.rpm
glibc-headers-2.12-1.80.el6.i686.rpm
glibc-static-2.12-1.80.el6.i686.rpm
glibc-utils-2.12-1.80.el6.i686.rpm
Run Code Online (Sandbox Code Playgroud)
并尝试使用以下命令安装:
yum install glibc.i686
rpm -U glibc-2.12-1.80.el6.i686.rpm
rpm -ivh glibc-2.12-1.80.el6.i686.rpm
Run Code Online (Sandbox Code Playgroud)
他们都没有解决我的问题。我收到以下消息:
[root@s7 tmp_glibc]# rpm -ivh glibc-2.12-1.80.el6.i686.rpm
error: Failed dependencies:
glibc-common = 2.12-1.80.el6 is …Run Code Online (Sandbox Code Playgroud) 重现我正在寻找的东西的最小努力如下
/$ sleep 1h &
[1] 6564
/$ cd
~$ jobs
[1]+ Running sleep 1h & (wd: /)
Run Code Online (Sandbox Code Playgroud)
当我jobs用来管理我的后台进程时,工作目录(wd)与当前目录不同时也会显示出来。
有没有一种简单的方法可以轻松切换到这个显示的工作目录?我正在使用 bash 3.2。
我不是在寻找使用awk或类似工具的包装函数,而是在寻找内置解决方案的 shell。
我有一个目录,其中包含名为“1”、“2”、...、“9”、“10”、“11”、...、“20”、“21”、... 的文件。
我可以按“1”、“2”、...、“9”、“10”、“11”、...、“20”、“21”、...的顺序列出它们吗?
我试过了ls -ls。它不会以这种方式列出文件,而是“1”、“10”、“11”、...、“19”、“2”、“20”、“21”……我猜这样的功能有时会很有帮助。
我正在尝试配置Asterisk 12.3.2,Debian 6.0.9但出现错误:
"configure: error: *** termcap support no found (on modern systems, this typically means the ncurses development package is missing)".
Run Code Online (Sandbox Code Playgroud)
当我尝试通过以下方式安装它时:
apt-get install libncurses5-dev
Run Code Online (Sandbox Code Playgroud)
我收到无法找到包的消息。
是否有任何 C API 来计算每个 CPU 负载?/proc/loadavg给出了所有可用 CPU 的 CPU 平均负载,并且/proc/stat没有提及每个 CPU 的活动进程。
如何获取每个 CPU 的负载?
默认情况下,在 UNIX 机器上安装时,我可以看到日志是用 gzip 旋转的。
问题:为什么 UNIX 世界默认不使用 7z?它会比gzip更有效率..
我只是压缩了一个包含许多 HTML 文件的目录。
7z:1.8 兆字节
压缩包:440 兆字节