UNIX - 技术教程文章

linux – unix域套接字执行任何文件系统读写吗?

将memcached与unix域套接字一起使用,是否有任何文件系统可读/写?如果是这样的话:对于试图减少或完全清除任何文件系统操作的工具来说,这不是一个缺点吗? 或者以另一种方式询问,是否有可能只使用内存用于unix域套接字? 我还不确定Unix域套接字是否使用文件系统,我不是C家伙,但很少关于https://github.com/torvalds/linux/blob/master/net/unix/af_unix.c实现的概述,我看到有文件系统用法.所以这不仅仅是记忆的工作吗? 编辑:在阅...

在unix / linux中以数字方式排序“sort -V”不可用【代码】

参见英文答案 > How to sort strings that contain a common prefix and suffix numerically from Bash? 4个我想以数字方式在文件中对显示的行进行排序.它没有像预期的那样出现.$cat test abc1 abc10 abc2 abc11 abc20 abcd1 abcd10 abcd2 abcd11 abcd20 $输出: – $sort test abc1 abc10 abc11 abc2 abc20 abcd1 abcd10 abcd11 abcd2 abcd20 $产量预期: – abc1 abc2 abc10 abc11 abc20 abc...

linux – 将前100个正则表达式匹配的文件名复制到unix中的另一个目录【代码】

我的用例是将匹配regex [0-9] {10}的所有文件名复制到一个新目录.我还必须将复制的文件限制为100.我试着通过几个来源解释我们如何使用正则表达式来做到这一点,但我对bash和unix的有限理解限制了我使这个用例工作.我尝试过类似的东西:How to copy multiple files from a different directory using cp? 任何帮助将受到高度赞赏.解决方法:bash:将所有文件存储在一个数组中,然后获取前100个元素的一部分all_files=( [0-9][0-9][0-9]...

linux – 删除断开的链接Unix【代码】

我想删除一个损坏的链接,但在此之前我想确认链接文件是否存在于目录中.我们叫链接A:if [ -a A ] then print 'ya A is ther' fi但如果A是一个断开的链接,我该如何检查?解决方法:find -L -type l找到破坏的符号链接.首先确认该文件不是目录或带有test -d的目录的符号链接(如果它是一个目录,find会递归到它中).从而:is_broken_symlink () {case $1 in -*) set "./$1";; esac! [ -d "$1" ] && [ -n "$(find -L "$1" -type l)" ] }如...

linux – 是否可以以编程方式更改unix进程的可执行文件名(ucmd)?【代码】

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

linux unix 进程相关函数

getgpid(int); //获取当前进程的进程组id setsid(); //自己成立一个进程组 int atexit(void (*function)(void)); //登记程序正常结束时调用的函数(没有参数),如果有多份登记函数,按登记相反的顺序自动执行登记函数。 int on_exit(void (*function)(int , void *), void *arg); //登记程序正常结束时调用的函数(函数有参数),函数中int是main函数退出值, viod * 为arg,如果有多份登记函...

linux – 如何在UNIX上实际找到进程的死锁原因?

在unix上,一个进程被卡住,你怀疑它可能是死锁,找到死锁的原因以及如何删除和避免它? 我知道死锁的4个条件: >相互排斥:资源最多可以分配给一个进程(不共享).>保持并等待:允许持有资源的处理请求另一个.>没有先发制人:进程必须释放其资源;他们不能被带走.>循环等待:必须有一系列进程,以便链中的每个成员都在等待链的下一个成员持有的资源. 但是,它们是理论上的,如何确定unix实际上的死锁?只有看到一个过程没有取得进展?如何找...

sftp从windows到unix与Python【代码】

