Unix & Linux

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


2
用ctrl-c中断rsync,我应该使用`--partial`或`--append`吗?
我想打断rsync一下ctrl-c(例如,在传输了一半文件之后)并继续执行,而不必重新发送已经传输的数据。 我发现的stackexchange / google信息似乎有冲突。我发现有人说使用--partial,有人说使用--append。对我来说,听起来他们俩都可以。 如果我想用ctrl-c中断rsync,应该使用--partial还是--append? 如果两者都可行,那么何时使用哪个优于另一个更好?


4
如何使脚本采用多个参数?
这是一个非常简单的脚本 #!/usr/local/bin/bash set -e if [ "$#" -lt 1 ] then echo "Please insert at least one argument" exit else echo -e "\c" fi if [ -h "$1" ] then echo "$1 is a symbolic link" else echo "$1 in not a symbolic link" fi 〜 我的问题是:如何更改脚本以识别多个参数?我有4个文件,我希望脚本返回 $1 is a …

2
设备eth0似乎不存在,从而延迟了初始化
我已经克隆了一个软呢帽,现在尝试配置网络接口。每次添加新的NIC时,它都以编号eth3(而不是eth0)开头。我曾尝试删除和修改70-persistent-net.rules以及,network-scripts/eth0但似乎没有任何方法可以解决此问题。这是我机器的一些输出 [root@abc ~]# ls /sys/class/net eth3 eth4 lo pan0 [root@abc ~]# cat /etc/udev/rules.d/70-persistent-net.rules # This file was automatically generated by the /lib/udev/write_net_rules # program run by the persistent-net-generator.rules rules file. # # You can modify it, as long as you keep each rule on a single line. # PCI device …

2
更改流程的父流程?
是否可以更改流程的父流程?如果是,怎么办? 例如, 如何screen管理将会话screen及其内部运行的进程附加到不同的Shell进程?上级流程有变化吗? 我似乎听说过其他正在运行程序的Shell进程更改方式,但我不记得了。程序的父进程也有变化吗? 我认为disown某个流程会更改该流程的父流程,只是因为名称disown暗示了这一点。但是我发现这是不正确的。 Emacs客户端可以在另一个终端选项卡上连接到emacs服务器。上级流程有变化吗?

5
一次拖尾多个文件时,在每行开头显示文件名吗?
当一次拖尾多个文件时,如下图所示,有什么办法在每行的开头显示文件名吗? tail -f one.log two.log 电流输出 ==> one.log <== contents of one.log here... contents of one.log here... ==> two.log <== contents of one.log here... contents of two.log here.. 寻找类似的东西 one.log: contents of one.log here... one.log: contents of one.log here... two.log: contents of two.log here... two.log: contents of two.log here...
14 tail 

2
使用bash的`/ dev / udp`,我怎么知道端口是否打开?
我没有访问netcat或nmap因此我试图使用bash和/dev/udp/特殊文件到测试端口。 我可以做类似的事情: echo "" > /dev/udp/example.com/8000 但是在使用UDP时$?总是如此0。我假设这是因为echo ""命令的返回值正确吗? 我基本上是在尝试复制nmap和能够做的事情netcat: nmap -sU -p 8000 example.com | grep open >/dev/null && echo 'open' nc -z -u example.com 8000 && echo 'open' 我将如何处理/dev/udp?

1
与vim一起使用inotifywait
我有一个简单的脚本,可以监视文件的更改并将其与远程副本同步: #!/bin/bash while inotifywait -e close_write somefile do rsync somefile user@host.domain:./somefile done 它在nano上工作正常,但在vim上工作失败。当我使用nano时,它输出: somefile CLOSE_WRITE,CLOSE 并开始下一个循环,等待其他版本。 当我使用vim时,没有输出,脚本仅以退出代码0关闭。 我做了一些研究,发现close_write是与vim一起使用initofywait的正确参数(首先我想使用Modify事件),但是由于某种原因,它对我来说失败了。
14 files  vim  rsync  inotify 

2
删除早于特定文件的文件
我需要从文件夹中删除所有早于特定文件的文件。 在CentOS 7上运行bash。 我对此有一个解决方案,但我认为应该有一种更优雅的方法: reference_file=/my/reference/file get_modify_time() { stat $1 | grep -Po "Modify: \K[0-9- :]*" } pit=$(get_modify_time $reference_file) for f in /folder/0000* ; do [[ "$pit" > "$(get_modify_time $f)" ]] && rm $f ; done

3
我的NFS服务器使用哪个版本的NFS?
我正在机器上安装NFS文件系统。如何确定服务器使用的NFS协议版本?我无权访问NFS服务器计算机,但我的客户机上确实具有root用户。 我可以在客户端计算机上运行任何命令来标识服务器正在使用哪个版本的NFS协议,或者它支持哪些版本? 我在/var/log/messages或内核调试输出(dmesg)中找不到任何有用的信息。 我已经尝试过运行nfsstat,但不确定是否能给我任何有用的信息。但是,当我nfsstat -s请求有关服务器的信息时,看不到任何有用的信息: # nfsstat -s Server rpc stats: calls badcalls badfmt badauth badclnt 0 0 0 0 0 当我运行nfsstat -c以请求有关客户端的信息时,我确实看到了有关的一些信息Client nfs v3,但是我不确定如何解释这一点。这是否告诉我有关客户端计算机和NFS服务器之间使用的协议的任何信息?这是否表示我当前正在使用NFS协议的v3?它是否告诉我有关服务器支持的NFS协议版本(例如NFS v4)的任何信息?

3
GPG代理不会从密钥环中删除我的SSH密钥
我有一个非常麻烦的问题。我无法gpg-agent从其密钥环中删除我的SSH密钥,甚至在多次重启后它仍然存在。 $ ssh-add -D SSH_AGENT_FAILURE Failed to remove all identities. 即使我告诉它删除身份: $ ssh-add -d /path/to/private/key Identity removed: /path/to/private/key 然后我看 $ ssh-add -l 4096 1b:cb:52:a6:e5:13:e6:78:14:12:92:8f:34:8f:92:88 /path/to/private/key 它仍然在那里。 这在哪里缓存?由于某种原因,它似乎正在写入磁盘,这对于SSH代理来说是一件令人恐惧的事情。我正在运行以下内容开始gpg-agent: gpg-agent --enable-ssh-support --daemon 其他所有东西都可以正常工作,但是它将这个文件缓存在某个地方,我需要删除它。
14 ssh  gpg-agent 


5
列表中的grep文件
我正在尝试对几百个文件的列表运行grep: $ head -n 3 <(cat files.txt) admin.php ajax/accept.php ajax/add_note.php 但是,即使我在文件中找到我知道的字符串时,它们也不会搜索文件: $ grep -i 'foo' <(cat files.txt) $ grep -i 'foo' admin.php The foo was found 我对从文件-f读取模式的标志很熟悉。但是如何读取输入文件? 我曾考虑过将文件复制到cp似乎支持该<(cat files.txt)格式的临时目录的可怕方法,然后从那里复制文件。雪莉有更好的方法。

1
HISTTIMEFORMAT语法
有很多bash指南,包括增加线路,如HISTTIMEFORMAT='%d/%m/%y %T '或HISTTIMEFORMAT="%F %T "对~/.bashrc或/etc/bash.bashrc。 最后报价前总是有一个空格。例如,永远不会HISTTIMEFORMAT='%d/%m/%y %T'。 为什么是这样?

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.