Unix & Linux

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

1
预加密擦除,为什么?
我想知道为什么,在将自身加密并安装到驱动器之前,Kali: 擦除了整个驱动器 用0填充驱动器 用1s填充驱动器 用随机数据填充驱动器 再次擦除驱动器 我知道并不是要安装Kali,但这不是重点。 那么,在全新的HDD上进行安装之前,这有什么用?我过去经常在移除HDD时看到它,而不是安装它。

4
更新Linux内核,同时保留系统的其余部分
我是OpenBSD用户。在OpenBSD常见问题中,它说: OpenBSD是一个完整的系统,旨在保持同步。它不是内核以及可以彼此单独升级的实用程序。 升级系统时,您可以一次性完成。内核和基本系统被替换。然后,您去更新您的第三方套餐。如果从源编译,则重新编译内核并启动它。然后,您重建基础系统,然后重建已安装的软件包。如果自上次重新构建所有内容以来已经过去了几个星期/几个月,那么您首先要安装快照并从那里重新构建(如果您遵循的是最新的CVS分支)。 内核,基本系统和/或第三方软件包不同步是潜在的问题根源,或多或少会使您失去从官方邮件列表中获得任何严重帮助的资格。 我对此很好。实际上,这是我使用OpenBSD的原因之一。它使系统成为一个一致的单元,并使我很容易就可以轻松地对其进行概述。 在Linux上是什么感觉?我知道的大多数Linux都没有与BSD相同的“基本系统”,而是由分发提供商组装的软件包的集合。然后,本地管理员以这种方式添加了其他软件,使得从一开始就存在的内容与后来添加的内容之间的界限充其量是模糊的。 Linux(通常)是否没有强大的内核与用户空间耦合? 据我所知,内核已像任何其他软件包一样进行了更新,这使我有些困惑,这完全有可能。除此之外,有些甚至编译自定义内核(在OpenBSD上不建议使用),并且在其启动菜单中列出了许多不同的内核版本。 谁或什么能保证Linux系统的各个子系统即使彼此独立更新也能够相互协作? 我问的原因是因为该站点上的另一个用户问我是否可以用较新的版本替换Linux系统中的内核。从OpenBSD的角度来看,我不能说是的,这可以保证不会破坏系统。 我将上面的“ Linux”用作“ Linux发行版”,内核和实用程序的简写。

3
`updatedb`和`locate`使用哪种数据库?
该locate程序findutils扫描一个或多个文件名数据库并显示所有匹配项。find如果文件在上次文件名数据库更新期间存在,则可以将其用作快速命令。 如今有多种数据库, 关系数据库(使用查询语言,例如SQL), NoSQL数据库 面向文档的数据库(例如MongoDB) 键值数据库(例如Redis) 面向列的数据库(例如Cassandra) 图形数据库 那么,updatedb更新和locate使用哪种数据库? 谢谢。

3
rkhunter给我警告“ / usr / bin / lwp-request”-我该怎么办?[Debian 9]
所以我只是安装并运行了rkhunter,它向我显示了绿色的OKs /未找到所有内容,除了/ usr / bin / lwp-request,如下所示: /usr/bin/lwp-request [ Warning ] 在日志中显示: Warning: The command '/usr/bin/lwp-request' has been replaced by a script: /usr/bin/lwp-request: Perl script text executable 我已经跑了rkhunter --propupd和sudo apt-get update && sudo apt-get upgrade这并没有帮助。几天前,我安装了Debian 9.0,并且是Linux的新手。 有什么建议做什么? 编辑:此外chkrootkit给我这个: 找到了以下可疑文件和目录: /usr/lib/mono/xbuild-frameworks/.NETPortable /usr/lib/mono/xbuild-frameworks/.NETPortable/v5.0/SupportedFrameworks/.NET Framework 4.6.xml /usr/lib/mono/xbuild-frameworks/.NETFramework /usr/lib/python2.7/dist-packages/PyQt5/uic/widget-plugins/.noinit /usr/lib/python2.7/dist-packages/PyQt4/uic/widget-plugins/.noinit /usr/lib/mono/xbuild-frameworks/.NETPortable /usr/lib/mono/xbuild-frameworks/.NETFramework 我想这是一个单独的问题?还是这根本没有问题?我不知道如何检查这些文件/目录是否正确和需要。 编辑:请注意,即使我没有更改任何类似的名称,我也曾经收到过“正在检查passwd文件更改”和“正在检查组文件更改”的警告。较早和较晚的扫描均未显示警告-这些仅显示一次。有任何想法吗?

6
“ showmount:找不到命令”:如何知道要安装什么?
有时您运行命令并收到“找不到命令”错误消息。 之后,您尝试安装包含该命令的软件包(我想无论如何都会发生这种情况?) 例如 showmount: command not found apt-get install showmount什么都不做,所以我猜showmount命令是程序包的一部分,但我不知道该程序包是什么。 如何找到需要安装的软件包才能获得所需的命令?我正在使用Kali Linux。

