相关疑难解决方法(0)

波浪号,`~` 被认为是相对路径吗?

我正在尝试提取 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)

它有效,但我不知道为什么它不允许 ~

command-line paths

37
推荐指数
2
解决办法
1万
查看次数

如何使用波浪号作为我的主目录的快捷方式?

我很困惑,试图将一些文件从一台 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中的错误吗?或者有什么关于波浪号的东西我失踪了?

ssh bash scp

31
推荐指数
2
解决办法
1万
查看次数

当前目录的命令行快捷方式类似于 ~ 用于主目录?

当我在终端窗口中使用 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 中当前选择的目录?即 ~ 代表主目录?

command-line bash shortcuts

27
推荐指数
2
解决办法
7万
查看次数

标签 统计

bash ×2

command-line ×2

paths ×1

scp ×1

shortcuts ×1

ssh ×1