小编Zen*_*Zen的帖子

如何将目录rsync到具有不同名称的新目录?

我正在进行数据传输,旧文件系统深深依赖于现在位于不同路径上的目录。这是一个 git 目录,用于在线存储代码。我无权移动或重命名它。

所以我能做的是将这个目录 rsync 到同一个旧路径。但是目录名也变了。

有没有一种简单的方法可以将目录同步到具有不同名称的目标目录?

rsync

81
推荐指数
2
解决办法
8万
查看次数

如何查看awk数组中的所有内容?

在我的理解中,awk 数组类似于 python dict。

所以我写下下面的代码来探索它:

awk '{my_dict[$1] = $2} END { print my_dict}' zen
Run Code Online (Sandbox Code Playgroud)

我得到了: awk: can't read value of my_dict; it's an array name.

由于第一列不是数字,我如何读取数组的总内容或遍历它?

awk

63
推荐指数
3
解决办法
8万
查看次数

使用单引号将特殊字符包装在 shell 中时如何回显“单引号”?

我今天从http://www.tutorialspoint.com/unix/unix-quoting-mechanisms.htm阅读 shell 教程

其中提到:

如果要输出的字符串中出现单引号,则不应将整个字符串放在单引号内,而应在其之前使用反斜杠 (),如下所示:

echo 'It\'s Shell Programming'
Run Code Online (Sandbox Code Playgroud)

我在我的 centos 服务器上试过这个,它不起作用,>提示提示我输入更多。

我想知道,由于两个单引号将每个特殊字符转换为普通字符,其中包括转义符号\,但排除自身,'
我应该如何'在单引号短语中表示单引号?

shell quoting

35
推荐指数
1
解决办法
7万
查看次数

为什么`sort <(ls -l)` 有效,而`sort < (ls -l)` 失败?

今天我通过这篇文章学习了一些关于 fifo 的东西:命名管道简介,其中提到了cat <(ls -l).

我使用 做了一些实验sort < (ls -l),它弹出一个错误:

-bash: syntax error near unexpected token `('`
Run Code Online (Sandbox Code Playgroud)

然后我发现我在命令中错误添加了一个额外的空格。

但是,为什么这个额外的命令会导致这个失败呢?为什么重定向符号必须靠近(?

bash process-substitution

32
推荐指数
2
解决办法
2056
查看次数

是否可以在 bash 中定义命令?

例如,我可以设置:

gb = cd /media/Dan/evolution
Run Code Online (Sandbox Code Playgroud)

...这样每次我gb在 bash 中执行时,我都可以cd到那个特定的目录?

我在网上找到了一些东西:alias命令。但是好像做不到上面的工作。

有可能做到吗?如何?

command-line bash cd-command

26
推荐指数
3
解决办法
2万
查看次数

如何就地压缩文件?

我有一台硬盘使用率为 90% 的机器。我想将其 500 多个日志文件压缩成一个较小的新文件。但是,硬盘太小,无法同时保存原始文件和压缩文件。

所以我需要的是将所有的日志文件一个一个地压缩成一个新的文件,压缩后删除每个原始文件。

我怎样才能在 Linux 中做到这一点?

command-line tar compression gzip disk-usage

26
推荐指数
2
解决办法
4万
查看次数

find 命令中的 newermt 是什么意思?

我知道我可以使用此选项在特定修改时间之间查找文件。但我很好奇这是什么意思?

我曾经man find | grep newermt试图找到一些东西。但我没有直接的内容。似乎-newer filemtime东西可能有关系。但我不确定..

那么,-newermt实际上是什么意思?

command-line find

24
推荐指数
2
解决办法
5万
查看次数

除了“&gt;&gt;”之外,还有另一种简单的方法可以将行附加到文件末尾吗?

最近我正在将短句回显到tree_hole文件中。

我是echo 'something' >> tree_hole用来做这项工作的。

但是我总是担心如果我输入错误>而不是>>,因为我经常这样做。

所以我在 bashrc 中创建了一个我自己的全局 bash 函数:

function th { echo "$1" >> /Users/zen1/zen/pythonstudy/tree_hole; }
export -f th
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有另一种简单的方法可以将行附加到文件的末尾。因为我可能需要在其他场合经常使用它。

有没有?

command-line shell bash io-redirection

22
推荐指数
2
解决办法
2388
查看次数

git中的`Commit hash`、`Parent Hash`和`Tree hash`有什么区别?

今天我通过在线阅读这个文档来学习一些基本的 git 知识:

http://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-Hi

在那一章,我开始学习使用我喜欢的git log --pretty=format:" "方式显示日志信息。

但是有些方法,我在格式表中看到了两个类似的选项,%Hfor Commit Hash%PforParent Hash%Tfor Tree Hash

我在命令行上对它们进行了试验,结果它们都是具有不同值的相同长度的哈希值。

我用谷歌搜索和计算器溢出,到目前为止没有明显的提示。

我对此有想法Hash value,它是该 git commit 的校验和。

但是做什么Parent HashTree hash做什么?

  • PS:啊,我现在有了一些想法,Parent Hash意思是分支直接起源的哈希值吗?

git

20
推荐指数
3
解决办法
2万
查看次数

`Delete` 键在 vim 插入模式下不起作用,用于删除以前键入的内容

我在 iterm2 中打开了 vim。首先,我在插入模式下输入了一些东西,比如

Hello
Run Code Online (Sandbox Code Playgroud)

在这个阶段,如果我没有退出插入模式,deletekey 可以工作并且可以根据需要删除整个单词。

如果我退出插入模式,并再次打开插入模式,这Hello不能通过delete键删除。但是可以删除新输入的内容。

我重命名了我的 .vimrc,问题仍然存在。

在 shell 命令行中,我的delete密钥运行良好。

我通过远程服务器做了一些测试iterm,没有遇到同样的问题。

这个问题的原因可能是什么?如何解决?


PS:因为我用的是macbook,所以deletekey是对应 backspacePC的。

vim

19
推荐指数
3
解决办法
2万
查看次数