Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

3
不能在UTF-8中使用`cut -c`(`--characters`)吗?
该命令cut具有一个-c处理字符的选项,而不是带有选项的字节-b。但这似乎在en_US.UTF-8区域设置中不起作用: 第二个字节给出第二个ASCII字符(在UTF-8中编码相同): $ printf 'ABC' | cut -b 2 B 但不会在UTF-8语言环境中给出三个希腊非ASCII字符中的第二个: $ printf 'αβγ' | cut -b 2 � 没关系-这是第二个字节。 因此,我们改为看第二个字符: $ printf 'αβγ' | cut -c 2 � 看起来坏了。 通过一些实验,结果表明范围3-4显示了第二个字符: $ printf 'αβγ' | cut -c 3-4 β 但这与字节3到4相同: $ printf 'αβγ' | cut -b 3-4 β 因此,对于UTF-8,-c最多不会超过-b。 我希望语言环境设置不适用于UTF-8,但是相比之下,它wc可以按预期工作; …

5
完全没有问题的恼人消息“由于身份验证错误而拒绝了X11连接”
我有一个烦人的问题。 当我通过SSH登录到特定主机时,该消息 X11 connection rejected because of wrong authentication. 似乎是随机的,大约每分钟一次,发生了3次。我不知道它从哪里来。 实际上,X11转发甚至没有任何小问题,它就像一个魅力一样工作。但是此消息不断出现,这让我发疯。 有谁知道如何摆脱它? 无论我来自哪里,我都在面对这个问题,它发生在我的Gnome-Desktop上,也发生在使用PuTTY,MobaXterm,Cygwin等的Windows系统上。 经过更多讨论之后,我发现原因是监视代理程序(check_mk)。这会检查一些正在运行的任务的运行时参数,每次从监视系统触发该代理程序时,确切地是在检查PostgreSQL状态时,都会出现该消息。似乎此过程尝试打开X11连接,但失败。然后,该消息被吐出到我的终端会话中,因为它试图使用转发的X11会话。 有没有办法完全禁用此消息?
15 linux  ssh  x11 


1
这是创建补丁的好方法吗?
我想从一个特定的gcc分支创建一个补丁,并将其与官方版本进行比较;因此,当我从稳定版本中解压缩tarball时,我可以应用补丁并获得与该特定分支中相同的内容。 这是我第一次需要创建补丁,所以这是我第一次这样做。我主要关心的是正确获取选项和解析,因为我们正在谈论的是非常重要的软件 diff -crB GccStable GccGit > /tmp/fromStabletoBranch.patch 这足够了,并且是最好的方法吗?
15 diff  patch 

8
sed-删除文件中最后一个出现的字符串(逗号)?
我有一个很大的csv文件。您将如何,用sed(或类似功能)删除最后一个? ... [11911,0,"BUILDER","2014-10-15","BUILDER",0,0], [11912,0,"BUILDER","2014-10-15","BUILDER",0,0], [11913,0,"BUILDER","2014-10-15","BUILDER",0,0], ] 所需的输出 ... [11911,0,"BUILDER","2014-10-15","BUILDER",0,0], [11912,0,"BUILDER","2014-10-15","BUILDER",0,0], [11913,0,"BUILDER","2014-10-15","BUILDER",0,0] ] 以下sed命令将删除每行的最后一次出现,但我希望每个文件都删除。 sed -e 's/,$//' foo.csv 也不起作用 sed '$s/,//' foo.csv
15 sed 

5
如何从shell变量中删除空格?
我已经在命令行完成了以下操作: $ text="name with space" $ echo $text name with space 我试图用来tr -d ' '删除空格,结果是: namewithspace 我已经尝试过一些方法,例如: text=echo $text | tr -d ' ' 到目前为止,还没有运气,希望您的好朋友能为您提供帮助!
15 shell  command-line  tr 

