linux

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

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

ネットワーク関連のコマンド覚え書き

ゲートウェイのIPを調べる $ route -n IPアドレス、MACアドレス等を調べる $ ifconfig 同じLANに接続されているコンピュータのIPアドレス一覧を取得する # arp-scan -I <ネットワークデバイス(wlan0等)> -l コンピュータがどのLANに接続されているのか確認す…

シンボリックリンクの作成

シンボリックリンクとは、対象となるファイルやディレクトリへのパスが書かれた特殊なファイルである シンボリックリンクを作成・削除しても、対象には何も影響を与えない。 またリンク対象の実体ファイルを削除すると、リンクが壊れる。 シンボリックリンク…

gitの初期設定

gitに名前とメールアドレスを登録 $ git config --global user.name "<ユーザ名>" $ git config --global user.email "<メールアドレス>" gitで使用するエディタを定義 $ git config --global core.editor 'vim -c "set fenc=utf-8"'

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

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,メモ帳と言った対話型エディタとは異なり、ストリームエディタはファイルを加工して結果を標準出力に書き出す。 行を指定して削除 $ sed <数字>d ファイル名 でファイルの<数字>行目を削除できる 例1:1行目を削除 $…

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のファイルパーミッション覚え書き

linuxが提供するファイルパーミッション機能によって、ファイルの読み書きや実行、ディレクトリへの書き込みや削除をコントロール出来る。 1.ファイルのオーナーとグループ、パーミッションを確認 コマンド$ ls -lで、ファイルのオーナー(所有者)と、ファイ…

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

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

findコマンドでファイルを探す

linuxのfindコマンドの使い方 基本 $ find <検索の起点ディレクトリ> <オプション> <条件指定> 具体例 $ find . -name '*.txt' 意味: カレントディレクトリ以下に存在している、拡張子が.txtのファイルをすべて表示させる オプション -iname で大文字小文字…