Articles of unix

在unix中查找和删除(更新)

以下是我的input文件: sample.txt : 3" 6-position 7' 4" to 10' 3-1/2" 4.8" Adjustable from 99" to 111" – max 148 而在输出中我只需要3个,即 output.txt : 3 4.8 所以基本上我需要打印"符号的数字值,其他非数字文本需要完全删除。 我试图用sed来实现这个,但是我无法得到想要的结果。 有没有办法在UNIX上实现这一点?

由于权限问题,使用SSH的git克隆在Windows失败

我在我的服务器/home/myuser/.git/project.git创build了一个新的GIT存储库。 我从C:\Users\Toshiba\.ssh\github_rsa.pubfind了git的ssh密钥,并附加了服务器的authorized_keys文件。 当我尝试使用SSH做git克隆它失败,如下所示。 $ git clone ssh://myuser@mysite.net:2888 / home / myuser / .git / project.git Cloning into 'project'… Permission denied (publickey,gssapi-keyex,gssapi-with-mic). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 你能帮我解决这个问题吗?

是否有可能编程方式更改unix进程的可执行文件名称(ucmd)?

是否有可能以编程方式更改由ps报告的unix进程的可执行文件名称(ucmd)? unix / POSIX的方式会很好,但Linux特定的解决scheme就足够了。 我想改变这里报道的内容 > ps -o ucmd CMD zsh ps 不是这个,我知道;) > ps -o command COMMAND zsh ps -o command 谢谢 PS不尝试创build一个rootkit,只是在检查进程时,net-snmp查看这个名字,而从init调用时,我的程序有不同的名字,直接从/etc/init.d(etc / rcX.d / SNNname只是名字)。

用curl下载文件的C程序

我正试图用C编写一个程序来下载一些文件。 源代码: #include <stdio.h> #include <string.h> #include <curl/curl.h> #include <curl/easy.h> size_t write_data(void *ptr, size_t size, size_t nmemb, FILE *stream) { size_t written; written = fwrite(ptr, size, nmemb, stream); return written; } int main(){ if(curl_global_init(CURL_GLOBAL_ALL)){ printf("curl error. Exiting.\n"); return 1; } char links[3][100] = { "http://download.freeroms.com/nes_roms/08/big_nose_the_caveman.zip", "http://download.freeroms.com/nes_roms/02/contra.zip", "http://download.freeroms.com/nes_roms/08/super_mario_bros._(usajapan).zip"}; int n = 0, k = 0; char […]

pthread_mutex_trylock的返回和pthread_mutex_lock的返回有什么区别?

我阅读Linux手册页和OpenGroup pthread_mutex_lock并得到这个: 如果成功,则pthread_mutex_lock()和pthread_mutex_unlock()函数将返回零,否则将返回一个错误编号以指示错误。 如果获取互斥体引用的互斥锁对象,则pthread_mutex_trylock()函数将返回零。 否则,将返回一个错误编号来指示错误。 我被这两行弄糊涂了。 如果你在成功的时候返回零,并且在错误的时候返回非零,他们在哪里写这两行呢? 我知道互斥锁可以被locking和解锁,但是获取互斥锁是什么意思?

在C中实现的UNIX命令

对于我的操作系统类,我有一个分配到期的任务。 不幸的是,我以前的项目不能正常工作,除了我不知道我需要从哪里开始下一个项目。 下面的代码假设模仿一个简单的UNIX / Linuxshell,其中一些额外的命令不能用execvp来执行:通过&符号操作符的后台处理,'jobs'shell命令:列出所有活着的subprocess的pid即不是终止的),“僵尸”进程的“收获”和“cd”shell命令:更改shell的工作目录。 我相信,除了“工作”命令和“cd”命令之外的所有东西都可以工作,但我不确定为什么这两个都不行。 下一个任务是以“mysh $ cmd arg1 arg2 argN> file.out”的forms添加一些I / Oredirect,我不知道哪里真的开始了… #include <stdio.h> #include <stdlib.h> #include <string.h> #include <strings.h> #include <unistd.h> #include <wait.h> #include <signal.h> #include <sys/types.h> int main(int argc, char **argv) { char bBuffer[BUFSIZ], *pArgs[10], *aPtr = NULL, *sPtr; int jobs[100]; int jobList = 0; int background; ssize_t rBytes; int […]

通过Bash ShellScripting从url列表中提取父域名

