Unix & Linux

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

1
\ time,t / ime和cd实际做什么?(在外壳中加反斜杠的乐趣)
在讨论/usr/bin/time与内置shell(bash和zsh)之间的区别时time,有人提到一个人可以\time用作get的简写/usr/bin/time。 首先,它似乎是一个不错的无害捷径,但随后出现了一些问题: 为什么也可以t\ime工作? 为什么\cd即使/usr/bin/cd¹都没有更改目录? 显然,\foo这不等于$(which foo)。现在的问题是: \fooshell的POSIX定义是否以任何方式涵盖了bash和zsh中观察到的行为?如果是,为什么它表现得如此? 脚注1:/usr/bin/cd在我的系统上, #!/bin/sh builtin cd "$@"

3
为什么“ ls”偶尔会只输出“。” 在外部驱动器的根目录中?
在我的USB闪存驱动器的根目录中,有时当我运行时ls,输出是正常的,并且列出了文件。在其他时候,输出只是一行: $ ls . 如果我ls -la在其中一次尝试,我会得到: $ ls -la ls: .: Invalid argument 如果我ls多次背靠背跑,似乎基本上是随机返回正常输出或异常输出。 ls似乎在其他目录中正常工作。ls $drivename甚至似乎在父目录中也可以正常工作,在子目录中也ls ..可以正常工作。(尽管我不能百分百确定“正常工作”的那些,因为这种行为一开始是不确定的。)我尝试了另外两个外部USB驱动器,并得到了相同的行为。 这里发生了什么?我在Mac OS X 10.11.3上。 编辑:好主意,但我似乎不使用别名,并/bin/ls给出相同的结果。
9 osx  ls  usb-drive 

1
如何从SSH客户端禁用密码提示?
我有一个依赖于公用/专用密钥ssh身份验证的脚本。问题是某些系统配置错误,并且没有设置正确的ssh公共/专用密钥信任。发生这种情况时,ssh请问我一个阻止脚本执行的密码。我已经尝试过以下命令: sudo ssh -o "PasswordAuthentication=no" -o "ChallengeResponseAuthentication=no" root@last-call 但是我仍然提示输入root密码。
9 openssh 

1
为什么这两个日期命令给出不同的结果?
$ date -d "Apr 1 2016 - 1 month" +%B 给我“三月”,这很棒-在四月之前的月份是三月。但是,如果我这样做: $ date -d "$(date -d "Apr 1 2016") - 1 month" +%B 它给了我“二月”。这导致我拥有一些更复杂的代码中的错误。为什么这两个命令显示不同的结果?
9 date 

3
如何以较小的更改备份一个大文件?
如果一组文件(每个都有几个GB)并且每个文件每天都稍有变化(在随机位置,不仅是末尾附加的信息),如何有效复制?我的意思是,从某种意义上说,仅更改的部分被更新,而不是整个文件。那将意味着在此处复制一些Kb或复制一些GB之间的区别。
9 backup 

7
找不到linux-headers-4.3.0-kali-amd64
我正在尝试在VMPlayer VM中安装VMware工具,但是在安装的特定阶段,我需要设置linux-headers路径。因此,我尝试使用以下命令进行安装: apt-get install gcc make linux-headers-$(uname -r) 然后我得到错误: Couldnt find any package by glob 'linux-headers-4.3.0-kali-amd64' 我的sources.list文件具有以下来源: deb http://http.kali.org/kali kali-rolling main contrib non-free deb http://http.kali.org/kali kali main contrib non-free deb http://http.kali.org/kali sana main contrib non-free deb http://http.kali.org/kali-security kali/updates main contrib non-free deb http://http.kali.org/kali-security sana/updates main contrib non-free apt-get update在安装标题之前,我已经这样做了。我该怎么做下载?

