Unix & Linux

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


2
了解Unix / Linux中的管道命令
我有两个简单的程序:A和B。 A首先运行,然后B获取“ stdout” A并将其用作其“ stdin”。假设我使用的是GNU / Linux操作系统,最简单的方法是: ./A | ./B 如果必须描述此命令,我会说这是一个从生产者(A)读取(即读取)并写入消费者(B)的命令。这是正确的描述吗?我有什么想念的吗?
16 pipe  terminology 

3
ssh somename起作用而nslookup somename不能起作用吗?
如何知道somename我可以访问的某些主机的IP地址ssh?如果我nslookup在此主机上这样做,则说“没有答案”。那怎么ssh解决它的名字呢? 既不/etc/hosts也不.ssh/config解释工作。 编辑 对不起somename,完全合格。 ssh somename.somedomain 工作,而 ping somename.somedomain 和 nslookup somename.somedomain 别

4
从当前命令的中间运行一个子shell
在这种情况下,我经常发现自己。我正在输入命令,在完成命令之前,我需要检查其他内容。 有没有一种方法可以打开某种类型的子shell,到目前为止我的当前输入仍然被记住,然后当我退出该子shell时,我又回到了原来的状态? $ mylongcommand -n -e <SOME KEY COMBINATION WHICH OPENS A SUBSHELL> $ date ... $ exit $ mylongcommand -n -e <BACK TO WHERE I WAS> 我在用着 zsh
16 command-line  zsh 

2
gdb手册页中的C @ t {++}是什么意思?
我正在阅读gdb的联机帮助页,但遇到了问题: You can use GDB to debug programs written in C, C@t{++}, Fortran and Modula-2. C @ t {++}看起来像一个正则表达式,但我似乎无法对其进行解码。 这是什么意思?
16 man  documentation  gdb 

