host名を設定

IPをいちいち覚えていられないので,
host名を設定する。

  1. vim /etc/hostsで下記の書式に従って設定を追加する。
    1. IPアドレス 任意のhost名

WordPressの新しいエディタ正直使いにくい。

以上

AWSで簡単にwebサイトを

新しくデザインパターンの勉強でもしようかと思って,
Webサイトを作ったので導入方法だけまとめとく

1. lightsailでインスタンスを作成する。

詳細は省略

centosで作った。

2. sshで接続する

ブラウザでも接続できるけど,動きがモッソリしているのでgit-bashで接続した。

  1. アカウントページからpemファイルをダウンロード
  2. 任意の場所に保存(~/.ssh/hoge.pem)
  3. ssh -i ~/.ssh/hoge.pem user@host

3. (L)AMPのインストール

sshで入った後に,

sudo yum install -y httpd

sudo yum install -y mysql-server

sudo yum install -y php

でインストールできる。(mysql-serverはインストールできなかった。)

4. デーモン起動

sudo service httpd start

5. 接続確認

任意のブラウザでhttp://(ホスト名)にアクセスする。

6. 動作確認

サーバ内の/var/www/html/にindex.phpなりindex.htmlなりを作成し,再アクセスする。


今回はgithubのリポジトリから落としてくるように設定した。

7. gitのインストール

サーバ側で,sudo yum -y install git

8. Githubに公開鍵を登録

cd ~/.ssh/

ssh-keygenでEnter連打

cat ~/.ssh/id-rsa.pun

コピった文字列をgithubに登録する。

9. リポジトリをclone

git clone git://github/hogehoge

 

本当にサクッと動くもの作るだけだから,セキュリティとかは保証しない。

以上

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コマンドを使用する。

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で設定可能。

 

以上

~/.ssh/configについて

時間がないので10分で

Host: 任意のホスト名

HostName: ホスト名

Name: ユーザ名

Port: ポート番号

IdentityFile: 任意の鍵

ssh 任意のホスト名

で指定した接続が可能

以上

OSの再インストール

ディスプレイの調子がおかしかったので,
$sudo apt-get upgradeしたら,目も当てられないことになった。

勉強時間を削って頑張ったけど,治りそうもないので再インストールする。

一応,やったこと

  1. リカバリモードで起動(起動時にshiftキー連打)
    1. resume 通常の起動
      
      clean パッケージアーカイブの削除
      
      dpkg パッケージの修復
      
      failsafeX 標準グラフィックドライバー起動
      
      fsck ファイルシステムのチェック
      
      grub GRUB ブートローダーのアップデート
      
      netroot ネットワークに接続できる状態で Root になって Shell を起動
      
      root Root になって Shell を起動
      
      sysytem-summary システム情報の表示
  2. rootで,$apt upgrade やら $apt update やら実行 → ダメ

ということで,OSの再インストールをすることにした。

PCのスペックが

CPU: Intel Core2

メモリ: 3GB

なので,ubuntuの最新版は諦めて(64bit版しか提供されなくなったみたい。)

zorinOSなるものをインストールする。

手順はRufusでbootableUSBを作成し,BIOSでbootの設定をいじって起動する。

なぜかうまくいかないけど,なんとか家を出る時間までに終わればいいな。

以上

 

linuxで.tar.gzファイルの展開

$tar vfxz hoge.tar.gz

解説

tarファイル

パッケージファイル

gzファイル

圧縮ファイル

なので

tar.gz -> パッケージを作成して、圧縮したファイル

展開するとき

.tar.gz

$tar vfxz hoge.tar.gz

.tar

$tar vfx hoge.tar

.gz

$gzip hoge.gz

作成するとき

.tar.gz

$tar vfcz hoge.tar.gz hoge.txt fuga,txt

.tar

$tar vfc hoge.tar hoge.txt fuga.txt

.gz

$gzip hoge.tar

解説

  • manコマンドから抜粋
-x, --extract, --get
アーカイブからファイルを抽出する

-v, --verbose
処理したファイルの一覧を詳しく出力する


-f, --file [HOSTNAME:]F
Fというアーカイブ・ファイルまたはデバイスを使う(デフォルト
は/dev/rmt0)


-z, --gzip, --ungzip
アーカイブをgzipにフィルターする


-c, --create
新しいアーカイブを作成する

以上