Linuxコマンド基本編

未分類 > 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 ../

二つ上のディレクトリに移動

cd ../../

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

touch release/source.sql

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

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

touch release/source.sql release/source2.sql

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

vim が利用できる環境であれば下記コマンドでファイルを作成しつつ編集作業に入ることが出来ます。

vi release/source.sql

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

rm release/source.sql

f オプション追加で警告なしで削除することができます。

rm -f release/source.sql

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

ディレクトリの削除
ディレクトリを内包するサブディレクトリやファイルも含めて削除するには「r」オプションを付けて実行します。
[rm -r ディレクトリ名]

rm -r sample

警告メッセージを表示させないための「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」ファイルの中身を参照します。