Linuxコマンドの使用例(ファイル操作編)

Linuxコマンドによるファイル操作について解説します。

カレントディレクトまでのパス表示

pwd

カレントディレクトリとは現在参照処理対象となっているディレクトリのことです。

仮に「cd」コマンドでディレクトリの移動を行った場合、移動先のディレクトリがカレントディレクトリに切り替わります。

ubuntu環境で端末(ターミナル)を立ち上げた当初であれば「/home/ユーザー名」と表示されるはずです。

ここがubuntu環境において、各ユーザーごとに割り当てられる「ホーム」ディレクトリになります。

「ホーム」ディレクトリ内に「sample.txt」というファイルを置き、シェルコマンドラインから「sample.txt」ファイルを指定する場合、「/home/ユーザー名/sample.txt」というパス指定を連想しがちですが、「/home/ユーザー名」はシェルコマンドラインやMySQLコマンドラインにおける基点となる場所ですので、単に「sample.txt」とパス指定するだけで事足ります。

カレントディレクトリ内の表示
カレントディレクトリの中身を表示するには「ls」コマンドを使用します。
[ls オプション]

ls -a

「a」オプションによりファイル名の先頭に「.」の付いたファイルも含め、すべての内包フォルダ、ファイルの情報を参照することが出来ます。

カレントディレクトリ内の詳細表示

ls -al

「l」オプションを加えることで、各ファイル容量やアクセス権限、作成日時なども含めたすべての内包フォルダ、ファイルの詳細情報が参照できます。

下記のようにすることでカレント以外のディレクトリ内を参照することも可能です。
[ls -al ディレクトリパス]

ls -al /temp/dump/

上記コマンドは「temp」フォルダの中にある「dump」フォルダ内を参照します。

ディレクトリの作成
新たにディレクトリを作成する場合は「mkdirコマンド」を使用します。
[mkdir ディレクトリ名]

mkdir release

上記コマンドは「ホーム」に「release」という名前のディレクトリを作成します。

カレントディレクトリの切り替え
参照、処理の対象となるディレクトリを切り替えるには「cd」コマンドを使用します。
[cd 移動先ディレクトリ名]

cd release

上記コマンドで「/home/ユーザー名」ディレクトリ内にある「release」というディレクトリへ移動します。

「ホーム」ディレクトリに戻りたい場合は

cd ~/

「~/」は「ホーム」ディレクトリを表します。

または

cd /home/ユーザー名

或いは下記のコマンドでも戻ることが出来ます。

cd ../

「../」はひとつ上のディレクトリを表します。

ファイルの作成
ファイルを作成する場合は「touch」コマンドを使用します。
[touch 作成するファイル名]

touch release/source.sql

上記コマンドは「ホーム」ディレクトリにある「release」フォルダ内に空の「source.sql」というファイルを作成します。

「touch」コマンドは複数のファイル作成も可能です。

touch release/source.sql release/source2.sql

上記コマンドは「ホーム」ディレクトリにある「release」フォルダ内に空の「source.sql」と「source2.sql」というファイルを作成します。

ファイルの削除
ファイルを削除する場合は「rm」コマンドを使用します。
[rm 削除したいファイル]

rm release/source.sql

上記コマンドの場合は「source.sql」ファイルは削除されますが、「release」フォルダ自体は削除されません。

ディレクトリの削除
ディレクトリごと削除する場合は下記のコマンドを実行します。
[rm -rf ディレクトリ名]

rm -rf sample

上記コマンドは「ホーム」ディレクトリ内の「sample」ディレクトリを削除します。
内包するフォルダやファイルも含めて削除するため「r」オプション、警告メッセージを表示させないため「f」オプションを同時に指定しています。

コピー
コピーを行う場合は「cp」コマンドを使用します。
[cp コピーしたいファイル コピー先]

cp sample.txt /temp/

上記コマンドは「ホーム」ディレクトリ内の「sample.txt」ファイルのコピーを「temp」フォルダ内に作成します。

ファイル名をリネームしたうえでコピー

cp sample.txt /temp/sample2.txt

上記コマンドは「ホーム」ディレクトリ内の「sample.txt」ファイルを「sample2.txt」ファイルにリネームしたうえで「temp」フォルダ内にコピーします。

ディレクトリのコピー
ディレクトリ自体をコピーしたい場合は「r」オプションを付けます。
cp -r [コピーしたいディレクトリ名] [コピー先]

cp -r /temp/ home/ユーザー名/

上記コマンドは「temp」フォルダを「ホーム」ディレクトリにコピーします。

或いは下記のコマンドでも同様の処理が可能です。

cp -r /temp ~/

「~/」はホームディレクトリを表します。

ディレクトリ構造を保持したままコピー
[cp -a コピーしたいディレクトリ名 コピー先]

cp -a /temp ~/

上記コマンドは「a」オプションを付けることで、出来る限りディレクトリ構造を保持したままコピーします。

ディレクトリの移動
コピーではなくディレクトリごと移動させたい場合は「mv」コマンドを使用します。

移動したいディレクトリは複数指定すること出来ます。移動先は存在するディレクトリでなければなりません。

存在しないディレクトリを指定した場合は単にディレクトリ名が変更されるだけです。

移動先に既存ディレクトリを選択するか「mkdir」コマンドで新たにディレクトリを作成する必要があります。ワイルドカードの使用も可能です。

[mv 移動元ディレクトリ 移動先]

mv dump /temp/

上記コマンドは「ホーム」ディレクトリにある「dump」フォルダを「temp」フォルダ内に移動します。

移動状況の表示

mv -v dump /temp/

「v」オプションを付けるとディレクトリの移動状況を参照することが出来ます。
「mv」コマンドはファイル名の変更にも使用出来ます。
mv [名前を変更したいファイル] [変更後の名前]

mv sample.txt sample2.txt

上記コマンドは「ホーム」ディレクトリ内にある「sample.txt」ファイルを「sample2.txt」ファイルにリネームします。

ファイル内を参照
ファイルの中身を見る「cat」コマンドを使用します。
[cat 表示したいファイル]

cat sample.txt

上記コマンドは「sample.txt」ファイルの中身を参照します。

「cat」コマンドは複数のファイルにも対応しています。
[cat 表示したいファイル 表示したいファイル]

cat sample.txt sample2.txt

上記コマンドは「sample.txt」ファイルと「sample2.txt」ファイルの中身を参照します。