当我显示pwd命令手册时,它说--physical支持长选项
$ man pwd
PWD(1) User Commands PWD(1)
NAME
pwd - print name of current/working directory
SYNOPSIS
pwd [OPTION]...
DESCRIPTION
Print the full filename of the current working directory.
-L, --logical
use PWD from environment, even if it contains symlinks
-P, --physical
avoid all symlinks
Run Code Online (Sandbox Code Playgroud)
但是,当我输入以下内容时它失败了
$ pwd --physical
-bash: pwd: --: invalid option
pwd: usage: pwd [-LP]
Run Code Online (Sandbox Code Playgroud)
为什么多头期权对我不起作用?
我正在使用 RHEL 6.4。没有为 pwd 配置别名。看起来是标准密码:
$ which pwd
/bin/pwd
Run Code Online (Sandbox Code Playgroud) 的词源是$PWD什么?是首字母缩略词吗?
我知道有一个pwd打印工作目录的命令,但在我看来,$CWD为当前工作目录命名变量会更有意义,因为 shell 变量包含数据,而不是打印它们。
我知道pwd给出当前工作目录,hostname给出当前主机并whoami给出当前用户。是否有一个unix命令可以给我输出
whoami@hostname:pwd
Run Code Online (Sandbox Code Playgroud)
以便我可以快速将输出粘贴到scp命令中?
我经常发现自己在两个目录之间循环以执行不同的任务。目录之间并不总是有易于使用的相对路径。因此,必须指定一个本质上是以前的工作目录的目录路径是相当麻烦的。
有没有一个命令可以让我轻松返回到以前的工作目录?
我的 Linux Mint 机器上有一个奇怪的问题(如果有问题,请使用固态驱动器)。不知何故,如果我执行“ls $PWD”而不是“ls” ,机器(在多种情况下)会获得不同的文件和同一文件的不同内容。或只是“ls”。这意味着我可以将文件写入当前工作目录并从另一个目录中选取不同的内容复制它。
这不是 $PWD 设置错误,我可以手动输入目录名称。
我已经非常仔细地检查了这一点,但它确实来来去去。这使得制作和测试生产脚本和代码变得困难。
adam@RADIUM:/home/adam/cd2/adam_dev/rsim ==> ls .
ClearPrice.cme Makefile.win data gfiles rsim5.tmp src zlib
ClearPrice.src ReadMe.txt err include rsimdone.txt tools
Makefile build g2f out scripts vs2013
adam@RADIUM:/home/adam/cd2/adam_dev/rsim ==>
adam@RADIUM:/home/adam/cd2/adam_dev/rsim ==> echo $PWD
/home/adam/cd2/adam_dev/rsim
adam@RADIUM:/home/adam/cd2/adam_dev/rsim ==> ls $PWD
ClearPrice.cmd Makefile.win err include scripts vs2013
ClearPrice.src ReadMe.txt g2f out src zlib Makefile build
gfiles rsimdone.txt tools
adam@RADIUM:/home/adam/cd2/adam_dev/rsim ==>
Run Code Online (Sandbox Code Playgroud) 我不是指.您在 shell 命令或ls -a.
我只是跑的安装脚本的VPN应用,并且命令退出后,我的终端提示是在该.目录中。
这是我的pwd输出:
? pwd
.
Run Code Online (Sandbox Code Playgroud)
我从来没有见过这样的事情。有谁知道这是什么吗?
cwd 和 pwd 和有什么不一样?
我尝试过谷歌搜索,其中一个答案提到,根据某些因素(遗憾的是我不记得了),实现(我假设的代码)是不一样的?print('x')我不认为这就像vs之间的区别return str(x)(使用 Python 类比)?
主要是因为pwd不是内置的,而.内置于 bash shell 吗?
例如,它们在以下示例中有所不同:
/tmp/ttt$ mv ../ttt ../tttt
/tmp/ttt$ pwd
/tmp/ttt
/tmp/ttt$ cd .
/tmp/tttt$
Run Code Online (Sandbox Code Playgroud) 在第一个终端A中,我创建一个目录,进入该目录,并创建一个文件:
$ mkdir test
$ cd test
$ touch file1.txt
$ ls
file1.txt
Run Code Online (Sandbox Code Playgroud)
然后在另一个终端 B 中,我删除了目录:
$ rm -r test
$ mkdir test
$ cd test
$ touch file2.txt
Run Code Online (Sandbox Code Playgroud)
再回到终端 A(不做任何操作cd),我尝试列出文件:
$ ls
Run Code Online (Sandbox Code Playgroud)
ls 没有看到任何东西,也没有抱怨。
后台会发生什么?怎么ls没看出问题?是否有标准的、便携的和/或推荐的方法来找出终端 A 中的某些问题?
pwd只是打印看似正确的目录名称。touch file3.txt说没有这样的文件或目录,这是没有帮助的。只bash -c "pwd"给出了两条很长的错误行,以某种方式表明出了什么问题,但并没有真正的描述性,而且我不确定不同系统之间的可移植性(我在 Ubuntu 16.04 上)。cd .. && cd test解决了问题,但并没有真正解释发生了什么。
我试图从 A 路径更改为 B 路径时的目录,如下所示
pwd|awk '{if($1=="/") cd /tmp/}'
awk: syntax error near line 1
awk: illegal statement near line 1
Run Code Online (Sandbox Code Playgroud)
请建议