LinuCの勉強

パイプリダイレクト

0: 標準入力
1: 標準出力
2: エラー出力
3以降: プロセスが開いたファイル

リダイレクション(標準出力)

出力先を変更する場合

1 > hoge : hogeに標準出力のみを出力
2 > hoge: hogeに標準エラー出力のみを出力
& > both: bothに標準出力,標準エラー出力の両方を出力

リダイレクション(標準入力)

  1. cmd1 < fileA: fileAの内容をcmd1に取り込む
  2. cmd1 < fileA | cmd2: fileAの内容を標準入力からcmd1に
    取り込み出力結果をcmd2に標準入力で渡す。

特殊なファイルや記述

<< here document

cat << eos:指定した文字列が現れるまでの内容を,コマンドの標準入力として扱う。

dev/null

読み込むと常にEOFが返ってくる。


tac

ファイルの内容を最後の行から表示する。


tee

標準入力を別のコマンドとリダイレクトすると同時に,ファイルも格納することが可能。

利用方法

標準入力から読み込んだデータを標準出力とファイルに出力する。

nl /etc/passwd | tee myfile.txt| head -3

パスワードをmyfile.txtに出力すると同時に,先頭3行を表示する。


コマンド同士の結合について

cmd1;cmd2

cmd1実行後,終了コードに関係なくcmd2を実行

cmd1&&cmd2

cmd1の終了コードが0ならば,cmd2を実行

cmd1||cmd2

cmd1の終了コードが0でなければ,cmd2を実行

※ 終了コードは, echo $?で確認可能


grepコマンド

オプション

-v : パターンに一致しない行
-n: 行番号を出力
-l: パターンに一致するファイル名
-i: 大文字,小文字を区別しない


headコマンドに関して

  • デフォルトで10行分出力
  • -100 で100行出力

trコマンド

標準入力から,入力した文字を指定したフォーマットに変換する。

例) 小文字のアルファベットを大文字に変換する。

tr ‘a-z’ ‘A-Z’
キーボード入力: hello
出力: HELLO

例) -dオプションで一致した文字を削除する。

tr -d ‘my’
キーボード入力: My name is yuko
出力: M nae is uko

※ ファイル指定は不可


sedコマンド

  • 単語単位の変換や削除にはsedコマンドを使用する。

メモ

エンジニアのための時間管理術で書いてあったので
常に,メモとペンを持ち歩くことにした。

脳内のリソースをROMとして使用するよりは,RAMとして使用したほうがいい。というような理屈だった。
ROMとしての役割は,メモとペンで事足りるでしょ というようなことだった。結構,納得した。

確かに,悩み事や,タスクが溜まっていると目の前のことに集中できなくなるし,効率が悪い。
それなら,とっとと悩み事を潰すか,タスクを忘れないようにメモをして目の前のことに集中したほうがずっとスマートな生き方だ。
なので,紙とペン,おすすめ

メモを見返してみると意外と面白い。

  • たまに,コンビニでコーラ買って外で飲むと自由を感じて旨い。
  • 姉ちゃんが,すき家のテイクアウトで,ミニを二つ頼んで,2つとも食う話を思い出して一人で笑う。
  • 結局,すき家か吉野家にいってしまう。

とか,くだらないことを書くのも面白い。

以上

LinuCの勉強

メモ書きを転記

プロセス

実行中のプログラムのこと

  • システム上では,常に複数のプロセスが稼働している。
  • コマンド実行で,プロセスは産まれ,プログラムの終了とともに消滅する。

プロセスの生成に関する手順

新しいプロセスは,親プロセスが自分のコピーである子プロセスの生成をカーネルにリクエストし,次に生成された子プロセスの中身が新しいコードに入れ替わる。

プロセスに関連するコマンド

ps: プロセスの情報を表示する基本的なコマンド

pstree: プロセスの階層構造を表示する。

top: プロセスの情報を周期的にリアルタイムに表示する。

プロセスの優先度について

nice値

優先度を表現する指標

プロセスの優先度

CPUによる実行を待つ複数のプロセスのうち,どれを実行するか?

  • niceコマンドで優先度を変更して,実行する
  • 実行中のプロセスから変更する場合は,renice または top コマンドを実行する。

シグナルについて

  • SIGHUP(1): 端末の切断によるプロセス終了
  • SIGINT(2): 割込みによるプロセスの終了
  • SIGKILL(9): 強制終了によるプロセスの終了
  • SIGTERM(15): Default
  • SIGCONT(18): 一時停止したプロセスの再開

killコマンドについて

kill コマンドで,プロセスを指定する場合は,killallを使用する。

基本コマンドとファイル操作

シェル変数

設定されたシェルのみが使用できる変数
setコマンドで確認する。

環境変数

設定されたシェルとその子シェルで起動したプログラムが使用する変数
envコマンドで確認する。
declare -xまたは,exportで設定可能。

 

以上

エンジニアのための時間管理術を読んで

まず,今日はとてもいい日だった。
起きる時間は少し遅くなってしまったが,布団も干せたし
色々なものも捨てることができた。

本屋に行き,資格勉強でもしようかな と思っていたが,
ふと,下記の本が気になったので読んでみた。

エンジニアのための時間管理術

システム管理者がユーザからの依頼と開発を両立させる方法を考えていく本だった。

以前,客先常駐で社内SEとして,業務を行っていた時,
常にトラブル対応に追われて,開発が全く進まなかった。

まぁ,愚痴を言っても仕方ない。

この本の中に,
「プライベートでも仕事でも同じ方法でタスク管理すべき」との内容が書かれていた。

明日から実践しようと思う。
事細かに明日の予定を決めてGoogleカレンダーに入れておいた。

完璧にこなせるように準備を万端にして寝よう。

毎日頑張ろう。

以上