Unix & Linux

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

1
为什么不从文件读取tr命令?
我查找了Unix书籍,手册和Wikipedia页面,tr但找不到设计/实现它的原因,即它不是从文件中读取,而只能从标准输入中读取。例如,工具,例如wc,grep,sed,和awk所有将愉快地从文件,如果提供读取输入或从标准输入。是否/有充分理由进行tr这种设计?
11 history  tr 


1
使只读/ etc可写
我正在处理运行Linux的嵌入式设备。该设备的制造商对其进行了设置,以便将根文件系统加载为只读。 在/ etc / mtab中: rootfs / rootfs rw 0 0 /dev/root / squashfs ro,relatime 0 0 这意味着我无法修改/ etc中的任何文件,例如添加新用户。 我试过重新挂载根目录: mount -o remount,rw -t squashfs /dev/root / 但是我得到一个错误 mount: cannot remount block device /dev/root read-write, is write-protected 我查了这个错误,有人说要使用blockdev。该系统未安装blockdev,因此我对其进行了交叉编译并进行了复制。然后我跑了 blockdev --setrw rootfs 但是我又得到一个错误: blockdev: cannot open rootfs: No such file or …

2
如何轮询Xvfb准备好了?
该特拉维斯CI文件说,运行sleep 3开始后xvfb,以“给[它]一段时间来启动”。我在man页面中找不到对此延迟的任何引用。这是货物崇拜的节目吗?如果没有,我该如何轮询而不是睡觉以保证它可用?
11 xvfb 

2
sed-在多个文件中应用更改
我有数百个包含“ </foo:bar>” 的文件 cc bb aa </foo:bar> dd xx vv 我想一次全部更改为 cc bb aa </foo:bar> 当我给它确切的文件名时,sed效果很好 sed -i“ / </ foo:bar> / q” 99999.txt 但是当我尝试一次更改所有这些内容时,我没有任何结果。 sed -i "/<\/foo:bar>/q" *.txt

1
更新命令未找到不起作用
所以我正在运行Debian Testing,并安装了该command-not-found软件包,因为我只是喜欢Ubuntu中的功能。所以我安装了它,当我重新启动终端时,它说我需要更新可用软件包的缓存。所以我做了。我尝试了以下命令: sudo update-command-not-found sudo /usr/sbin/command-not-found su and update-command-not-found su and /usr/sbin/update-command-not-found 但是它只是退出而没有执行任何操作。无输出。没什么。我尝试了一下,它说我需要再次更新缓存。

4
如何在Debian中自定义Gnome登录屏幕
在过去的一周中,我第一次使用Debian,并且设法通过gnome-tweak-tools配置了一些桌面选项,但是我一直在尝试自定义登录屏幕。 在研究过程中,我已经找到了很多有关在Ubuntu,Linux Mint或Arch Linux中执行此操作的信息,但是没有太多有关“ Debian方式”的信息。 我认为,Gnome在登录屏幕上使用了Debian-gdm用户的配置,但是我不知道如何实际更改它,我已经尝试像其他用户一样使用gnome-tweak-tools对其进行了更改,还尝试编辑“ /etc/gdm3/greeter.dconf-defaults”文件配置,在“ picture-uri”行中添加要作为背景的文件的路径。“ picture-options_'none'”似乎也不起作用。 自定义哪种方法最简单? 我正在使用gnome-shell版本3.14.4和debian版本8.6
11 debian  gnome 

1
如何知道何时NC完成文件传输
有没有办法知道netcat何时在机器之间传输文件? 当前命令: 机器2: nc -lp 5555 > test.txt 机器#1: nc MachineIP Port < test.txt 发生了转移,但是没有视觉指示表明转移已完成。
11 netcat 

3
打印以特定字符串开头的列
我有一个看起来像这样的文件: ID101 G T freq=.5 nonetype ANC=.1 addinfor ID102 A T freq=.3 ANC=.01 addinfor ID102 A T freq=.01 type=1 ALT=0.022 ANC=.02 addinfor 如您所见,每行的列数略有不同。我特别想要第1、2、3、4列和以ANC= 所需的输出: ID101 G T freq=.5 ANC=.1 ID102 A T freq=.3 ANC=.01 ID102 A T freq=.01 ANC=.02 我通常使用aawk命令来解析文件: awk 'BEGIN {OFS = "\t"} {print $1, $2, $3, $4}' …

2
超级用户可以写入只读文件吗?
我偶然发现了FreeBSD上令人惊讶的(对我而言)许可行为。假设我以非root用户身份运行。我创建一个文件,将其权限设置为只读,然后尝试写入该文件: $ touch f $ chmod 400 f $ ls -l f -r-------- 1 user wheel f $ echo a >> t t: Permission denied. 到现在为止还挺好。现在,我执行与root相同的操作,并将其写入文件: # ls -l f2 -r-------- 1 root wheel f2 # echo a >> f2 # echo $? 0 它是错误还是预期的行为?我可以安全地认为这可以在任何Unix&Linux上使用吗?

