- shibata
- May 19, 2018
- Tags
shellコマンドについて調べてみた
1からshellコマンド
shellについて再度一から勉強
開発をしているとshellを頻繁に使う機会が少なく忘れてしますので、再度勉強もかねて、shellについて調べてみることにしました。間違いもあるかと思います。 その場合はご指摘お願いいたします。
shellとは
shellはオペレーティングシステム (OS) のユーザーのためにインタフェースを提供するソフトウェアであり、カーネルのサービスへのアクセスを提供する。それだけではなく、この用語は非常にゆるやかに応用され、特定のコンポーネントの周辺に構築された任意のソフトウェアを含むこともある。OSの内部(カーネル)とユーザーの間にある外殻であることから、このように呼ばれる。
shellの種類
shellと一括りでまとめられますが、色々種類があります。 ・sh
Bourne Shell(ボーンシェル)は、AT&Tベル研究所のスティーブン・ボーンが開発した、Unix Version 7 のUnixシェルである。 ・bshell Unixシェルかつコマンド言語(英語版)であり、GNUプロジェクトにおけるBourne Shellのフリーソフトウェアによる代替としてブライアン・フォックス(英語版)によって作成されたシェル。 ・cshell C shell(シーシェル、csh)は、カリフォルニア大学バークレー校の大学院生だったビル・ジョイが1970年代後半に開発したUnixシェルである。 上記以外にもKornShell、Z Shellなど色々あります。
コマンドラインの操作方法を説明します。
ctrl+a
行の先頭への移動
ctrl+b
一文字後方への移動
ctrl+d
カーソル位置の文字を削除
ctrl+e
行の最後への移動
ctrl+f
一文字前方への移動
ctrl+h
カーソル位置の前方の文字を削除
ctrl+k
カーソル位置から後方の文字をすべて削除
ctrl+l
画面の表示を消去
ctrl+n
一つ前のコマンド履歴を表示
ctrl+p
次のコマンド履歴を表示
ctrl+u
カーソルから前方の文字をすべて削除
ctrl+y
最後に削除した内容を挿入
ctrl+w
スペース区切りで前方の単語を削除
コマンドの説明
では本題のコマンドについて説明していこうと思います。 オプションについては利用頻度の高いもののみ記載しています。pwd
カレントディレクトリの表示
cd [ディレクトリ]
カレントディレクトリの変更
ls [オプション] [ファイル名]
ディレクトリ内のファイルを表示
・オプション
-a ファイルやディレクトリ以外にファイル名の先頭に.がつくものも含めてすべてを表示する
-l ファイルタイプ、ファイルパーミッション、ハードリンク数、所有者、所有グループ、ファイルサイズ、タイムスタンプを表示する
-t タイムスタンプが新しい順に並べて表示する
-r ソートの順序を逆にして表示する
chmod [オプション] [rwx] ファイル名
ファイルのファイルパーミッションを変更する
まずここではファイルパーミッションについて説明します
・ファイルタイプは以下になります
- ファイル
d ディレクトリ
l シンボリックリンク
・ファイルモード
最初の三文字がオーナー、次の三文字がグループ、最後の三文字がその他のグループになります
・パーミッション記号とその意味は以下になります
r 読み取り(read)
w 書き込み(write)
x 実行(execute)
・権限の付与方法
+ 権限を追加する
- 権限を削除する
= 指定した権限と等しくする
・以下の使用例となります
chmod +w ファイル名 ファイル名の書き込み権限を追加
chmod -r ファイル名 ファイル名の読み取り権限を削除
また数字指定によるパーミッションの変更もできます
読み取り(r) 4
書き込み(w) 2
実行(x) 1
viについて説明します
viは標準のテキストエディタになります テキスト入力モードとコマンドモードの2種類があり、テキスト入力はテキスト入力モードで実行し、それ以外のカーソル移動、検索、置換、削除、コピー&ペーストなどの処理についてはコマンドモードで実行します。では操作方法について説明していきます
vi [ファイル名]
ファイルを開く
・テキスト入力モードへの切り替え方法
a カーソルの次の位置からテキスト入力
i カーソルの前からテキスト入力
o カーソルと次の行の間にテキスト入力
I 行の先頭からテキスト入力
A 行の末尾からテキスト入力
O カーソルと前の行の間にテキスト入力
・コマンド入力モードへの切り替え方法
escキー コマンドの入力モードへ切り替え
・カーソル移動に関するコマンド
b カーソルを前の単語の先頭に移動
e カーソルを単語の末尾に移動
h カーソルを前の文字に移動
j カーソルを次の行に移動
k カーソルを前の行に移動
l カーソルを次の文字へ移動
w カーソルを次の単語の先頭に移動
^ カーソルを行の先頭に移動
$ カーソルを行の最後に移動
その他にもまだまだたくさんのコマンドがありますが、その他の説明はまたの機会に書いていこうと思います。
Comments
Add your comment