Unix & Linux

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

1
独立于键盘布局的快捷键
是否有一种方法可以定义键盘的特定物理键与某个动作的关联,而与该键在任何布局中所关联的字母无关? 示例:在大多数默认的Gnome快捷键关联中,按Alt+ Ctrl+ T打开一个终端。但是只能在拉丁语键盘上布局。在希腊语版式中执行相同的物理操作不起作用,因为关联的字母则为“希腊语T”,而不是“拉丁语T”。 因此,必须先切换到拉丁语版式,然后按快捷键,这可能会令人沮丧,因为一个人不确定一开始是否未正确按下该键,因此可能尝试几次直到意识到问题所在在布局中。 一种解决方案可能是在一个使用的所有布局中为相同的键定义相同的关联-但随后必须对所有快捷方式执行相同的操作,因此此解决方案无法很好地扩展。



5
使用系统化的Arch Linux接收Syslog消息
我感觉自己已经忽略了显而易见的东西,但是我不知道如何获得Arch Linux服务器,该服务器使用systemd来接收和记录syslog来自远程系统的消息。 我有一个Cisco 678 DSL调制解调器和DD-WRT WAP,并且都可以配置为将syslog格式的消息发送到其他计算机。我希望那台机器成为我的Arch Linux服务器。 我到处搜寻,发现的只是“ systemd代替syslog”,或者我不再需要运行syslog或者与我的问题无关的东西。 更新 我在Arch论坛上提出了问题,但没有得到相关的答案。我安装了syslog-ng只是为了侦听UDP端口514。syslog-ng从我的Cisco 678和我所拥有的DD-WRT WAP写入消息。不幸的是,这些消息不是最终出现在systemd的日记中,而是最终出现在平面文件中。因此,没有确切的解决方案,而是一种解决方法。我宁愿在日志中存储系统日志消息,而不是在平面文件中。

