バックエンド開発者が知っておくべきLinuxの基本コマンド
バックエンド開発者であれば、Linuxを使用することがほとんどないかもしれません。そのため、バックエンドの初心者にとってLinuxコマンドはなじみがないかもしれません。コマンドは多岐にわたるため、最初からすべてのコマンドを覚えて使用することは難しいです。そこで、バックエンド開発者が必ず知っておくべき、よく使用されるコマンドの使い方をまとめてみました。これだけ抑えれば、コマンドの入門はクリアできるでしょう。他のコマンドに関しては、実務で直面したり、関連する書籍を通じて学習することができます。
注記: Linuxでは大文字と小文字を区別します。すべてのコマンドは小文字で入力します。一部のオプションでは大文字を使用することもあります。
1. pwd
pwd
コマンドは”print work directory”の略で、作業中のディレクトリを表示します。
$ pwd
/Users/gyus
2. ls
ls
コマンドは”list segments”の略で、現在のディレクトリのファイルとディレクトリを表示します。通常、オプションとして-a
、-l
などが一緒に使用されます。
ls -l : ファイルの詳細情報を表示
ls -a : 隠しファイルを表示
ls -t : 新しいファイルから表示
ls -rt : 古いファイルから表示
ls -F : ファイルの種類を示す文字を表示 (/ ディレクトリ, * 実行ファイル, @ シンボリックリンク)
ls -R : サブディレクトリの内容も表示
通常、これらのオプションを組み合わせてls -al
、ls -alt
、ls -altF
などの形で使用します。
3. cd
cd
コマンドは”change directory”の略で、ディレクトリを移動するために使用されます。
cd ~ : ホームディレクトリに移動
cd .. : 親ディレクトリに移動。`cd ../../`のように複数のステップを一度に移動できます
cd /dir : 絶対パスを指定して移動
cd – : 直前のディレクトリに移動
4. mkdir
mkdir
コマンドは”make directory”の略で、ディレクトリを作成するために使用されます。
# <name>という名前のディレクトリを現在のディレクトリに作成します。
$ mkdir <name>
# -pオプションでサブディレクトリも一度に作成できます。
$ mkdir -p <dirname>/<subdirname>
5. cp
cp
コマンドは”copy”の略で、ファイルやディレクトリをコピーするために使用されます。
# sourceをtargetにコピーします。
$ cp source target
# 既にtargetファイルが存在する場合、上書きします。
$ cp -f source target
# ディレクトリをコピーする場合に使用します。サブディレクトリもすべてコピーされます。
$ cp -R sourceDir targetDir
6. mv
mv
コマンドは”move”の略で、ファイルやディレクトリの位置を移動するために使用されます。また、名前を変更する際にも使用されます。
# afileの名前をbfileに変更します。
$ mv afile bfile
# afileを親ディレクトリに移動します。
$ mv afile ../
# afileを/opt以下のディレクトリに移動します。
$ mv afile /opt/
7. rm
rm
コマンドは”remove”の略で、ファイルやディレクトリを削除するために使用されます。
# afileを削除します。
$ rm afile
# ディレクトリadirを削除します。削除時に確認が求められます。
$ rm -r adir
# ディレクトリadirを削除します。削除時に確認しないで削除します。
$ rm -rf adir
# txtで終わるすべてのファイルを削除するか確認しながら削除します。
$ rm -i *.txt
8. cat
cat
コマンドは”concatenate”の略で、ファイルの内容を表示するために使用されます。
# test.txtファイルの内容を表示します。
$ cat test.txt
9. touch
touch
コマンドは、空のファイルを作成するために使用されます。また、ファイルの日付と時刻を変更する際にも使用されます。
10. echo
echo
コマンドは、特定の文字列を表示するために使用されます。echo
とリダイレクションを使用してファイルを作成したり追加したりする作業にもよく使用されます。
11. ip addr / ifconfig
Linuxに接続されているIP情報を確認するために使用されます。
12. ss
ss
コマンドは”socket statistics”の略で、ネットワークの状態を確認するために使用されます。通常、netstat
というコマンドも使用されますが、最近では主にss
コマンドが使用されています。オプションとしてa、t、u、l、p、nなどがあります。
13. nc
nc
コマンドは”netcat”の略で、以前はポートが開いているかどうかを確認するためにtelnet
コマンドを使用していましたが、現在では主にnc
コマンドが使用されています。
14. which, whereis, locate
which
コマンドは特定のコマンドの場所を表示します。locate
コマンドはファイル名をパターンとして高速に検索します。
15. tail
tail
コマンドは、ファイルの末尾を表示します。ログファイルなどをリアルタイムで監視したい場合によく使用されます。
16. find
find
コマンドは、ファイルやディレクトリを検索するために使用されます。多くのオプションがありますが、よく使用されるものだけを紹介します。
17. ps
現在実行中のプロセスの一覧と状態を表示します。
18. grep
grep
コマンドは、特定のパターンに一致するコンテンツを検索するために使用されます。
19. kill
kill
コマンドはプロセスを終了するために使用されます。実際には、プロセスに終了シグナルを送信するだけです。
20. alias
alias
コマンドを使用すると、頻繁に使用するコマンドを短縮して使用できます。
21. vi / vim
vi
またはvim
は、多くのLinuxシステムにデフォルトでインストールされているテキストエディタです。バックエンド開発環境では、頻繁に使用されることがあります。最低限のvim
の使用方法を紹介します。
vi {ファイル名}
テキストファイルが存在する場合はその内容が表示され、存在しない場合は新しいファイルが表示されます。
編集モードに入るには、iまたはaキーを押します。
編集モードでテキストを追加したら、escキーを押してコマンドモードに戻ります。
コマンドモードで:wq
または:x
を入力し、Enterキーを押すと保存してvim
を終了できます。
カーソルの移動は、h(左)、j(下)、k(上)、l(右)キーを使用します。vim
はここで紹介したもの以上の強力な編集ツールです。熟練する価値があるため、さらに学習しておくことをお勧めします。
まとめ
これで、バックエンド開発者にとって重要なLinuxの基本コマンドを紹介しました。これらのコマンドを理解し、慣れることで、Linux環境での効率的な作業が可能になります。是非、実際の環境でこれらのコマンドを試してみてください。