Linuxのファイル操作†
ファイルとディレクトリの表示†
- ls -l <file-name> ※詳細情報を表示
- ファイルサイズの表示単位
ls -lk ※KB単位
ls -lh ※見やすい単位
- 並び順:日付
ls -lt ※昇順
ls -ltr ※降順
- 並び順:ファイルサイズ
ls -lS ※降順
ls -lSr ※昇順
- 再帰的に配下のディレクトリも表示
ls -lR
- 「.」で始まるファイルも含めて表示
ls -la ※カレントディレクトリ「.」と親ディレクトリ「..」を表示する
ls -lA ※カレントディレクトリ「.」と親ディレクトリ「..」を表示しない
- 表示する情報の追加・変更
ls -lF ※ファイルの種類を末尾に表示(ディレクトリ:/、実行ファイル:*、シンボリックリンク:@)
ls -li ※iノード番号を表示
ls -lu ※最終参照日時を表示
ls -l --full-time ※日付を秒以下の単位も含めて表示
stat†
- stat <file-name> ※詳細情報を表示
file†
- file <file-name> ※ファイルの種別を表示(マジックナンバーを元に表示)
tree†
dirname†
- dirname <path> ※パスからディレクトリ部分を取得
basename†
- basename <path> ※パスからファイル名部分を取得
ファイルとディレクトリの検索†
find†
- find <target-dir> <search-formula>
- 検索式:ファイル名、ディレクトリ名
find <target-dir> -name "<keyword>" ※キーワードにワイルドカードが指定できる
find <target-dir> -iname "<keyword>" ※大文字/小文字を区別しない
find <target-dir> -regex "<keyword>" ※正規表現を使う
- 検索式:ファイルの種類
find <target-dir> -type f ※ファイル
find <target-dir> -type d ※ディレクトリ
find <target-dir> -type l ※シンボリックリンク
- 検索式:最終更新日
find <target-dir> -mtime -1 ※過去1日以内
find <target-dir> -mtime -10 ※10日前の翌月以降
find <target-dir> -mtime +10 ※10日前の前日以前
find <target-dir> -mtime 10 ※10日前の24時間
find <target-dir> -daystart -mtime +10 ※10日前の前日以前(0時を基準にする)
- 検索式:最終アクセス日
find <target-dir> -atime -10 ※過去10日以内アクセスあり
find <target-dir> -atime +10 ※10日超アクセスなし
find <target-dir> -atime 10 ※10日前の24時間
- 検索式:アクセス権
find <target-dir> -perm <mode>
- 検索式:サイズ
find <target-dir> -size <size> ※ファイルサイズ(ブロック単位)
- 検索式:ユーザー名
find <target-dir> -user <username>
locate†
- locateデータベースを使ってファイルを検索する
- updatedbコマンドでlocateデータベースを更新してから実行する
updatedb†
- locateコマンドが検索に使うlocateデータベースを更新する
- 設定ファイル(/etc/updatedb.conf)
- PRUNEPATHS:指定したディレクトリを除く(登録しない)
- PRUNEFS:指定したファイルシステムを除く(登録しない)
which†
whereis†
- コマンドのバイナリファイル、ソースコード、マニュアルが置かれている場所を表示する
type†
- コマンドがどのようなコマンドかを表示する(エイリアスかどうかなど)
ファイルとディレクトリのコピー†
- cp <copy-file> <target-file>
- cp <copy-file> <target-directory>
cp -f ※同名のファイルがあった場合は上書き
cp -i ※同名のファイルがあった場合は上書きするか確認する
cp -p ※コピー元ファイルの属性を保持してコピーする
cp -d ※シンボリックリンクをコピーする
cp -a ※可能な限りコピー元ファイルの状態を保持してコピーする(-dpRと同じ)
cp <file> . ※カレントディレクトリにコピー
cp <file> ~ ※ホームディレクトリにコピー
cp <file>{,.org} ※末尾に指定した文字列を追加してコピー(Bashの中括弧展開を使う)
- cp <copy-directory> <target-directory>
cp -r ※ディレクトリ内を再帰的にコピーする
cp -R ※ディレクトリ内を再帰的にコピーする
- cp <copy-file1> <copy-file2> <..> <target-directory> ※複数のファイルをコピーする(最後の引数がコピー先になる)
- ブロック単位でファイルをコピー
- デバイスの情報をファイルに出力することができる
ファイルとディレクトリの移動†
ファイルとディレクトリの削除†
rmdir†
- rmdir <directory-name> ※空のディレクトリを削除(中にファイル等がある場合は削除できない)
ディレクトリの作成†
mkdir†
- mkdir <directory-name>
- mkdir -m ※指定したアクセス権で作成
mkdir -m 777
- mkdir -p ※親ディレクトリも作成する
mkdir -p 1st/2nd/3rd
ファイルのタイムスタンプを変更†
touch†
ファイルのチェックサム†
ファイルの参照†
more†
- more <file-name>
- テキストファイルを1画面ずつスクロール表示する
- Spaceキー -1行進む
- Enterキー -次の画面に進む
- q -終了
less†
- less <file-name>
- スクロール
- k、↑ ※上に1行
- j、↓、[Enter] ※下に1行
- b、[Space] ※上に1画面
- f、[Space] ※下に1画面
- [Shift] + p ※先頭行に移動
- [Shift] + g ※末尾行に移動
- q ※終了
- キーワード検索
- / [文字列] ※下方向に文字列を検索
- ? [文字列] ※上方向に文字列を検索
- n ※次を検索
- [Shift] + n ※前を検索
- 操作マニュアル
- h ※操作マニュアルを表示
- q ※操作マニュアルを終了
view†
diff†
file†
xxd†
- バイナリファイルを16進数または2進数で表示する(左にアドレス、右にASCIIを表示して出力)
- バイナリファイルを16進数で表示する(プレーン16進ダンプで出力)
hexdump†
hexdump -C ※16進数とASCII文字で表示
ファイルの変換†
メタキャラクタ†
メタキャラクタの種類†
- ブレース展開
- {} ※「,」で区切られた文字列のいずれかにマッチする
[1,2]
[01,02]
- エスケイプ文字
- \ (バックスラッシュ)
- メタキャラクタの直前に記述すると通常の文字として扱うようになる
関連用語†