我正在尝试复制一批文件,scp但速度很慢。这是一个包含 10 个文件的示例:
$ time scp cap_* user@host:~/dir
cap_20151023T113018_704979707.png 100% 413KB 413.2KB/s 00:00
cap_20151023T113019_999990226.png 100% 413KB 412.6KB/s 00:00
cap_20151023T113020_649251955.png 100% 417KB 416.8KB/s 00:00
cap_20151023T113021_284028464.png 100% 417KB 416.8KB/s 00:00
cap_20151023T113021_927950468.png 100% 413KB 413.0KB/s 00:00
cap_20151023T113022_567641507.png 100% 413KB 413.1KB/s 00:00
cap_20151023T113023_203534753.png 100% 414KB 413.5KB/s 00:00
cap_20151023T113023_855350640.png 100% 412KB 411.7KB/s 00:00
cap_20151023T113024_496387641.png 100% 412KB 412.3KB/s 00:00
cap_20151023T113025_138012848.png 100% 414KB 413.8KB/s 00:00
cap_20151023T113025_778042791.png 100% 413KB 413.4KB/s 00:00
real 0m43.932s
user 0m0.074s
sys 0m0.030s
Run Code Online (Sandbox Code Playgroud)
奇怪的是,传输速率大约为 413KB/s,文件大小大约为 413KB,所以它真的应该每秒传输一个文件,但是每个文件大约需要 4.3 秒。
知道这种开销从何而来,有没有办法让它更快?
根据手册页,如果我运行此命令:
tmux source-file ~/.tmux.conf
Run Code Online (Sandbox Code Playgroud)
tmux 将执行 ~/.tmux.conf 中的命令。但是,例如,如果我将键绑定添加到 tmux.conf,然后将其删除,键绑定会保留,即使我提供了文件(这是合乎逻辑的,因为没有实际命令来执行该绑定)。
所以我想知道,在获取配置之前,是否有办法以某种方式清除 tmux 的内部状态(所有绑定、设置等),以便它从默认状态开始?
由于某种原因,在 WSL 中自动完成对我来说非常慢,它总是需要几秒钟的时间来显示结果(例如ll ~/Te<tab>,在 2-3 秒后打印ll ~/Temp)。
set -x我尝试使用and查找原因,strace但看不出问题是什么。
(参见set -x下面的输出)它停在该行+ [[ ~/Te == \$* ]],然后再次停在+ xspec=
使用 时strace,它会在clone线路处暂停,并且实际上显示在这些线路处花费了大约 1.4 秒。
知道可能是什么问题吗?
设置-x
+ _init_completion -s
+ local exclude= flag outx errx inx OPTIND=1
+ getopts n:e:o:i:s flag -s
+ case $flag in
+ split=false
+ exclude+==
+ getopts n:e:o:i:s flag -s
+ COMPREPLY=()
+ local 'redir=@(?([0-9])<|?([0-9&])>?(>)|>&)'
+ _get_comp_words_by_ref -n '=<>&' cur prev words …Run Code Online (Sandbox Code Playgroud) 我试图只使用 Duplicity 备份特定文件,所以我首先使用了这个命令:
duplicity /source-path --include "**/*/*.txt" --include "**/*/*.xml" /dest-path
Run Code Online (Sandbox Code Playgroud)
但是,这会导致以下错误:
Last selection expression:
Command-line include glob: **/*/*.txt
only specifies that files be included. Because the default is to
include all files, the expression is redundant. Exiting because this
probably isn't what you meant.
Run Code Online (Sandbox Code Playgroud)
然后我尝试排除所有内容,然后仅包含我需要的内容:
duplicity /source-path --exclude "**/*" --include "**/*/*.txt" --include "**/*/*.xml" /dest-path
Run Code Online (Sandbox Code Playgroud)
但我仍然遇到同样的错误。我将如何去做,基本上只备份源上的 .txt 和 .xml?
在 tmux 中按下前缀 Ctrl+B 后,如果我连续快速按下多个键,它们将被注册为 tmux 命令。例如,如果我按 Ctrl+B、向下、向下,它将向下移动两个窗格。
但是,这会干扰 Bash 历史记录,因此如果我按 Ctrl+B、向下键,然后再次按向上键调出最后键入的命令,它将返回到上一个窗格。所以我需要按 Ctrl+B,向下,等待一两秒,然后向上。
我怎样才能禁用这种行为?基本上我希望 tmux 在 Ctrl+B 之后注册按键,但不注册之后的按键。知道是否可以做到吗?
我有一个包含各种文件的目录:
main.js
SomeClass.js
View.jsx
Run Code Online (Sandbox Code Playgroud)
我想遍历所有 .jsx 文件。所以我写了这个 Bash 脚本:
for JSX_FILE in "$BUILD_DIR/*.jsx"; do
echo $JSX_FILE
echo "PATH: $JSX_FILE"
JSX_FILENAME=$(basename "$JSX_FILE")
echo "NAME: $JSX_FILENAME"
done
Run Code Online (Sandbox Code Playgroud)
但出于某种原因,会打印出这个:
/path/to/View.jsx
路径:/path/to/*.jsx
名称:*.jsx
所以我不明白为什么在一种情况下它具有$JSX_FILEvalue/path/to/View.jsx而在另一种情况下它具有 value /path/to/*.jsx。我怎样才能确保这个变量在循环中的任何地方都具有相同的值?
我试图了解为什么该find命令在一种特定情况下不删除文件。我有以下命令:
find C:\\path\\to\\Pictures\\pmcctv -name cap_*.jpg
-o -name cap_*.ogg -o -name cap_*.flv -o -name cap_*.mp4 -o -name cap_*.webm -mtime +7
Run Code Online (Sandbox Code Playgroud)
它返回我期望的文件:
C:\path\to/Pictures/pmcctv/cap_20160915T193251_620067800.jpg
C:\path\to/Pictures/pmcctv/cap_20160915T193322_742708800.jpg
C:\path\to/Pictures/pmcctv/cap_20160916T081046_394767500.jpg
C:\path\to/Pictures/pmcctv/cap_20160916T081125_615129600.jpg
C:\path\to/Pictures/pmcctv/cap_20160916T081129_503678200.jpg
C:\path\to/Pictures/pmcctv/cap_20160916T081255_842394600.jpg
C:\path\to/Pictures/pmcctv/cap_20160916T161008_693586800.jpg
C:\path\to/Pictures/pmcctv/cap_20160916T161012_749396800.jpg
C:\path\to/Pictures/pmcctv/cap_20160916T161043_774132200.jpg
C:\path\to/Pictures/pmcctv/cap_20160916T161150_497251900.jpg
C:\path\to/Pictures/pmcctv/cap_20160916T161154_437379600.jpg
C:\path\to/Pictures/pmcctv/cap_20160916T161337_350955300.jpg
C:\path\to/Pictures/pmcctv/cap_20160916T161341_452596000.jpg
C:\path\to/Pictures/pmcctv/cap_20160916T161412_870774000.jpg
C:\path\to/Pictures/pmcctv/cap_20160916T161443_969064400.jpg
C:\path\to/Pictures/pmcctv/cap_20160916T161554_468109900.jpg
C:\path\to/Pictures/pmcctv/cap_20160916T161558_378086000.jpg
C:\path\to/Pictures/pmcctv/cap_20160916T161916_668433100.jpg
Run Code Online (Sandbox Code Playgroud)
现在,如果我尝试使用 运行相同的命令-delete,则不会删除文件:
find C:\\path\\to\\Pictures\\pmcctv -name cap_*.jpg -o -name cap_*.ogg
-o -name cap_*.flv -o -name cap_*.mp4 -o -name cap_*.webm -mtime +7 -delete
Run Code Online (Sandbox Code Playgroud)
我也尝试过-exec rm,但它们也没有被删除:
find C:\\path\\to\\Pictures\\pmcctv -name cap_*.jpg -o -name cap_*.ogg
-o -name cap_*.flv -o -name cap_*.mp4 …Run Code Online (Sandbox Code Playgroud) tmux ×2
autocomplete ×1
backup ×1
bash ×1
batch-jobs ×1
cygwin ×1
delete ×1
duplicity ×1
find ×1
scp ×1
shell ×1
shell-script ×1
strace ×1
time ×1
wildcards ×1