Articles of Linux操作系统

COM端口拦截和修改Linux上的数据

我有一个收据打印机连接到我的COM端口,每当有人打印到我的收据打印机,我想添加一些额外的数据到COM端口的数据。 我在Linux上。 我怎样才能拦截出来的数据并进行修改,以便将额外的数据添加到收据打印中? 我基本上想写一个程序让我们叫它A,这是我的正常程序之间的作品,让我们打电话给B,打印收据和打印机通过连接到COM端口。 我不能修改程序B,这就是为什么我要通过编写程序A来拦截和修改数据。

Log4perlconfiguration不起作用

我在我的Linux机器上安装了Log4perl,并具有以下/path/to/log4perl.conf : log4perl.logger.Fizz = INFO, FizzAppender log4perl.logger.Buzz = INFO, BuzzAppender log4perl.appender.FizzAppender = Log::Dispatch::FileRotate log4perl.appender.FizzAppender.filename = /my/logs/fizz-log.txt log4perl.appender.FizzAppender.max = 1 log4perl.appender.FizzAppender.DatePattern = yyyy-MM-dd log4perl.appender.FizzAppender.TZ = EST log4perl.appender.FizzAppender.layout = Log::Log4perl::Layout::PatternLayout log4perl.appender.FizzAppender.layout.ConversionPattern = %d %m %n log4perl.appender.BuzzAppender = Log::Dispatch::FileRotate log4perl.appender.BuzzAppender.filename = /my/logs/buzz-log.txt log4perl.appender.BuzzAppender.max = 1 log4perl.appender.BuzzAppender.DatePattern = yyyy-MM-dd log4perl.appender.BuzzAppender.TZ = EST log4perl.appender.BuzzAppender.layout = Log::Log4perl::Layout::PatternLayout log4perl.appender.BuzzAppender.layout.ConversionPattern = %d %m […]

日食错误popup窗口的背景颜色

如果将鼠标hover在Eclipse中源代码编辑器中的某个错误上,它将显示一个覆盖层,提示如何修复它。 这对于导入类非常有用,我用它来做很多。 然而,在Linux上,色彩scheme是可怕的,它在深灰色背景上的薄蓝色书写,其边界不可读。 我如何从eclipse中解决这个问题? 到目前为止,我所看到的所有“解决scheme”都涉及修改你的gtk主题。 这有点荒谬(为什么我会打破所有其他修复一个错误的程序)。

否则期望string匹配

我想用telnet发送一个命令后可能会返回不同的结果让我说,像以下3种可能性 1 successful 2 normal 3 there are something wrong…blabla you can refer to ….blabla expect{ "successful" {} "normal" {} #here, for the third possibility, I want to use something like "else", so what should I put here? thanks! }

自动打印GDB中最后一个expression式的值,如VisualStudio的“自动”观察窗口

VisualStudio的debugging器有一个称为自动窗口的function,它总是显示当前和以前的expression式的值。 有没有办法在GDB中实现类似的行为,特别是对于C ++应用程序? 我知道GDB中的display和commands命令,但它们似乎并不是我正在寻找的。 在VS中,debugging器会自动计算出要评估哪个expression式,然后通过程序的每一步对其进行评估。 这个function – 自动找出要评估的expression式 – 是我想让GDB做的事情。 例如,假设我正在执行此代码: #include <cstdlib> #include <iostream> #include <iomanip> #include <sstream> using namespace std; int main() { string s = "Hello"; s += "World"; int i = 2; i *= 3; i *= 7; stringstream ss ; ss << "The result is " << i << "!\n"; […]

python生成器无效文字为int()

我使用http://www.dabeaz.com/generators/fieldmap.py中的field-map生成器函数 #!/usr/bin/env python def field_map(dictseq, name, func): for d in dictseq: d[name] = func(d[name]) yield d if __name__ == '__main__': loglines = open("test.log") import re logpats = r'(\S+) (\S+) (\S+) (\S+) (\S+) \[(.*?)\] \"(.*?)\" (\S+) (\S+) \"(.*?)\" \"(.*?)\" (\S+) \"(.*?)\" \"(.*?)\" (\S+)' logpat = re.compile(logpats) groups = (logpat.match(line) for line in loglines) tuples = (g.groups() […]

在通过curl获取的两个文件之间添加一个新行

我有这个命令获取2个文件,执行一些格式化并输出结果。 curl https://www.cloudflare.com/ips-v{4,6} | sed 's/^/set_real_ip_from /;s/$/\;/' \ > /home/user/output.txt 它工作得很好,问题是如何添加文件1和文件2之间的换行符(保留对格式的更改)?

在OSX和Ubuntu上构build修补的64位OpenSSL

我正在尝试设置OpenSSL的补丁版本来使用DTLS,我遇到了很多麻烦。 我假设这是由于我不了解gcc和链接c库。 特别是,我不断看到人们说,链接到lib /子文件夹,但我找不到一个OpenSSL。 我也是一个关于构build32位OpenSSL的问题 ,但我正在尝试做64位。 OSX 获取源代码和补丁: wget ftp://ftp.openssl.org/source/openssl-1.0.1c.tar.gz # get latest stable OpenSSL mv ~/Downloads/openssl-1.0.1c.tar.gz /usr/local/openssl-1.0.1c.tar.gz cd /usr/local/openssl-1.0.1c.tar.gz wget http://sctp.fh-muenster.de/dtls/dtls-bugs-1.0.1.patch # get the patch file build设(64位,OpenSSL默认为32位): export CFLAGS="-arch x86_64" export LDFLAGS="-arch x86_64" ./Configure darwin64-x86_64-cc # 64 bit config command make # .a files should be built, great 太好了,我在OpenSSL根目录下有一些库: /usr/local/openssl-1.0.1c$ ll lib* -rw-r–r– 1 […]

启动Mongodb,因为服务需要在数据目录上执行保留

我是新来linux和mongodb,所以这可能是一个新问题… 我可以像这样开始mongo(alt#1) $ mongod –dbpath /mnt/datadrive/data –logpath /mnt/datadrive/data/mongod.log 但是,当我开始“服务明智”(alt#2) $ sudo service mongod start 我得到: Starting mongod: can't open /mnt/datadrive/data/mongod.log for log file: errno:13 Permission denied (我已经在/etc/mongod.conf中设置了dbpath和logpath) 那么,当运行alt#2时,mongod是否以不同的用户身份启动? 那是什么账户? 如果是这样,我该如何允许该帐户访问/ mnt / datadrive / data /? 谢谢!

如何用awk比较Linux中多个文件中的两列

我有这个代码 [motaro@Cyrax ]$ awk '{print $1}' awk1.txt awk2.txt line1a line2a file1a file2a 它显示了这两个文件中的ccolumns 我怎样才能find$1(of file 1)和$1(of file2) $1(of file 1) $1(of file2) ,分开