Unix & Linux

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

6
等价于符号链接的别名?
我发现自己需要经常在我的主文件夹中跳转几个目录,并且厌倦了编写它们。我想要一种更快的方法,该方法传统上是一个符号链接。 但是,我不想用几十个符号链接弄乱我的主目录。我可以创建一些~/links/目录,并用符号链接将其弄乱,但这仍然很丑陋。此外,我可能想创建符号链接,这些符号链接每天都会更改(在.bashrc中定义),以跳转到现今目录。 有没有一种方法可以有效地别名化符号链接,从而创建一些将被识别为快速导航的链接,但是在我执行ls主目录时实际上不会出现,并且不会持续到当前会话之外?

2
如何使命令在zsh中显示为粗体?
我已经设置了bash shell,以便我键入的任何命令均以粗体显示,并且命令的输出以正常权重显示: \e[01m为此,我在PS1变量末尾添加了加粗功能,并使用trap DEBUG了将其关闭的功能: trap 'printf "\e[0m" "$_"' DEBUG 这样,将\e[0m在执行每个命令之前打印,并且在输出中得到正常的字体粗细。 我将如何获得相同的效果 zsh?
18 zsh  colors  prompt 

9
从文件中删除多余的标题行,但第一行除外
我有一个看起来像这个玩具示例的文件。我的实际文件有400万行,其中大约10行需要删除。 ID Data1 Data2 1 100 100 2 100 200 3 200 100 ID Data1 Data2 4 100 100 ID Data1 Data2 5 200 200 我想删除看起来像标题的行,但第一行除外。 最终文件: ID Data1 Data2 1 100 100 2 100 200 3 200 100 4 100 100 5 200 200 我怎样才能做到这一点?

4
tar及其关键字母:是bug还是功能?
我想问一下这两个命令的区别(即只有它们的选项顺序不同): tar -zxvf foo.tar.gz tar -zfxv foo.tar.gz 第一个运行得很好,但是第二个说: tar: You must specify one of the `-Acdtrux' or `--test-label' options Try `tar --help' or `tar --usage' for more information. 而焦油--test-label和-zfxv说: tar (child): xv: Cannot open: No such file or directory tar (child): Error is not recoverable: exiting now tar: Child returned …


6
执行时是否应将变量加引号?
Shell脚本编写的一般规则是,除非有明显的理由,否则应始终对变量加引号。要获得比您可能想知道的更多的详细信息,请查看以下精彩问答:忘记在bash / POSIX shell中引用变量的安全隐患。 但是,请考虑以下功能: run_this(){ $@ } 是否应该$@在那儿引用?我玩了一段时间,找不到引号不足引起问题的情况。另一方面,使用引号会使传递包含空格作为引号变量的命令时中断: #!/usr/bin/sh set -x run_this(){ $@ } run_that(){ "$@" } comm="ls -l" run_this "$comm" run_that "$comm" 运行上面的脚本将返回: $ a.sh + comm='ls -l' + run_this 'ls -l' + ls -l total 8 -rw-r--r-- 1 terdon users 0 Dec 22 12:58 da -rw-r--r-- 1 …


2
如何让sudo记住我的密码更长的时间?
如何使sudo密码记住更长时间,这样我就不必继续输入密码了?我不想一直sudo su以root用户身份执行命令。 我在Arch Linux上,尝试使用Google进行搜索,但是我看到了一些更改密码的示例,而这并不是我要的。
18 sudo  password 


2
NFS:mount.nfs:不支持协议
我想挂载Zyxel NSA310s NAS的NFS共享。在客户端计算机上调用的Showmount显示共享: $ showmount 10.0.0.100 -e Export list for 10.0.0.100: /i-data/7fd943bf/nfs/zyxelNFS * 客户端的/ etc / fstab包含以下行: 10.0.0.100:/i-data/7fd943bf/nfs/zyxelNFS /media/nasNFS nfs rw 0 0 但是安装不起作用: sudo mount /media/nasNFS/ -v mount.nfs: timeout set for Mon May 25 17:34:46 2015 mount.nfs: trying text-based options 'vers=4,addr=10.0.0.100,clientaddr=10.0.0.2' mount.nfs: mount(2): Protocol not supported mount.nfs: trying text-based …
18 mount  nfs  fstab 

1
如果进程尚未完成,systemd计时器单元是否跳过下一次运行?
我想使用systemd每5分钟运行一次命令。但是,存在执行任务有时可能需要5分钟以上的风险。到那时,systemd将启动命令的第二个实例,即我最终将运行2个进程吗? 如果第一个尚未完成,是否可以告诉systemd不要启动第二个进程?如果没有,有什么好的解决方法? 注意:我希望答案是“这是默认行为。只是没有记录在案。” 如果是这种情况,有人可以告诉我如何针对他们的文档提交错误吗? 注意:Cron有一个类似的问题,将在/unix//a/173928/11244中讨论。我正在寻找systemd等效项。
18 cron  systemd 

5
我无法启用或禁用用户服务:无法执行操作:没有此类文件或目录
我想在Eclipse中调试/测试使用Redis服务器的程序,因此我决定将服务器转换为用户服务以具有运行它的特权。让我困扰的是我可以启动或停止该服务,但无法启用/禁用它。 我得到的错误是: Failed to execute operation: No such file or directory 原始的/ usr / lib / systemd / system: [Unit] Description=Advanced key-value store After=network.target [Service] User=arkos ExecStart=/usr/bin/redis-server /etc/arkos/arkos-redis.conf ExecStop=/usr/bin/redis-cli shutdown [Install] WantedBy=multi-user.target 编辑并移至/ usr / lib / systemd / user: [Unit] Description=Advanced key-value store [Service] ExecStart=/usr/bin/redis-server /etc/arkos/arkos-redis.conf ExecStop=/usr/bin/redis-cli shutdown [Install] …

2
/ etc / networks文件的实际用法
/etc/networks文件的实际用途是什么?据我了解,可以在此文件中为网络命名。例如: root@fw-test:~# cat /etc/networks default 0.0.0.0 loopback 127.0.0.0 link-local 169.254.0.0 google-dns 8.8.4.4 root@fw-test:~# 但是,如果我尝试在ip实用程序中使用此网络名称作为示例,它将无法正常工作: root@fw-test:~# ip route add google-dns via 104.236.63.1 dev eth0 Error: an inet prefix is expected rather than "google-dns". root@fw-test:~# ip route add 8.8.4.4 via 104.236.64.1 dev eth0 root@fw-test:~# /etc/networks文件的实际用途是什么?

2
代理(nginx)显示网关错误
我有运行的服务(docker注册表),port 5000已经安装了nginx来将http请求从重定向8080到5000。如果我进行卷曲,localhost:5000则可以,但是当我进行卷曲时,localhost:8080会收到错误的网关错误。 Nginx配置文件: upstream docker-registry { server localhost:5000; } server { listen 8080; server_name registry.mydomain.com; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; client_max_body_size 0; chunked_transfer_encoding on; location / { proxy_pass http://docker-registry; } location /_ping { auth_basic off; proxy_pass http://docker-registry; } location /v1/_ping { auth_basic off; proxy_pass http://docker-registry; } } 在/var/log/nginx/error.log我有: [crit] …
18 proxy  nginx  gateway 

4
tar提取到具有相同基本名称的目录中?
我有一个压缩文件,例如myArchive123.tar.gz。它里面包含一个文件夹helloWorld 如果我解压缩它:tar -xf myArchive123.tar.gz我得到该helloWorld文件夹: ls myArchive123.tar.gz helloWorld 我希望输出与文件名减去.tar.gz扩展名相同。即: tar <magic paramaters> myArchive123.tar.gz ls myArchive123.tar.gz myArchive123 cd myArchive123 ls helloWorld 能做到吗? 我永远不知道档案里面有什么。可能是文件夹,可能是许多文件。 如果tar无法做到,我可以使用其他工具。 可以将更长的表格转换成脚本就可以了 编辑 同时,我入侵了一个似乎可以完成工作的脚本。(请参见下面我发布的答案)。如果可以改善,请随时发表评论/其他答案。最主要的是,它应可包装成单线包装,例如: extract <file>
18 tar 

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.