1
如何解释kworker线程名称?
在双插槽Xeon X5650六核主板顶部运行的Linux 3.11.0-13泛型上,htop显示了不同的kworker线程。按名称排序(我调整了这里显示的结果,使内核2上的线程先于内核10上的线程),结果如下: kworker/0:0H kworker/0:1 kworker/0:2 kworker/1:0 kworker/1:0H kworker/1:1 kworker/2:0 kworker/2:0H kworker/2:1 ..... kworker/11:0 kworker/11:0H kworker/11:1 kworker/u48:0 kworker/u49:4 kworker/u49:5 kworker/u50:1 kworker/u50:2 ....... 名称以数字开头的线程将以相同的数字固定到核心。因此,第一个数字是运行该线程的核心,我想知道这些线程之后:(0或0Hor 1)后的符号是什么? 我也想知道uXX:Y符号的含义是什么? 我对kworker线程的功能只有一个模糊的了解:它们处理由执行I / O的系统调用引起的异步事件。他们在某处记录了吗?

2
意外令牌'('附近的语法错误
当我在CentOS的SSH终端中使用以下代码时,它可以正常工作: paste <(printf "%s\n" "TOP") 但是,如果我将相同的行代码放置在shell脚本(test.sh)中并从终端运行shell脚本,它会引发错误 ./test.sh: line 30: syntax error near unexpected token (' ./test.sh: line 30: paste <(printf "%s\n" "TOP") 我该如何解决这个问题?
15 shell 

2
具有位置参数的Bash -c
通常,$0在脚本中将其设置为脚本的名称,或设置为脚本的名称(包括路径)。但是,如果我使用bash该-c选项,$0则设置为命令字符串后传递的第一个参数: bash -c 'echo $0 ' foo bar # foo 实际上,位置参数似乎已移动,但包含$0。但是shift在命令字符串中不受影响$0(正常情况下): bash -c 'echo $0; shift; echo $0 ' foo bar # foo # foo 为什么对于命令字符串来说这看起来很奇怪?请注意,我在寻找实现这种奇怪行为的原因和理由。 可以推测这样的命令字符串将不需要$0通常定义的参数,因此出于经济考虑,它也用于常规参数。但是,在那种情况下,的行为shift是奇怪的。另一种可能性是$0用于定义程序的行为(bash称为sh或vim称为la vi),但不能如此,因为$0这里仅在命令字符串中可见,而在命令字符串中不可见。我无法想到的其他用途$0,因此我无所适从。
15 bash 


2
使用cp -l或ln进行硬链接之间有区别吗?
我正在使用rsync和硬链接实现备份方案。我知道我可以将link-dest与rsync一起使用来进行硬链接,但是我看到有人提到在rsync中实现“ link-dest”之前使用“ cp -l”。我知道的另一种硬链接方法是“ ln”。 所以我的问题是,出于好奇:与使用“ ln”相比,使用“ cp -l”进行硬链接有区别吗?
15 cp  hard-link  ln 


4
为curl设置网页响应超时
我使用一种工具来监视网页是否已启动并正在运行。 该工具在curl内部使用命令来获取输出。 但是,当网页需要较长时间响应时,它会返回TIMEOUT错误。我无法增加该工具的超时时间。 有什么方法可以设置/修改网页响应的超时时间? 有没有可以修改的变量?
15 curl  timeout 

4
bash:adduser:在centOS上找不到命令
我最近在VMWare 8上安装了CentOS 5.5,并且试图在系统上添加新用户。除非使用su -选项,否则无法添加用户。我认为它必须在路径设置不正确的情况下执行某些操作。 我更新了路径,这是它的样子 /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/uone/bin:/sbin 我相信该命令位于/ sbin dir中,该目录已经是路径的一部分。谁能建议我可能还会缺少的东西?
15 shell  path 

8
按扩展名对目录中的文件进行计数
为了进行测试,我想计算一个目录中有多少个图像文件,并用文件扩展名(jpg =“ yes”来分隔每种图像文件类型。这是因为稍后它将对执行动作的另一个脚本很有用在每个文件扩展名上)。我可以仅对JPEG文件使用以下内容吗? jpg="" count=`ls -1 *.jpg 2>/dev/null | wc -l` if [ $count != 0 ] then echo jpg files found: $count ; jpg="yes" fi 考虑到文件扩展名jpg,png,bmp,raw和其他,我应该使用while循环来做到这一点吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.