各ユーザーのホームディレクトリにファイルをコピーしようとしています。理想的には、ファイルはchown / chgrpでなければなりませんが、実際には私が要求するものではありません。私の本当の質問は、ワイルドカードを使用して各サブディレクトリを選択する方法です。
$ touch testfile
$ sudo cp testfile /home/*/
これはファイルを現在のユーザーのディレクトリに正常にコピーしますが、他のすべてのユーザーについては
cp: omitting directory '/home/user2/'
cp: omitting directory '/home/user3/'
など。ご回答ありがとうございます。
ベストアンサー1
cp
複数のターゲットは許可されていないため、ループを直接提供する必要があります。やりたいことと直接同等のもの
for homedir in /home/*; do sudo cp testfile "$homedir"; done
一般的な注意:ユーザー名にスペースがないと仮定し、ホームディレクトリがまったくのディレクトリであるとします/home
。それ以外の場合は、ホームディレクトリの場所をから取得する必要があります/etc/passwd
が、これにはシステムユーザーが含まれるため、十分に高いUIDとユーザーUIDの開始位置は分布によって異なります。