hiro_env

モダンな技術スタックを扱う会社のエンジニアになるまでの学習記録

基礎的なLinuxコマンドの備忘録

  • cd
  • pwd
  • ls
  • mkdir
  • rmdir
  • cat
  • less
  • tail
  • touch
  • rm
  • mv
  • cp
  • ln
  • find
  • chmod
  • chown
  • ps
  • kill

以上のコマンドについて、順番に使い方を記述していきます。

cd

change directoryの略
ディレクトリを移動する。

絶対パス相対パスが使える。宛先を指定しない場合はcd ~と同じくホームディレクトリに戻る。
また、cd - で直前にいたディレクトリに戻ることもできる。

例:cd - / cd .. / cd somedir

pwd

print working directoryの略
現在いるディレクトリを表示する。

ls

listの略
今のディレクトリ配下にあるディレクトリやファイルを一覧表示する。

主なオプションとして、-a (隠しファイルやディレクトリも表示), -l (long format のl 詳細情報を表示する) 等がある。

mkdir

make directoryの略
ディレクトリを作成する。

例:mkdir somedir

rmdir

remove directoryの略
ディレクトリを削除する。

例:rmdir somedir

cat

concatnateの略
ファイルの中身を表示する。

  • 本来は英語の「連結する」という意味通り複数のファイルを繋げることを目的に作られた。
    例:cat file1.txt file2.txt > combined.txt

less

長いファイルを1画面で収まる範囲で区切って表示する。

  • -Nオプションで行数を表示してくれる。
  • 次の画面に進むにはFowardのf(もしくはSpaceキーでも可)を、前に戻るにはBackのbを押せば良いので覚えやすい。
  • 半分進むにはDownのd、半分戻るにはUpのuという操作も可能。
  • gで最初の行に移動、Gで最後の行に移動する。
  • 数字+gで指定した行へ移動する。

例:less filename

tail

ファイルの最後の10行を表示する。

  • -nをつけると、表示する行数を変更できる。(tail -n 20 file.txt)
  • -fをつけると、ファイルが更新されている場合リアルタイムで追加されたデータを表示してくれる。
  • -vでファイル名を表示する。
  • -c(charactersの略)で表示する文字数(正確にはバイト数)を指定できる。

例:tail filename

touch

ファイルを作成する。

  • 元々ファイルのタイムスタンプを更新するためのコマンドだが、指定したファイルが存在しない場合はそれを作成する。

例:touch example.txt

rm

removeの略
ファイルを削除する。

  • -r, または--recursiveオプションをつけることでディレクトリとその中のファイルも再帰的に削除できる。
  • -fはforceの略で強制的に実行する。

例1:rm filename
例2:rm -rf dirname
(強制的に削除されるため実行時は注意)

mv

moveの略
ファイルを移動する / ファイル名を変更する。

例1:mv filename filename2
例2:mv filename ./somedir

cp

copyの略

ファイルをコピーする。
例:cp filename ./somedir/copiedfile

ln

linkの略
ハードリンクを作成する。

  • ハードリンクとはファイルの実態と同じ参照先(inode番号)を持つ。
    ハードリンクを作成しておけば、リンク元のファイルを削除してしまったとしてもハードリンクが残っていればファイル自体は消えない。

  • オプションで-sをつけるとシンボリックリンクを作成する。
    シンボリックリンクはハードリンクと異なりファイルのパスとファイル名が記録されたショートカットのようなもので、
    ファイルの場所や名前を変えると機能しない「壊れたリンク」となる。

*例:ln -s ./basefile ./somedir/linkfile

find

ファルを検索する。

find [path] [options]のように使う。
例:find . -type f -name "*.txt"

  • -typeは検索する対象の種別を指定できる。(f = ファイルのみ、d = ディレクトリのみ等)
  • -nameは名前を検索する。

chmod

change modeの略
ファイルに対する操作の権限を変更する。

例:chmod 766 file.txt

  • 766はそれぞれファイル所有者(user)、グループ(group)、その他(others)の権限を指定しており、 読み取り = 4 , 書取り = 2 , 実行 = 1 の数字の組み合わせで決まる。 (7の場合全て可能、6の場合は実行以外可能)

  • また、それぞれ個別にも設定を加えることができ、その場合は「誰に」「何を」付与するのかという順番で以下のようなコマンドになる。なお、権限はread, write, executionの略である r,w,x を指定する。
    例:chmod u+x file.txt (userに実行権限を付与) / chmod o-x file.txt (othersから実行権限を剥奪) / chmod ugo+r file.txt (u,g,o全てに読み取り権限を付与)

  • -Rをつけてディレクトリを指定すると、再帰的にディレクトリの中身のファイルの権限を全て変更できる。
    例:chmod -R 766 .

権限の詳細はls -lで確認することができる。

chown

change ownerの略 ファイルやディレクトリの所有者とグループを変更する。

-Rで指定したディレクトリ配下すべてのファイルとサブディレクトリに適用できる。

例:chown user:group filename

ps

process statusの略 OS上で起動しているプロセスを表示する。

主なオプションに-e (everything)や-f (full) があり、それぞれ「全てのプロセスを表示」「詳細を表示」するために使われる。

kill

プロセスを終了する。

プロセスの指定にはpsコマンドで表示されるPIDを用いる。
-9というオプションで強制終了させることができる。

例:kill -9 PID