Unix & Linux

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

2
使用GNU排序按单个键排序/防止对其他键进行不必要的排序
我有一个包含已排序数据的文件,我想根据一个键中的值对文件重新排序,而又不破坏其他键中数据的顺序。 如何防止GNU排序根据未指定的键的值执行行排序,或者如何指定GNU排序以在排序时忽略键的范围? 文件data.txt: 1 Don't 2 C 1 Sort 2 B 1 Me 2 A 预期产量: 1 Don't 1 Sort 1 Me 2 C 2 B 2 A 命令: sort -k 1,1 <data.txt 结果:我没有要求的不需要的排序: 1 Don't 1 Me 1 Sort 2 A 2 B 2 C
9 sort 

1
Mac OS命令在Linux上解析主机名(如“ getent”)
我想要一个将主机名解析为IP地址的命令,就像普通程序会解析该主机名一样。换句话说,它必须考虑mDNS(.local)和/etc/hosts,以及常规DNS。因此host,将dig,,和排除在外,nslookup因为所有这三个工具仅使用常规DNS,不会解析.local地址。 在Linux上,该getent命令完全可以执行我想要的操作。但是,getent在OS X上不存在。 是否有Mac OS X的替代品getent?我知道我可以使用编写几行代码getaddrinfo,这是我必须做的,但是我只是想知道是否已经有一个标准的命令可以做到这一点。 谢谢!
9 osx  hostname  mdns 

1
如何从grub中的videotest退出?
我正在使用videotest和vbetest程序在grub菜单中检查不同的视频分辨率,并且grub在使用此程序后无法返回命令行。系统无响应-就像挂起一样。只有Virtualbox的“关闭计算机电源”才有帮助。 问题:如何退出此模式?可能我使用此程序的方式有误吗? 我的动作: 引导时进入grub菜单,然后进入命令模式。 跑 videotest 800x600 查看新的分辨率示例 然后,按任意键后,系统停止响应,并且我无法返回到grub菜单。获取此屏幕:

2
OpenBSD:定义新的回送接口
我的OpenBSD 6.1中需要一个环回接口,其IP地址为127.0.0.2。 我可以使用以下命令手动创建它: ifconfig lo1 127.0.0.2 为了在启动时拥有它,我只是将该命令插入/etc/rc.local。 我研究了一种更标准的方法来完成此操作,但未成功。 /etc/rc.local插入它也意味着我在启动过程中只有那个接口。 如何以更简洁的“ OpenBSD”方式进行配置?

1
RAIDiator OS下ext3文件系统上的root用户,只有目录中的单个文件的权限被拒绝
我有一个名为“存储”的ReadyNAS盒子,我相信它是基于Debian的。我可以以root身份进入它。我正在尝试重新配置Web服务器,但是遇到了我不了解的文件权限问题。我/etc/frontview/apache/apache.pem什至无能为力!与同一目录中的其他文件相比,它似乎没有任何特殊权限,我可以使用它们。 storage:~# whoami root storage:~# cd /etc/frontview/apache/ storage:/etc/frontview/apache# ls -lah apache.pem* -rw------- 1 admin admin 4.0k Jul 10 2013 apache.pem -rw------- 1 admin admin 4.0k Jun 9 05:57 apache.pem.2017-02-04 -rw------- 1 admin admin 1.5k Jun 9 05:57 apache.pem.orig storage:/etc/frontview/apache# touch apache.pem touch: creating `apache.pem': Permission denied storage:/etc/frontview/apache# touch apache.pem.2017-02-04 storage:/etc/frontview/apache# …

4
Fedora 25并禁用在端口111上监听的任何内容
我有一个Fedora 25 x86_64独立工作站。正在侦听端口111(通过nmap扫描标识): $ sudo lsof -i :111 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME systemd 1 root 36u IPv4 15170 0t0 TCP *:sunrpc (LISTEN) systemd 1 root 37u IPv4 15171 0t0 UDP *:sunrpc systemd 1 root 38u IPv6 15172 0t0 TCP *:sunrpc (LISTEN) systemd 1 root 39u …

2
总共有多少种方式可以输入输入命令?
关于Linux,我注意到的第一件事是将数据输入命令的方式不同,我知道几种,但不知道总共有多少种。 到目前为止我所知道的方式: 管道: echo -e "zorro\nwurst\nlahmacun\nsozialhilfe" | sort 从键盘发出文件结尾信号: sort >gurken >zucker >braunkohle 从文件: sort foo HERE字符串(实际上称为HERE文档): sort << HERE >wasserkopf >elternzeit >schuldeingeständnis >währungsreform >alabasterhaut HERE 这是全部还是还有更多的方法可以使用?为什么根本没有其他方法?有些方法是否多余?

1
什么是通用套接字,它与网络设备有什么关系?
我试图了解网络驱动程序如何在Linux下工作。此次问答表明,Linux中的网络设备未由设备文件表示。它指出网络驱动程序可以使用sockets。 例如,这引用了如何通过ioctl呼叫来设置网络设备。ioctl但是,由于没有用于网络驱动程序的设备文件,因此需要一个文件描述符,唯一可以传递的文件描述符是套接字中的文件描述符。 这使我明白了问题的重点。到目前为止,似乎是物理网卡的软件表示形式的网络接口实际上是套接字的劣等对象。 但是,从抽象的角度来说,套接字是什么,它仅仅是支持推送通知的设备文件的另一个名称吗?我通过用户空间应用程序绑定到网络接口上的address:port对的连接点来理解TCP套接字。我不了解套接字是设置网络接口的先决条件。 Linux上的网络接口(如eth0列出的ifconfig)是否可以不带套接字? ifconfig或某些网络管理器守护程序是否保持套接字打开以允许我们设置网络接口选项?

