cp a d2 したら cp: -r not specified; omitting directory 'a' って言われてコピーされへんかった
【疑問】cp でディレクトリをコピーしたら omitting directory。cp・mv・rm・mkdir・rmdir・touch の基本【LPICレベル1】
前提のおさらい。コマンドは「コマンド オプション 引数」を空白で区切り、空白を含むファイル名はクォートで囲む
>>1
cp はそのままだとファイルしかコピーしない。ディレクトリを中身ごとコピーするなら -r(-R も同じ)cp -r a d2
>>3
cp のよく使うオプション(cp --help で確認)-i 上書きの前に確かめる-f 上書きできないときは消してからコピー-p パーミッション・所有者・タイムスタンプを保つ-a -dR --preserve=all と同じ。まるごと写すとき-u コピー先が古いか、ないときだけ
>>4
コピー先が既にあるディレクトリなら、その中にコピーされる。ないなら、その名前でコピーされる
mv はどうなん?
>>6
移動と名前の変更を同じコマンドでやる。mv d1 d3 は d3 がなければ名前の変更、d3 がディレクトリならその中へ移動。ディレクトリでも -r は要らない
>>7
mv にも -i(上書きの前に確かめる)、-f(確かめない)、-n(上書きしない)、-u がある
>>1
消すほうは?
>>9rm ファイル。ディレクトリは rm -r、確認なしは -f、1つずつ確かめるのは -i。rm -rf は確認なしで中身ごと消えるから、引数をよく見てから
>>10rmdir は空のディレクトリしか消せない。中にファイルがあると Directory not empty
>>1
深い階層を一度に作りたいときは?
>>12mkdir a/b/c は a がないと No such file or directory で失敗する。mkdir -p a/b/c なら途中も作る(あってもエラーにしない)-m で作るときのパーミッションも指定できる
>>11rmdir -p a/b/c は c、b、a の順に消していって、空でないところで止まる
>>1
touch は何に使うん?
>>15
ファイルのタイムスタンプを今の時刻にする。ファイルがなければ空のファイルを作る。-c で作らない、-a はアクセス時刻だけ、-m は変更時刻だけ、-t や -d で時刻を指定
>>1
ls もオプション多いよな
>>17-l 詳しく、-a ドットで始まるものも、-d ディレクトリそのもの、-h サイズを K・M で、-R 下の階層も、-t 新しい順、-S 大きい順、-i inode 番号、-F 種類の印(/ や *)
>>3
ディレクトリは cp -r と rm -r、mv はそのまま。rmdir は空だけ、mkdir -p で途中も。これで覚えるわ
管理人のひとこと
- cp はディレクトリを
-r(-R)でコピーする。-i上書き前に確認、-p属性を保つ、-aまるごと(-dR --preserve=all)。コピー先がディレクトリならその中に入る。 - mv は移動と名前の変更。ディレクトリでも -r は不要。
-i・-f・-nで上書きの扱いを変える。 - rm はディレクトリに
-r、確認なし-f、確認あり-i。rmdir は空のディレクトリだけ。mkdir-pで途中のディレクトリも作る。 - touch はタイムスタンプを更新し、ファイルがなければ空で作る(
-cで作らない)。