Questions tagged «linux»

LINUX问题必须与编程有关。仅当您的问题与使用Linux API或Linux特定行为进行编程有关时才使用此标记,而不仅仅是因为您碰巧在Linux上运行代码。如果需要Linux支持,可以尝试https://unix.stackexchange.com或特定Linux发行版的Stack Exchange网站,例如https://askubuntu.com或https://elementaryos.stackexchange.com/

5
异步Shell命令
我正在尝试使用Shell脚本来启动命令。我不在乎是否/何时/如何/为什么完成。我希望该过程开始并运行,但是我希望能够立即回到我的外壳...


1
Linux中的“过时文件处理”是什么意思?
假设我打开了一个终端,并通过该终端cd进入了某个目录。通过另一个终端,我删除该目录,然后从相同的备份将其还原。当我尝试vim从第一个终端的同一目录中的文件进行操作时,为什么会收到有关陈旧文件句柄的错误消息?这是什么意思?(从侧面看,我发现可以通过绕过此问题cd $(pwd)。)
100 linux  unix 



4
在Linux中的目录下为新创建的文件和子目录设置默认权限?
我有一堆长时间运行的脚本和应用程序,它们将输出结果存储在几个用户之间共享的目录中。我想要一种方法来确保在此共享目录下创建的每个文件和目录都自动具有u=rwxg=rwxo=r权限。 我知道我可以umask 006在各种脚本的开头使用,但是我不喜欢这种方法,因为许多用户编写自己的脚本,可能会忘记自己设置umask。 我真的只希望文件系统在某个文件夹中时,以一定的权限设置新创建的文件和目录。这是可能吗? 更新:我认为可以使用POSIX ACL(使用默认ACL功能)来完成此操作,但此刻我有点头疼。如果有人可以解释如何使用默认ACL,则可能会很好地回答此问题。
99 linux  permissions  acl  umask 

3
在新的Linux内核中,上下文切换要慢得多
我们希望将服务器上的操作系统从Ubuntu 10.04 LTS升级到Ubuntu 12.04 LTS。不幸的是,运行已变为可运行线程的等待时间似乎从2.6内核大大增加到3.2内核。实际上,我们难以置信的延迟数字。 让我更具体地介绍一下测试。我们有一个运行两个线程的程序。第一个线程获取当前时间(使用RDTSC进行滴答),然后每秒发送一次条件变量信号。第二个线程等待条件变量,并在发出信号时唤醒。然后,它获取当前时间(使用RDTSC进行滴答)。计算第二个线程中的时间和第一个线程中的时间之间的时差,并将其显示在控制台上。此后,第二个线程再次等待条件变量。大约经过一秒钟后,第一个线程将再次发出信号。 因此,简而言之,我们每秒通过条件变量等待时间测量获得线程到线程的通信。 在内核2.6.32中,此延迟约为2.8-3.5 us,这是合理的。在内核3.2.0中,此延迟已增加到40-100 us左右。我排除了两台主机之间的硬件差异。它们在相同的硬件上运行(双插槽X5687 {Westmere-EP}处理器以3.6 GHz运行,具有超线程,speedstep和所有C状态均已关闭)。测试应用程序更改了线程的亲和力,以便在同一套接字的独立物理内核上运行它们(即,第一个线程在Core 0上运行,第二个线程在Core 1上运行),因此在该线程上不会发生线程跳动核心或套接字之间的跳动/通信。 这两台主机之间的唯一区别是,一台主机运行的内核版本为2.6.32-28(快速上下文切换框),而另一台则运行最新的Ubuntu 12.04 LTS内核为3.2.0-23版本(慢上下文)。开关盒)。所有BIOS设置和硬件均相同。 内核中是否有任何变化可以解释线程调度运行需要多长时间的可笑速度减慢? 更新: 如果您想在您的主机和Linux构建上运行测试,我已将代码发布到pastebin供您阅读。编译: g++ -O3 -o test_latency test_latency.cpp -lpthread 运行(假设您至少有一个双核计算机): ./test_latency 0 1 # Thread 1 on Core 0 and Thread 2 on Core 1 更新2:在大量搜索内核参数,发布有关内核更改和个人研究的文章之后,我已经弄清了问题所在,并发布了解决方案作为对此问题的解答。

11
/ bin / sh:推送:找不到
我在make文件中执行以下操作 pushd %dir_name% 我得到以下错误 /bin/sh : pushd : not found 有人可以告诉我为什么出现此错误吗?我检查了$ PATH变量,它包含/ bin,所以我不认为这会引起问题。
99 linux 

7
在远程ssh命令中传递变量
我希望能够使用ssh从我的机器上运行命令并传递环境变量 $BUILD_NUMBER 这是我正在尝试的: ssh pvt@192.168.1.133 '~/tools/myScript.pl $BUILD_NUMBER' $BUILD_NUMBER 是在进行ssh调用的计算机上设置的,并且由于该变量在远程主机上不存在,因此不会被提取。 如何传递的值$BUILD_NUMBER?
99 linux  bash  shell  ssh 

5
为什么find -exec mv {} ./target/ +不起作用?
我想知道到底是什么{} \;和{} \+和| xargs ...做的。请通过解释加以澄清。 下面的3条命令运行并输出相同的结果,但第一个命令花费一些时间,格式也几乎没有差异。 find . -type f -exec file {} \; find . -type f -exec file {} \+ find . -type f | xargs file 这是因为第1个file命令针对来自该find命令的每个文件运行该命令。因此,基本上它的运行方式为: file file1.txt file file2.txt 但是后2个带有-exec命令的find 命令对所有文件运行一次run file命令,如下所示: file file1.txt file2.txt 然后,我运行以下命令,第一个在没有问题的情况下运行,但是第二个给出错误消息。 find . -type f -iname '*.cpp' -exec mv {} …
98 linux  find  cygwin  exec 



8
sed初学者:更改文件夹中的所有匹配项
我需要做一个正则表达式查找并替换文件夹(及其子文件夹)中的所有文件。linux shell命令将执行该操作吗? 例如,我要在所有文件上运行此文件,并用替换后的新文本覆盖旧文件。 sed 's/old text/new text/g'
98 regex  linux  shell  sed 



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.