我试图将我的Windows笔记本电脑中的文件sftp到Unix机箱(Juniper路由器). 我写了一个小脚本,但它说我的远程路径错了.我知道我可能需要添加一些花哨的东西,所以Windows可以翻译nix目录,但我无法在Google上找到它:( 这是脚本:import paramiko host = "192.168.1.87" port = 22 transport = paramiko.Transport((host, port)) password = "juniper123" username = "root" transport.connect(username = username, password = passwor...

linux – 用于类Unix系统的循环符号链接是什么?【代码】

我正在浏览Linux机器上的目录,在进行详细列表时,我注意到链接指向自身,例如:somelink -> /path/to/directory/somelink我想知道做这样事情的原因是什么?解决方法:如果somelink在/ path / to /目录中,那么这是一个无效的符号链接.如果您尝试访问它,文件系统将给您一个错误(可能类似于太多级别的符号链接*).创建它时可能是一个拼写错误(或其他一些错误),或者符号链接以某种方式被移动并最终链接到自身.

linux – 在Unix中为逗号添加逗号【代码】

在Unix中为数字添加逗号,需要将1234567更改为1,234,567 它可能在sed或awk?如果是这样,请提供一些样品.解决方法: $LC_NUMERIC=en_US$printf "%'.f" 1234567 1,234,567由jim mcnamara提供:Locale确定千位分隔符会发生什么.$export LC_NUMERIC="en_US.UTF-8" $printf "%'f\n" 1234567.777 1,234,567.777000$export LC_NUMERIC=C $printf "%'f\n" 1234567.777 1234567.777000最后一个没有逗号.你的结果没有逗号.你明白为什么现在吗?...

linux – UNIX:列出目录中具有相对路径的文件【代码】

问题是: 您将使用什么命令列出您的文本文件 fileAsst目录(使用相对路径)? 上一个问题是: 命令列出这些文本文件的名称,使用fileAsst目录的绝对路径作为命令的一部分. 答案是:~/UnixCourse/fileAsst/*.txt我想知道如何使用相对路径列出此目录中的文件.我尝试了几个命令,包括:ls ~/UnixCourse/fileAsst/*.txt|awk -F"/" '{print $NF}' (cd ~/UnixCourse/fileAsst/*.txt && ls )和一堆其他人. 但它一直告诉我他们的无效.我知道它...

linux – unix排序问题【代码】

这是一个疑问,而不是一个问题. 所以我有一个像这样的输入文件:$cat test class||sw sw-explr bot|results|id,23,0a522b36-556f-4116-b485-adcf132b6cad,20130325,/html/body/div/div[3]/div[2]/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/ul/li[4]/div/img class||sw sw-explr bot|results|id,40,30cefa2c-6ebf-485e-b49c-3a612fe3fd73,20130323,/html/body/div/div[3]/div[2]/div[3]/div[3]/div/div/div/div/div[3]/div/...

Unix和Linux API头是否与C兼容?【代码】

我之前编写过#includes Unix和Linux API头文件的C代码,这些程序产生了预期的行为.也就是说,我不知道这是否可以依赖.当C程序使用时,C和C之间的不兼容性可能会导致有效的C标头以意外的方式运行. Unix和Linux API头文件是否可以被编译为C的代码可靠地使用? 这是这些标题的作者的目标吗?或者这些标题只是有效的C? 这样做有什么已知的陷阱吗? 显然Unix和Linux发行版很多,我不希望得到一个答案来逐一解决每个发行版.我的期望是,相同的...

Unix-linux环境高级C语言:内存管理及错误处理【代码】【图】

一、错误处理 1. 通过函数的返回值表示错误 1) 返回合法值表示成功,返回非法值(无效值)表示失败。 <0表示出错,>=0表示正确 例:获取文件长度函数: long getSize(const char *filePath){if(filePath == NULL){return -1;}FILE *fp = fopen(filePath,"r");//通过函数返回值 来判断 函数调用是否成功if(fp == NULL){return -1;}fseek(fp,0,SEEK_END);//调整文件读写位置到文件末尾long off = ftell(fp);//距离文件开始位置多少个字...

linux – 如何/频繁的unix tee命令将stdout终端输出写入文件?如果输出太大【代码】

我正在将一些工具stdout重定向到tee命令,以便可以在终端以及日志文件中看到当前进度 这是我正在运行工具的代码片段,它的stdout被送到tee命令,这段代码片段是从tcl脚本编写的.$(EH_SUBMIT) $(ICC_EXEC) $(OPTIONS) -f ./scripts/$@.tcl | tee -i ./logs/$@.log我可以在终端上看到当前的实时进度,但在日志文件中没有看到相同的观察结果!并且它通过块将stdout写入日志文件块 三通是如何工作的?它是按块还是时间或两者写的?如果阻止...

Linux基础命令:dos2unix【代码】

dos2unix是将Windows格式文件转换为Unix、Linux格式的实用命令。Windows格式文件的换行符为\r\n ,而Unix&Linux文件的换行符为\n. dos2unix命令其实就是将文件中的\r\n 转换为\n。 而unix2dos则是和dos2unix互为孪生的一个命令,它是将Linux&Unix格式文件转换为Windows格式文件的命令。 命令语法: dos2unix [options] [-c convmode] [-o file ...] [-n infile outfile ...] unix2dos [options] [-c convmode] [-o file ...] [-n ...

配置 – 如何在nginx / HHVM中配置UNIX套接字?【代码】

到目前为止,这就是我所做的:$less /etc/nginx/hhvm.conf location ~ \.(hh|php)${fastcgi_pass unix:/var/run/hhvm/sock;include fastcgi_params; }$less /etc/hhvm/server.ini ; php optionspid = /var/run/hhvm/pid; hhvm specific hhvm.server.file_socket = /var/run/hhvm/sock hhvm.server.type = fastcgi hhvm.server.default_document = index.php hhvm.log.use_log_file = true hhvm.log.file = /var/log/hhvm/e...

shell-script – 什么是自动构建用于Unix和Windows构建C软件的32-64位库的最佳工具,可由用户和机器复制?

是否有一个系统或产品可用于自动化为多个平台构建32位和64位库的过程(Solaris(Sparc& x86)和Windows),用于构建可由其他用户复制的基于C的软件应用程序不同的机器? 我正在寻找是否有一个产品或系统可用于自动化编译库的过程,因为我们的软件构建出现了新的库.我们在Solaris和Windows上构建32位和64位的软件产品.我们想要构建新的库,然后将它们放在SVN或服务器上,供开发人员使用.我们需要一个可记录的流程,并且能够由我们的任何开发人...

linux – 捆绑我的脚本在Unix中制作安装程序?【代码】

我们在后台有一个运行MongoDB的PHP脚本.我想把它变成Unix的捆绑包(Installer). 我将使用它在任何机器上安装以下内容: >安装Apache,PHP MongoDB>设置PHP MongoDB项目 任何人都可以指导我找到合适的资源吗? 你有什么建议?如果要将程序包部署到客户端,最佳解决方案是什么?解决方法:对于你的特殊情况,也许是一把锤子太大了,但这个工具实际上可能会打开你以前从未想象过的可能性.看看Puppet.它是一个配置管理工具,允许您以集中和操作...

是否有可能在现代Linux发行版(如Ubuntu或RedHat)上获得OS X版本的Unix工具?

我观察到,在Linux与OSX的现代发行版中,某些命令行工具的默认版本(如paste和sed)之间通常存在微妙且经常令人讨厌的差异.这导致answers无法在OS X上运行,即使它们几乎可以在任何Linux发行版上运行. 所以我想知道,有没有一种标准方法可以在现代Linux发行版上获得标准Unix工具的全套OS X版本,这样我们就可以在OSX上测试正确功能的解决方案,而无需复制?解决方法:正如评论中所提到的,Apple提供了这些工具的source code版本.许多常见命令...

Unix Shell(Cygwin)中Java的String.getBytes()的等价物【代码】

假设我将字符串转换为字节数组.byte[] byte sUserID.getBytes(“UTF-8”); //Convert User ID String to byte array 现在我需要在Shell上编写一个脚本,该脚本与我的Java代码具有完全相同的功能.在某个阶段我必须哈希我的字节数组(在Java中使用MessageDigest.getInstance(“SHA-256”)和在Shell中使用openssl dgst -sha256 -binary),但因为Java代码中的摘要是从字节数组生成的,所以它们不会匹配结果我在Shell中获得(在Shell中我...

Linux可以使用哪些值作为默认的unix套接字缓冲区大小?【代码】

Linux记录了tcp的默认缓冲区大小,但没有记录AF_UNIX(“本地”)套接字的默认缓冲区大小.可以在运行时读取(或写入)该值.cat /proc/sys/net/core/[rw]mem_default这个值是否总是在不同的Linux内核中设置相同,或者它可能是一系列可能的值?解决方法:默认值不可配置,但在32位和64位Linux之间有所不同.该值似乎是为了允许256个256字节的数据包,占每个数据包开销的不同(使用32位v.s.64位指针或整数的结构). 在64位Linux 4.14.18:212992字...

编译 – 如何在unix和linux中使用STL?【代码】

如何在HP-Unix中使用STL(标准模板库).如何使用STL函数编译和运行程序?解决方法:每个符合标准的编译器都应该附带STL,因为它是标准库的一部分.第一个标准是在1998年完成的,所以除非你使用一个非常古老的系统,否则它应该是可用的.您需要做的就是使用正确的#includes.#include <vector> std::vector<int> v;

linux – 如何将文件从远程unix服务器复制到本地窗口?【代码】

参见英文答案 > How to copy a file from a remote server to a local machine? 6个我的工作系统位于远程位置,操作系统位于unix中,我需要使用bash命令从远程unix系统获取文件到本地计算机.我试过了scp ls .txt* D:\BACKUP这个命令通过使用putty连接到我的远程系统.我试过但它不起作用.解决方法:假设您在Windows上安装了scp(例如,使用Windows 10 bash) 正确的命令是:scp remote_username@remo...

如何检查unix / linux文件的目录结构信息?

在Unix文件系统中,目录只是具有特殊目录结构的特殊文件,其中包含子文件名,文件名大小和inode引用号. 超出此范围的实际文件元数据通常存储在inode本身中. 我的问题是.如何以原始形式而不是解释形式读取实际的特殊目录结构. 是的我知道你可以使用ls来查看那里的文件.那不是我想要的.解决方法:简单的答案是你想要做的是读取目录文件,用cat.,cat / etc或cat mydir这样的命令.当然,因为这是“原始”数据,你想要使用一个更适合的程序以人...

将unix时间戳转换为android shell中的日期【代码】

我尝试将Debian时间戳转换为Android shell(Tasker)中的日期,如: date -d @ 1487411077 但是得到一些错误. 怎么做? Tasker错误看起来像:12.32.45/Variables doreplresult: |sh date -d @%last| -> |sh date -d @1487411077 | 12.32.45/Variables doreplresult: |sh date -d @%last| -> |sh date -d @1487411077 | 12.32.45/E Shell Ausführen: %last -> %last 12.32.45/E Shell Ausführen: -> 12.32.45/E Shell Ausführen: ->...

linux – Active Directory UID映射到特定的Unix UID

我真的不明白Active Directory UIDs映射到Unix UID的转换.当一个人使用他们的AD凭据登录时,winbind如何理解它需要将该AD UID映射到特定的Unix UID,该UID与主目录及其个人文件相关联. 我在配置文件中看到的只是winbind指定了一系列可以使用的UID,而这就是它.解决方法:Winbind / Samba将Windows SID ID存储在tdb(简单LDAP数据库)中,并创建与已转换的sid-2-uid匹配的密钥对.如果Linux端的用户尚不存在,它将组成一个唯一的UID并将其存储...

linux – 用于Mac OS“Dictionary”应用程序的Unix词典附加组件?

我已经看到你可以添加到OS X的Dictionary应用程序中的其他词典,但我能找到的只是口语.在阅读软件书时,能够右键单击一个unix函数/关键字/等,然后将它出现在Dictionary中.有谁知道如何去做?对于Unix或任何语言/ OS /内核/等.我知道他们内置了维基百科,这可行,只是想知道是否有更多的编程特定.解决方法:根据您的MacOS X版本,您可以为Dictionary应用程序创建自己的内容.有很多预先生成的材料,甚至还有一些其他工具可以转换来自其他来源...

是否有经过UNIX认证的Linux发行版?

是否有通过Single UNIX Specification认证的Linux发行版?大多数发行版未获得认证的主要原因是什么?解决方法:>不.>钱. 大多数Linux发行版大多与POSIX兼容,但是没有正式的POSIX标记,因为没有人认为通过该程序或支付所需费用或两者都是一个好主意. 获得POSIX认证意味着它将是例如经过认证的“Debian,版本8,amd64”.然后你需要认证“Debian,版本8,关于powerpc”等,然后再次为下一个版本做这件事.今天,只有少数商用Unices在非常具体的...

Mac OSX vs Linux Unix-ness

所以我知道Linux被认为是“类Unix”而OSX是Unix. 为什么是这样?我觉得Linux比OSX更像“类Unix”. 是什么让OSX比Linux更“Unix”?解决方法:正如评论中所建议的那样,OS X primary是一个真正的Unix,因为它是由The Open Group(UNIX?商标的所有者)认证的,允许它在法律上声称自己是UNIX. 获得UNIX认证的主要要求是符合POSIX标准.第二个是能够向The Open Group支付认证过程.我认为后一点是Linux未经认证的主要问题.