标签: path

为什么“scp 10.0.0.11:/home/someuser/.*”也开始从/home复制?

我正在第一次将用户文件从旧系统移动到新系统。我的目标是使用 SCP,因为它的语法简单scp -r source destination。我首先尝试使用以下命令来复制文件:

scp -r root@10.0.0.11:/home/someuser/* .
Run Code Online (Sandbox Code Playgroud)

回想起来,根据过去的经验,这复制了所有没有前导.. 为了解决这个问题,我这样做了:

scp -r root@10.0.0.11:/home/someuser/.* .
Run Code Online (Sandbox Code Playgroud)

表示以 . 开头的任何内容的通配符.。显然(为什么我问这个问题)它没有达到我想要的效果。观察到的结果是,它将解释为.在路径中向上移动一个级别,并且它开始复制/home/*,并且(我认为)将文件放置在我的工作目录之上,而不是工作目录本身。

我对第二个命令执行的解释是否正确?我认为自从我进入以来就很容易修复~/backup,所以升级了一级~。我只是rm -rf ~/someuser在中断命令之前复制的每个用户名。这些someuser目录应该位于~/backup

从那以后,我学会了如何通过仅指定目录而不是目录中包含的文件来复制我想要的文件。

scp directory path pwd

15
推荐指数
1
解决办法
2704
查看次数

在没有“which”的路径中查找文件?

我(以某种方式)能够运行脚本:

$ assemble.sh file
... [output]
Run Code Online (Sandbox Code Playgroud)

但是which找不到:

$ which assemble.sh
which: no assemble.sh in (/s/std/bin:/usr/afsws/bin:/opt/SUNWspro/bin:/usr/ccs/bin:/usr/ucb:/bin:/usr/bin:/usr/stat/bin:/usr/X11R6/bin:.
Run Code Online (Sandbox Code Playgroud)
  1. 这怎么可能?
  2. 我怎样才能找到这个文件在哪里?

我正在使用 bash。

shell bash path

14
推荐指数
2
解决办法
9331
查看次数

ldd 找不到路径,如何添加

我知道这个问题不是很新,但似乎我无法解决我自己的问题。

ldd 生成以下输出

u123@PC-Ubuntu:~$ ldd /home/u123/Programme/TestPr/Debug/TestPr
    linux-vdso.so.1 =>  (0x00007ffcb6d99000)
    libcsfml-window.so.2.2 => not found
    libcsfml-graphics.so.2.2 => not found
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fcebb2ed000)
    /lib64/ld-linux-x86-64.so.2 (0x0000560c48984000)
Run Code Online (Sandbox Code Playgroud)

哪个是告诉ld正确路径的正确方法?

linux debugging path linker ld

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

"echo $PATH" 和 /etc/paths 有什么区别?

当我回声$ PATH我得到这个:Users/myusername/.node_modules_global/bin:/Users/mac/.node_modules_global/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/mac/Library/Android/sdk/platform-tools:/platform-tools

我想从中删除一些路径,但是当我使用命令打开文件时vim /etc/paths,我得到以下结果:

/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
Run Code Online (Sandbox Code Playgroud)

文件 /etc/paths 与 $PATH 变量不同吗?

osx path

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

$HOME/bin 目录不在 $PATH 上

在我~/.profile的最后一个块中,它应该bin/ directory像这样加载我的个人:

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi
Run Code Online (Sandbox Code Playgroud)

但它似乎没有加载:

echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用?(我的外壳是 bash。)

为跳跳虎编辑

echo $0 => bash

echo $HOME => /home/student

whoami => student

less /etc/*-release => 
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
Run Code Online (Sandbox Code Playgroud)

bash debian path shell-script profile

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

如何将 LD_LIBRARY_PATH 导出到所有用户和系统服务

我想导出LD_LIBRARY_PATH到系统服务和所有用户。系统服务在登录前运行,因此.bashrc不适用。

如何实现这一目标?

libraries path environment-variables dynamic-loading

13
推荐指数
1
解决办法
4万
查看次数

Mac OS 上的 PATH 是什么?

什么是PATH在一个Mac OS?我已经用它来安装全局命令行工具,但我找到的唯一文档是这样做的教程,没有真正解释幕后发生的事情。我也没有在Wikipedia上找到相关页面。

那么和**的目的是PATH什么,有什么区别?/etc/paths~/.bash_profile

例如,在我的paths文件中,我看到:

/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
Run Code Online (Sandbox Code Playgroud)

但在我的~/.bash_profile,我看到了这一点:

# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH
Run Code Online (Sandbox Code Playgroud)

这只是对paths文件的特定于用户的添加吗?里面有什么东西paths,比如/usr/bin

osx path binary

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

如何更正 pip 的路径?

我试图让 pip 指向不同的安装而不是默认安装。它当前指向/usr/bin/pip,但我希望它指向/usr/local/bin/pip。我相信我的路径设置正确,其他一切都指向正确的位置。

解决此问题的最佳方法是什么?

# echo $PATH
/usr/local/jdk/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin

# which python
/usr/local/bin/python

# which easy_install
/usr/local/bin/easy_install

# which pip
/usr/bin/pip
Run Code Online (Sandbox Code Playgroud)

path python pip

13
推荐指数
2
解决办法
12万
查看次数

LD_LIBRARY_PATH 的默认值是多少?

在我的情况下,似乎LD_LIBRARY_PATH设置为空字符串。但是所有标准系统工具仍然可以正常工作,所以我猜动态链接器会检查这种情况并LD_LIBRARY_PATH在这种情况下使用一些默认值。

这个默认值是多少?我想它至少包括/usr/lib但还有什么?有没有什么好的系统方法来确定动态链接器将搜索的标准位置?

这个问题与动态链接器将搜索的路径略有不同。 有一个默认值意味着它会使用LD_LIBRARY_PATH如果给定的值,或者如果没有给定,它将使用默认值 - 这意味着它不会使用如果LD_LIBRARY_PATH提供了默认值。

defaults libraries path ld

13
推荐指数
1
解决办法
4万
查看次数

名为“test”的可执行文件在 $PATH 中,但不会运行

我在 $HOME/bin 中有一个文件(在你问之前,是的,它在我的路径中)test我已经确认当我使用文件的完整路径运行它时可以正常执行。但是,当我不以这种方式运行时,我会遇到一个非常奇怪的问题。当我test在终端中运行时,它什么也不做并立即返回。我知道这不是查找文件的问题,原因如下:

  1. 没有错误信息。通常,如果找不到文件或无法执行文件,则会打印出一条消息。

  2. 运行which test仍然返回正确的文件路径。

  3. 可能是最奇怪的 - 脚本在运行时运行良好strace。我试着用strace看看我是否能弄清楚发生了什么,但是当我用 运行它时strace,它按预期工作,有 0 个问题。

bash path executable shell-script strace

13
推荐指数
1
解决办法
1937
查看次数