次のコマンドは私のシステムで何をしますか?
$ mkdir -p /tmp/aes
コマンドラインに次のコマンドを入力しましたが、期待どおりに実行されました。
そのコード行を再実行しようとすると、次のエラーが発生するためフォルダが作成されたことがわかります。mkdir: cannot create directory /tmp/aes: File exists
ところがデスクトップにフォルダが見えませんね。
mkdir /tmp/aes
フォルダが作成されることがわかります。
の機能は何ですか-p
?
この見えないフォルダを削除する方法は?
答え1
からman mkdir
:
-p, --parents
no error if existing, make parent directories as needed
したがって、mkdir -p what/ever/directory
ディレクトリが存在することを確認してください。ディレクトリが存在するが権限がない場合、状況は困難になります。ディレクトリがwhat/ever/directory
存在することを確認しますが、所有者、権限などが異なるため、ディレクトリが利用できないことが簡単に発生する可能性があります。 ;この場合、コマンドはmkdir -p
エラーを発生させません。
それにもかかわらず、一時ファイルを作成するための推奨される方法は、次の/tmp
ものを使用することですmktemp
。
NEWTMP = `mktemp -d`
cd $NEWTMP
...