Articles of unix

在UNIX下卸载一个手动编译的软件包

我已经安装imagemagick下载并编译source.how正确地卸载手动安装的ImageMagick为了安装rmagick的gem。 有没有像“使卸载”。

在没有交互模式的情况下执行vim命令

我需要在数千个文件上执行vim命令,而不会受到交互模式缓慢的影响。 我试过了 : 找… … xargs vim'+ set fileencoding = utf-8 | X' 和 在…文件中; 做 vim'+ set fileencoding = utf-8 | x'$文件 DONE 但速度太慢,我有警告 Vim:警告:输出不是到terminal 在vim中避免交互模式是不可能的? PS:我可以使用iconv,但是它会导致文件> 32 ko的错误 iconv –from-code = ISO-8859-1 –to-code = UTF-8 $ file -o $文件

glibc文档和字节序

关于进程完成状态的glibc文档指出macrosWEXITSTATUS返回完成状态的低8字节。 macros:int WEXITSTATUS(int状态) 如果WIFEXITED的状态为true,则此macros将返回subprocess的退出状态值的低8位。 但是,/ /usr/include/sys/wait.h说: # define WEXITSTATUS(status) __WEXITSTATUS (__WAIT_INT (status)) 而且,/ /usr/include/bits/waitstatus.h提到: /* If WIFEXITED(STATUS), the low-order 8 bits of the status. */ #define __WEXITSTATUS(status) (((status) & 0xff00) >> 8) 除非我的概念全部搞乱,那么这个低 8位又是如何呢? 或者是libc假设数据是以小端的方式保存的?

我怎样才能得到一个读取操作的错误c

下面的代码返回-1,我怎么知道什么是错的? 得到一个详细的错误什么的? if (read(programFile, value, sizeof(FRAME)) == -1) { return SYSTEM_CALL; }

计算进程消耗的最大空闲存储内存

我想比较一组进程dynamic分配的最大堆量。 Linux中是否有任何系统命令或任何自动执行此操作的应用程序? 就像一个监视工具,它运行一个进程并监视进程消耗了多less内存。 不幸的是, size(1)命令只反映了进程和进程记帐报告中关于进程使用的平均内存的文本和数据内存部分。

我们可以在我们的安装包中捆绑mono吗?

只是为了思考; 我可以捆绑单声道与我的应用程序包。 所以,如果没有安装,那么它会自动安装。

如何使用Linux或PHP将文件保存到1000行?

我有一个文件用于logging客户端的IP地址。 他们想保留文件的最后500行。 这是在一个PHP4的Linux系统上(不!)。 我打算用新的IP地址一次添加一行文件。 我们没有权限访问cron,所以我可能需要使这个函数进行行限制清理。 我想用exec('tail [some params]')或者用PHP读取文件,用换行符将其分解为数组,获取最后1000个元素,然后写回。 似乎有点内存密集虽然。 什么是更好的方法来做到这一点? 更新: Per @ meagar的下面的评论,如果我想使用zipfunction,我将如何做我的PHP脚本? (不能访问cron) if(rand(0,10)== 10){ shell_exec(“find.logfile.txt [where size> 1mb] -exec zip {} \;”) } 如果有一个现有的文件,将拉链自动枚举文件,或者我需要手动吗?

PHP – 发现是否存在Debian软件包

我希望能够发现Debian软件包是否已经安装在我们的生产服务器上,function应该像extension_loaded() 。 任何人都可以提出一个方法 我只能假设我应该使用exec()和parsing返回值为'命令未find',我想知道是否有一个更安全/更好的select。

确定Linux下的标准文件位置

在Linux下有没有确定文件位置的标准方法? 更好的是,有没有POSIX API允许检索标准文件位置? 例如,如何确定用户的主目录? 或者,我怎样才能确定系统configuration文件的正确位置? 我知道这些位置通常是“/ home / username”或“/ etc /”。 我应该如何硬编码path?

为单个命令指定多个可能的模式

基本上有几行包含一个共同的格式,但最后的措辞不同。 该命令将为所有这些工作,但我想匹配所有可能的模式,因此只需要在脚本中的1行。 作为一个例子,我知道如何使脚本如此工作: /pattern1/ s/asdf/ghjk/g /pattern2/ s/asdf/ghjk/g /pattern3/ s/asdf/ghjk/g 有任何想法吗?