2
bash中的..] [foo []`是做什么的?为什么匹配`..`?
请看以下内容: $ echo .[].aliases[] .. $ echo .[].foo[] .. $ echo .[].[] .. $ echo .[].xyz[] .. $ echo .xyz[].xyz[] .xyz[].xyz[] $ echo .xyz[].[] .xyz[].[] 显然,这似乎有些混乱,但我不明白结果如何结合在一起。据我了解[]是一个空字符类。如果直观的话 它只匹配空字符串;在这种情况下,我希望bash能够完全复制,因为在此目录中没有与之匹配的东西,而且还与..aliases(在第一个示例中)匹配, 或一无所有;在这种情况下,我希望bash也会完全复制字符串。 这与GNU bash 4.4.23(1)版一起发布。
16 bash  shell  wildcards 

3
谁在读/etc/resolv.conf?
我的Centos 7服务器无法正确解析域名。从我所看到的,在现代的Linux系统/etc/resolv.conf通常与生成dhclient, dnsmasq或Network Manager。 因此,我对现代Linux中的网络堆栈有一个一般的理论问题: 谁负责阅读/etc/resolv.conf?域名解析涉及哪些参与者(服务或内核子系统)? 简短的回答: Arch linux手册说,域名解析的高级配置是 /etc/nsswitch.conf在Name Service Switch glibcAPI中完成的,并且依赖于Name Service Switch API。 glibc使用nss-resolve功能将DNS请求发送到DNS服务器。 通常在现代CentOS系统上,它nss-resolve 依赖于 systemd-resolved服务。如果/etc/resolv.conf是由生成的dhclient-script,systemd-resolved则将读取它并以兼容模式工作,从而模拟BINDDNS客户端等旧系统的行为。

1
跨文件系统的近似原子移动?
我必须在Ubuntu下将一些文件从一个文件系统移动到另一个文件系统。但是,非常重要的一点是,文件永远不会以部分或不完整文件的形式存在于目标位置,至少不会以正确的文件名存在。 到目前为止,我唯一的解决方案是编写一个脚本,将每个文件都保存下来,将其复制到目标位置的临时名称,然后在目标位置将其重命名(我认为应该是原子的)为原始文件名,最后删除原始文件。 但是,编写和调试脚本似乎对于此任务来说是过大的。有没有一种方法或工具已经在本地执行此操作?
16 file-copy  move 


2
如何找到特定版本的Ubuntu所基于的Debian版本?
我的理解是Ubuntu是基于Debian的。例如,在Ubuntu的Wikipedia页面上,其声明“ 这是基于Debian架构的Linux发行版。 ”如何找到特定版本的Ubuntu基于的Debian版本(如果有)? 例如,Ubuntu的当前稳定版本是“ Artful Aardvark ”(17.10),该版本宣布它基于Linux 4.13内核,但似乎没有提及Debian版本。 Debian的当前稳定版本是名为“ Stretch ”(9.2)的代码,该代码可宣传4.9内核(在先前链接的Stretch页面上)。如何找到它们之间关系的详细信息?是否有将显示此信息的特定命令?
16 debian  ubuntu 

3
我忘记了用户名,无法登录
我的朋友在我的计算机上安装了Linux Mint 17.3 Cinnamon 64位。好吧,我忘记了用户名,所以我在网上搜索了“ forgot username linux”,来到了这里。 我得到了我在GRUB的第一个项目上打“ e”的建议。建议的下一部分说,寻找以KERNAL开头的行。现在,这里变得有趣了。我没有在其中找到与KERNAL对应的行。但是,我确实找到了以LINUX开头的一行。 未编辑的完整行显示为: linux /vmlinuz-3.19.0-32-generic root=UUID=0c031f3a-81ae-4c33-06cc--c82a855736d1 ro quiet splash $vt_handoff 然后建议看和编辑说splash quiet来single。现在,如果您在上面注意到,它会显示quiet splash而不是splash quiet。所以我想我将编辑quiet splash为single。 现在,它要求输入root密码。有人可以帮忙吗?我想我需要一张Live CD。

4
如何列出所有用户名和/或主目录?
我要列出计算机上的所有用户目录。通常,我会这样做: ls -l /home 但是我在一个脚本中使用它,该脚本将部署在其他计算机上,也许会在他们不称其为Home的计算机上(例如myHome)。所以我想将其概括为ls -l ~。但这只是列出我的用户家庭目录,而不是列出所有用户家庭目录名称(基本上,我想在计算机上获取用户名称的列表)。我该如何概括呢?

1
tar文件以日期为名称?
我正在尝试以日期和时间为名称的tar和gzip文件: date=$(date '+%d-%m-%Y_%H:%M:%S'); tar -zcf "$date".tar.gz repo/bin/ 但我回来了: tar (child): Cannot connect to 17-08-2017_21: resolve failed tar: Child returned status 128 tar: Error is not recoverable: exiting now 这里到底发生了什么,我该如何解决? tar是否试图像连接ip一样连接到名称?
16 bash  tar 

2
流程替代输出不正常
的 echo one; echo two > >(cat); echo three; 命令给出了意外的输出。 我读到以下内容:如何在bash中实现流程替换?以及许多其他有关Internet上的流程替换的文章,但不明白为什么它会以这种方式运行。 预期产量: one two three 实际输出: prompt$ echo one; echo two > >(cat); echo three; one three prompt$ two 另外,从我的角度来看,这两个命令应该等效,但它们不相同: ##### first command - the pipe is used. prompt$ seq 1 5 | cat 1 2 3 4 5 ##### …

6
如何在Debian jessie上将apache2更新到最新版本?
在我的Debian机器上,apache2的当前版本是2.4.10: root@9dd0fd95a309:/# apachectl -V Server version: Apache/2.4.10 (Debian) 我想将apache升级到最新版本(至少2.4.26):我尝试过: root@9dd0fd95a309:/# apt-get install apache2 Reading package lists... Done Building dependency tree Reading state information... Done apache2 is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 48 not upgraded. 但是找不到任何更新。我该怎么做才能升级到最新版本?

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.