Articles of unix

用空列对pipe道分隔文件进行sorting

我正在使用sorting来解决问题,我相信这是由于我sorting的列之前的空列。 我在文件上运行sort -n -t'|' -k4 testme -o testedsort sort -n -t'|' -k4 testme -o testedsort ,这里是被testing的输出 N|N||+006422931|+000359029|OVERLAY N|N|A|+000000020|+000000000|580 N|N|A|+000000020|+000000020|705 N|N|A|+000008035|+000000000|800 N|N|A|+000009701|+000000000|723 N|N|A.|+000009701|+001569434|742 N|N|A|+000009701|+001569434|742 N|N|A|+000013723|+000000000|DLORGN N|N|A|+000020963|+000000020|729 N|N|A|+000022110|+004066830|GRANT 看起来,除了第一个logging,一切都很好,唯一奇特的是我们有一个空的列。 有没有人看到这个,有没有关于如何解决这个问题的build议?

在UNIX(或LINUX)中退出并等待函数

我正在编写一个程序,模拟一个基于Unix的操作系统,我有一些问题: 来自unix.org wait()函数将暂停调用线程的执行,直到其终止的subprocess之一的状态信息可用,或者直到发送其操作是执行信号捕获function或终止进程的信号 让我们想象一下,有两个subprocessB和C的进程A. 如果B和C调用退出函数,然后A调用wait函数,哪个退出状态将被检索? 来自B的还是来自C的 ? 首先,为什么? 当进程处于等待状态时,它不会执行它的代码,直到例如一个已终止的subprocess的状态信息可用为止,对吗? 所以不能在等待的时候调用叉子function,对吗? 3.在UNIX中通常可以杀死进程的时间有什么限制吗? 3.A. 用户是否有权终止根进程? (所有的根进程?)

如何使用shell脚本replace属性文件中的点

首先,我看到类似于这个问题。我已经按照这些线程的解决scheme。但仍然无法修复它。我想从属性文件的键删除点(。)。有一个帮助找出问题 我有一个属性文件tempds.properties #Fri Jan 30 07:37:25 CET 2015 ds.home=/opt/abc mykey=/opt/xyz 我使用另一个脚本test.sh cd /opt chmod 777 tempds.properties #awk -F= -vOFS="=" 'gsub(/\./,"_",$1)+1' tempds.properties cat tempds.properties| sed 's/\./_/g' > .tempds.properties echo "Processing " for i in {1..5}; do sleep 1 echo "……….." done . /opt/tempds.properties echo $ds_home echo $mykey echo "Process finishd" 输出: root@onebox:/opt# sudo ./test.sh Processing ……….. […]

我有今年的一天。 如何在shell脚本中获取date

例子今年的一天:305 如何以dd-mm-yyyy格式获取date

从文本列表复制文件

我有一个文本格式的示例名称列表,例如 Sample1 Sample2 etc…. 我试图find并复制这些名称和一个具体的扩展使用下面的一个class轮的文件 find ./ | egrep fq.gz | fgrep -f list.txt | perl -ne 'chomp; system "cp $_ /data/copy_of_files/"' 没有错误被抛出,但没有被复制。 这条线的工作,直到我通过输出到Perl(正确的文件列表从fgrep打印的terminal),所以我认为我的问题是与Perl的部分… 有什么build议么?

如何历史与date在Linux的命令?

如何获取与date的命令的历史…就像我需要完整的日志我的系统什么命令在机器上执行,从那个IP他们login在那个时间什么是命令执行? 可能吗?

如何在不使用KRB5CCNAME的情况下在客户端上设置Kerberos的default_ccache_name属性?

根据MIT Kerberos文档,默认凭证caching名称如下确定: 默认的ccache名称 默认凭证高速caching名称由以下内容按优先级降序确定: 1. The KRB5CCNAME environment variable. For example, KRB5CCNAME=DIR:/mydir/. 2. The default_ccache_name profile variable in [libdefaults]. 3. The hardcoded default, DEFCCNAME. http://web.mit.edu/kerberos/krb5-devel/doc/basic/ccache_def.html 我想知道是否有办法在客户端定义default_ccache_nameconfiguration文件variables(#2)? 我已经尝试在我的客户端机器上的/etc/krb5.conf中对其进行如下定义: [libdefaults] … default_ccache_name = FILE:/var/krb5/security/creds/krb5cc_%{uid} … 但客户端二进制文件(klist / kinit / kdestroy等)似乎完全忽略了这一点: [~]$ klist klist: No credentials cache found (ticket cache FILE:/tmp/krb5cc_34125) 我正在运行版本1.9.4: [~]$ klist -V Kerberos 5 version […]

在命令结尾使用星号

我知道星号用在正则expression式中,但是在行尾有什么意思呢? find . -type f | grep -sl 'word' * 我知道我可以使用类似的结果 find . -type f | xargs grep -sl 'while'

Unix和Linux / proc PID系统

对于操作系统类的介绍,我们介绍了/proc目录以及许多可用于访问存储在/proc中的进程ID中存储的数据的function。 当我尝试了一些在我的学校托pipe的UNIX服务器上学到的命令(还有一些是我查阅的)时,我注意到我创build的一个进程中存在的一些子目录是一个名为“TeX字体指标数据”或.tfm文件。 我想这是我的教授告诉我们如何从状态和地图这样的目录中获取数据时使用的文件types。 当我input命令cat /proc/(PID)/status来查看状态文件时,我得到了一个随机的字符和空白的分类。 当我在我学校的Linux服务器上创build的过程中尝试了相同的命令时,显示了我期望在状态和映射文件中看到的信息。 我的问题是: 为什么Unix服务器从我的进程的/proc/(PID)/status文件中产生随机字符,而Linux服务器给了我同样命令期望的数据? 还有没有办法通过访问/proc目录访问Unix /proc数据?

如何打印目录中第一个和最后一个文件名的前四个字符

目录中有很多文件。 我想打印该目录中的第一个和最后一个文件名的前四个字符。 假设这些文件在一个目录中 test101.dat test102.dat …… …… xyzt409.dat yreh302.dat 所以我的输出是:test和yrch 我尝试了以下,但它没有给出结果。 $directory=/xyx h1=$(echo ls -l < $directory | head |awk '{print substr( $0,1,4)}') t1=$(echo ls -l < $directory | tail |awk '{print substr( $0,1,4)}') echo $h1 " " $t1