我有一个这样的url列表: http://noto.zrobimystrone.pl/pucenter/images/NGdocs/ http://visionwebmkt.com/unsubscribe.php?M=879552&C=b744d324e38f5f3b0bcf549f1d57a3ab&L=20&N=497 http://www.meguiatramandai.com.br/unsubscribe.php?M=722&C=8410431be55bf12faac13d18982d71cd&L=1&N=3 http://www.contatoruy.in/link.php?M=86457&N=4&L=1&F=H http://www.maxxivrimoveis.com.br/ http://www.meguiatramandai.com.br/unsubscribe.php?M=722&C=8410431be55bf12faac13d18982d71cd&L=1&N=2 http://arm.smilecire.com/ch+urch38146263923bpa.stor/imp-roved258021029his+health212149011 http://hurl.zonalrems.com/ge.tyo-ur584372780599hea+lth247408058un/der+control21211901 http://harp.doomyjupe.com/see.this-better/life+58291551346csexdrive663295668+better/how.981692016 http://beefy.toneyvaws.com/no+tice/how/35306640b+see/app=5429204last/attempt=457943182 http://kirk.yournjuju.com/shop/sam.sclub-win=ter/58387369768esame+673844946.bett.er-loo.k981686408 http://idly.theirpoem.com/veri-fy/notice-7853508818b2glob/al=who.43639603inc.lusion-610549278 http://wva188.suleacatan.com/credit-score/review/-551694841511001sfdghsfdgsdfg63887839 http://cop.forterins.com/app.lyto=face962540097dtolo+oko.ung268570307yo.un-ger8752507 http://vni116.gaelsyaray.com/qertqetert//-dghjghjghd5531864856415612229498430 http://ticket.prategama.com/shop/sam.sclub-win=ter/752490935same+226373195.bett.er-loo.k212801 http://cbu125.quetxviii.com/cvbnvbn7551116db537203–swrtytry664896546 http://c5a.dicadodia.com.br/pass4sp09/NetAffProTeste-1.html http://snub.woadsbevy.com/ama/zing-753773417oppe-tun/ity+217801.is-here/now=236922473 http://mkt.livrariacultura.com.br/pub/cc?_ri_=X0Gzc2X%3DWQpglLjHJlYQGgzfB7tPi0PuyyJ71ES 我想只提取父母的域名,例如: http://noto.zrobimystrone.pl/pucenter/images/NGdocs/ http://visionwebmkt.com/unsubscribe.php?M=879552&C=b744d324e38f5f3b0bcf549f1d57a3ab&L=20&N=497 http://www.meguiatramandai.com.br/unsubscribe.php?M=722&C=8410431be55bf12faac13d18 成 zrobimystrone.pl visionwebmkt.com meguiatramandai.com.br 我努力了 awk '{gsub("http://|/.*","")}1' list.txt 并得到以下结果: noto.zrobimystrone.pl visionwebmkt.com www.meguiatramandai.com.br www.contatoruy.in www.maxxivrimoveis.com.br www.meguiatramandai.com.br arm.smilecire.com hurl.zonalrems.com harp.doomyjupe.com beefy.toneyvaws.com 但不知道如何从noto.zrobimystrone.pl只得到父母的名字。

用netpipes / netcat绑定端口

我正在尝试编写一个简单的bash脚本,它正在端口上侦听,并用一个简单的HTTP响应进行响应。 我的具体问题是,我不知道端口是否可用,并在绑定失败的情况下,我回落到下一个端口,直到绑定成功。 到目前为止,实现这个目标的最简单的方法是这样的: for (( i=$PORT_BASE; i < $(($PORT_BASE+$PORT_RANGE)); i++ )) do if [ $DEBUG -eq 1 ] ; then echo trying to bind on $i fi /usr/bin/faucet $i –out –daemon echo test 2>/dev/null if [ $? -eq 0 ] ; then #success? port=$i if [ $DEBUG -eq 1 ] ; then echo "bound on […]

从Linux进程分配的堆栈内存在哪里?

我们知道当创build一个进程时,为这个进程分配一个堆栈。在linux中,堆栈的大小通常是8Mb。我的问题是,从这个堆栈分配的位置?从用户空间还是从系统空间?

相对shebang:如何编写一个运行它的可移植解释器的可执行脚本

比方说,我们有一个程序/软件包,它有自己的解释器和一组脚本,应该在执行时调用它(使用shebang)。 假设我们想保持它的可移植性,即使只是复制到不同的位置(不同的机器),它仍然可以运行,而不需要调用setup / install或者修改环境(PATH)。 系统解释器不应该混入这些脚本。 给定的约束条件不包括像绝对path这样的已知方法: #!/usr/bin/python 并在环境中search #!/usr/bin/env python 单独的发射器看起来很丑,不能接受。 我发现了很好的总结了shebang局限性,这些局限性描述了为什么shebang中的相对path是无用的,解释者不能有多于一个参数: http : //www.in-ulm.de/~mascheck/various/shebang/ 而且我也用“多线社帮”技巧find了大多数语言的实用解决scheme 。 它允许写这样的脚本: #!/bin/sh "exec" "`dirname $0`/python2.7" "$0" "$@" print copyright 但是有时候,我们不希望用这种方法来扩展/修补依赖于shebang的现有脚本和绝对path的解释器。 例如,Python的setup.py支持–executable选项,它基本上允许为它生成的脚本指定shebang内容: python setup.py build –executable=/opt/local/bin/python 所以,特别是,可以指定–executable=为了使所需的种类的可移植性? 或换句话说,因为我想保持这个问题不是太具体到Python … 这个问题 如何写一个指定解释器的shebang,其path与正在执行的脚本的位置有关?