我正在尝试提取 Nvidia cuda 库安装程序的不同部分。我正在使用以下命令:
mkdir ~/Downloads/nvidia_installers
./cuda_6.5.14_linux_64.run -extract=~/Downloads/nvidia_installers
Run Code Online (Sandbox Code Playgroud)
我收到以下消息:
ERROR: extract: path must be absolute.
Run Code Online (Sandbox Code Playgroud)
当我用我家的字面地址输入命令时,它工作得很好。
./cuda_6.5.14_linux_64.run -extract=/home/likewise-open/XXX/username/Downloads/nvidia_installers
Run Code Online (Sandbox Code Playgroud)
我很困惑不应该 ~ 与 /home/likewise-open/XXX/username 相同吗?
测试:
./cuda_6.5.14_linux_64.run -extract=$HOME/Downloads/nvidia_installers
Run Code Online (Sandbox Code Playgroud)
它有效,但我不知道为什么它不允许 ~
我很困惑,试图将一些文件从一台 PC 复制到另一台。我已经弄清楚了,但语法仍然让我感到困惑。这有效:
scp ~/Desktop/Volenteer.png jay@server.ip:~j0h/b
Run Code Online (Sandbox Code Playgroud)
放在Volenteer.png文件夹中/home/j0h/b。但是,这不起作用:
scp ~Desktop/Volenteer.png jay@server.ip:~j0h/b
Run Code Online (Sandbox Code Playgroud)
这也失败,给出退出状态 1 找不到文件:
scp ~/Desktop/Volenteer.png jay@server.ip:~/j0h/b
Run Code Online (Sandbox Code Playgroud)
就像这样:
scp ~Desktop/Volenteer.png jay@server.ip:~j0h/b
Run Code Online (Sandbox Code Playgroud)
很明显,~和之间有一些区别~/
区别在于存在/
$~/
bash: /home/j0h/: Is a directory
$ ~
bash: /home/j0h: Is a directory
Run Code Online (Sandbox Code Playgroud)
那么为什么在 scp 中,~解析为~/?这是一个猜测,我无法验证这就是正在发生的事情。但它似乎不一致,因此令人困惑。这是scp中的错误吗?或者有什么关于波浪号的东西我失踪了?
当我在终端窗口中使用 cp 或 move 命令时,我目前在这样的某个文件夹中使用 bash。
NES@server:~/Desktop/dir1$
Run Code Online (Sandbox Code Playgroud)
现在我想将一个文件从这里复制~/anotherdir/dir2到 bash (dir1) 中当前选择的文件夹中,我将使用该命令
cp ~/anotherdir/dir2/file ~/Desktop/dir1
Run Code Online (Sandbox Code Playgroud)
是否存在指向当前所选目录的快捷方式字符串?所以在这个例子中我不必提供目标目录的完整路径,但命令知道它应该使用 bash 中当前选择的目录?即 ~ 代表主目录?