我有大约 77MB 的二进制文件:
nupic@nupic-virtualbox:~/VboxSharedFolder/experiments/sync/exp2$ ls -lah src/
total 77M
drwxrwx--- 1 root vboxsf 0 Jun 21 13:31 .
drwxrwx--- 1 root vboxsf 4.0K Jun 21 16:21 ..
-rwxrwx--- 1 root vboxsf 77M May 27 2014 binary.bin
Run Code Online (Sandbox Code Playgroud)
我一直在玩rsync
它的 delta 算法功能,看看它是如何工作的。想法是在二进制文件中进行细微的差异,并查看使用多种方法传输了多少数据。为了这些目的,我制作了非常简单的脚本:
#!/bin/bash
# rsync does not trnansfers delta over local by default
sed 's%\x00\x00\x00\x20\x66\x74\x79\x70\x69\x73\x6f\x6d\x00\x00\x02\x00%\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11%' src/binary.bin > dst/binary.bin
strace -f -e trace=read,write -o rw_rsync_local_default.log rsync -avcz --progress src/ dst/
# rsync -no-W should enables delta tranfer no matter if local or …
Run Code Online (Sandbox Code Playgroud) I understand that when I run exit
it terminates my current shell because exit
command run in the same shell. I also understand that when I run exit &
then original shell will not terminate because &
ensures that the command is run in sub-shell resulting that exit
will terminate this sub-shell and return back to original shell. But what I do not understand is why commands with and without &
looks exactly the same under pstree
, in this …
我们正在使用 LDAP 身份验证,可能还有其他我不太了解的事情,在我们公司中,因此以下问题可能是由此产生的。我发现chown
命令的奇怪行为,我不知道这是否正常。这是我的场景:
用户标记的 GID 是 SK001936,标记主目录的所有者组是 SK001778,如您所见,它们是不一样的。组 SK001778 被允许使用用户标记的主目录作为所有者(标记)的所有操作(rwx)具有:
[mark@machine ~]$ id
uid=48447(mark) gid=41795(SK001936) groups=40119(SUB_SK001936_PPS),41795(SK001936)
[mark@machine ~]$ ls -lad .
drwxrwxr-x 6 mark SK001778 4096 Oct 10 13:30 .
Run Code Online (Sandbox Code Playgroud)
用户michael和mark的GID都是SK001936:
[michael@machine mark]$ id
uid=40570(michael) gid=41795(SK001936) groups=40119(SUB_SK001936_PPS),41795(SK001936)
[mark@machine ~]$ id
uid=48447(mark) gid=41795(SK001936) groups=40119(SUB_SK001936_PPS),41795(SK001936)
Run Code Online (Sandbox Code Playgroud)
用户 michael 无法在用户标记的主目录中创建文件。问题在于 michael 不属于对 mark 的主目录具有完全(rwx)访问权限的组(SK001778):
[michael@machine mark]$ touch michael
touch: cannot touch `michael': Permission denied
Run Code Online (Sandbox Code Playgroud)
在正常情况下,即使他是文件的所有者,用户也不能发出 chown。然而,在这个例子中,主目录(标记)的所有者能够更改他自己的主目录的所有者组(从而允许属于该组的用户访问他的主目录):
[mark@machine ~]$ chown mark:SK001936 .
Run Code Online (Sandbox Code Playgroud)
现在有权访问标记主目录的组因此与 michael 的 GID 相同,因此现在允许 michael 在标记的主目录中创建/删除文件/文件夹:
[michael@machine mark]$ touch michael …
Run Code Online (Sandbox Code Playgroud) 我遇到过各种文章和 SO 问题,但我仍然对我每天使用的东西感到困惑,但从未意识到它有多么令人困惑。我正在 Linux 中试验(命名)管道。
第一次 尝试很简单:弄清楚管道缓冲区是如何工作的:
#1
mkfifo /tmp/mypipe
#2
echo "Hello World" >/tmp/mypipe
ctrl+c
#3
cat /tmp/mypipe
Run Code Online (Sandbox Code Playgroud)
观察:当我echo
在cat
读取数据之前杀死时,没有任何内容写入管道(cat
继续运行但没有从管道中读取任何内容)。我假设当您输入producent >named_pipe
并退出时producent
,匹配管道缓冲区大小的部分数据将被写入named_pipe
并保留在此处直到被读取consument
(现在我知道这不是它的工作方式)。所以我接下来做的是:
第二次
尝试是连接consument
到管道的另一端:
#1
mkfifo /tmp/mypipe
#2
echo "Hello World" >/tmp/mypipe
#3
cat /tmp/mypipe
Run Code Online (Sandbox Code Playgroud)
观察:
cat
命令显示"Hello World"
消息并且两个进程都结束。这里有趣的发现是在#2 步骤期间ps -elf
不显示echo
命令。似乎echo
正在等待有人从管道中读取数据,这就是为什么在我的第一次尝试中没有向管道打印任何内容的原因。
第三次 尝试是管道命令将“永远”运行并不断写入管道,看看会发生什么:
#1
mkfifo /tmp/mypipe
#2
yes >/tmp/mypipe
#3
cat /tmp/mypipe
Run Code Online (Sandbox Code Playgroud)
观察:这按预期工作并cat …
我正在使用sshfs
ssh 隧道。这样做的原因是因为我无法直接访问要挂载文件系统的机器。
此命令建立我的隧道:
ssh -o TCPKeepAlive=no -o ServerAliveInterval=15 -o ServerAliveCountMax=3 -L 2222:192.168.1.55:22 root@beast -Nf
Run Code Online (Sandbox Code Playgroud)
而这个挂载了我的远程文件系统
sudo sshfs -o idmap=user,allow_other,reconnect,TCPKeepAlive=no,ServerAliveInterval=15,ServerAliveCountMax=3 waktana@localhost:/home/wakatana /ubuntu -p 2222
Run Code Online (Sandbox Code Playgroud)
问题是我使用了不可靠的链接,并且这个连接经常挂起(我无法访问 /ubuntu,从 /ubuntu 打开文件的文本编辑器冻结等),尽管我已经尝试过这些选项。
我读过关于mosh 的文章,我想给它一个机会,但我不知道如何使用mosh
?
我从多个来源完成了这张表:
| UBUNTU VERSION | UBUNTU CODE NAME | UBUNTU RELEASE DATE | UBUNTU LTS | DEBIAN CODE NAME | DEBIAN VERSION |
|----------------|------------------|---------------------|------------|------------------|----------------|
| 16.04 | Xenial Xerus | APRIL | YES | stretch / sid | 9 |
| 15.10 | Wily Werewolf | OCTOBER | | jessie / sid | 8 |
| 15.04 | Vivid Vervet | APRIL | | jessie / sid | 8 |
| 14.10 | Utopic Unicorn | OCTOBER | | jessie …
Run Code Online (Sandbox Code Playgroud)