Tag: linux

如何grep和replace

我需要在目录中的所有文件和子目录中recursion地search指定的string,并将此stringreplace为另一个string。 我知道find它的命令可能是这样的: grep 'string_to_find' -r ./* 但是,我怎样才能将string_to_find每个实例string_to_find为另一个string呢?

find一个shell函数?

有没有办法find执行我在shell中定义的函数? 例如: dosomething () { echo "doing something with $1" } find . -exec dosomething {} \; 其结果是: find: dosomething: No such file or directory 有没有办法find的-exec看到dosomething ?

SVN检出文件夹的内容,而不是文件夹本身

我是相当新的Linux和SVN。 我试图使用这个命令(在public_html中)将项目的trunk文件夹签出到我的public_html目录中: svn checkout file:///home/landonwinters/svn/waterproject/trunk waterproject目录包含解压缩drupal的基本安装文件。 它检查出好,除了所有的文件在public_html/trunk而不是只是在public_html 。 我不知道把trunk的所有内容移到public_html和rm trunk的命令,但我想我可以比较容易地弄清楚。 我只是想知道,如果我可以检查一个文件夹的内容,没有文件夹本身。

Ubuntu Linux的C ++错误:未定义的引用'clock_gettime'和'clock_settime'

我对Ubuntu很新,但似乎无法得到这个工作。 它在我的学校电脑上工作正常,我不知道我不在做什么。 我已经检查过usr / include和time.h是否还好。 这里是代码: #include <iostream> #include <time.h> using namespace std; int main() { timespec time1, time2; int temp; clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &time1); //do stuff here clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &time2); return 0; } 我使用CodeBlocks作为我的IDE来构build和运行。 任何帮助将是伟大的,谢谢。

如何在Windows中从命令行查找mysql数据目录

在Linux中,我可以findmysql的安装目录,使用which mysql的命令。 但是我在窗户里找不到任何东西。 我尝试echo %path% ,并导致许多path与mysql bin的path。 我想从Windows命令行中findmysql数据目录以便在批处理程序中使用。 我也想从linux命令行findmysql数据目录。 可能吗? 或者我们该怎么做? 在我的情况下,MySQL数据目录是在安装文件夹,即..MYSQL\mysql server 5\data它可能会安装在任何驱动器,但是。 我想从命令行返回它。

Bash:recursion删除文件

有没有人有一个解决scheme,以消除那些讨厌的._和.DS_Store文件后,将文件从Mac移动到Linux服务器? 指定一个开始目录,让它去? 像/ var / www / html / down …

如果命令失败,如何退出?

我是shell脚本的noob。 如果命令失败,我想打印一条消息并退出我的脚本。 我试过了: my_command && (echo 'my_command failed; exit) 但它不起作用。 它继续执行脚本中此行后面的指令。 我使用Ubuntu和bash。

以不同的用户身份运行Linux服务的最佳实践

在我的RHEL盒子上,服务默认以启动时的root身份启动。 如果我没有记错的话,对于在/etc/init.d使用init脚本的其他Linux发行版也是如此。 你认为最好的方式是让stream程像我select的(静态)用户一样运行。 我到达的唯一方法是使用像这样的东西: su my_user -c 'daemon my_cmd &>/dev/null &' 但是这似乎有点不整洁 是否有一些隐藏的魔术提供了一个简单的机制来自动启动其他非root用户的服务? 编辑:我应该说,我在这个实例开始的进程是Python脚本或Java程序。 我宁愿不写一个本地包装在他们身边,所以不幸的是,我不能像黑色build议一样调用setuid() 。

如何让Windows像Linux一样快速编译C ++?

我知道这不是一个编程问题,而是相关的。 我在一个相当大的跨平台项目上工作 。 在Windows上,我使用VC ++ 2008.在Linux上,我使用gcc。 项目中有大约4万个文件。 在编译和链接相同的项目时,Windows的速度比Linux慢10倍到40倍。 我该如何解决这个问题? 在Linux上进行单个更改增量构build20秒,在Windows上进行> 3分钟。 为什么? 我甚至可以在Linux中安装“黄金”链接器,把时间缩短到7秒。 同样的,git在Linux上的速度是Windows的10倍到40倍。 在git的情况下,可能git不是以最佳方式使用Windows,而是使用VC ++? 你可能会认为微软希望自己的开发人员尽可能富有成效,而编译速度会更快。 也许他们试图鼓励开发人员进入C#? 作为简单的testing,find一个有很多子文件夹的文件夹,并做一个简单的 dir /s > c:\list.txt 在Windows上。 做两次,第二次运行时,它从caching运行。 将文件复制到Linux,并执行等同的2次运行和第二次运行。 ls -R > /tmp/list.txt 我有两个工作站完全相同的规格。 惠普Z600s 12gig ram,8核3.0ghz。 在具有〜400k文件的文件夹中,Windows需要40秒,Linux需要<1秒。 有没有我可以设置加快Windows的registry设置? 是什么赋予了? 一些稍微相关的链接,与编译时间有关,不一定是I / O。 显然,在Windows 10(不是在Windows 7)中存在一个问题,即closures一个进程会导致全局locking 。 当编译多个核心,因此多个进程,这个问题发生。 /analyse选项可能会对perf性能产生负面影响,因为它会加载Web浏览器 。 (不相关,但很好知道)

Linux中的缓冲区和高速caching之间有什么区别?

对我来说,并不清楚两个Linux内存概念之间的区别: buffer和cache 。 我已经阅读了这篇文章 ,在我看来,他们之间的差异是到期政策: 缓冲区的政策是先入先出 caching的策略是最近最less使用的。 我对吗? 特别是,我正在看两个命令: free和vmstat james@utopia:~$ vmstat -SM procs ———–memory———- —swap– —–io—- -system– —-cpu—- rb swpd free buff cache si so bi bo in cs us sy id wa 5 0 0 173 67 912 0 0 19 59 75 1087 24 4 71 1 james@utopia:~$ free -m total used […]