Tag: linux

PostgreSQL psqlterminal命令

我试图让psql格式很好,并在这里跟随文档。 现在,每当我对有很多列的表进行查询时,无论我的屏幕有多大,每行都会溢出到下一行,并产生整个屏幕上不可读的垃圾。 文档(链接在上面)说,有一种方法可以很好地alignment列以获得更多可读的输出。 通常,要启动psql ,只需键入: PSQL 并按Enter键 。 现在我试着: psql \ pset格式alignment 并得到一个错误: could not change directory to "/root" psql: warning: extra command-line argument "aligned" ingored psql: FATAL: Indent authentication failed for user "format" 任何想法,我怎么能得到这些命令行参数为我工作?

将TCPstream量redirect到Linux下的UNIX域套接字

假定在UNIX域套接字/tmp/foo上监听传统Linux应用程序。 除了通过UNIX域套接字机制与这个遗留应用程序进行通信之外,我还希望能够通过端口say 1234上的TCP连接来连接它。 绑定到TCP端口1234然后将所有传入连接redirect到UNIX域套接字/tmp/foo最简单的方法是什么?

Python virtualenv问题

我在Windows XP上使用VirtualEnv。 我想知道我的大脑是否正确缠绕它。 我运行了virtualenv ENV并创build了C:\WINDOWS\system32\ENV 。 然后,我改变了我的PATHvariables,以包含C:\WINDOWS\system32\ENV\Scripts而不是C:\Python27\Scripts 。 然后,我检出了Django到C:\WINDOWS\system32\ENV\Lib\site-packages\django-trunk ,更新了我的PYTHON_PATHvariables以指向新的Django目录,并继续easy_install其他东西(这当然进入我的新的C:\WINDOWS\system32\ENV\Lib\site-packages目录)。 我明白为什么我应该使用VirtualEnv,所以我可以在同一台机器上运行多个版本的Django和其他库,但这是否意味着要切换环境之间,我必须基本上改变我的PATH和PYTHON_PATHvariables? 所以,我开发一个Django项目,在一个名为ENV的环境中使用Django 1.2,然后改变我的PATH ,这样我就可以使用一个叫做ENV2的环境,它具有Django的开发版本。 是基本上,还是有更好的方法来自动做这一切(我可以更新我的Python代码的path,但是这将需要我在我的应用程序中编写机器特定的代码)? 另外,这个过程与在Linux上使用VirtualEnv相比如何(我是Linux的初学者)。

如何从文件中提取单个字节块?

在Linux桌面(RHEL4)上,我想从大文件(> 1 Gig)中提取一个范围的字节(通常小于1000)。 我知道文件的偏移量和块的大小。 我可以编写代码来做到这一点,但有没有一个命令行解决scheme? 理想情况下,如下所示: magicprogram –offset 102567 –size 253 < input.binary > output.binary

比较两个图像python / linux的方式

试图解决防止重复图像上传的问题。 我有两个JPG。 看着他们,我可以看到他们实际上是相同的。 但由于某种原因,他们有不同的文件大小(一个从备份中拉出来,另一个是另一个上传),所以他们有不同的md5校验和。 我怎样才能有效和自信地比较两幅图像,就像人类能够看到它们是完全一样的? 例如: http : //static.peterbe.com/a.jpg和http://static.peterbe.com/b.jpg 更新 我写了这个脚本: import math, operator from PIL import Image def compare(file1, file2): image1 = Image.open(file1) image2 = Image.open(file2) h1 = image1.histogram() h2 = image2.histogram() rms = math.sqrt(reduce(operator.add, map(lambda a,b: (ab)**2, h1, h2))/len(h1)) return rms if __name__=='__main__': import sys file1, file2 = sys.argv[1:] print compare(file1, file2) 然后,我下载了两个视觉相同的图像,并运行脚本。 […]

Linux如何确定下一个PID?

Linux如何确定下一个将用于进程的PID? 这个问题的目的是为了更好地理解Linux内核。 不要害怕发布内核源代码。 如果按顺序分配PID,Linux如何填补空白? 到底会发生什么? 例如,如果我从Apache运行一个PHP脚本来执行<?php print(getmypid());?>在刷新时打印出相同的PID几分钟。 这段时间是apache接收多less个请求的函数。 即使只有一个客户端,PID最终也会改变。 当PID改变时,它将是一个接近的数字,但有多接近? 这个数字看起来并不完全是连续的。 如果我做一个ps aux | grep apache ps aux | grep apache我得到了相当数量的进程: Linux如何select下一个数字? 前几个PID仍在运行,以及最近打印的PID。 apache如何select重用这些PID?

链接到.so文件中较旧的符号版本

在x86_64 linux上使用gcc和ld我需要链接到更新版本的库(glibc 2.14),但可执行文件需要在具有较旧版本(2.5)的系统上运行。 由于唯一不兼容的符号是memcpy(需要memcpy@GLIBC_2.2.5,但提供memcpy@GLIBC_2.14的库),我想告诉链接器,不要使用memcpy的默认版本,而应该使用我指定的旧版本。 我发现一个非常尴尬的方法:只需在链接器命令行中指定一个旧的.so文件的副本。 这工作正常,但我不喜欢有多个.so文件(我只能通过指定所有旧链接库,我链接到,也有参考memcpy)的想法检查到svn和我的生成系统。 所以我正在寻找一种方法来告诉链接器采用旧版本的符号。 对我不起作用的select是: 使用asm.symver(在Trevor Pounds的Blog的Web Archive中可以看到),因为这将要求我确保symver是所有使用memcpy的代码,这将是非常困难的(复杂的代码库和第三方代码) 与旧图书馆保持搭build环境; 只是因为我想在我的桌面系统上开发,这将是一个皮塔同步在我们的networking中的东西。 当考虑链接器所做的所有工作时,似乎并不是一件困难的事情,毕竟它有一些代码也可以找出默认的符号版本。 任何与简单链接器命令行(如创build一个简单的链接器脚本等)复杂度相同的想法也是受欢迎的,只要它们不是像编辑所产生的二进制文件那样的奇怪黑客… 编辑:为了节约这给未来的读者,除了下面的想法,我发现了选项 – –wrap到链接器,这可能有时也是有用的。

XML编辑/查看软件

推荐使用什么软件来处理和编辑大型XML模式? 我正在寻找Windows和Linux软件(不一定是跨平台的,只是想两者的build议),帮助处理巨大的XML文件。

我怎么知道哪个/ dev / input / eventX(X = 0..7)有Linuxinputstream?

我正在尝试捕获Linux键盘/鼠标input,并正在从/dev/input/event2读取事件。 但是,似乎input有时会直接指向/dev/input/event2 ,有时指向/dev/input/event3 。 我想知道是否有一个地方,我可以找出哪些stream有input?

我如何检查一个目录是否存在?

我如何检查目录是否存在于Linux的C?