LoginSignup
0
0

More than 1 year has passed since last update.

1週間で習ったことの復習(docker,linux,vim,git正規表現,sql)

Last updated at Posted at 2022-05-29

はじめに

直近1週間で習ったことをOutputします

Dockerに関して

Dockerとは

Dockerは、アプリケーションを開発、出荷、実行するためのオープンプラットフォームです。

Dockerを使用すると、開発者は、アプリケーションとサービスを提供するローカルコンテナーを使用して、標準化された環境で作業できるようになり、開発ライフサイクルが合理化されます。

参考:https://docs.docker.com/get-started/overview/

つまり、windowsやLinuxでも同じように開発環境を構築することができるので、環境によっておこる問題を少なくすることができます。

Dockerを勉強するために行ったこと

  1. DotInstall_Docker入門
  2. 独学エンジニア
  3. 公式ドキュメント

必要な基本情報

  • 基本的な流れ
    1. imageの取得(docker pull)
    2. containerの立ち上げ(docker run)
    3. 自分好みのimageの作成(docker commit)
    4. DockerIndexに登録(docker push)
  • Dockerfile
    • 新規にDockerイメージを作成するための手順を記したテキストファイル
  • docker-compose.yml
    • Dockerビルドやコンテナ起動のオプションなどを含め、複数のコンテナの定義が書かれている
  • docker run
    • 1つのイメージしか起動できない
  • docker-compose
    • webサーバ、DB、キャッシュなど複数のコンテナを作る場合に便利
    • 同じ構成の環境を別の環境に構築することが可能

dockerコマンド

コマンド   意味
docker ps 起動中containerの確認
docker ps -a すべてのcontainerの確認
docker ps -a -n=5 最新の5つだけ見たい時
docker container ls containerの確認
docker images imageの確認
docker rm [container id] 削除
docker logs [container id]  ログの確認
docker kill [container id] contianerをとめる
docker stop [container id] contianerをとめる
docker start [container id]  再開させる

docker-composeコマンド

コマンド   意味
docker-compose ps コンテナの起動状態を確認する
docker-compose logs [container id] コンテナのログを確認する
docker-compose up -d Dockerコンテナの起動
docker-compose down Dockerコンテナの停止・削除
docker-compose build Dockerイメージのビルド
docker-compose down Dockerコンテナの停止・削除
docker system prune --volumes Docker の不要なイメージ、コンテナ、ネットワーク、ボリュームを削除する

その他

コマンド   意味
-d バックグラウンドで走らせる
free メモリの状況を表示させるコマンド
-i インタラクティブモード
-t コンテナの中でterminalを立ち上げる

Dockerfile

# なんのイメージを元にするか記載する
FROM <image>

# 誰がつくったか
MAINTAINER tanu  <tanu@gmail.com>

# RUN: buildするときに実行される
RUN echo "now building..."

# CMD(コマンド): runするときに実行される
# CMD echo "now running..." <-この書き方もできるが未推奨
CMD ["echo", "now running..."]

Linuxに関して

  • MacOSのようなOSの1つ
  • オープンソースなので無料で使える

基本操作

コマンド   意味
ctr c リセットして次の行へ
ctr u リセット
ctr l 画面クリア
cd 移動(homeへ戻りたい時にも使える)
[tab] [tab] 候補の表示
--help help表示
cat file ファイルの中身確認

lsコマンド

コマンド   意味
ls 一覧表示
ls mysite/ ディレクトリの中身まで見れる
ls -alS サイズ順に表示
man ls 詳細を表示
* ワイルドカード
ls -l *.conf .confのみ表示
? 任意の一文字
ls -l s????? 「s」ではじまる6文字

作成

コマンド   意味
touch file ファイル作成
mkdir dir ディレクトリ作成
mkdir -p dir1/dir2 dir1の中にdir2を作成

削除

コマンド   意味
rm 削除
rm -r 強制削除
rmdir ディレクトリ削除

コピー

コマンド   意味
cp file1 file2 file1をfile2の名前でコピー
cp -r dir dir ディレクトリのコピー

実行中のコマンドの確認

コマンド   意味
ps 実行中のものを確認
kill <> 強制終了

その他

コマンド   意味
history コマンドの履歴表示
!3 historyの三番目を実行
!** 直近**に該当するコマンドを実行
!pw  直近でおこなった「pw」から始まるコマンドを実施
[--] --には英字がはいる
[ab]??? 「a」か「b」がる4文字
[f-h]* f~hで始まる項目
{sh,ho}* -. sh, ho からはじまる項目

アクセス権限

ls -l

↓

-rw-r--r--
コマンド   意味
r read
w write
x execute(実行可能)

Vimに関して

  • terminalからコマンドを操作するテキストエディタ
  • vi index.html のような形で呼び出す

Vimの勉強方法

  • terminalでvimtutorと入力することでVimの基本操作に関して学ぶことができる

カーソルの移動

