shell获得文件的全路径名
时间: 2023-02-06 07:05:50 浏览: 80
如果要在 shell 中获取文件的全路径名,可以使用 `readlink` 命令。
例如,要获取文件 `/path/to/file.txt` 的全路径名,可以运行以下命令:
```
readlink -f /path/to/file.txt
```
这将返回文件的绝对路径名,即在文件系统中的实际位置。
注意:`readlink` 命令仅适用于 Linux 和 Unix 系统,在其他操作系统中可能无法使用。
另外,如果要在脚本中使用此方法,可以将结果赋值给一个变量,例如:
```
path=$(readlink -f /path/to/file.txt)
```
这样,你就可以在脚本中使用变量 `$path` 来访问文件的全路径名了。
相关问题
shell获得文件的全路径名,然后将其中的 "/" 转化成“-”
要获取文件的全路径名,可以使用 `readlink -f` 命令。例如:
```bash
$ readlink -f /path/to/file
/full/path/to/file
```
然后,可以使用 `sed` 命令将路径中的 "/" 替换为 "-"。例如:
```bash
$ readlink -f /path/to/file | sed 's/\//-/g'
-full-path-to-file
```
注意:如果想将 "-" 替换为其他字符,可以将上述命令中的 "-" 换成所需的字符即可。
shell获得文件的全路径名,然后将其中的 "/" 转化成“-”,第一个"/"删除
要在 shell 中获得文件的全路径名,可以使用 `pwd` 命令。例如,假设当前目录是 `/home/user/documents`,那么执行 `pwd` 命令会返回 `/home/user/documents`。
要将文件路径中的 "/" 转化成 "-", 可以使用 `sed` 命令。例如,假设当前文件路径是 `/home/user/documents/file.txt`,那么执行下面的命令会将文件路径中的 "/" 转化成 "-":
```
pwd | sed 's/\//-/g'
```
输出结果应该是 `-home-user-documents`。
要删除文件路径中的第一个 "/", 可以使用 `cut` 命令。例如,假设当前文件路径是 `/home/user/documents/file.txt`,那么执行下面的命令会删除文件路径中的第一个 "/":
```
pwd | cut -d '/' -f2-
```
输出结果应该是 `home/user/documents/file.txt`。
综上,完整的命令应该是这样的:
```
pwd | cut -d '/' -f2- | sed 's/\//-/g'
```
这样就可以将文件的全路径名中的 "/" 转化成 "-",并删除第一个 "/" 了。