ls 输出全路径

博客给出了一段命令代码“ls|awk -v a=$(pwd) '{print a\/\$0}'”,该代码结合了ls和awk命令,利用当前路径输出带有完整路径的文件名,属于信息技术领域的命令行操作内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ls|awk -v a=$(pwd) '{print a"/"$0}'
在 Linux 或 macOS 终端中,`ls` 命令默认显示相对路径(当前目录下的文件名)。如果需要显示文件的**绝对路径**,可以通过以下方法实现: --- ### **方法 1:结合 `pwd` 和 `ls`** ```bash ls -d "$PWD"/* ``` - **作用**:`$PWD` 是当前目录的绝对路径,`-d` 防止递归列出子目录内容。 - **示例输出**: ``` /home/user/documents/file1.txt /home/user/documents/file2.txt ``` --- ### **方法 2:使用 `find` 命令** ```bash find "$PWD" -maxdepth 1 -type f ``` - **参数说明**: - `-maxdepth 1`:仅列出当前目录(不递归子目录)。 - `-type f`:只显示文件(排除目录)。 - **示例输出**: ``` /home/user/documents/file1.txt /home/user/documents/file2.txt ``` --- ### **方法 3:通过 `realpath` 转换路径** ```bash ls | xargs -I {} realpath "{}" ``` - **作用**:将 `ls` 的输出通过 `realpath` 转换为绝对路径。 - **注意**:如果文件名包含空格或特殊字符,建议改用 `find` 或 `-print0` 选项。 --- ### **方法 4:自定义 Shell 函数** 在 `~/.bashrc` 或 `~/.zshrc` 中添加以下函数: ```bash lsabs() { for file in *; do [[ -e "$file" ]] && echo "$PWD/$file" done } ``` - **使用方式**: ```bash source ~/.bashrc # 重新加载配置 lsabs # 调用函数 ``` --- ### **方法 5:结合 `readlink` 和 `ls`** ```bash ls -1 | while read -r file; do readlink -f "$file"; done ``` - **适用场景**:需要解析符号链接的真实路径时。 --- ### **注意事项** 1. **隐藏文件**:上述方法默认不显示隐藏文件(以 `.` 开头的文件)。如需包含隐藏文件: ```bash ls -a | xargs -I {} realpath "{}" 2>/dev/null # 忽略错误(如不存在的文件) ``` 2. **性能**:对于大量文件,`find` 或 `realpath` 可能较慢,建议优先使用 `ls -d "$PWD"/*`。 --- ### **示例对比** | 命令 | 输出格式 | 是否递归 | |-------------------------------|----------------------------|----------| | `ls -d "$PWD"/*` | `/home/user/file.txt` | 否 | | `find "$PWD" -maxdepth 1` | `/home/user/file.txt` | 否 | | `find "$PWD"` | `/home/user/subdir/file.txt`| 是 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值