Articles of unix

如何使用Unix CAT和Find来插入新行

我有这样的文件列表: /somedir/file1.fa >foo ATCGGGGG /somedir/file2.fa >bar CCCCCCC 还有很多这些文件。 我想要使​​用下面的命令执行一个CAT find /somedir/ -name "*.fa" | xargs cat > All.fa 但是为什么我在All.fa遇到这个All.fa >foo ATCGGGGG>bar CCCCCCC 代替 >foo ATCGGGGG >bar CCCCCCCC 有没有办法纠正它?

Linux:常规和特权进程之间的mmap MAP_SHARED好吗?

我想要一个在限制用户下运行的进程与一个守护进程共享一个futex,这个守护进程基本上是root用户,可以放弃一些权限。 通常的shm_open和mmap等是否可以与以不同用户运行的进程一起工作,并具有不同的权限? 有什么具体的安全问题,如果有的话(我怎么减轻他们,权限也许)? 这两个过程中的哪一个创buildfd有什么区别?

我的程序的CPU负载

我们怎么知道我们的程序在CPU上的负载是多less? 我试图用htopfind它。 但htop不会给cpu负载。 它实际上给我的程序的CPU利用率(使用PID)。 我正在使用C编程,Linux环境。

使用SED在unix中编辑文件

我在UNIX中有file1.txt,如下所示 [Section A] $param1=value1 $param2=value2 [Section B] $param1=value1 $param2=value2 $param3=value3 我想编辑部分B中的value2为new_value2编程 [Section A] $param1=value1 $param2=value2 [Section B] $param1=value1 $param2=new_value2 $param3=value3 任何想法应该是什么样的unix命令来做到这一点(使用sed?)? 非常感谢。

如何在java中使用预先存在的unix库

我正在使用下面的代码没有任何问题,我的应用程序。 inputstream = Runtime.getRuntime().exec("/system/bootmenu/recovery/sbin/tune2fs -l /data.img").getInputStream(); 不过最近tune2fs可执行文件被tune2fs库取代。 我不能再得到这个代码工作。 我试过了 : inputstream = Runtime.getRuntime().exec("/system/bootmenu/recovery/sbin/tune2fs -l data.img",new String[]{"LD_LIBRARY_PATH=/system/bootmenu/recovery/sbin:$LD_LIBRARY_PATH"}).getInputStream(); 但是没有成功,我该如何解决这个问题呢?

生产者 – 消费者实施

我需要在我的项目中实施生产者 – 消费者问题。 N个消费者和M个生产者将被创build。 生产者将使用发布(v)调用来将v数据传递给消费者。 消费者将使用get_data(v)调用来获取数据副本v我真的不知道如何实现它。 请帮帮我。 我打算用C来实现它。 我将为消费者和生产者创造一个n过程。 如果一个生产者发布一个数据,其他生产者在所有的消费者得到它之前都不能这样做。 我将使用信号量和共享内存来交换数据。 我发现了一些类似的工作。 但它正在使用线程,但我需要过程。 我怎样才能改变这一点。 #include <pthread.h> #include <stdio.h> #include <semaphore.h> #define BUFF_SIZE 4 #define FULL 0 #define EMPTY 0 char buffer[BUFF_SIZE]; int nextIn = 0; int nextOut = 0; sem_t empty_sem_mutex; //producer semaphore sem_t full_sem_mutex; //consumer semaphore void Put(char item) { int value; sem_wait(&empty_sem_mutex); //get […]

在python中获取正在运行的显示服务器的名称

我怎样才能获得当前Linux会话中使用的显示服务器的Python名称? 我想知道用户是否使用Xorg或Wayland。

有没有办法在Linuxterminal上开发一个Rational Team Concert(RTC)项目?

我是一个新雇员,我更喜欢在UNIX环境下工作,但是我所在的项目是在IBM WebSphere环境中开发的 – IBM WID连接到RTC repo。 任何方式,我可以从UNIX开发?

bcp格式文件和-c切换出来

我正在尝试使用bcp从Sybase ASE数据库提取logging并将其写入文件。 我需要排除数据库中的两个字段,所以我试图使用格式.fmt文件。 这是我的bcp: bcp Rdevdb..TBL_XFER out out1.txt -S$serv -U$user -P$pass -fbcp.fmt -c -t\| 我需要| char是分隔符。 当我使用-c开关时,好像它忽略了格式文件,这是真的吗? 当我既不使用-n也不使用-c开关(告诉它什么格式,本地或字符),它似乎创build使用本机格式的文件,因为当我在我的文本编辑器中打开它迫使它成为一个hex编辑器。这是怎么回事? 当我包含-c和格式文件时,我删除了两个我不想要的字段,它将所有的db字段放到文件中,这就是为什么我会忽略.fmt文件。 如果我删除-c开关,并运行它没有包含在.fmt文件中的两个字段,我得到这个错误: Incorrect host-column number found in bcp format-file. 什么组合的开关,我包括在.fmt文件中,以便让我的bcp命令带给我我想要的结果? 这是.fmt文件的一部分。 在任何表字段名称中都没有空格(这不包含字段1或字段2,因为那些是我不想要的文件中的字段)。 10.0 147 3 SYBCHAR 2 6 "|" 3 COVERAGE_CODE 4 SYBCHAR 2 6 "|" 4 DEPT 5 SYBCHAR 2 8 "|" 5 ORG 6 SYBCHAR […]

多个SSHlogin/注销

我正在处理ssh,我的任务是以非交互式(?)模式多次login到另一个控制台,所以我特别以这种模式login计算机,我必须键入CTRL-D才能注销,而且此操作重复。 #!/bin/bash for i in `seq 100` do ssh test@macintel sleep 1 done 有什么办法,所以我不必手动键入CTRL-D注销? 运行任何命令,如ssh test@macintel './command.sh'不适用于我。 我想通过它的PID杀死它,或者用一些文件描述符来调用它,但是我仍然通过调用的ssh连接阻止了本地会话。