Unix & Linux

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

1
nsswitch.conf与host.conf
假设该/etc/nsswitch.conf文件包含 hosts: files dns 和/etc/host.conf文件有 order bind,hosts 那么系统将以哪种顺序使用/etc/hostsDNS查找来解析主机名?换句话说,两个配置文件中哪个优先?

2
刷新bash选项卡完成
我有一个用于自动完成ssh主机的脚本。但是,如果更改我~/.ssh/config的自动完成功能,则不会自动更新。这并不令我惊讶。在新的外壳中,新条目当然会被使用。 如何在bash中手动触发刷新完成?

1
在mdadm中使用UUID
我正在使用GPT作为分区方案。我检查分区的UUID: # ls -l /dev/disk/by-partuuid/ total 0 lrwxrwxrwx 1 root root 10 Oct 18 22:39 0793009a-d460-4f3d-83f6-8103f8ba24e2 -> ../../sdb3 lrwxrwxrwx 1 root root 10 Oct 18 22:39 13f83c47-ad62-4932-8d52-e93626166e7f -> ../../sdc3 lrwxrwxrwx 1 root root 10 Oct 18 22:39 1b247b1f-0b7b-419e-bc3b-0f90cbadb87c -> ../../sdc2 lrwxrwxrwx 1 root root 10 Oct 18 22:39 224d5933-7a23-4833-b785-79a67c9b9306 -> …
10 mdadm  gpt 

4
从并行产生的其他三个流中创建一个输出流
我有三种格式不同的数据。对于每种数据类型,都有一个Python脚本将其转换为统一的格式。 该Python脚本运行缓慢且受CPU限制(连接到多核计算机上的单个核),因此我想运行该脚本的三个实例(每种数据类型一个),并将其输出组合到中sort。基本上,等效于: { ./handle_1.py; ./handle_2.py; ./handle_3.py } | sort -n 但是,三个脚本并行运行。 我发现了一个问题,其中使用GNU split在处理该流的脚本的n个实例之间循环一些stdout流。 在拆分手册页中: -n, --number=CHUNKS generate CHUNKS output files. See below CHUNKS may be: N split into N files based on size of input K/N output Kth of N to stdout l/N split into N files without splitting lines …

2
同时使用epel和rpmforge是否稳定?
因此,在全新安装Scientific Linux 6.3 Desktop之后,我: yum install rpmforge-release && yum update 和 yum install epel-release.noarch 然后: yum install wine gparted cups-pdf && echo 'includepkgs=nss-mdns wine* gparted cups-pdf' >> /etc/yum.repos.d/epel.repo 好!之后,我: vi /etc/yum.repos.d/epel.repo includepkgs=nss-mdns wine* gparted cups-pdf 因此,这就是我安装新鲜葡萄酒(+ cups-pdf)和gparted的方式。 问:这是一件稳定的事情吗?我的意思是将来会引起问题吗?(安装了一些epel软件包,但是在安装上述几个软件包以提高稳定性后我使用了白名单-因为我只需要epel即可完成gparted / wine / cups-pdf的一些工作)。这些步骤将来会引起问题吗?

4
计算变量,并将其输出到另一个变量
我知道的唯一计算器是bc。我想添加1到一个变量,然后输出到另一个变量。 我nextnum从计数文件中的字符串得到了变量: nextnum=`grep -o stringtocount file.tpl.php | wc -w` 可以说nextnum值为1。当添加时1,它将变为2。要计算,我运行: rownum=`$nextnum+1 | bc` 但出现错误: 1+1: command not found 我只是在计算部分失败。我试过更改反引号,但仍然无法正常工作。我不知道如何计算变量并将其输出到另一个变量。

3
转换制表符分隔的文件以使用换行符
input.txt(大约3万行) RT|367079254|bn|ERTS01065811.1| 38 1 503 RT|367079251|bn|ERTS01065814.1| 56 3 502 RT|367079248|bn|ERTS01065817.1| 52 2 502 output.txt RT|367079254|bn|ERTS01065811.1| 38 1 503 RT|367079251|bn|ERTS01065814.1| 56 3 502 RT|367079248|bn|ERTS01065817.1| 52 2 502

4
bash脚本中的逻辑AND
我的ifbash脚本中有一个必须检查2个文件是否存在的文件,如果不存在,则应回显匹配。 代码我有: if [[ ! -f /etc/benchmarking/code ]] && [[ ! -f /etc/benchmarking/code.class ]]; then echo "match" fi 但这出于某种原因似乎不起作用。 我有110%的肯定这两个文件不存在。我没有任何错误,只是没有输入if。 我是bash脚本的新手,所以不确定是否可能出问题。

