Articles of Linux操作系统

Bash脚本命令不能在cron中工作

我有以下bash脚本来读取日志,并检查蛮力,然后阻止使用iptables IP。 #!/bin/bash #blah blah run some commands to get the IP iptables -A INPUT -s $p -j REJECT –reject-with icmp-host-prohibited echo "BANNED $p FOR $COUNT ATTEMPTS" |wall 我做了chmod 755.当我从terminal运行命令,它工作正常。 但是当我使用crontab -e作为root设置一个cronjob时,它得到IP,并且回显“BANNED …”消息到墙上,但是没有任何东西被添加到iptables列表中。 PS。 我试过#!/bin/bash和#!/bin/sh但没有运气。

Linux C ++如何以编程方式获取LAN上所有适配器的MAC地址

如何在我的(小型)本地networking上使用C或C ++ PROGRAM (无命令行)来获取MAC地址(如果IP地址是“免费”的话,我也会使用它们)。 这是一个embedded式的Busybox Linux,所以我需要一个简单的答案,希望不需要移植一些库。 我没有libnet或libpcap。 如果DHCP主机,arpcaching似乎从不包含任何东西,但不包含MAC。

从txt文件中删除重复的行

我正在处理包含按行分隔的数据的大型文本文件(〜20MB)。 大多数数据项是重复的,我想删除这些重复只保留一个副本。 此外,为了使问题稍微复杂一些,重复添加一些附加信息。 在这种情况下,我需要保持包含额外信息的条目并删除旧版本。 例如,我需要从这个: BOB 123 1DB JIM 456 3DB AX DAVE 789 1DB BOB 123 1DB JIM 456 3DB AX DAVE 789 1DB BOB 123 1DB EXTRA BITS 对此: JIM 456 3DB AX DAVE 789 1DB BOB 123 1DB EXTRA BITS NB。 最后的顺序并不重要。 什么是有效的方法来做到这一点? 我可以使用awk,python或任何标准的linux命令行工具。 谢谢。

无法运行编译的文件 – bash:./a.out:权限被拒绝。 (我试过chmod)

我使用cc test.c编译了我的C源代码,并生成了a.out文件。 但是,当我运行它,我得到这个错误 – bash: ./a.out: Permission denied 我的源不在主目录中,它位于不同的FAT-32分区上,所以我使用以下命令安装了代码所在的驱动器 – $ udisks –mount /dev/sda7 –mount-options umask=022 Mounted /org/freedesktop/UDisks/devices/sda7 at /media/48E9-FD53 $ cd /media/48E9-FD53/C 然后我使用cc编译我的代码 我也试过gcc 。 但是我仍然得到相同的错误。 然后我做了 – chmod +x a.out ,仍然是同样的问题。 还有( chmod 755 a.out )和chmod u+x a.out 。 我也试着用sudo编译和执行程序。 我也试过 – sudo chown sannidhya:sannidhya a.out 。 我尝试了Googlesearch后发现的所有内容,但仍无法使其正常工作。 我如何运行.out文件(不移动到主目录)? 注 – 我正在使用Ubuntu 12.04 […]

为什么链接器修改一个–defsym“绝对地址”

目标:使用可执行文件(不导出符号)的函数的共享库。 意思是: gcc -Wl,–defsym,function=0x432238 手册页指出: "–defsym symbol=expression" Create a global symbol in the output file, containing the absolute address given by expression. 令我沮丧的是, dlopen()将共享库的基地址(这是64位代码) 0x7ffff676f000添加到导出的“绝对符号地址”中: executable shared library ———- linker ————– symbol: 0x432238 =====> 0x7ffff6ba1238 objdump在库中显示正确的符号地址( 0x432238 ),但是一旦用dlopen()加载,符号的地址为0x7ffff6ba1238 。 如果,一旦加载,我手动修补库符号到正确的地址,然后一切正常(否则,库SEGFAULT)。 为什么“绝对地址”被修改? 如何避免它? 更新: 我反驳下面的答复的技术相关性,甚至更多的是“更新”: 让–defsym在PIC库/可执行文件中定义重定位的符号是没有意义的(除了污染没有任何可用function的二进制文件之外,它不起任何作用)。 因此,PIC共享库或PIC可执行文件中唯一相关的–defsym的用法是定义一个( 非重定位的 )“绝对地址”。 顺便说一下,如果你懒得阅读手册页,这就是–defsym的官方目的: “在输出文件中创build一个全局符号,其中包含由expression式给出的absolute address 。” 至多,这是一个Linux链接器deffect这将是微不足道的修复。 对于那些不能等待拒绝人员来实现(并修复)他们的错误的人来说,解决的办法是在二进制映像被不良链接器加载之后修补重定位表。 然后,–defsym在PIC库/可执行文件中变得有用,在我看来这是一个值得欢迎的进展。

404未find,请求的url<< url name >>在这个服务器上找不到wordpress

我最近安装了wordpress,当我尝试更改永久链接格式时,我遇到了问题, 当我从默认更改永久链接到date和时间 Default http://127.0.0.1/?p=123 Day and name http://127.0.0.1/2015/03/16/sample-post/ 生成的链接不工作,它始终给出相同的error 404 , The requested URL /2015/03/16/post-5-problem/ was not found on this server. 但是,当永久链接types默认情况下,这是完美的。 我find了一些解决scheme sudo a2enmod rewrite Module rewrite already enabled 另一个解决scheme是将.htaccess文件的模式权限更改为666(给予.htaccess文件wordpress的写入权限),然后将永久链接从默认更改为其他types, sudo chmod 666 /address_of_.htaccess 我检查了.htaccess文件 # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d […]

Linux世界中有哪些可用的MVC Web框架?

我从来没有在Linux上做任何Web开发,我即将开始一个需要它的项目。 我喜欢ASP.Net MVC,那么在Linux上我有什么样的select遵循相同的原则? 该项目是一个非常简单的“电子商务”网站(两个或三个产品)。 可能还有其他网站可能会更复杂。 想到Ruby on Rails。 还有别的吗? 想法? 思考? 优点? 缺点? 编辑:只是个人喜好,没有PHP,Java或单声道这个项目。

Java:Linux中的graphics

X-Windows是否必须安装在Linux机器上才能使Java显示全屏graphics?

确定客户端绑定的TCP端口号

我创build了一个TCP套接字,而不打扰绑定到[socket.sin_port = 0]的端口号。 不过后来如果我想打印客户端的端口号,我该怎么做呢? 客户端C应用程序(在Linux上)创build了许多连接到服务器的客户端。 为了debugging问题,我捕捉飘渺的stream量。 我想在问题出现时打印日志中的端口号,以便轻松过滤。 任何帮助,将不胜感激。 -Prabhu

Linux中“进程”,“线程”,“任务”和“作业”之间的区别和关系是什么?

当我学习web后端编程时,我对Linux中使用的一些术语感到困惑。 Linux中“进程”,“线程”,“任务”和“作业”之间的区别和关系是什么?