6
使用df和mount时仅显示物理磁盘
当我使用df或时mount,我对物理磁盘分区最感兴趣。如今,这些命令的输出已被临时和虚拟文件系统,cgroups和其他我不感兴趣的事物所淹没。 我在输出中的物理分区始终以“ /” 开头,因此我尝试为df和创建别名mount: alias df1="df | egrep '^/'" alias mount1="mount | egrep '^/'" 这样就可以了mount1(尽管它/以红色显示' '),但是因为df1我有时想将-h选项添加到df而不能这样做df1 -h。我不希望对每个可能要使用的选项组合都没有别名。我是否真的需要研究在bash中定义函数(我不想这样做)?有更好的解决方案df1吗?

3
如何用sed替换多行代码?
我有一个很大的文件,里面有特殊字符。那里有一个多行代码,我想替换为sed。 这个: text = "\ ------ ------\n\n\ This message was automatically generated by email software\n\ The delivery of your message has not been affected.\n\n\ ------ ------\n\n" 需要变成这样: text = "" 我尝试了以下代码,但没有运气: sed -i '/ text = "*/ {N; s/ text = .*affected.\./ text = ""/g}' /etc/exim.conf 它不会替换任何东西,也不显示任何错误消息 我一直在玩它,但是我尝试的所有方法都不起作用。

3
Debian Jessie安装了太多反向端口
我有Debian Jessie并添加了backport(根据这些说明): echo "deb http://http.debian.net/debian jessie-backports main contrib non-free" | sudo tee /etc/apt/sources.list.d/backports.list (我这样做是为了获得需要的更新内核,用于笔记本电脑中的某些硬件。) 这些说明说什么也不会发生,除非我明确要求反向移植软件包。例如apt-get -t jessie-backports install "package"。 但是,我现在似乎已经从backports加载了整个系统,并且已经卸载了一个软件包,因为它依赖于确切版本的更新到backports的某个软件包。 所以我的问题是: 我如何首先停止它,以便不再安装任何反向端口? 如何删除现有的反向端口? 注意:这会获取来自反向端口的已安装软件包的列表(以及可以传递给的格式apt-get install,由于某种原因,sudo apt-get install在管道末尾代替echo无效): cat /var/log/dpkg.log.1 |grep -v linux | grep -v xserver | grep -v firmware | grep "status installed" | grep bpo | cut -d" …
9 debian  apt  backports 

5
如何将文件中的行按2分组?
我有一个这样的文本文件: a b c d e f g 我如何将这些行分组以获得这样的输出: a-b b-c c-d d-e e-f f-g 我必须在shell(sh,csh,bash)中执行此操作。 我发现了这一点: cat file | xargs -n2 但第一组的最后一个元素没有成为第二个的第一个。

7
仅保留包含定界符确切数目的行
我有一个巨大的csv文件,其中10个字段用逗号分隔。不幸的是,某些行格式错误,并且不完全包含10个逗号(当我想将文件读入R时,这会引起一些问题)。如何仅过滤出恰好包含10个逗号的行?
9 csv  filter 


3
如何使用内置的bash替换子shell或函数的输出
我正在尝试使用内置的bash子字符串替换子shell或另一个bash函数的输出。 以下命令在zsh中效果很好。但会导致bad substitutionbash错误: ${${PWD##*/}//trunk/latest} 要么 ${$(basename $PWD)//trunk/latest} 输出应该是最后一个文件夹$PWD,取而代之的是latest,当我的当前目录是trunk 所以/home/user/trunk应该成为latest 是否有bash等效项允许在不依赖变量或管道的情况下链接字符串版本?还是bash内置函数仅允许输入为字符串或纯变量?
9 bash 


2
获取`posix_spawn`的输出
因此,我可以使用POSIX在Unix / Linux中运行进程,但是有什么方法可以将进程的STDOUT和STDERR都存储/重定向到文件?该spawn.h头包含减速posix_spawn_file_actions_adddup2看起来相关,但我不知道怎么和使用它。 该过程产生: posix_spawn(&processID, (char *)"myprocess", NULL, NULL, args, environ); 输出存储: ...?
9 c  posix  fork 

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.