Unix & Linux

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

1
bashrc惰性替换
如何在运行时而不是在执行〜/ .bashrc时(打开终端时)获得~/.bashrc别名来评估$()替换? 我经常运行此命令,以便为其添加别名: svn diff -r $(svn info | grep ^Revision | awk {'print $2'}):HEAD $(svn info | grep ^URL | awk {'print $2'}) | colordiff 但是,当我将其添加~/.bashrc为别名时,我看到评估被硬编码为它们在打开终端时所具有的值: $ alias alias svnbranch='svn diff -r 178184:HEAD svn+ssh://branches/t4252 | colordiff' 如果我在其中打开终端,~则会收到错误消息: svn: E155007: '/home/dotancohen' is not a working copy svn: E155007: '/home/dotancohen' is …
10 bash  shell  quoting  alias  bashrc 

1
“鼠标报告”是什么意思?
今天,我在iterm2的文档中看到了有关其tmux集成的描述。它说: 要调整拆分窗格,即使您不希望这样做,也必须启用鼠标报告。 鼠标报告在这里是什么意思?终端将报告鼠标索引在哪里?
10 terminal  tmux 

2
查找SD卡的唯一标识符
我有许多SD卡需要跟踪一个项目。现在,他们每个人的身体上都有一个永久性标记的数字。可以,但是我想查看每个可记录的SD卡中是否内置了某些独特功能。到目前为止,我知道: SD卡的CID 通常(并非总是???)包括唯一的序列号。我无法在Fedora 21中找到一种简单的方法来读取SD卡上的内容。有些页面说,除非您将读卡器直接连接到PCI总线(而不是通过USB),否则您将看不到CID。 卷/分区序列号。这可能可行,但我知道每次重新格式化卡时都会改变,这是我们不时进行的操作。所以不是一个好的选择。 只需用我自己独特的命名系统标记SD卡的卷即可。这太容易更改了,我不妨坚持在外面写下数字。 所以,我想我的问题是: 有没有一种方法可以可靠地从Fedora 21或其他GNU / Linux发行版中的USB卡读取器中读取SD卡上的CID以获得序列号? 如果不是,是否还有其他方法可以使用SD卡或其他系统中的现有唯一标识符来唯一标识SD卡?
10 sd-card 



2
以SSH方式运行的程序在其运行的计算机上访问pulseaudio
我想远程(通过ssh)运行一个程序,但音频会传到该程序实际运行的远程计算机上。通常,这可以与ALSA一起使用,但是Pulseaudio显然会在允许来自客户端的连接之前检查某些会话身份验证器。 如何使这项检查不太严格? local: $ ssh remote # remote is running pulseaudio and has sound hardware remote:$ paplay something.wav Connection failure: Connection refused pa_context_connect() failed: Connection refused remote:$ audacious something.mp3 # opens on local's X11 display pulseaudio: Failed to connect to server: Connection refused pulseaudio: Failed to connect to server: Connection …
10 ssh  pulseaudio 

1
如何将systemd服务文件的[SERVICE]部分中的SyslogIdentifier设置为空?
我想SyslogIdentifier 在服务文件[SERVICE]部分中将其设置systemd为empty,以便在日志中不添加任何前缀。我尝试了以下选项: 1)什么也没提及: SyslogIdentifier= >>>结果:与默认行为类似,日志以进程名作为前缀。 2)空字符串: SyslogIdentifier="" >>>结果:带双引号(“”)的空字符串原样带有前缀。 3)转义字符: SyslogIdentifier=\s >>>结果:\ s被添加到日志的前缀。 4)空白: SyslogIdentifier= (few blank spaces) >>>结果:类似于默认行为,日志以进程名称作为前缀。 5)用单引号引起的空格: SyslogIdentifier=' ' >>>结果:单引号('')保留了前缀。 我不希望任何内容成为日志的前缀。 谁能告诉我该怎么做? 参考: SyslogIdentifier= 将进程名称设置为发送到日志记录系统或内核日志缓冲区的日志行的前缀。如果未设置,则默认为已执行进程的进程名称。仅当StandardOutput=或StandardError=设置为syslog,journal或kmsg (或与结合使用相同的设置+console)时,此选项才有用 。
10 systemd 

