VirtualBox 5
 CentOS 7

■CentOS でシェルコマンド Prev Top Next
関連ページ:

CentOS 7 でシェルを使用してみる。
シェルはLinuxにおいてコマンドプロンプトのようにコマンドを入力してその実行結果をテキストで表示する機能である。
GUI環境であれば、「端末」を実行することによりシェルが起動する。
シェルにはさまざまなものがあるが詳細はLinuxのシェルとコマンドプロンプトを理解しようを参照。
当ページでは bash を使用することとする。


シェルの表示内容について説明する。

[user@localhost ~]$

と表示されていると思う。これは[ログイン中のユーザー名@端末名 カレントディレクトリ]$ という意味となる。
~はホームディレクトリを示している。ホームディレクトリとは /home/ユーザー名フォルダ となっている。
また$は一般ユーザーでシェルを起動しているという意味である。管理者権限ユーザーの場合はここが#になる。


よく使うであろうコマンド一覧を示す。

$ cd ディレクトリの移動
$ cd /etc/abrt    #絶対パスを指定して移動

$ cd ..           #カレントディレクトリのひとつ上の階層に移動

$ cd              #ホームディレクトリに移動
$ pwd 現在のディレクトリを表示
$ pwd             #現在のディレクトリを表示
$ ls ファイルとディレクトリのリストを表示
$ cd /home/user

$ ls             #現在のディレクトリ直下のファイルとフォルダの一覧表示( 名称が.から始まる隠しファイルは表示されない )。

$ ls -a          #現在のディレクトリ直下のファイルとフォルダの一覧表示( 名称が.から始まる隠しファイルも表示される )。

$ ls -R          #現在のディレクトリ配下のファイルとフォルダを再帰的に一覧表示

$ ls -l          #現在のディレクトリ配下のファイルのパーミッション( アクセス権 )、所有者、グループ、サイズ( Byte )、更新日などの詳細を表示

$ ls -l -h       #サイズに単位をつけて表示

$ ls -l -r       #ファイル名で降順にソートして表示される。-r をつけない場合昇順で表示される。

$ ls -l -t       #更新日時で降順にソートして表示される。

$ ls -l -t -r    #更新日時で昇順にソートして表示される。
$ alias コマンドの別名( エイリアス )の確認と設定と削除
$ alias                                       #設定済みのエイリアスを一覧表示

$ alias move="cd /home/user/ドキュメント"     #moveというエイリアスを設定する

$move                                         #moveコマンドを実行する

$pwd

$ unalias move                                #エイリアスを削除する
$ function 関数名(){} 関数の確認と設定と削除
$ declare -F                                  #設定済みの関数名を一覧表示

$ function move(){ cd /home/user/$1; }        #moveという関数を設定する( functionはなくてもよい )

$ move ドキュメント                           #moveコマンドを実行する

$ pwd

$ unset move                                  #関数を削除する
$ コマンド > ログファイル名 コマンドの出力結果をテキストファイルにログ出力
$ declare -F > /home/user/success.log             #declareコマンドの結果を上書きモードでsuccess.logに出力する( ファイル名は任意 )

$ declare -F >> /home/user/success.log            #declareコマンドの結果を追記モードでsuccess.logに出力する( ファイル名は任意 )

# 標準出力( 1> )と標準エラー出力( 2> )を別ファイルに出力する。番号をつけない場合( > )は標準出力が出力される。
$ find / -name "*.log" 1> /home/user/success.log 2> /home/user/error.log

$ find / -name "*.log" &> /home/user/all.log      #標準出力と標準エラー出力をひとつのログファイルに出力
パイプ( | ) あるコマンドの結果を別のコマンドに渡す
#findコマンドの結果をteeに渡す。画面には標準出力と標準エラー出力が出力されるが、ログには標準出力のみ出力する。
$ find / -name "*.log" | tee /home/user/all.log

#findコマンドの結果をteeに渡す。画面とログの両方で標準出力と標準エラー出力が出力される。
$ find / -name "*.log" |& tee /home/user/all.log
$ tee 標準入力を標準出力とファイルに出力する
#findコマンドの結果を画面とログに上書きモードで出力する。
$ find / -name "*.log" |& tee /home/user/all.log

#findコマンドの結果を画面とログに追記モードで出力する。
$ find / -name "*.log" |& tee -a /home/user/all.log
$ find ファイル検索( 作成途中 )
#ルート配下にある拡張子が.log( ワイルドカードを指定 )のファイルを検索。
#一般ユーザーで参照できないディレクトリを検索するとエラーになる。
#.から始まる隠しファイルも検索対象となる。
$ find / -name "*.log"
> /dev/null 標準エラー出力を表示しない
$ find / -name "*.log" 2> /dev/null       #標準エラー出力を表示しない
$ free メモリの使用量を表示
$ free -b            #メモリの使用量をバイト単位で表示

$ free -k            #メモリの使用量をKバイト単位で表示

$ free -m            #メモリの使用量をMバイト単位で表示

$ free -s 60         #メモリの使用量を秒間隔で表示。左の場合1分間隔で表示

$ free -m -s 60 |& tee -a /home/user/$(date +%Y%m%d).log           #メモリの使用量を1分間隔でログに出力する。ファイル名は今日の日付。
$ date 日付を表示
$ date "+%Y/%m/%d %H:%M:%S"            #YYYY/MM/DD HH:MM:SS

$ date "+%Ec"           #和暦の年月日 時分秒

$ date "+%a"            #曜日の省略表記

$ date "+%A"            #曜日の完全表記

$ date "+%w"            #日曜日を0とした曜日のインデックス
$ () コマンドの結果を文字列に埋め込む
$ free -m -s 60 |& tee -a /home/user/$(date +%Y%m%d).log     # dateコマンドの結果をファイル名としてパスの文字列を生成
解凍 解凍
$ unzip 圧縮ファイル.zip            #zip形式のファイルの場合unzipを使用して解凍する

$ tar zxvf 圧縮ファイル.tar.gz      #TAR 形式+GZIP 形式のファイルの場合tar zxvfを使用して解凍する
$ java インストール済みのjavaのバージョンを調べる
$ java -version


コマンドの先頭文字の一部を入力後、Tabキーを押下することで補完入力される。
複数の候補が対象となった場合は、以下のようにリストが表示される。


CtrlやAltと組み合わせるとショートカットが使用できる。
ホットキーにCtrlを割り当てている場合は使用できないので注意。

Ctrl + A カーソルを行の先頭へ移動
Ctrl + E カーソルを行の末尾へ移動
Alt + B カーソルを1単語左へ移動
Alt + F カーソルを1単語右へ移動
Ctrl + K カーソル位置から末尾までを削除
Ctrl + U カーソル位置から先頭までを削除
Ctrl + W カーソル直前の単語を削除
Ctrl + Y 直前に削除した文字をカーソル位置に貼り付け


矢印キーの上下で過去に入力したコマンドの履歴を表示して、使用することができる。


Prev Top Next
inserted by FC2 system