これだけは覚えておきたいLinuxコマンド10選
この記事を書こうと思ったのは、私の下に配属される新人にLinux使ったことあるか?と聞くと、毎年ほとんどの新人が使ったことがないというのです。
まぁ、そんな私も入社して最初のプロジェクトでシェルスクリプトを書きまくるまではまったく知りませんでしたが・・・
毎年同じようなことを教えているので、とりあえずエンジニアとして最低限これだけは覚えておいたほうがよいコマンドを10個厳選して紹介したいと思います。
Windowsユーザが始めてLinuxを使うことになったことを想定していますので、コマンドは超基本中の基本のものだけをピックアップしました。
ちなみに独断と偏見で選んでいますので、いやいや、このコマンドは最初に知っておいたほうがいいでしょ!というものがあったら是非コメント欄に書いて頂けると嬉しいです。
pwd – 現在位置表示
Print name of current/working directory.
現在のフォルダを表示します。
(Windowsユーザを読者想定としているためディレクトリはフォルダと記載することにしました)
Windowsだとエクスプローラーを使えば、今どこのフォルダを開いているかわかりますが、CUIだと現在位置がどこなのか?というのがファイル操作をする上で重要になってきます。
このコマンドを実行すると、現在どのフォルダにいるのかがわかります。下の例では、/home/battanというフォルダにいるということがわかります。
ちなみに現在いるのフォルダのことをカレントディレクトリと言います。
user@host:~$ pwd
/home/battan
ls – ファイル表示
List directory contents.
カレントディレクトリのファイル一覧を表示します。Windowsのdirコマンドのイメージです。
user@host:~$ ls
/home/battan
ファイル一覧はさまざまな形式で表示することができます。どう表示するかは、オプションで指定します。
よく使うオプションは、-l で、ファイル名、タイムスタンプ、ファイルサイズなどが確認できます。また、NTFSで言うところのアクセス権限とファイル所有者も確認できます。
user@host:~$ ls -l
合計 8
drwxrwxr-x 2 battan battan 4096 1月 3 17:32 directory01
-rw-rw-r-- 1 battan battan 0 1月 3 17:33 emptyfile
-rw-rw-r-- 1 battan battan 5 1月 3 17:32 textfile.txt
cd – フォルダ移動
Change the shell working directory.
指定したフォルダへ移動します。次の例ではdirectory01フォルダの中へ移動しています。
◆現在位置確認
user@host:~/work$ pwd
/home/battan/work
◆directory01フォルダへ移動
user@host:~/work$ cd directory01
◆directory01に移動していることを確認
user@host:~/work/directory01$ pwd
/home/battan/work/directory01
よく使う移動先としては次のようなところがあります。
◆1つ上のフォルダ階層へ移動
$ cd ..
◆2つ上のフォルダ階層へ移動
$ cd ../..
◆ホームディレクトリ(フォルダ)へ移動
$ cd
または、 $ cd ~
◆テンポラリフォルダへ移動
$ cd /tmp
◆ログフォルダへ移動
$ cd /var/log
mkdir / rmdir – フォルダ作成/フォルダ削除
Create the Directory(ies). / Remove the Directory(ies).
フォルダの作成と削除ができます。次の例では、folderという名前のフォルダを作成して、その後削除しています。
◆フォルダ作成
user@host:~/work$ mkdir folder
user@host:~/work$ ls -l
drwxrwxr-x 2 battan battan 4096 1月 3 18:37 folder
◆フォルダ削除
user@host:~/work$ rmdir folder
user@host:~/work$ ls -l
合計 0
cat – ファイルの中身を表示
Concatenate FILE(s) to standard output.
ファイルの中身を表示できます。
◆hoge.txt の中身を表示する
$ cat hoge.txt
◆途中でスクロールを止めて中身を表示する
$ cat hoge.txt | more
echo – 引数の内容を表示
指定した文字列を出力するコマンドです。
たったこれだけのコマンドなので、これ意味があるの?という感じですが、シェルスクリプトでプログラミングする時に標準出力へのメッセージ表示に使ったり、指定した文字列をファイルに出力する際によく使います。
$ echo hoge
hoge
手打ちで使うシーンでは、このようにちょっとした文字列をファイルに書き込んだりする時に使います。
◆文字列 hoge を piyo.txt へ出力
$ echo hoge > piyo.txt
◆piyo.txt ファイルの中身を表示
$ cat piyo.txt
hoge
mv – ファイル・フォルダの移動、名前変更
ファイルやフォルダの移動、名前の変更ができます。
ファイル、フォルダの移動
次の例では、hoge.txtファイルを /tmp ディレクトリへ移動します。このように移動先にフォルダを指定すると、そのフォルダ内にhoge.txtが移動します。hoge.txtの代わりにフォルダを指定するとフォルダごと移動することもできます。
◆hoge.txtファイルを/tmpフォルダへ移動
user@host:~/work$ mv hoge.txt /tmp
◆Folder1フォルダを/tmpフォルダへ移動
user@host:~/work$ mv Folder1 /tmp
ファイル、フォルダ名の変更
名前を変更する場合は、第一パラメータに変更対象のファイルまたはフォルダ名を指定し、第二パラメータに新しい名前を指定します。
◆hoge.txtファイルをhoge.bakという名前に変更
$ mv hoge.txt hoge.bak
◆Folder1をFolder2に変更
$ mv Folder1 Folder2
このようにフォルダ移動と名前変更を同時に実行することもできます。
◆hoge.txtファイルをhoge.bakという名前を変えて /tmpフォルダへ移動する
$ mv hoge.txt /tmp/hoge.bak
cp – ファイル・フォルダのコピー
ファイルやフォルダのコピーができます。
◆hoge.txtをhoge.txtにコピー
$ cp hoge.txt hoge2.txt
◆コピー先フォルダを指定してコピー
$ cp hoge.txt /tmp
◆コピー先フォルダを指定し、更に別名でコピー
$ cp hoge.txt /tmp/hoge2.txt
rm – ファイル・フォルダの削除
ファイルやフォルダの削除ができます。
◆hoge.txt ファイルを削除
$ rm hoge.txt
◆Folder1 フォルダとその中のフォルダ及びファイルを削除
$ rm -r Folder1
vi (vim) – テキストエディタ
vim – Vi IMproved, プログラマのテキストエディタ
CUI上で設定ファイル、テキストファイル、プログラムを書く場合に使います。
操作性が特殊なのでWindowsユーザは特に最初戸惑うと思います。よくWinSCPなどを使って一度ローカルに落として編集している方を見かけますが、エンジニアであれば、サーバー上で直接編集できるようにしておいた方がよいでしょう。
体一つでサーバールームに放り込まれることもありますので、緊急時に備えて使えるようになって置いたほうがよいと思います。
使い方については別の記事で細かく書いていますので、こちらを参照してみてください。
まとめ
今回紹介したコマンドは基礎中の基礎です。一応これでUnix/Linuxサーバ内の探索ができて、ファイルの基本的な操作ができるようになりましたが、まだまだ強力なコマンドがたくさんあります。
そしてそれらを組み合わせて使うことでできることが格段に増えます。ニーズがありそうなら第二弾を書きたいと思います。それではまた!
コメント