Linux
- linux下递归列出目录下的所有文件名(绝对路径,不包括目录)
ls -lR |grep -v ^d|awk '{print $9}' | sed "s:^:`pwd`/:"
- linux下递归列出目录下的所有文件名(绝对路径,不包括目录),并且去掉空行
ls -lR |grep -v ^d|awk '{print $9}' |tr -s '\n' | sed "s:^:`pwd`/:"
如需要将结果写入文件中只需在命令后添加 > 文件名
如:
ls -lR |grep -v ^d|awk '{print $9}' |tr -s '\n' > list.txt
获取当前正在执行脚本的绝对路径
basepath=$(cd `dirname $0`; pwd)
在此解释下basepath :
dirname $0,取得当前执行的脚本文件的父目录
cd `dirname $0`,进入这个目录(切换当前工作目录)
pwd,显示当前工作目录(cd执行后的)
由此,我们获得了当前正在执行的脚本的存放路径。
将以下代码保存为 ssh 脚本,执行即可一键获取
#!/bin/bash
function getdir(){
for element in `ls $1`
do
dir_or_file=$1"/"$element
if [ -d $dir_or_file ]
then
getdir $dir_or_file
else
echo $dir_or_file
fi
done
}
root_dir=$(cd `dirname $0`; pwd)
getdir $root_dir>list.txt
echo 'END!'
echo '请查看当前目录下 list.txt 文件'
Windows
Windows 下递归列出目录下的所有文件名(绝对路径,包括目录)
复制以下代码,保存到文本文件,将文件后缀改为 .bat,执行即可一键获取
@echo off
dir /s/b *.* > file_names.txt exit