Unix & Linux

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

3
Kernighan和Pike的挑战:如何在文件名中添加斜线?
我刚刚在Unix编程环境中遇到了以下问题,这是Kernighan和Pike撰写的关于Unix的经典著作(我在1984年第79页的ISBN:0-13-937699-2上找到了以下文本): 练习3-6。(技巧问题)如何将/放入文件名中(即/不会分隔路径的组成部分?) 我作为最终用户和程序员已经使用Linux多年了,但是我无法回答这个问题。有没有办法把斜线的文件名,这是绝对内核禁止。您可以通过块设备访问来修补文件系统,或者使用Unicode中看起来相似的字符,但这不是解决方案。 我知道Linux≠Unix,但是应该应用相同的原理,因为系统必须能够从路径中明确地提取目录层次结构。 有人知道吗,Kernighan和Pike在问这个问题时到底在想什么?答案是什么?“招数”到底是什么?或者也许原始的Unix系统只是被允许以某种方式转义这个斜线? UPD: 我就此问题联系了Brian Kernighan,他的回答是: 答案是(或者曾经是)“你不能。” 因此,蒂莫西·马丁(Timothy Martin)是对的,得到了​​绿色的勾号。

3
为什么“ grep -q”会消耗整个输入文件?
考虑以下输入文件: 1 2 3 4 跑步 { grep -q 2; cat; } < infile 什么都不打印。我希望它能打印 3 4 如果将其更改为,则可以获得预期的输出 { sed -n 2q; cat; } < infile 为什么第一个命令不打印预期的输出? 这是一个可搜索的输入文件,符合OPTIONS下的标准: -q Quiet. Nothing shall be written to the standard output, regardless of matching lines. Exit with zero status if an input line …
23 grep 

2
如何为本地主机创建自签名证书?
我使用密码并将以下字段设置为root openssl req -x509 -days 365 -newkey rsa:2048 -keyout /etc/ssl/apache.key \ -out /etc/ssl/apache.crt 领域 Country: FI State: Pirkanmaa Locality: Tampere Organization: masi Organizational Unit Name: SSL Certificate Test CommonName: 192.168.1.107/owncloud EmailAddress: masi@gmail.com 输出:HTTPS中的SSL握手错误。预期输出:HTTPS连接。HTTP有效。 CommonName应该包括您想去的URL,这里是 owncloud的线程。我尝试使用通用名失败 192.168.1.107/owncloud 192.168.1.107/ 服务器测试操作系统:Debian 8.5。 服务器:Raspberry Pi 3b。Owncloud服务器:8.2.5。Owncloud客户端:2.1.1。系统客户端:Debian 8.5。

4
-f选项对`touch`的用途是什么?
来自man touch: -f (ignored) 但我不明白被忽略的含义。 我试过以下: $ ls -l file -rw-rw-r-- 1 pandya pandya 0 Mar 20 16:17 file $ touch -f file $ ls -l file -rw-rw-r-- 1 pandya pandya 0 Mar 20 16:18 file 并注意到它尽管更改了时间戳 -f。 因此,我想知道-f代表什么或代表什么。
23 coreutils  touch 

1
重用rsync --dry-run输出以加快稍后的实际传输速度
我通常rsync -n在做实际的事情前就做过rsync。问题是,我如何才能使第二轮运行自动化以完全重复使用生成的列表--dry-run? 我的意思是,如果我运行了,rsync -n然后得到了rsync将要执行的模拟操作,我的想法是获取该输出,对其进行处理,然后以某种方式rsync仅生成--include-from该输出,因此完整列表仅需计算一次。 如果这甚至没有道理,请告诉我。 顺便说一下,我倾向于使用rsync -hva --progress --stats --delete --exclude-from "$EXCLUDEFILE"。如果您对使用什么选项也有建议,请告诉我。我正在尝试将外部硬盘驱动器(仅包含图像,视频和文档)的内容复制到另一个外部硬盘驱动器。

3
如何防止随机控制台输出破坏终端?
SE上有许多问题,显示了如何从损坏的终端中恢复cat /dev/urandom。对于那些不熟悉此问题的人-这里的内容是: 您执行cat /dev/urandom或等效操作(例如cat binary_file.dat)。 打印垃圾。 没关系...除非您的终端即使在命令完成后仍继续打印垃圾!这是实际上是g ++输出的文本错误呈现的屏幕截图: 我猜人们对C ++错误有时过于神秘是正确的! 通常的解决方案是运行stty sane && reset,尽管每次发生时都运行它很烦人。 因此,我要重点关注的是发生这种情况的原始原因,以及在发出此命令后如何防止终端损坏。我不是在寻找诸如将有问题的命令传递到tr或的解决方案xxd,因为这要求您在实际运行/打印之前知道程序/文件输出二进制文件,并且每次输出此类数据时都需要记住该文件/二进制文件。 我注意到URxvt,PuTTY和Linux帧缓冲区中的行为相同,所以我认为这不是终端特定的问题。我的主要怀疑是随机输出包含一些ANSI转义代码,该代码会翻转字符编码(实际上,如果cat /dev/urandom再次运行,很有可能它将破坏终端,这似乎证实了这一理论)。如果正确,那么此转义码是什么?有禁用它的标准方法吗?

