Linux
初心者
Linuxコマンド

エンジニアが業務でよく使うLinuxコマンドまとめ

はじめに

iOSアプリを開発する機会が多く、API開発をすることがあってもコマンドを打つ機会が少なく、新卒で入社してから自分がLinuxコマンドをいかに知らずに今まで生きていたことに気付かされました。

ですので業務で使う機会の多かったLinuxコマンドを備忘録としてまとめてみました。
既によくまとまっている記事はたくさんありますが、完全に自分のよく使うコマンドの備忘録になると思います。

今後もエンジニアをしている限り増え続けるはずです。

ディレクトリ操作

pwd

カレントディレクトリの確認。自分は現在位置をすぐ忘れるので確認必須です。
最近はzshで常に表示するようにしています。

ls

ディレクトリに存在するファイルなどを表示してくれます。
隠しファイルは以下のコマンドで見れます。-lはなくても良いですけど付けてしまうことが多いです。

$ ls -la

ファイル操作

cp

ファイルをコピーします。

$ cp コピー元 コピー先

mv

ファイルの移動やリネームを行います

$ mv 移動元orリネーム前ファイル名 移動先orリネーム後ファイル名

cat

文字列を連結して表示できます。

# ファイルの内容を表示
$ cat ファイルパス
Option Description
-n 行番号を表示
-b 行番号を表示(空白行はのぞく)
-e 行末に「$」を表示

ファイルの内容を連結して新しいファイルを作成することも出来ます。

$ cat 連結したいファイル 連結したいファイル > 作成したいファイルパス

less

chmod

commig soon

which

コマンドが実行されているパスを調べます。

$ which php

history

コマンドの履歴を調べます。

SSH

SSH

$ ssh hostname

鍵を指定してSSH

鍵を~/.ssh/id_rsaに置いてる場合はデフォルトで何も指定する必要はありませんが、~/.ssh以外の場所から取ってくる時は以下のコマンドです

$ ssh -i 鍵パス hostname

ログインユーザーを指定する場合

$ ssh -l user hostname

scp

ファイルをサーバーとローカルとでやり取りする際に使います。

# ローカルからサーバーへファイルコピー
$ scp ローカルのファイルパス hostname:コピー先

# サーバーからローカルへファイルコピー
$ scp hostname:ファイルパス コピー先

ディレクトリの場合-rが必要です。

ログ関連

tail

ファイルの末尾を表示してくれるコマンドです。ログを見る時はだいたいこれ。
-fでコンソールに常時表示し続けてくれます。

$ tail -f ファイルパス

# 末尾から10行までを表示
$ tail -f -10 ファイルパス

head

tail とは逆に先頭行を表示してくれます。tailよりは使用頻度が少ない。

# 先頭から10行までを表示
$ head -f -10 ファイルパス

エラー対応

ps

プロセス実行状態を確認できます。エラーが発生した際など結構使う機会が多いです。
以下のコマンドで特定のプロセスを確認することが出来ます。

$ ps aux | grep プロセス名

kill

psコマンドで確認したプロセスを止める際に使用します。

検索

grep

文字列で検索を行います。

Option Description
-r 再帰的にサブディレクトリ下も検索
-i 大文字小文字を無視
-v 除外検索、指定文字列にマッチしないものを表示
-n マッチした行番号を表示

Linuxのディレクトリ構成

すぐにどこに何があるかわからなくなるので、Linuxのディレクトリ構成もメモ必須でした。
ここらへんのディレクトリは触る機会が多いので抑えておけばだいぶ楽になると思います。

/etc

ApacheやNginxの設定を変更する場合など、サーバーに関することはだいたいここらへん。
重要な設定だらけなので誤って操作してしまったら大事になるので注意

/bin

Linuxコマンドが入ってるディレクトリです。
全然意識することはないですが、とりあえずコマンドが格納されてると覚えておけばいいかと。

var

サーバーなどが置かれることが多いです。