1
Centos什么时候用dnf替换yum?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 3年前关闭。 在fedora中已经有Dnf,这是Rhel / centos的测试平台,但是为什么centos 7仍在使用yum?
11 linux  centos  dnf 

4
是否有可能是非交互式的登录外壳?
在解释此流程图时 我发现在男子bash中: 当bash作为交互式登录shell或通过--login选项作为非交互式shell调用时,它首先从文件/ etc / profile中读取并执行命令(如果该文件存在)。 声明交互式登录外壳读取/etc/profile(不带--noprofile) 另外,非交互式外壳,选项为--loginread/etc/profile 这似乎留下了一些可能的登录外壳程序(其中以$0开头的-)可能是非交互的(运行脚本,可能像这样简单date)可能无法读取(源代码)/etc/profile。 确认或否认这个想法: 首先,我尝试使用su -l -,-以第一个字符开头的登录shell,但是我无法使其变为非交互式(并能够提供测试以测试它)。 叫类似 $ bash -c 'date' -bash 不会报告为登录外壳程序(即使第一个字符是-)。 尝试一下以揭示细节: $ bash -c 'echo "$0 $- ||$(shopt -p login_shell)||";date' -bash -bash hBc ||shopt -u login_shell|| Fri Aug 19 06:32:31 EDT 2016 该$0有-作为第一个字符,没有i在价值(交互)$-,但它未报即一个login_shell(在-u)。在这种情况下,/ etc / profile没有被读取,但是我不确定这是正确的测试。 在此答案中还提到了“罕见的非交互式登录外壳” ,但对这个问题不够具体。 这个家伙的结论是,/etc/profile总是读。 阅读摘要表:交互式和非交互式登录shell均已阅读 …
11 bash  login  startup  bashrc 

2
Shell脚本来源的文件扩展名的官方标准/约定
我想知道是否要为要而不是运行的shell脚本提供文件类型扩展名的约定。例如: 如果我想在子shell中运行此脚本。 ./script.sh 如果我想记住从当前shell运行此脚本。 . script.source 在第二个示例中,文件类型是否有约定(例如POSIX)?像.source还是.sourceme? 更新资料 这个问题不问任何意见。我明确指出,我想知道这种脚本是否存在标准化文件扩展名。与在类似问题上广为接受的问题(对于bash脚本使用.sh或.bash扩展名?)相比,该问题甚至更少基于观点。

1
如何在Arch上安装Skype
我到处都看过,但没有任何效果。我只是想安装Skype。 我试图查看它是否在存储库中,但是没有找到它。因此,我没有访问skype网站并找到了linux版本,但在解压缩tar文件后不知道如何安装它。 然后,我尝试查看AUR,并发现了Skype。但是当我尝试运行makepkg时,我得到了一个 ==> ERROR: PERMISSION was not found in the build directory and is not a URL. 我尝试寻找解决方案,但找不到任何东西。我发现的每个线程都要求获取该/etc/pacman.conf文件。我做了并确保我包含了multilib /etc/pacman.conf # # /etc/pacman.conf # # See the pacman.conf(5) manpage for option and repository directives # # GENERAL OPTIONS # [options] # The following paths are commented out with their default …

1
如何在不破坏/更改当前或外部文件系统的情况下挂载外部ZFS文件系统
我正在FreeBSD 10.2上使用ZFS作为根文件系统(zroot01)。我有一个要从另一个FreeBSD 10.2系统(zroot02)挂载ZFS文件系统的外部硬盘,我想暂时挂载它,只读,这样我可以从中取出一些文件,然后再断开连接。我既不希望外部ZFS系统破坏或替换我当前的文件系统,也不希望外部的数据被破坏/更改。 为了演示我要完成的任务,如果使用的是UFS,我将执行以下操作: mount -t ufs -o ro /dev/ada0s2 /mnt/my-fun-mountpoint ... /dev/ada0s2外部驱动器上的分区在哪里,/mnt/my-fun-mountpoint并且在/mnt现有操作系统的目录中。 所有搜索和手册页阅读都没有提供一种非常清晰的方法。我确实找到了什么答案最终导致接管了我当前的文件系统并损坏了它,无法修复-显然不是我要找的结果。我之前尝试过此操作,因此很遗憾,我不记得尝试了哪个命令。 您能否提供有关此操作的明确指导?预先感谢您的帮助。
11 mount  zfs 

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.