VirtualBox 5
 CentOS 7
 GNOME Desktop

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

CentOS 7 でunixコマンドを使用してみる。unixコマンドはシェル上で入力し、実行する。
GNOME Desktopでは、「端末」を実行することによりシェルが起動する。


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

[user@localhost ~]$

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


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

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

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

#ホームディレクトリに移動
$ cd              
$ pwd カレントディレクトリを表示
#カレントディレクトリを表示
$ pwd             
$ ls ファイルとディレクトリのリストを表示
#カレントディレクトリ直下のファイルとフォルダの一覧表示( 名称が.から始まる隠しファイルは表示されない )。
$ ls             

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

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

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

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

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

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

#更新日時で昇順にソートして表示される。
$ ls -l -t -r    
$ touch ファイル作成、ファイルの更新日時の変更
#カレントディレクトリの直下にtest.c、test1.c、test2.cというファイルを作成する
$ touch test.c test1.c test2.c   

#-mオプションをつけるとファイルの最終更新日時をシステム日時で更新する
$ touch -m test.c                
$ mkdir ディレクトリの作成
#カレントディレクトリの直下にfooというディレクトリを作成する
$ mkdir foo             
$ cp ファイル、ディレクトリのコピー
#test.c をtest1.cにコピー。-iオプションをつけると同名のファイルが存在する場合確認メッセージを表示する。
$ cp test.c test1.c -i     

#foo ディレクトリをコピーしてfoo1ディレクトリを作成する。
#-Rオプションを使用することでディレクトリ内のファイルなどもコピーされる。
$ cp foo foo1 -R           
$ mv ファイル、ディレクトリの移動
#test.c をfooというディレクトリの配下にtest.cというファイル名で移動する。
#-iオプションをつけると同名のファイルが存在する場合確認メッセージを表示する。
$ mv test.c foo/test.c -i    

#test.c を test1.cに変名する。
$ mv test.c test1.c -i       
$ rm ファイル、ディレクトリの削除
#ファイルを削除する
$ rm test.c test1.c

#書込み権限のないファイルを確認メッセージなしで削除する
$ rm test.c test1.c -f

#-dオプションをつけると対象がディレクトリになる。この場合空のディレクトリの場合のみ削除できる。
$ rm foo -d

#空でないディレクトリをディレクトリ配下のファイルなども含めて削除する。
$ rm foo -d -r

$ gedit テキストエディッタを起動
#test.cをテキストエディッタで開く
#& をつけないとシェル側でロックがかかるので & をつけるようにする。
$ gedit test.c &
$ ./ 実行形式のファイルを実行する
#sampleという実行形式のファイルを実行する
$ ./sample
$ ln シンボリックリンク(Windowsでいうところのショートカット)を作成
#-sオプションを指定するとシンボリックリンクを作成する。
#この場合カレントディレクトリの上の階層にあるtest.cというファイルのシンボリックリンクをtestという名称で作成している。
#gedit test で開いたファイルを編集すると、もとのtest.cの内容も更新される。
$ ln -s ../test.c test
$ chmod ファイルのパーミッション(権限)の変更
#test.cファイルについて全ユーザーに対して書き込み権限を付与する
# 他のパターンについてはこちらを参照
$ chmod a+w test.c
$ cat 複数のファイル内容を結合して表示
#test.c と test1.c の内容を結合して表示
$ cat test.c test1.c
$ find ファイル検索
#一般ユーザーで参照できないディレクトリは検索できない。
#.から始まる隠しファイルも検索対象となる。
#検索条件はダブルクォーテーションで囲むこと。でないとエラーになる場合があるため。

#*は任意の文字列で検索する
#ディレクトリに/を指定した場合、ルートディレクトリが検索対象
$ find / -name "*.log"

#?は任意の一文字で検索する
#ディレクトリに.を指定した場合、カレントディレクトリが検索対象
$ find . -name "aa?.log"

#[]内のいずれかの一文字で検索する。
$ find . -name "[ab]aa.log"

#範囲指定で検索する
$ find . -name "[0-9]aa.log"

#最後に修正されたのが10日前以内のファイル・ディレクトリを検索
$ find . -mtime -10

#最後に修正されたのが10分前以内のファイル・ディレクトリを検索
$ find . -mmin -10

$ grep ファイルの内容を指定パターンで検索
#test.cの内容のうちaaという文字列が含まれる行を検索
$ grep aa test.c
$ exit シェルを終了する
$ exit
$ コマンド > ログファイル名 コマンドの出力結果をテキストファイルにログ出力
#declareコマンドの結果を上書きモードでsuccess.logに出力する( ファイル名は任意 )
$ declare -F > /home/user/success.log             

#declareコマンドの結果を追記モードでsuccess.logに出力する( ファイル名は任意 )
$ declare -F >> /home/user/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
> /dev/null 標準エラー出力を表示しない
#標準エラー出力を表示しない
$ find / -name "*.log" 2> /dev/null       
$ date 日付を表示
#YYYY/MM/DD HH:MM:SS
$ date "+%Y/%m/%d %H:%M:%S"            

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

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

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

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

#TAR 形式+GZIP 形式のファイルの場合tar zxvfを使用して解凍する
$ tar zxvf 圧縮ファイル.tar.gz      


コマンドの先頭文字の一部を入力後、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