1
有彩色外壳输出手册吗?
您知道,特殊字符序列产生的彩色输出,例如: echo -e "\e[34m Hello\n \e[0m" 这将产生蓝色的单词“ Hello”。为此,我不得不在网上搜索,这很困难,因为不同的消息来源可能会说不同的话。我以为必须要有一些手册,但找不到。即使有apropos color或类似的东西。因此,问题是-在哪里可以找到可靠的手册?

7
是否有支持回滚更新软件包的发行版?
是否有工具甚至整个发行版都支持更新后回滚已更改的软件包? 举个例子:我升级了A,B和C软件包。使用这些软件包几天后,我遇到了B交易中的错误。 当我提交错误报告时,我还需要将B降级到以前的版本,以便可以完成我打算做的事情。同时,A依赖于B,因此也需要降级,但是C两者均独立,因此可以保持其当前版本。 是否有支持此功能的工具或发行版? 我知道大多数发行版都有降级软件包的方法,但这通常是粗略的甚至是不可能的,因为以前的软件包已从存储库中删除,并且在某些情况下(例如在升级X服务器和Mesa之后)确实可以实现。 。 凌乱。

1
哪里可以找到在计算机启动时由systemd启动的服务的日志?
我使用运行Debian不稳定systemd,在启动时,我有一些标记为FAILED(而不是OK)的服务,但是日志太快了,无法获取失败服务的名称。 我想知道一旦系统启动并运行,是否有办法获取该启动日志(我不是在谈论内核日志,而是可以访问dmesg的services)。而且,这service --status-all并没有真正的帮助,因为它仅列出了开/关的服务,而不列出启动时失败的服务。 因此,欢迎任何提示!
23 debian  systemd 

2
如何使gpg找到gpg-agent
在Fedora 22上,gpg找不到gpg-agent: % gpg-agent --daemon % gpg -vvv --use-agent --no-tty --decrypt file.gpg gpg: using character set `utf-8' :pubkey enc packet: version 3, algo 1, keyid 3060B8F7271AFBAF data: [4094 bits] gpg: public key is 271AFBAF gpg: using subkey 271AFBAF instead of primary key 50EA64D5 gpg: using subkey 271AFBAF instead of primary …
23 gpg  gpg-agent 

5
如何永久关闭无线电源管理
在Linux Mint 17.3 / 18中iwconfig,我的无线卡的电源管理已打开。我想永久关闭它,或在此问题上一些解决方法。 sudo iwconfig wlan0 power off 工作,直到我重新启动笔记本电脑。 另外,iwconfig即使我确实运行了此命令,如果我随机检查,有时它也会打开。 我阅读了一些有关使此修复程序永久化的文章。所有这些都包含第一步“转到目录/etc/pm/power.d”,在我看来,这是不存在的。 我遵循以下步骤: sudo mkdir -p /etc/pm/power.d sudo nano /etc/pm/power.d/wireless_power_management_off 我在文件中输入了这两行: #!/bin/bash /sbin/iwconfig wlan0 power off 最后,我设置了适当的用户权限: sudo chmod 700 /etc/pm/power.d/wireless_power_management_off 但是重新启动后,电源管理又恢复了。 iwconfig 手动关闭电源管理后 eth0 no wireless extensions. wlan0 IEEE 802.11abgn ESSID:"SSID" Mode:Managed Frequency:2.462 GHz Access Point: 00:00:00:00:00:00 Bit …

8
超级用户不能侵犯哪些访问权限?
神父 Br。乔治在他的一次演讲中(用俄语)告诉人们,有些访问权限是超级用户不能侵犯的。那就是有些访问权限可以禁止超级用户做某事。 我无法在Internet上找到此信息,并且很好奇它们是什么。这可能与系统的核心执行有关,不是吗?也许他无法停止某些系统进程?也许他不能在实模式下运行进程? 这个问题与SELinux没有关系(George在问题之前就在谈论它)。


4
Linux许可004有什么特别之处?
当我遇到以下我无法理解的内容时,我正在阅读《实用Unix和Internet安全》。 如果使用的是wu存档服务器,则可以对其进行配置,以使上传的文件以004模式上传,因此其他客户端无法下载它们 。与简单地使目录不可读相比,这提供了更好的保护,因为它可以防止人们上传文件,然后告诉朋友要下载的确切文件名。 许可004对应于-------r--。具有读取权限的文件无法下载吗?另外,为什么认为它比简单地使目录不可读更好?这意味着什么? 注意:这是关于未经授权的用户使用匿名FTP在服务器上留下非法和受版权保护的材料的情况。建议使用以上解决方案来防止这种情况,并建议使用脚本在一段时间后删除目录内容。

6
如何以受控方式破坏存档文件?
我编写了一个函数,该函数使用CRC校验和检查损坏的存档。 为了测试它,我只是打开了档案,并使用十六进制编辑器对内容进行了加扰。问题是我不相信这是生成损坏文件的正确方法。 还有其他方法可以创建“受控损坏”,因此它不会是完全随机的,但可以模拟实际损坏的存档会发生什么情况?我从来不需要故意破坏某些东西,所以除了文件中的数据随机加扰外,我不确定该如何做。
23 files  corruption 

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.