コマンド   意味
h 左方向
j 下方向
k 上方向
l 右方向

保存と編集

  • 本当に重要
  • 最初、操作方法がわからず本当に焦った
コマンド   意味
ESC ノーマルモード
i 入力モード(カーソルの前)
a 入力モード(カーソルの後ろ)
: コマンドモード
v 選択モード
:q quit
:w 保存
:w [**] 名前を付けて保存
:wq 保存
:q! 強制終了
:e [**] 他のファイルを開く
p ペースト
yy コピー

削除

コマンド 意味
x 削除
dd 行単位で削除
3dd 3行削除

ビジュアルモード

コマンド 意味
v 文字単位を選択できる
shift v 行単位で選択
ctr v 矩形選択

検索

コマンド 意味
/[*] *を検索
n 下方向へ検索
N 上方向へ検索
* 今カーソルがある位置の単語を検索(上方向
# 今カーソルがある位置の単語を検索(下方向

その他のコマンド

コマンド 意味
gg 先頭に戻る
G 一番最後に飛ぶ
ctr f 1画面上に
ctr b 1画面下に
w 単語ごとに飛ぶ
b 1つ前の単語に飛ぶ
^ 行の先頭へ
$ 行末へ
f [*] *の文字まで飛ぶ
%({}などの上で) 対応するカッコに飛ぶ

Gitに関して

Gitとは

  • バージョン管理システム
  • 基本的な流れ
    • リポジトリから最新のバージョンを取得して、作業ディレクトリを作成して、作業をする。作業が終わるとステージングエリアに格納して、リポジトリへpushするというよう流れ

公式サイト

Gitのコマンド

コマンド 意味
git init 初期化
git branch ブランチを表示
git checkout -b branch branchの作成と移動
git checkout branch branchへ移動
git log ログの確認
git log --oneline 1行で履歴を見る
git status 変更状況の確認
git add . 変更をステージングに追加
git commit -m comment commentでコミット
git push origin branch リモートリポジトリへコミット内容を送信
git reset --hard HEAD 直前の状態に戻す
git reset --hard git logのID 特定の位置のlogまで戻したい時
git reset --hard ORIG_HEAD git resetをした後に再度戻りたい場合
git branch -d branch branchの削除
git stash save 一時的に退避

基本的な流れ

作業をする際に必要な流れに関して

  1. 現在のブランチから自分用の作業ブランチを作成
  2. ファイルの変更/確認
  3. git addで追加
  4. git commit でコミット
  5. git pushでコミット内容を送信
コマンド 意味
git checkout -b branch branchの作成と移動
git status 変更状況の確認
git add . 変更をステージングに追加
git commit -m comment commentでコミット
git push origin branch リモートリポジトリへコミット内容を送信

Git Hubとの連携に関して

  1. GitHub->設定->Developer settings -> Personal Access tokensでtokenを発行
  2. git hubでリポジトを作成
  3. 以下のコマンドの実行
git remote add origin https://github.com/<UserName>/<リポジトリ>
git branch -M main
git push -u origin main
passwordの入力欄に発行したTokenを入力
git remote -v //remoteの接続状況を確認できる

また、gitはディレクトリごとにgitと接続する必要があるので、新しくリポジトリを作成したら以下のコマンドを実行する必要がある

echo "# <リポジトリ>" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/<User Name>/<リポジトリ>.git
git push -u origin main
git branch 
→ mainなどと表示されていれば接続完了

正規表現

基本的な正規表現

コマンド 意味
. 開業を除く任意の一文字
\. 「.」を検索
\d 0-9
\w a-z, A-Z, 0-9, _
\s スペース、改行、タブ
\D 0-9 以外
\W a-z, A-Z, 0-9, _ 以外
\S スペース、改行、タブ 以外
\t タブ
\n 改行

量指定子

コマンド 意味
{n} n個
{min, max} min異常、max以下
{min,} min以上
? 0、1
+ 1個以上
* 0個以上

アンカー

コマンド 意味
^ 最初のみ
$ 末尾
\b 単語の境界
^\d 最初の数値のみ検索
\d$ 末尾の数値を検索
\bseki\b 「seki」のみを検索

SQLに関して

  • データベースの操作
  • ここでは基本的な部分のみ記載

CREATE

CREATE TABLE posts (
  id INT NOT NULL AUTO_INCREMENT,
  message VARCHAR(140),
  likes INT,
  PRIMARY KEY (id)
);

INSERT

INSERT INTO posts (message, likes, category) VALUES
  ('Thanks', 12, "Gadget"),
  ('Arigato', 4, "Business");

SELECT

SELECT * FROM posts;
SELECT * FROM posts where id = 1;

DELETE

DELETE FROM posts WHERE likes < 10;

UPDATE

UPDATE
  posts
SET
  likes = likes + 5,
  message = UPPER(message)
WHERE
  likes >= 10;
SELECT * FROM posts;
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0