•   shibata
  • 2018年05月19日
  • タグ Shell Script

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 カーソルを次の単語の先頭に移動
 ^ カーソルを行の先頭に移動
 $ カーソルを行の最後に移動
その他にもまだまだたくさんのコマンドがありますが、その他の説明はまたの機会に書いていこうと思います。

記事のサブ画像




関連リンク(参照ブログ等)

コメント

コメントを追加

user-symbol

Stay in touch

ビジネスおよび開発者向けの実用的な最新情報をご希望ですか?

ソースコードプロジェクトに対するPieceXコミュニティのニーズについてご提供します。

PieceXの最新の無料コミュニティコードプロジェクトをいち早くお知らせします。