3
CTRL + C时删除^ C
在Red Hat Enterprise Linux 6(“圣地亚哥”)附带的外壳中按+ ^C时,有什么方法可以删除?我有权编辑自己的。CTRLC.bash_profile
25 shell 


3
外壳如何知道房屋?
每个外壳程序都有一个环境变量$ HOME设置(例如:)/Users/lotolo。如果我在csh之下,我可以unsetenv HOME并且仍然可以,如果我这样做,cd我将在家里。我也在bash(unset HOME)上进行了测试,这是相同的行为。那么外壳如何知道我/ other_user的家在哪里?它在哪里读取这些值? 这不是重复的,因为我的问题不是我怎么知道,而是shell如何知道HOME。并且此行为也扩展到其他用户。
25 bash  cd-command  home  tcsh  csh 

5
如何在Bash中获得http链接的最后一部分?
我有一个http链接: http://www.test.com/abc/def/efg/file.jar 我想将最后一部分file.jar保存为变量,因此输出字符串为“ file.jar”。 条件:链接可以具有不同的长度,例如: http://www.test.com/abc/def/file.jar. 我尝试过这种方式: awk -F'/' '{print $7}' ,但问题是URL的长度,因此我需要一个可用于任何URL长度的命令。
25 bash  shell-script  awk  cut 

2
什么是实现流程替代的可移植(POSIX)方法?
一些shell(例如bash)支持Process Substitution,这是一种将过程输出显示为文件的方式,如下所示: $ diff <(sort file1) <(sort file2) 但是,此构造不是POSIX,因此不可移植。如何处理替代的实现POSIX -友好的方式(即其中一个在工作/bin/sh)? 注意:问题不是问如何区分两个排序的文件-这只是一个演示流程替换的人为例子!

1
bash'<(文件内容)'的语法是什么?
有关Security StackExchange的此答案使用了一种有趣的bash语法来内联生成文件: openssl req -new -x509 -nodes -newkey ec:&lt;(openssl ecparam -name secp384r1) -keyout cert.key -out cert.crt -days 3650 这一点特别有趣: &lt;(openssl ecparam -name secp384r1) 仅运行: echo &lt;(openssl ecparam -name secp384r1) 我回来 /dev/fd/63 因此,这似乎可以创建一个包含文件内容的临时文件描述符。 这个叫什么?

1
从管道读取时,为什么“ sed q”的工作方式有所不同?
这个问题是从Server Fault 迁移过来的,因为可以在Unix&Linux Stack Exchange上回答。 迁移 3年前。 我创建了一个名为“ test”的测试文件,其中包含以下内容: xxx yyy zzz 我运行了命令: (sed '/y/ q'; echo aaa; cat) &lt; test 我得到: xxx yyy aaa zzz 然后我跑了: cat test | (sed '/y/ q'; echo aaa; cat) 并得到: xxx yyy aaa 题 sed读取并打印,直到遇到带有'y'的行,然后停止。在第一种情况下,而不是第二种情况下,cat读取并打印其余部分。 有人可以解释这种行为差异背后的现象是什么吗? 我也注意到它在Ubuntu 16.04和Centos 6中是这样工作的,但是在Centos 7中,这两个命令都不会输出'zzz'。
25 sed  pipe 

2
在文本编辑器中打开命令提示符-这叫什么?
在Bash中我最喜欢的技巧之一是在文本编辑器中打开命令提示符时。我通过按来执行此操作(在vi模式下)ESC v。执行此操作后,命令提示符中的所有内容现在都会显示在我选择的$ EDITOR中。然后,我可以像编辑文档一样编辑该命令,并在保存和退出该临时文件中的所有内容时执行该命令。 令我惊讶的是,我的朋友们都没有听说过此提示,因此我一直在寻找可以共享的文档。问题是我还找不到任何东西。另外,与此技巧相关的搜索字词非常常见,因此在谷歌搜索文档时无济于事。 有人知道这种技术叫什么,以便我可以实际查找吗?

4
显示进程的网络连接
有没有办法显示一个流程的联系?像这样: show PID 其中show是执行此操作的命令,并且PID是过程的pid。我想要的输出由进程的所有连接组成(实时)。例如,如果进程尝试连接到173.194.112.151,则输出为173.194.112.151。 Firefox的一个更具体的示例: show `pidof firefox` 使用firefox,我首先去google.com,然后去unix.stackexchange.com,最后去192.30.252.129。当我关闭浏览器时,输出必须是: google.com stackexchange.com 192.30.252.129 (显然,对于浏览器,此输出是不现实的,因为还有很多其他相关的连接,但这仅是示例。)

9
用于在命令行中复制和粘贴文件的剪贴板吗?
在Bash中,假设我访问一个目录,然后访问另一个目录。我想将文件从第一个目录复制到第二个目录,但不指定它们的长路径名。可能吗? 我的临时解决方案是/tmp用作存储文件副本的临时位置。cp myfile /tmp当我在第一个目录中时,然后cp /tmp/myfile .当我在第二个目录中时。但是我可以检查文件是否会覆盖中的任何内容/tmp。 是否有类似于剪贴板的用于复制和粘贴文件的内容?

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.