Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

3
从默认还原/ etc /配置文件
有没有办法替换/etc程序包中的配置文件,并覆盖我的本地更改?我已经尝试过, apt-get install --reinstall mypackage但是它不会更新文件。 我怎样才能做到这一点?
18 ubuntu  debian  apt 

6
使用并行将唯一的输入文件处理为唯一的输出文件
我遇到了一个shell脚本问题,在该脚本中,我给了一个充满输入文件的目录(每个文件包含许多输入行),我需要单独处理它们,将它们的每个输出重定向到唯一文件(又名file_1.input需要)。在file_1.output中捕获,依此类推)。 Pre-parallel之前,我将遍历目录中的每个文件并执行我的命令,同时使用某种计时器/计数技术以免使处理器不堪重负(假设每个进程的运行时间恒定)。但是,我知道情况并非总是如此,因此使用类似“并行”的解决方案似乎是无需编写自定义代码即可获得Shell脚本多线程的最佳方法。 尽管我已经想到了一些方法来并行处理这些文件(并允许我高效地管理内核),但它们似乎都是很棘手的。我有一个非常简单的用例,因此希望尽可能保持整洁(并且并行示例中的任何内容似乎都不是我的问题。 任何帮助,将不胜感激! 输入目录示例: > ls -l input_files/ total 13355 location1.txt location2.txt location3.txt location4.txt location5.txt 脚本: > cat proces_script.sh #!/bin/sh customScript -c 33 -I -file [inputFile] -a -v 55 > [outputFile] 更新:阅读下面Ole的答案后,我能够将缺少的部分放到我自己的并行实现中。尽管他的回答很好,但以下是我的补充研究和记录: 我没有执行我的整个过程,而是从概念验证命令开始,以证明他在我的环境中的解决方案。请参阅我的两个不同的实现(和注释): find /home/me/input_files -type f -name *.txt | parallel cat /home/me/input_files/{} '>' /home/me/output_files/{.}.out 使用find(不是ls,这可能会导致问题)在我的输入文件目录中找到所有适用的文件,然后将其内容重定向到单独的目录和文件。我上面的问题是阅读和重定向(实际脚本很简单),因此用cat替换脚本是一个很好的概念证明。 parallel cat '>' …

4
automount nfs:不可靠服务器的autofs超时设置-如何避免挂断?
我正在为小型共享服务器运行一台小型服务器。它主要是带有一些其他服务的文件服务器。客户端是Linux计算机(主要是Ubuntu,但也有其他Distros)和介于两者之间的Mac(-Book)(但对于这个问题而言,它们并不重要)。该服务器正在运行Ubuntu 11.10(Oneiric Ocelot)“服务器版”,我从中进行设置和测试的系统将运行11.10“桌面版”。我们在相当长的一段时间内与Samba(我们比较熟悉)一起运行共享,但是随后又迁移到NFS(因为我们在LAN中没有Windows用户并想尝试一下),到目前为止一切正常。 现在,我想使用autofs设置自动挂载,以简化操作(到目前为止,每个人都在需要时手动挂载共享)。自动安装似乎也可以。问题是我们的“服务器”不能全天候运行以节省能源(如果有人需要服务器提供的东西,他会打开电源并随后将其关闭,因此每天仅运行几个小时)。但是由于设置了autofs,因此当服务器不运行时,客户端经常挂断退出。 即使服务器没有运行,我也可以启动所有客户端。 但是,当我想显示一个目录(在终端或鹦鹉螺中)时,该目录包含/nfs服务器未运行时指向共享的符号链接,它会挂起至少两分钟(因为autofs无法连接到服务器但会保持我想尝试)。 有办法避免这种情况吗?这样安装将被延迟,直到更改目录或访问该目录的内容为止?不是在“看”下指向股票的链接时/nfs?我认为不是,但是也许有可能不尝试这么长时间访问它?只需给我一个空目录或“找不到/连接到该目录”之类的东西。 服务器运行时,一切正常。 但是,当服务器关闭时,在卸载共享之前,工具(如df或ll)挂起(假设因为他们认为共享仍在,但服务器不再响应)。 当连接丢失时,是否可以自动卸载共享? 此外,当服务器关闭并且客户端仍然挂载共享时,客户端不会关闭或重新启动。它们挂在“ 杀死剩余的进程 ” (看起来无限)上,似乎什么也没有发生。 我认为这全都归结为用于挂载和卸载的整齐超时值。并且可能在与服务器的连接丢失时删除所有共享。 所以我的问题是:如何处理?还有一个额外的好处:是否有一个很好的方法可以链接内部/nfs而不需要挂载真实共享(一个autofs选项,或者可以使用一个伪FS,/nfs在挂载发生时会被替换为FS 或类似的东西)? 我的设定 在NFS设置是非常基本的,但我们很好,到目前为止(使用服务的NFSv4): / etc / default / nfs-common NEED_STATD= STATDOPTS= NEED_IDMAPD=YES NEED_GSSD= /etc/idmapd.conf [General] Verbosity = 0 Pipefs-Directory = /var/lib/nfs/rpc_pipefs Domain = localdomain [Mapping] Nobody-User = nobody Nobody-Group = nogroup / etc / …


7
打印奇数行,打印偶数行
我想从文件中打印奇数行和偶数行。 我发现了这个利用echo的shell脚本。 #!/bin/bash # Write a shell script that, given a file name as the argument will write # the even numbered line to a file with name evenfile and odd numbered lines # in a text file called oddfile. # ------------------------------------------------------------------------- # Copyright (c) 2001 nixCraft project <http://cyberciti.biz/fb/> # …

3
重写现有文件,以便原子地将其替换为新版本,只有完全写入一次
我隐约记得在某些地方阅读某处曾经有一种打开现有文件进行写入的方式,它带有一个标志,要求内核使用旧版本(供其他进程访问以进行读取),直到“新版本已完全写入(fd已关闭),此后文件将显示为新版本。 换句话说,其他进程要么看到的是旧版本,要么看到的是新版本,而从来没有看到不完整的版本。 有知识的人可以为我提供参考吗?

4
为什么找不到命令后很长的延迟?
通常,当我输错ls之类的命令时(例如,我在键入's'之前按了ENTER),在终端显示后会有很长的(〜2s)延迟: bash: l: command not found... 我可以理解输入错误密码后出现类似延迟的原因,请问为什么输入错误密码后会有较大延迟?。但是,为什么在无法识别的命令后延迟呢?是否FAIL_DELAY在/etc/login.defs也影响呢?

3
有没有办法获取实例的公共DNS地址?
我有一个项目,每次使用当前实例的公共DNS地址启动EC2实例时,我都需要更新配置文件。我将为此使用Perl或Sed,所以这不是真正的问题,但真正的问题是:有没有办法确定实例的公共DNS地址?我可以从实例中访问以确定它的EC2 API吗?
18 dns  amazon-ec2 

7
如何使用tar解压缩到其他目录?
这不起作用: tar xf /tmp/foo.tar.gz foo/bar tar: foo/bar: Not found in archive 对我来说,除了将其提取到位并移动文件外,还没有什么能做的。
18 tar 

11
从大型文件中获取大量Grep模式
我有一个文件,每天增长约200,000行,并且全部由以下三行组成: 1358726575123 # key Joseph Muller # name carpenter # job 9973834728345 Andres Smith student 7836472098652 Mariah Anthony dentist 现在,我还有另一个文件,可以从中提取大约10,000个键模式,例如1358726575123。然后,我for使用这些模式运行循环,并且必须对照第一个文件检查它们。如果文件不包含这种模式,则将模式保存在第三个文件中以进行进一步处理: for number in $(grep -o '[0-9]\{12\}' file2); do # finds about 10.000 keys if ! grep -q ^$number$ file1; then # file1 is a huge file printf "$number\n" >>file3 # …
18 grep  awk  database  text 


4
完全重启Bash
有没有一种方法可以完全重新启动Bash并重新加载.bashrc等等.profile?在编辑这些文件后,我想确保所做的更改能够正确进行。

3
防止打开不必要的缓冲区
我使用emacs进行日常JavaScript编辑,以便在缓冲区之间切换(使用Cx LEFT和Cx RIGHT),我对此表示满意(即使我很难知道要修改的文件的路径)。 我的问题: 在我一直拥有*scratch*并*Messages*开业的公司中,我认为放入(kill-buffer "*scratch*").emacs可以解决问题,但事实并非如此,您有什么建议吗? 当我打开文件时,我总是执行TAB自动完成功能,因此,每次创建*Messages*包含完成选项的新缓冲区时,如何阻止创建,或更佳的是,如何使emacs杀死它?做出了我的选择? 如果您认为我正在做的事情不是我应该按照顶部所说的那样进行,那请说出您的意见。
18 emacs  buffer 


1
如何简单地在X中调整显示器的色温?
我有一台新的27英寸iMac,我在其上运行Fedora 15(没有Apple OS)—直接启动到Linux。 颜色基本上对我来说是准确的,但是白点比我想要的要高得多(也就是说,所有内容都是蓝色)。我想是9300K,可能是由于花哨的LED背光灯或其他类似原因。我不知道; 我是软件专家。 我想将其调整为更舒适的6500K。在过去的日子里(包括我的老式LCD显示器),只需按一下显示器上的按钮,然后从菜单中选择按钮即可。当然,在iMac上,这并不是真正的选择。我可以用软件代替吗? 我知道完整的性能分析和校准软件可以在Linux上运行,最终我可能会明白,但是就目前而言,我只是一个简单的选择。我该怎么办?
18 xorg  colors  monitors 

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.