5
在Centos中的XFCE中禁用自动屏幕锁定
我有带有XFCE 4.4的Centos 5.8通用安装。几乎所有默认值。照原样,在一定的空闲时间后,屏幕将锁定(变黑,需要输入密码才能继续)。 如何禁用自动屏幕锁定? 我四处搜索并阅读了有关使用设置管理器修改电源管理器或屏幕保护程序设置的建议,但这些设置管理器/面板/图标均未安装在我的桌面上。 更新: 它似乎gnome-screensaver正在自动启动。当然,我可以从系统中删除该程序,但是我更希望了解正在发生的事情,并使用更普通的配置方法来防止其自动启动,同时保留根据需要切换回该程序的选项。

3
以root用户身份以我的用户身份启动Vim
我在中有自定义的Vim文件,在中有~/.vim设置~/.vimrc。但是,有时我必须在其中编辑一些文件/etc。 如果我这样启动Vim: $ sudo vim /etc/rc.conf 我丢失了配置,因为Vim使用了默认配置。因此:如何在没有丢失用户设置(位于我的主目录中)的情况下,以root权限运行Vim以编辑文件? 我努力了: $ su username -c "vim /usr/lib/python2.7/setuptools/dist.py" 但是巴什给我Permission denied。但是,上述命令例如适用于:/etc/acpi/handler.sh。这是为什么? 注意:用户名不是root。

2
从文件名中删除前缀
我有一堆文件,如下所示: 04602635_b0294.DAT20120807164534 04602637_b0297.DAT20120807164713 04602638_b0296.DAT20120807164637 04602639_b0299.DAT20120807164819 04602640_b0298.DAT20120807164748 04602641_b0300.DAT20120807164849 04602650_b0301.DAT20120807164921 04602652_b0302.DAT20120807164956 我需要重命名它们以排除前缀。它需要看起来像这样。 b0294.DAT20120807164534 b0297.DAT20120807164713 b0296.DAT20120807164637 b0299.DAT20120807164819 b0298.DAT20120807164748 b0300.DAT20120807164849 b0301.DAT20120807164921 b0302.DAT20120807164956 编辑 我忘了补充一点,我正在使用Solaris。

2
用零清除未使用的空间(btrfs)
如何用零清除未使用的空间?(我正在要求用于btrfs文件系统的工具) 我在寻找比...更聪明的东西 cat /dev/zero > /mnt/X/big_zero ; sync; rm /mnt/X/big_zero 就像FSArchiver一样,它正在寻找“已用空间”,而忽略了未使用但相对的站点。 目的:我想压缩分区映像,因此强烈建议使用零填充未使用的空间。 顺便说一句。对于ext3,ext4:用零清除未使用的空间(ext3,ext4)。在这里我要求btrfs 澄清“更智能的算法”:正如我所看到的那样,“更智能的算法”会引起混乱,在这里我最终决定添加一些内容。亲爱的读者,请考虑将文件系统视为数据结构。为简化起见,让我们想象一下自平衡的红黑树保存图,它用作关联键->值数组,其中值是整数。目标是清除所有带有零的负值。“非智能”算法将对其进行迭代,并将key:value对添加到新映射(最终将负数更改为零)。智能算法将仅检测存储负值的位置并就地清除它们。

7
一次加密多个文件
我正在编写一个脚本,该脚本创建项目档案,然后创建它们的7z档案,以使我可以更轻松地保存特定版本并保留加密的备份。 生成存档并进入加密阶段后,gpg如果可能的话,我想通过一次调用来加密文件,以便仅让用户输入一次密码。否则,我们要么不得不将用户的密码短语缓存在内存中(我真的不想这么做),要么让他们输入并确认每个已归档项目的密码短语(这更糟)。 有没有一种方法可以传递多个文件名以gpg一次性加密所有文件名? 如果我尝试这样做: $ gpg --cipher-algo AES256 --compression-algo BZIP2 -c project1.7z project2.7z ...我在shell中看到以下错误: usage: gpg [options] --symmetric [filename] 有什么方法可以做我想要完成的事情?
10 gpg 

4
如何重新启动网络接口?
如何重新启动网络接口?我的虚拟机在家庭和办公室之间切换时无法正确更新其IP地址。vm运行Ubuntu服务器,并使用桥接网络适配器。
10 networking  ip 

3
使用ln创建丢失的目录
因此,我正在编写一个小型程序包管理器,遇到的一个问题是建立文件的符号链接。 它将软件包安装到/usr/pkg/name-version,然后读取文件以确定要建立的符号链接。我ln用来建立链接,尝试安装Linux API标头时遇到了问题。我需要链接头文件本身,而不是链接包含它们的文件夹(因此,如果2个软件包需要将文件放在include的相同子目录中,则可以不将一个软件包搞乱)。 我解决了那个问题,但是 ln只是错误地指出了路径是否不完整,这很烦人,因为在安装软件包之前,这些目录不应该存在。 是否有一个标记ln会创建丢失的任何目录,还是我不得不使用一些复杂的bash脚本?

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.