Unix & Linux

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

3
找到并删除用户目录中的所有临时文件
我经常使用vim,并且我所在的区域经常发生电源故障。因此,结果是我*.swp在PC上散布了许多文件。 我想一个别名rm,要么删除所有文件的命令.swp,~,.netrwhist,.log或.bak扩展系统范围内(或至少在我的主目录)。即使我在上,该命令也应删除文件系统范围/主目录~/Desktop。 我该如何实施?

2
为什么我不能运行这个C程序?
我正在尝试运行我的第一个“过程”程序,但出现以下错误: ./fork.c: line 4: syntax error near unexpected token `(' ./fork.c: line 4: `int main()' 我很确定代码是正确的: #include <sys/types.h> #include <stdio.h> int main() { pid_t pid; printf("Hello fork()\n"); switch(pid=fork()) { case -1: printf("Error by fork().....\n"); exit(0); case 0: printf("I'm the child process \n"); break; default: printf("I'm the dad \n"); break; } …
12 c  compiler 

8
交换无数列
我有一个带有列的文件。参见以下示例: a b c ... z 1 2 3 ... 26 我想交换所有列,其中第一列变成最后一列,第二列变成最后一列...等等。 z y x ... a 26 25 24 ... 1 是否有一个衬板(awk或sed)做到这一点? 我知道awk只有几个列时可以使用,但是我希望能够对具有数千个列的文件执行此操作。 tac做到完美的线条。 我想我正在寻找对应的列。 rev 不适用于我,因为它还会交换列中的内容。



4
仅当下一行不包含特定匹配项时才打印一行
我正在尝试在日志文件中搜索未完成的已记录活动。例如,我记录“ ID 1234的启动活动...”,如果成功,则下一行将为“ Activity 1234 Completed”。 我正在尝试获取“开始...”行,其后没有相应的“已完成”行。 日志文件示例 Starting activity for ID 1234 ID 1234 completed successfully Starting activity for ID 3423 ID 3423 completed successfully Starting activity for ID 9876 ID 9876 completed successfully Starting activity for ID 99889 ID 99889 completed successfully Starting activity for ID 10011 ID …
12 grep  sed  awk 

3
Linux手册页的本地化(Ubuntu)
是否可以使用其他语言输出手册页?我不想完全更改计算机语言,而只希望更改特定的手册页。例如 $ man -English man Man is a manual program … $ man -Russian man Инструцтия для Unix, BSD и Linux. …
12 man  locale 

1
SSH,tmux和GnuPG代理的最佳做法
我正在尝试将加密软件整合到GnuPG,但遇到了一个令人困惑的问题。 我的主要设备是无头服务器,我专门在tmux中工作。没有X会话,因此我已经将gpg-agent配置为使用pinentry-curses。我已配置gpg-agent使用以下脚本通过ssh-agent仿真在登录时调用: if pgrep -u "${USER}" gpg-agent >/dev/null 2>&1; then eval `cat $gnupginf` eval `cut -d= -f1 $gnupginf | xargs echo export` else eval `gpg-agent -s --enable-ssh-support --daemon` fi 我已经将ssh密钥添加到了gpg-agent中,但是当我尝试另一个ssh会话时,命令将挂起。 我发现,如果我杀死gpg-agent并创建一个新的登录shell,则该代理将按其应有的方式工作(调用pinentry-curses然后像ssh-agent一样工作)。 但是,如果我创建另一个登录外壳(例如,通过弹出打开另一个tmux窗格)并尝试ssh,该命令将挂起,并且pinentry-curses窗口将打印在最初启动该代理的登录外壳的内容上。 此外,如果我关闭了最初启动该代理程序的外壳,则无论如何都会调用pinentry-curses并导致cpu-crippling无限循环。(已知的错误,请参见http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=559936。) 本质上,我想知道要更改我的设置以使GnuPG代理与ssh-agent一样无缝地工作。谢谢你的帮助!
12 ssh  tmux  gpg 


1
inotify是否在写入开始或完成时触发通知?
想象一下两个进程,一个读取器和一个写入器,它们通过ext3 fs上的常规文件进行通信。Reader IN_MODIFY在文件上具有inotify 监视。Writer在单个write()调用中将1000字节写入文件。Reader获取inotify事件,然后调用fstat该文件。读者看到什么? 是否可以保证Reader至少可以取回st_size文件上的1000 ?从我的实验来看,似乎并非如此。 是否可以保证Reader可以实际读取read()1000个字节? 这是在严重的I / O绑定框中发生的。例如,sar显示大约1秒的等待时间。就我而言,阅读器实际上在获取inotify事件之后等待10秒钟stat,然后再调用,并且得到的结果太小。 我希望的是inotify事件在文件准备好之前不会传递。我怀疑实际上正在发生的是inotify事件write()在Writer中的调用期间触发,并且只要准备好了,数据实际上就可供系统上的其他进程使用。在这种情况下,10s是不够的时间。 我想我只是在寻找确认内核实际上实现了我所猜测的inotify方法。另外,是否有任何选择可以改变这种行为? 最后,鉴于这种行为,渗入的意义何在?在获得事件之后,您将减少为轮询文件/目录,直到实际可用数据为止。一直以来都应该这样做,而忽略了inotify。 *** 编辑 ** * * 好吧,就像我经常看到的那样,既然我了解自己的实际工作,那么我所看到的行为实际上是有道理的。^ _ ^ 我实际上是在响应文件所在目录中的IN_CREATE事件。因此,实际上我是根据文件的创建来对文件进行stat()响应,而不一定是IN_MODIFY事件,后者可能会在以后到达。 我将更改代码,以便一旦获得IN_CREATE事件,便会订阅文件本身的IN_MODIFY,并且在获得IN_MODIFY事件之前,我实际上不会尝试读取文件。我意识到那里有一小窗口,我可能会错过对该文件的写操作,但这对于我的应用程序是可以接受的,因为在最坏的情况下,文件将在最大秒数后关闭。
12 linux  files  stat  inotify 

4
安全卸载Gentoo中的软件包
我想卸载Gentoo中的特定软件包,并浏览了新兴手册页。我找到了--unmerge选择: 警告:此操作可以删除重要的程序包!删除所有匹配的软件包。这不会检查依赖关系,因此可能会删除系统正常运行所必需的软件包,其参数可以是atom或ebuilds。对于--unmerge的依赖关系感知版本 ,请使用--depclean或--prune。 但是,我想紧急检查系统中其他已安装的软件包是否需要我要卸载的软件包。--depclean并且--prune不提供该功能: --depclean 删除已安装为依赖项但不再需要的软件包 --prune “从系统中删除软件包中除最高安装版本以外的所有版本” 没有的依赖项检查版本--unmerge吗?

3
从大型tarball解压缩仅一定数量的文件
我有一个大型的tarball,正忙于通过FTP将其从远程系统传输到本地系统。 我想知道是否有可能一次开始解压缩,例如说50个文件,以便在传输发生时可以开始处理这些文件。
12 tar 

2
如何根据行数使用`cat`或`less`?
查看文件内容时,我想自动将cat文件短,但less超过屏幕尺寸的文件短。我可以在中使用某些东西wc -l,但是有没有一种更好的方式可以考虑窗口大小/当前可用行数呢?
12 less  cat 

3
多变量循环
有没有一种方法可以在for循环中指定多个变量(不仅仅是整数)bash?我可能有2个文件,其中包含我需要使用的任意文本。 我在功能上需要的是这样的: for i in $(cat file1) and j in $(cat file2); do command $i $j; done 有任何想法吗?


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.