如何列出您具有复制访问权限的所有目录/文件-Unix

如何列出您具有复制访问权限的所有目录/文件-Unix,unix,directory,copy,ls,access-rights,Unix,Directory,Copy,Ls,Access Rights,通常,ls-la命令显示文件和复制访问权限、所有者和访问组。 ** 如何仅列出我有权访问的目录/文件? 如何将这些目录/文件复制到目标目录? 试试这个: a=`find $Your_Source_Path -iname "yourFolder_whose_Files_tohide" -prune -o -type f -print` for i in $a do cp $Your_source $Your_Dest_Path done 还有一个答案,它将只复制那些具有复制访问权限的文件

通常,
ls-la
命令显示文件和复制访问权限、所有者和访问组。 **

  • 如何仅列出我有权访问的目录/文件?
  • 如何将这些目录/文件复制到目标目录?
试试这个:

a=`find $Your_Source_Path -iname "yourFolder_whose_Files_tohide" -prune -o -type f -print`
for i in $a
do
   cp $Your_source $Your_Dest_Path
done

还有一个答案,它将只复制那些具有复制访问权限的文件。首先,导航到要复制其文件的目录。此外,在本文中,请首先提到您要复制的目标路径。请尝试以下方法:-

destination_Path="/Users/Home/Desktop/test"
b=~/Desktop/copyPermission.txt
if [ ! -f $b ]
then 
touch $b 
fi
a=`ls -l`
e="-----w--w-"
echo "\n$a" | sed '1d' > $b
g=`pwd`
while read line
do 
d=`echo "$line" | awk '{print $1}'`
if [ $e != $d ]
then
r=`echo "$line" | awk '{print $9}'`
echo "Can have copy permission $g/$r" 
{
cp $g/$r "$destination_Path" && echo "copied successfully"
} || {
echo "cannot copy due to some error"
}
#else
#r=`echo "$line" | awk '{print $9}'`
#echo "Cannot have copy permission $r"
fi
done <"$b"
destination_Path=“/Users/Home/Desktop/test”
b=~/Desktop/copyPermission.txt
如果[!-f$b]
然后
触摸$b
fi
a=`ls-l`
e=“----w--w-”
echo“\n$a”| sed'1d'>b
g=`pwd`
读行时
做
d=`echo“$line”| awk'{print$1}'`
如果[$e!=$d]
然后
r=`echo“$line”| awk'{print$9}'`
echo“可以具有复制权限$g/$r”
{
cp$g/$r“$destination_Path”和&echo“复制成功”
} || {
echo“由于某些错误而无法复制”
}
#否则
#r=`echo“$line”| awk'{print$9}'`
#echo“不能具有复制权限$r”
fi

已完成访问定义为简单的读/写/执行。您指的是哪一个?复制权限,因此我假设这是写入/执行访问权限。对于第一部分
如何仅列出我有权访问的目录/文件?
您只需要文件的读取权限和目录的读取/执行权限。您真的需要在复制之前列出该列表吗?你可以做一个cp-pr src dest,那么复制的任何东西都是你可以访问的。这里有两个命令,一个用于查找,另一个用于cp,以便枚举所需的文件。要隐藏其文件的文件夹是什么意思。你可以用你特定的文件名提到那里。我不需要隐藏任何特定的文件。我只需要删除我有复制权限的所有文件。然后将这些文件复制到一个特定的目标。像这样尝试:-查找-iname-prune-o-type f-print