shell

Pythonコードの中でシェルを使う

Pythonのスクリプトの中からシェルのコマンドを呼び出して使う。 $ python >>> import commands >>> commands.getoutput("<任意のコマンド>")

ファイルのアーカイブと圧縮とパスワード保護

tarコマンド 用途 ファイルをアーカイブ(まとめる)する アーカイブファイルの作成 $ tar cf <アーカイブファイル> <アーカイブ元のファイルパス> アーカイブファイルの内容を確認する $ tar tf <アーカイブファイル> アーカイブファイルの展開 $ tar xf <ア…

bashのブレース展開で連番のファイルを作成

bashではブレース展開を用いることで、連番のファイルを作成することが出来る {<開始>..<終了>} 例1 001.txtから020.txtまでを作成 $ touch {001..020}.txt $ ls 001.txt 003.txt 005.txt 007.txt 009.txt 011.txt 013.txt 015.txt 017.txt 019.txt 002.txt …

シェルスクリプト覚え書きその2 制御構造編

条件分岐 if文 例:ひとつ目の引数が1ならYES,そうでないならNOと出力 #!/bin/bash if [ "$1" = "1" ] ;then # [,],=の前後にスペースが必要 echo "YES" else echo "NO" fi 比較 文字列の比較 str1 = str2 str1とstr2が等しい str1 != str2 str1とstr2が等し…

シェルスクリプト覚え書き シェル変数と引数 編

変数関連 変数の定義 file=/media/usr-name/ 変数名に使えるのは アルファベット、数字、アンダースコアのみ 変数の参照 変数の値を参照する際には、変数名の前に$をつける。 echo $file /media/user-name/ コマンド置換 コマンド置換を利用することで、コマ…

シェルスクリプトをどこからでも実行できるようにする

通常シェルスクリプトは、シェルスクリプトが存在しているディレクトリで$ ./hoge.shとタイプすることで実行する これを、どのディレクトリからでも、シェルの名前だけで実行できるように設定する シェルスクリプトを保存しておくディレクトリを作成 $ mkdir…

sedの使い方

sed はストリームエディタの略 vimやEmacs,メモ帳と言った対話型エディタとは異なり、ストリームエディタはファイルを加工して結果を標準出力に書き出す。 -i オプションで上書きする。 行を指定して削除 $ sed <数字>d ファイル名 でファイルの<数字>行目を…

grepの拡張正規表現

grepコマンドの-Eオプションを利用することで、拡張正規表現を用いることが出来る 1回以上の繰り返し ‘+'で直前の文字の一回以上の繰り返しを意味する 例 grep -E 'Be+r' = Ber,Beer,Beeeer … 0回または1回の繰り返し ‘?'は直前の文字の0または1回の繰り返し…

grepやvimで使える正規表現

$ grep [オプション] <検索パタン> <ファイル名>で、ファイルからパタンに一致する内容がある行を抽出 例: /etc ディレクトリから'cron'に一致する内容を抽出 $ ls /etc | grep cron anacrontab cron.d cron.daily cron.hourly cron.monthly crontab cron.w…

便利なフィルタコマンド覚え書き

head 標準入力の先頭数行を表示 -n <数字> : 指定した行数を出力 tail 標準入力の末尾数行を出力 -n <数字> : 指定した行数を出力 -f <ファイル名> : 指定したファイルにリダイレクトで追記(>>)があるとリアルタイムで表示 grep 指定した検索パタンに一致す…

リダイレクトやパイプラインにエラーを渡す

標準入力元・標準出力先に何らかのファイルを指定するのがリダイレクト 標準出力先をfileにする > file 標準エラー出力先をfileにする 2> file 標準出力・標準エラー出力先をfileにする > file 2>&1 標準出力を別のコマンドに渡すのがパイプライン 1.標準エ…

linux ジョブとプロセス覚え書き

用語集 プロセス メモリ上で実行状態にあるプログラムで、カーネルから見た処理の単位 デーモン バックグラウンドで実行される、ターミナルに接続されていないプロセス ジョブ シェルから見た処理の単位 プロセスの確認 $ psコマンドでプロセスの一覧を確認 …

linuxのターミナルの言語環境を変更する

日本語環境だと文字化けしてしまう場合などに。 現在のロケールを調べる $ echo $LANG システムがサポートしているロケールを調べる $ locale -a 言語を切り替える $ LANG=en_US.uft8(スペースを挟まない)