2
每当在Debian 8的Gnome桌面上双击文本文件时,如何强制gedit独立于现有gedit窗口打开新窗口?
gedit每当在Debian 8,Jessie的Gnome桌面上双击文本文件(.txt)时,如何被迫独立于现有的gedit窗口打开新窗口? 假设已经在gedit窗口中打开了a.txt,并在Debian 8 Jessie的Gnome桌面上双击了b.txt。然后,不幸的是,默认情况下,b.txt将在与a.txt相同的窗口中的选项卡中打开。 但是,我想b.txt在新的gedit窗口中打开,以便有两个窗口-a.txt的现有窗口和b.txt的新窗口。 如果Gnome使用“ -s”选项调用gedit,例如 gedit -s b.txt 然后b.txt将在新窗口中打开,而a.txt保留在其现有窗口中。 但是,默认情况下,Gnome似乎在不带“ -s”选项的情况下调用gedit。 配置文件 /usr/share/applications/org.gnome.gedit.desktop 包含执行指令 Exec=gedit %U 因此,我将其更改为 Exec=gedit -s %U 通过以下命令,并重新启动计算机。 cd /usr/share/applications su # similar to sudo mv org.gnome.gedit.desktop org.gnome.gedit.desktop.bak perl -pe 's/Exec=gedit %U/Exec=gedit -s %U/' org.gnome.gedit.desktop.bak > org.gnome.gedit.desktop diff org.gnome.gedit.desktop org.gnome.gedit.desktop.bak 但是,此方法失败。b.txt仍在与a.txt相同的窗口中的选项卡中打开。我被困住了。我需要你的帮助。 gedit的默认模式是“单个窗口,多个选项卡”。我想要“多个窗口”模式。 顺便说一句,以下无用的方法将gedit变成了“单个窗口,没有选项卡”模式,这不是我想要的。 gsettings …
9 debian  gnome  gedit 

4
如何同时移动和重新创建文件夹?
我statistics在Ubuntu服务器中有一个名为定期存储数据文件的文件夹。重新创建文件夹以用于存储新文件时如何重命名statistics文件夹?backup-xxstatistics 文件statistics夹中的文件由PHP创建file_put_contents。 我更喜欢重命名文件夹,因为文件夹中有很多文件statistics。

2
jetbrains-toolbox加载到黑屏
在过去一个月左右的时间里,我一直在尝试使jetbrains-toolbox正常工作。它曾经可以工作(也是我安装IntelliJ IDEA和Gogland的方式。)当我去更新IDEA时 我目前正在使用Arch。这是我尝试过的东西。 从Sway内加载jetbrains-toolbox。 从aur重新安装jetbrains-toolbox。 从Jetbrains网站重新安装jetbrains-toolbox。 用--disable-gpu启动 清除〜/ .local / share / JetBrains / Toolbox 谷歌搜索我收到的所有消息。 在不同的DE中加载jetbrains-toolbox。我尝试了GNOME,KDE和i3。 设置文件(〜/ local / share / JetBrains / Toolbox / .settings.json),即使被操作编号5清除后,也可以重新生成,因此,我认为文件系统中某处存在某些文件,它不是“不会消失。我认为这可能是造成问题的原因。我已经通过查看Thunar的回收站文件夹验证了设置文件已删除。但是,从ripgrep搜索我的电子邮件地址(包含在设置文件中)并没有发现任何相关信息。 这些是我运行的命令: cd ~/ sudo rg --hidden "MY_EMAIL_HERE" >> ~/Desktop/home_search.txt cd /usr/ sudo rg --hidden "MY_EMAIL_HERE" >> ~/Desktop/home_search.txt 唯一相关的结果是: .local/share/JetBrains/Toolbox/.settings.json: "email": "MY_EMAIL_HERE", .local/share/Trash/files/Toolbox/.settings.json: "email": …

5
awk sed if语句
如果有“。”,我尝试将0开头。在该行的第二个字符处。我无法将两者结合起来。 awk '{ print substr( $0, 2, 1 ) }' file.txt 显示第二个字符 sed -ie "s/.\{0\}/0/" file.txt 在开头添加零。 应该有一个“如果第二个字符是一个点”。 样本文件: 1.02.2017 23:40:00 10.02.2017 23:40:00 最后: 01.02.2017 23:40:00 10.02.2017 23:40:00

6
如何获取sudo命令以使用/root/.bashrc中的设置
我已经定制.bashrc了一些别名,特别是ll和export LS_OPTIONS='--color=auto' 不幸的是,当与一起使用时sudo,这不起作用,因此我也进行了修改/root/.bashrc,但这似乎没有什么区别。 sudo env显示HOME=/root和SHELL=/bin/bash 如何获得sudo命令以使用中的设置/root/.bashrc? 我知道只有在bash以交互方式执行时才会发生这种情况,因此我对其他有关自定义的建议持开放态度。
9 bash  debian  sudo 

2
bash文件重定向到标准版本与Linux上的shell(`sh`)有何不同?
我编写了一个脚本,该脚本在运行时切换用户,并使用文件重定向到standard in来执行该脚本user-switch.sh。 #!/bin/bash whoami sudo su -l root whoami 并运行它bash给了我期望的行为 $ bash < user-switch.sh vagrant root 但是,如果我使用运行脚本,则会sh得到不同的输出 $ sh < user-switch.sh vagrant vagrant 为什么bash < user-switch.sh给出的输出不同于sh < user-switch.sh? 笔记: 发生在运行Debian Jessie的两个不同盒子上

2
Vim:从右向左反转
我意外地:set rl认为这是相对线条。我已经激活了从右到左的模式。该文档为rightleft不说如何扭转rl mode不退出vim。 如何在vim中从左到右走?
9 vim 

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.