2
Bash脚本编写-循环直到返回值为0
我需要在脚本中卸载某些内容,但有时需要先卸载所有数据,然后再完成卸载,导致卸载失败。我正在寻找一种方法来进行“阻止”卸载,但是我什么也没找到。因此,我尝试编写一个脚本来循环,直到可以将其卸载为止,但是它不起作用。 while [ `sudo umount mount` ] do sleep 0.1 done rmdir mount 运行时输出: umount: /home/evantandersen/mount: device is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1)) rmdir: failed to remove `mount': Device or resource busy 它不应该循环直到返回值sudo umount mount0表示已成功卸载吗?

10
如何在EOF上删除多个换行符?
我的文件以一个或多个换行符结尾,并且应该仅以一个换行符结尾。如何使用Bash / Unix / GNU工具做到这一点? 错误文件示例: 1\n \n 2\n \n \n 3\n \n \n \n 示例更正的文件: 1\n \n 2\n \n \n 3\n 换句话说:EOF和文件的最后一个非换行符之间应该只有一个换行符。 参考实施 读取文件内容,切掉一个换行符,直到末尾再没有两个换行符,将其写回: #! /bin/python import sys with open(sys.argv[1]) as infile: lines = infile.read() while lines.endswith("\n\n"): lines = lines[:-1] with open(sys.argv[2], 'w') as outfile: for line in lines: …
25 bash  sed  awk  ed 


2
如何获得与gnome-terminal,tmux和vim配合使用的日晒色彩方案?
围绕此有很多问题,但这是因为变量太多了。在进行这项工作之前,我不得不整理许多站点的说明。 首先,我无法轻松地在gnome终端中设置16种日光色定义(我手动/单击鼠标只是为了意识到我没有正确的顺序/映射来完成此操作)。一旦修好了,我就继续前进... 然后我将日光灯的颜色按vi-ish的方式工作,但是在某些高亮显示中出现了一些奇怪的黑色背景。修复问题后,我继续前进... 然后我意识到,一旦在tmux中运行,vim就会诉诉winky。这已经引起了广泛的争论,但是很少有答案(大多数都说要设置TERM为xterm-256colors)对我有用。我最终也解决了这个问题。 Solarized是一个非常不错的调色板(尽管我喜欢最深的对比度,但我将最暗的基础颜色变暗了,而最亮的颜色却变亮了,但在校准过的屏幕上发现tmux的“白色”太黄了-在典型的未经校准的笔记本电脑屏幕上,可能还不错)通常太蓝了!),所以我要发布此问题及其答案,以分享我的学习成果。

2
CentO的“ www-data”相当于什么?
CentOs无法识别www-data,但想更改我的文件文件夹的所有权。目前,我所有的文件夹均由root拥有。对于Apache应该拥有什么以及根用户我应该拥有什么感到困惑?另外,当它说root root时,是否意味着root用户me和group apache root?
25 chown 

5
确定Linux内核崩溃的原因
我正在运行Ubuntu 12.04衍生产品(amd64),最近遇到了一些非常奇怪的问题。突然,X会完全冻结一段时间(1-3分钟?),然后系统将重新启动。该系统已超频,但如Windows中所验证的那样非常稳定,这使我相信我遇到了内核恐慌或某个模块有问题。即使在Linux中,我也可以运行LINPACK,即使在CPU上放置了可笑的负载也不会崩溃。即使机器闲置时,崩溃似乎也是随机发生的。 如何调试崩溃的系统? 由于可能是专有的NVIDIA驱动程序,我一路退缩到驱动程序的稳定版本304,但仍然遇到崩溃。 谁能在崩溃后指导我完成一个好的调试过程?我很乐意引导到拇指驱动器并发布所有我的崩溃后配置文件,但我不确定它们是什么。我如何找出导致系统崩溃的原因? 这是一堆原木,通常是罪魁祸首。 .xsession-errors:http : //pastebin.com/EEDtVkVm /var/log/Xorg.0.log:http://pastebin.com/ftsG5VAn /var/log/kern.log:http://pastebin.com/Hsy7jcHZ / var / log / syslog:http : //pastebin.com/9Fkp3FMz 我什至似乎都找不到崩溃的记录。 触发崩溃并非如此简单,它似乎是在GPU试图一次绘制多个物体时发生的。如果我全屏播放YouTube视频,让它重复一会儿,或者滚动浏览大量的GIF,然后会弹出Skype通知,则有时会崩溃。完全挠了我的脑袋。 CPU已超频至4.8GHz,但它是完全稳定的,并且在昨天的大型LINPACK运行和9个小时的Prime95中幸免了一次崩溃。 更新资料 我已经安装了kdump,,crash和linux-crashdump,以及我的内核版本3.2.0-35的内核调试符号。当我apport-unpack在崩溃的内核文件上运行,然后crash在VmCore崩溃转储上运行时,这是我看到的内容: KERNEL: /usr/lib/debug/boot/vmlinux-3.2.0-35-generic DUMPFILE: Downloads/crash/VmCore CPUS: 8 DATE: Thu Jan 10 16:05:55 2013 UPTIME: 00:26:04 LOAD AVERAGE: 2.20, 0.84, 0.49 TASKS: 614 NODENAME: mightymoose RELEASE: 3.2.0-35-generic VERSION: …

6
在扩展名之前将文本添加到文件名
我想在文件名的末尾但在扩展名前添加文本。现在我正在尝试, for f in *.shp; do echo $f_poly; done 输出是 Quercus_acutifolia.shp_poly Quercus_agrifolia.shp_poly Quercus_corrugata.shp_poly Quercus_cortesii.shp_poly Quercus_costaricensis.shp_poly Quercus_havardii.shp_poly Quercus_hemisphaerica.shp_poly Quercus_kelloggii.shp_poly Quercus_knoblochii.shp_poly Quercus_laceyi.shp_poly 我希望如此 Quercus_acutifolia_poly.shp Quercus_agrifolia_poly.shp Quercus_corrugata_poly.shp Quercus_cortesii_poly.shp Quercus_costaricensis_poly.shp Quercus_havardii_poly.shp Quercus_hemisphaerica_poly.shp Quercus_kelloggii_poly.shp Quercus_knoblochii_poly.shp Quercus_laceyi_poly.shp
25 bash  rename  filenames 

5
如何跟踪Java程序?
作为系统管理员,我有时会遇到程序运行异常的情况,而根本不会产生错误或没有意义的错误消息。 过去-在Java出现之前-有两种对策: 如果没有其他帮助-RTFM ;-) 如果甚至没有帮助1.跟踪系统调用并查看发生了什么 我通常strace -f在Linux上使用此任务(其他OS具有类似的跟踪工具)。现在,尽管这通常适用于任何老式程序,但在java -process 上进行跟踪时,跟踪变得非常模糊。如此众多的系统调用似乎与任何实际操作都不相关,以至于无法通过此类转储进行搜索。 有没有更好的方法可以做到这一点(如果源代码不可用)?
25 linux  java  trace 

7
如何在Emacs中替换光标下的当前单词
如何替换Emacs中光标下的当前单词? 我知道我可以使用query-replace或replace-string,但是每次这样做都必须键入要替换的整个字符串,这很烦人。 Vi具有等效的命令cword,我可以使用快捷方式将其拖到光标下方进行替换: nmap <leader>z :%s#\<<C-r>=expand("<cword>")<CR>\># 有人知道如何使用Emacs吗?
25 emacs  search  replace 

2
如何挂载MDF映像,iso9660无法正常工作?
我只有很少的.mdf映像可以通过挂载Alcohol 120%,但是在Linux上可以吗? 我已经尝试过类似的操作mount -o loop -t iso9660 XX.mdf /mnt/iso,但是在这里不起作用ISOFS: Unable to identify CD-ROM format。
25 linux  iso 

4
在find -exec调用中执行用户定义的函数
我在Solaris 10上,并且已经使用ksh(88),bash(3.00)和zsh(4.2.1)测试了以下内容。 以下代码不会产生任何结果: function foo { echo "Hello World" } find somedir -exec foo \; 这一发现不匹配多个文件(如更换-exec ...用-print),并从外面叫时功能完美的作品find调用。 这是该man find页面所说的-exec: -exec命令如果执行的命令返回a,则为true。 零值作为退出状态。结尾 命令必须由逃逸者标点 分号(;)。命令参数{}是 替换为当前路径名。如果 -exec的最后一个参数是{},而您 指定+而不是分号(;), 该命令被调用的次数更少, {}替换为路径名组。如果 该命令的任何调用都会返回一个 非零值作为退出状态,找到 返回非零退出状态。 我可能会逃脱做这样的事情: for f in $(find somedir); do foo done 但是我担心要处理字段分隔符问题。 是否可以从调用中调用Shell函数(在同一脚本中定义,让我们不用担心范围问题)find ... -exec ...? 我尝试了两者/usr/bin/find,/bin/find并得到了相同的结果。

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.