はじめに
Linuxの基礎を学習したので、
学習したコマンドの解説をアウトプットとして
この記事に残します。
初学者の方々にお役に立てていただければ幸いです。
ディレクトリ間を移動する
まず前提としてLinuxを学習するときにディレクトリという
単語が必ず出てきますがこちらはフォルダのことですので
ご認識おきください。
では本題ですが、現在いるディレクトリから別のディレクトリへ
移動する際はcdを使います。
cd オプション 移動先のディレクトリ
コマンドを打つ際に移動先のディレクトリの他に
オプションを入力することができます。
オプションは入力したコマンドがカスタマイズされた
はじめに
Linuxの基礎を学習したので、
学習したコマンドの解説をアウトプットとして
この記事に残します。
初学者の方々にお役に立てていただければ幸いです。
ディレクトリ間を移動する
まず前提としてLinuxを学習するときにディレクトリという
単語が必ず出てきますがこちらはフォルダのことですので
ご認識おきください。
では本題ですが、現在いるディレクトリから別のディレクトリへ
移動する際はcdを使います。
cd オプション 移動先のディレクトリ
コマンドを打つ際に移動先のディレクトリの他に
オプションを入力することができます。
オプションは入力したコマンドがカスタマイズされた
挙動になります。cdではオプションを使うことがないので
これから説明するコマンドで使えるオプションを
その都度説明していきます。
ディレクトリの指定方法ですが、
移動したいディレクトリへのパスを
明示しなければなりません。
パスとはディレクトリへの道のことです。
パスの明示の方法には2つあります。
1つ目は相対パスです。
以下のようなディレクトリがあり
現在desktopにいるとします。
/user/desktop/app
相対パスは現在の位置から移動先への
パスのことを意味します。
相対パスで指定してappに移動しようとした場合
以下のようになります。
cd app
2つ目は絶対パスです。
絶対パスはルートディレクトリからみた
移動先へのパスです。
ルートディレクトリは全てのディレクトリの
一番先頭にあるディレクトリのことです。
Linuxのディレクトリの構造は木のようなもので
幹からどんどん枝分かれしていき絶対パスは
その幹の部分を基準にして示されます。
またルートディレクトリはパスとして
示す際は/で表現されます。
ただし先ほど相対パスで説明したパスの表記では
3つ/が表記されておりましたが、先頭の/がルートディレクトリ
を意味してその他のものはただのディレクトリを意味します。
説明が長くなりましたが以上の説明を踏まえて
絶対パスでappを明記すると以下のようになります。
cd /user/desktop/app
相対パスと絶対パスはその他のコマンドで
パスを指定する際に使うので覚えておくといいと思います。
現在のディレクトリを確認する
現在自分がどこのディレクトリにいるのかを
確認する際にはpwdを使います。
pwd
現在のディレクトリの中身を確認する
現在のディレクトリの中身を確認する際には
lsを使います。
ls オプション ディレクト
lsはディレクトリを指定することによって
そのディレクトリを確認できます。
また以下はlsでよく使うオプションの一覧になります。
| オプション | 挙動 |
|---|---|
| -l | ファイルやディレクトリの詳細情報が表示される |
| -a | 隠しファイルも含めて表示する |
| -F | ファイルを@ディレクトリを/のようにわかりやすく表示する |
| -t | 更新した順にソートして表示する |
| -r | 逆順にソートして表示する |
ディレクトリを作成する
ディレクトリ作成の際にはmkdirを
使用します。
mkdir オプション ディレクトリ名
ディレクトリを作成する際にその中に
さらにディレクトリを作る場合は-pオプションが
使えます。
mkdir -p sample1/sample2/sample3
ディレクトリを削除する
ディレクトリを削除する際rmdirを
使用します。
rmdir ディレクトリ名
rmdirは中身にファイル等があると
エラーを起こすので中身ごとディレクトリを
削除することを防ぐ際はrmdirを使いましょう。
ファイルの中身を確認する
ファイルの内容を確認したい際に
使用します。
cat オプション ファイル名
catにはオプションとして-nがあります。
こちらはファイルを開いた際に各行に
行番号が割り振られた状態で表示されます。
スクロールしてファイルを確認する
中身が多く画面に収まりきらないファイルを確認する際に
lessを使用します。
less オプション ファイル名
以下スクロールの操作です。
| コマンド | 挙動 |
|---|---|
| スペース、f | 一画面下にスクロール |
| b | 一画面上にスクロール |
| j | 1行下にスクロール |
| k | 一行上にスクロール |
| q | 閲覧を終了 |
ファイルの末尾を確認する
ファイルの末尾を確認したい際に
tailを使用します。
tail オプション ファイル名
tailはオプションで特に指定しなければ
最後から十行目までを表示します。
表示する行数を指定するには-nオプションを使用します。
tail n 5 ファイル名
またtailはログファイルの更新の確認などを目的に
-fコマンドが使用できます。
tail -f ファイル名
こちらのオプションでは指定したファイルの変更を
リアルタイムで確認することができます。
ファイルを作成する
ファイルを作成する際には
touchを使用します。
touch オプション ファイル名
touchは存在しないファイル名を
指定すると空のファイルを作成しますが、
既存のものを指定した場合はファイルの更新時間を
最新のものにします。
ファイルを削除する
ファイルを削除する際には
rmを使用します、
rm オプション ファイル名
rmは-rオプションを使用することによって
中身のあるディレクトリを削除することができます。
すでに説明したrmdirは中身のないもののみの削除でしたが
目的別に使い分ければ良いでしょう。
ファイルを移動する
ファイルを移動する際は
mvを使用します。
mv オプション ファイル名 移動先パス
また、mvはファイルの移動だけでなく
ファイル名の変更もできます。
mv オプション 旧ファイル名 新ファイル名
ファイル名を変更する際は-iオプションが
便利です。-iを使用するとファイル名の変更の前に
確認をしてくれます。
ファイルをコピーする
ファイルをコピーする際は
cpを使用します。
cp オプション コピー元ファイル名 コピー先ファイル名
ファイルを別のディレクトリにコピーする場合は
cp オプション コピー元ファイル名 ディレクトリ名
コピーをする際にはrmでも説明した-iが使えます。
他のオプションとしてディレクトリをコピーする
-rがあります。
cp -r 旧ディレクトリ 新ディレクトリ
リンクを貼る
リンクを貼るというのは特定のファイルに
あだ名をつけることです。
コマンド入力の際に長いパスを入力するのは
かなりの手間ですのでこれを省略するとき、
複数バージョンのソースコードを管理したいときなどに使います。
リンクを貼る時にはlnを使用します。
ln オプション リンク先ファイル名 リンク元ファイル名
リンクにはハードリンクとシンボリックリンクがあります。
ハードリンクはリンク先の内容を参照するファイルを別名で作成します。
聞いただけではcpと同じに見えるかもしれませんが
cpと違う点は参照先のファイルに変更があった場合は
参照元にも変更が適応される点です。これは
また、ハードリンクはディレクトリに対しては使えません。
シンボリックリンクは参照先のファイルに変更があれば
それば反映される点は同じです。
ハードリンクとの違いは参照先のファイルが
削除されたり移動されるとリンクを作成された時のパスの
整合性が取れなくなり参照できなくなります。
lnのオプションには-sオプションがあり
これはシンボリックリンクを作成する際に使用します。
オプションをつけなかった場合はハードリンクになります。
ファイルを検索する
ファイルを検索する際は
findを使用します。
find 検索開始ディレクトリ 検索条件 検索後のアクション
検索は検索開始ディレクトリに入力されたディレクトリを
基準に検索されます。
検索条件では-nameが使われることが多いです。
-nameの後に検索したいファイル名を入力することで
該当のファイルを検索します。
find 検索開始ディレクトリ -name sample.txt 検索後のアクション
検索後のアクションでは-printが使われることが多いです。
-printは検索に引っかかったファイルのパスを表示します。
ファイルモードを変更する
ファイルには編集、閲覧、実行
それぞれに行うための権限があります。
それを変更するために使用するのがchmodです。
chmod ユーザーの種類 権限の追加、削除 ファイル名
chmodを使用する上で権限を変更するユーザーの種類、
権限を追加または削除、ファイルの権限を
表現するコマンドを認識しておく必要があります。
変更するユーザーの種類
| コマンド | 挙動 |
|---|---|
| u | 所有者の権限 |
| g | グループの権限 |
| o | その他のユーザーの権限 |
| a | 全ユーザーの権限 |
権限の追加、削除
| コマンド | 挙動 |
|---|---|
| + | 権限を追加 |
| - | 権限を削除 |
| = | 記述した権限にする |
ファイルの権限
| コマンド | 挙動 |
|---|---|
| r | 閲覧 |
| w | 編集 |
| x | 実行 |
以上のコマンド踏まえてchmodを使用して権限を
変更する例をあげます。
chmod ug+r sample_file
以上のコマンドではファイルの所有者と
特定のグループに所属しているユーザーに対して
閲覧の権限を追加するコマンドになります。
ファイルの所有者を変更する
ファイルの所有者を変更する際は
chownを使用します。
chown 変更後のユーザー名 ファイル名
プロセスを表示する
プロセスとは実行中のプログラムのことです。
プロセスはメモリ上で動くためPCが重くて
今動いているプロセスを確認したいときなどにpsを使います。
ps オプション
以下のオプションを入力することで
より詳細なプロセスの情報を表示します。
またpsのオプションを入力する際には他のコマンド
の時とは違い-は必要ありません。
| コマンド | 挙動 |
|---|---|
| a | psを実行したユーザ以外のプロセスを表示する |
| u | 実行中のプロセスの詳細情報を表示する |
| x | psを実行したユーザーのプロセスを表示する |
プロセス・ジョブを終了する
ジョブは入力して実行したひとまとまりのコマンドのことです。
つまりプロセスを一つのパッケージとしてみたものがジョブです。
実行しているプロセスまたはジョブを終了する際に使用するのがkillです。
kill プロセスIDまたはジョブID
プロセスIDはps、ジョブIDはjobsで確認できます。