2
如何列出不存在符号链接的文件?
我有一个很大的“ myfiles”目录,里面充满了其他文档,并且不想修改其结构。 因此,我为每个类别的文档创建了(几个)其他目录。例如,我有一个“图像”目录,该目录具有指向“ myfiles”目录中每个目录.jpg或.cr2文件的符号链接,以及具有说明和其他元数据的每个符号链接(具有相同文件名)的其他描述性文件。/ images目录中的符号链接可能与原始链接文件的名称不同。 我正在尝试找到最简单的方法来确保“ myfiles”目录中的每个图像文件都有一个指向“ images”目录的符号链接。 查看文件夹结构的示例 /myfiles/a.doc /myfiles/b.jpg /myfiles/c.cr2 /myfiles/d.mov 应该导致 /images/b_800x600.jpg /images/b_800x600.desc /images/c_3820x5640.cr2 /images/c_3820x5640.cr2

1
括号扩展范围为什么使用两个点而不是三个点(省略号)?
我终于明白了/发现为什么我从来没有使用bash的(还有zsh的)括号扩展范围正确:语法是{1..10}什么,而不是我认为是一个省略号,即{1...10}。 我可以知道为什么选择两个点而不是三个点吗?如(Wikipedia)链接所示,省略号在计算机编程中的用法是常见且易于理解的,这就是为什么这引起了我的好奇心。

2
关于在选项周围使用花括号的约定/标准
“ Arch Linux 提要”部分中tar的手册页开头为: tar {A|c|d|r|t|u|x}[GnSkUWOmpsMBiajJzZhPlRvwo] [ARG...] 我完全理解,在这种情况下,这意味着必须给出花括号中的一个选项,因为它在手册页中说得很紧。在互斥选项列表附近使用{}是否有某种标准或约定? 我所能找到的只是1998年的一个用户小组教程man,内容是: 某些选项的选择列表有限。选项列表将用逗号分隔并放在大括号之间。 {choice1,choice2} {是,否} 似乎每种约定(例如Open Group的约定)或手册页仅描述方括号([)或垂直线(|)。

2
将zsh的制表符完成与大小写不敏感结合在一起
我将zsh 5.0.7配置为使用不区分大小写的制表符完成 zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 我遇到的问题是,这种不区分大小写的方法经常导致我需要Tab多花一些时间。例如,我的主目录包含文件夹“桌面”,“文档”和“下载”。如果我在主文件夹中并且输入 cd D 然后按Tab,我看到为我列出的三种可能性。另一方面,如果我输入 cd d 然后按,Tab然后将“ d”更改为“ D”,但我看不到完成菜单;我需要再按Tab一次,以使其发生。有没有办法在将“ d”更改为“ D”的同时获取完成菜单?
10 zsh  autocomplete 

2
为什么bash会忽略SIGTERM?
有时,当我想快速注销时,我会这样做kill -15 -1。我注意到bash忽略了SIGTERM。 我想知道这种bash行为的原理是什么? 在没有充分理由的情况下忽略SIGTERM并不是很UNIX,不是吗? 更新: 对所有人都相同(无)的影响: $ kill -TERM $$ $ type kill kill is a shell builtin $ command kill -TERM $$ $ /bin/kill -TERM $$ UPDATE2: 来自man bash: 当bash是交互式的时,在没有任何陷阱的情况下,它将忽略SIGTERM 因此,它是有目的的。但为什么?
10 bash  signals 



4
从Linux解析NETBIOS名称
我的网络上有一台Windows机器,名为SUSAN。从Linux机器上的Windows VM,我可以简单地: C:\>ping susan 我已经按照本指南(并研究了其他几个类似的指南)从我的Linux机器本身解析NETBIOS名称。 我安装samba和samba-winbind。我从以下位置编辑了此hosts行/etc/nsswitch.conf: hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname 至 hosts: files wins mdns4_minimal [NOTFOUND=return] dns myhostname 显然,我现在应该可以通过SUSAN的名字对其进行ping操作(我已经可以通过其IP对其进行ping操作)。但我得到: user@localhost:~ $ ping susan ping: unknown host susan

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.