Articles of unix

如何使用Bash向文件中的每一行添加一个string

我有一个文件( myfile.txt )包含这些行: foo bar qux 在一个bash脚本中,我想在string中添加一个值 foo 1000 bar 1000 qux 1000 我尝试过,但失败了。 #!/usr/bin/bash MYVAL="1000" cat myfile.txt | xargs -I '{}' echo {} & echo $MYVAL 只在一行上打印1000

在大文本文件中快速find模式?

我有一个有很多空格分隔的文本列的文件。 一列看起来像这样 – 其中数字是3或更多的数字。 例如<234>,<9473>等 例如。 text…. text… <2329> text… text…. text… <735> text… text…. text… <23229> text… text…. text… <2444> text… 我只想find这些数字,打印或保存使用bash的search结果。 我该怎么做 ? 谢谢 我正在做这个使用Linux [L] Ubuntu的。

TCP RST段向套接字点对点发送多less个情况?

我知道,当一个进程崩溃时,现有的TCP套接字将被放弃,通过发送RST包(段)到其他对端,相关的套接字fd在其他对端将收到RST包。 还有其他情况下RST数据包发出? 例如,如果一个进程在套接字fd上调用close(),但在该套接字上留下未读数据,它是否也会通过该套接字fd将RST数据包(段)发送给其他节点?

Linux / Unix检查VPN连接是否处于活动状态

我有一个代码,检测OpenVPN连接是否打开或closures: if echo 'ifconfig tun0' | grep -q "00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00" then echo "VPN up" else echo "VPN down" fi exit 0 现在我试图重新编写代码来使用PPTP或IPSEC连接。 我试过做: if echo 'ifconfig ppp0' | grep -q "00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00" 或与ipsec相同,但不起作用。 有没有其他方法来检测PPTP或IPSEC连接?

java.nio.file.path:与名称计数不一致的行为?

在了解NIO2 API的行为的同时,我已经考虑到了这一点: Path unix = Paths.get("/"); Path windows = Paths.get("c:\\"); System.out.println(unix.getNameCount()); System.out.println(windows.getNameCount()); 给出输出 0 1 这是为什么? 我期望同样的结果,实际上应该是0因为没有名字,但只有一个根。 当我添加一个文件夹 Path unix = Paths.get("/etc"); Path windows = Paths.get("c:\\etc"); System.out.println(unix.getNameCount()); System.out.println(windows.getNameCount()); 然后我得到 1 1 这不是Windows的一部分混淆? 编辑:我自己在一台Linux机器上。

在linux命令上的问题

以下命令中的两个&符号是做什么的: (make foo&)&

任何人都可以向我解释/ dev / tty的用途

任何人都可以解释什么目的或如何使用/ dev / tty

以符号表示法(包括粘滞位)的unix权限转换器

我需要使用像这样的符号表示法来获取文件或文件夹更具 human readable格式的Access rights in u=rwx,g=srwx,o-rwx (可能是sticky bits) 使用stat –format '%a'格式stat –format '%a' ,我得到格式为2770 ,八进制格式的结果 使用stat –format '%A' ,我得到一个格式为drwxrws—的结果,可读性强 我需要一个命令来获得像u=rwx,g=srwx,o-rwx (与chmod symbolic modes兼容) [u|g|o] :用于user / group / other或者全部 [=] :授予的权利 [rwxst] :授予的订单重要性的列表 [-rwx] :对于被撤销的权利(如果没有授予权利) 我已经尝试过(但它不处理所有的情况下,特殊的粘性位): stat –format '%A' temp | sed -E 's/^.(…)(…)(…)/u=\1,g=\2,o=\3/g' | # split by triplet sed 's/=—/-rwx/g' | # revoker grants […]

我如何在Linux中find一个开放的端口?

是否有某种系统调用会返回端口是否可用? 或者至less有一个传统的做法,不会使你的过程成为一个坏公民? 目前这是我如何做到这一点: def find_open_port(min_port, max_port): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) for port in range(min_port, max_port): if port > max_port: raise IOError('Could not find a free port between {0} and {1}'.format(min_port, max_port)) try: s.bind(('localhost', port)) return port except socket.error as error: if error.strerror == 'Address already in use': continue else: raise error 呸!

使用C / C ++的POSIX物理磁盘块大小

我正在研究一个高性能的I / O程序,我试图find用C ++来确定设备的磁盘块的物理 (而不是逻辑 )字节大小的最佳方法。 到目前为止,我的研究已经让我看到下面的代码片段: #include <iostream> #include <sys/stat.h> #include <stdio.h> #include <errno.h> int main(int argc, char ** argv) { // file information including block size of the device struct stat info; // device to get block size from char * device = "/mnt/hdb1"; if (stat(device, &info)) { printf("stat() error"); strerror(errno); exit(1); } […]