はじめに
皆さんこんにちは、
プログラマとして開発をしているとさまざまな言語や環境に触れますが、
スマートフォンやWebアプリケーションを作っていく中で本線のプログラミング言語ではありませんが、
ここでは、
- ※
- 当稿でのシェルは多くのLinuxディストリビューションで利用されているbashを指します。BSD系で利用されているcsh, bashの拡張版とも言われるzshでは異なる可能性があります。
基本の操作
←
,→
カーソルの左右ではカーソル位置の移動を行いますが、↑
,↓
では前に実行したコマンドの履歴へのアクセスを行います。↑
で前のコマンドへ遡り、↓
で次のコマンドを表示します。
また、
←
,→
はCtrl+b
,Ctrl+f
、↑
,↓
はCtrl+p
,Ctrl+n
で操作できます。また、Ctrl+a
,Ctrl+e
で先頭/末尾に移動することも可能です。
1つずつ遡っていくことは効率が悪いですが、Ctrl+r
で検索することもできます。文字列を入れた状態でもう一度押すと更に履歴を遡れます。想定したコマンドが表示されるまで遡るか、Ctrl+r
を押しすぎ通りすぎてしまった場合はCtrl+s
で前の検索結果へ移動することができます。目標のコマンドが見つかったらenter
を押下し選択しましょう。
基本のコマンド
コマンドは各OSやシェルにさまざまなものが存在します。コマンド名はできるだけ短く省略するというポリシーのため、
man
まず最初に紹介するのはman
コマンド。これはmanual
の省略で、
UNIX系OSには各種コマンドのマニュアルが存在します。Google検索して出てきたコマンドをそのまま利用すると、
また、man
の利用方法自体もman man
として調べてみましょう。man
コマンドでの操作方法は次のless
コマンドと同様です。
- NAME
- 名前,タイトル
- SYNOPSIS
- 書式: オプションの書き方などがここにある
- DESCRIPTION
- 説明文
- OPTIONS
- コマンドのオプションの種類とその使い方
less
man
コマンドでも利用されている、
表示される内容は1画面で収まらない事が多いので、[space]
f
で次へと、b
で前へ、↓
[enter]
j
で下へと、↑
k
で上へと移動します。他にもスクロール方法はあるので、
ls
lsはlistの略です。ディレクトリのコンテンツリストを表示します。
使用例としてはls -Al
とし、-t
や-r
オプションを利用しましょう。
-t
は更新時間降順でソートします。更新時間でソートされたリストを-r
で昇順にソートしなおします。ソートするオプションは他にもあります。-S
はファイルサイズが降順、-X
は拡張子のアルファベット順でソートします。
cd
cdはchange directoryの略で現在居るディレクトリの変更をする際に利用します。
で任意のディレクトリへ、
で1つ上のディレクトリへ移動します。
cd
とだけ入力することで、cd ~
と同じようにルートディレクトリへ移動します。
また、cd -
とすることで前のディレクトリに移動できます。
mkdir
make directoriesコマンドはディレクトリを新たに作成するためのコマンドです。mkdir foo bar hoge
とすることで複数のディレクトリを作成できます。-m
オプションを利用し、mkdir -m 0755 test
と入力すれば、
また、
ではなく、-p
オプションを付け、
とすることで、
cp
cpはcopyの略でディレクトリやファイルをコピーするコマンドです。ディレクトリを中身ごとコピーする場合は-r
オプションが必要です。また、-p
のオプションを利用しましょう。
mv
mvはmoveの略でディレクトリやファイルを移動するコマンドです。以下のように使います。
移動だけではなく、
のように使います。
rm
rmコマンドはremoveの略でディレクトリやファイルを削除します。一度削除してしまうと、cp
と同じように-r
オプションが必要です。
cat
catコマンドはless
コマンドと同じようにファイルの内容を閲覧する際に利用されることが多いです。lessと違ってファイルの内容をそのままコマンドラインに出力します。このコマンドはconcatenateの略で、
とすることで2つのファイルをc.
に連結します。
また、cat
をそのままひっくり返したtac
があります。
最後に
紹介してきたコマンドはほんの一部で、ls
でできない再帰的にファイルを表示するのにファイル検索するfind
コマンドを利用したり、sort uniq
などで整形したり、grep
でファイル内の文字列を抜き出したりと、
何かを利用する際に調べるだけでなく、
また、