- 投稿日:2020-11-13T14:44:15+09:00
Linux,conda,ssh,git 関連個人的メモ
Linux,conda,ssh,git 関連個人的メモ
あまりにも技術力がなさすぎてあらゆる媒体で僕の知識不足が露呈しました。
自分が調べたそれぞれの基礎コマンドをまとめました。基本的には僕のメモ代わりなので、詳細な説明はありません。
随時追加していきます。ssh関連
ssh起動方法
$ ssh [ユーザー名]@[ipアドレス]ipアドレスは172.16. で続くアレ
Linux関連
ディレクトリの移動
$ cd ディレクトリ名前のディレクトリ戻る
$ cd ..ディレクトリ内のファイル表示
$ lsファイル削除
$ rm ファイル名ディレクトリ削除
$ rm -r ディレクトリ名簡単にディレクトリが消せたらまずいから特殊なコマンドが必要なのかもしれない
ディレクトリ作成
$ mkdir ディレクトリ名ディレクトリ指定諸々
$ ./ # カレントディレクトリ $ ../ # 親ディレクトリ $ / # 最上位、の意味のルートconda関連
condaのコマンドで、-eや-nという条件を追記するときがあるが、これは省略表記。
--env 、--name ともそれぞれ書くことができる。conda環境確認
$ conda info -econda環境作成
$ conda create -n 環境名conda環境削除
$ conda remove -n 環境名 -allconda環境起動
$ conda activate 環境名conda環境閉じる
$ conda deactivateライブラリインストール
$ pip install ライブラリ名ライブラリ名の後に==を入れればバージョンを指定できる
例えばこんな感じ$ pip install pandas==0.19.2git関連
gitのクローン作製
$ git clone https://github.com/ユーザー名/git名(?).git参考文献
- 投稿日:2020-11-13T12:49:46+09:00
AWSのEBSの再確認
はじめに
今更ですがAWSの基礎の学習をしています。今回は普段(というか今まで全く)気にしていなかった、EBSの動作の再確認をしました。
やること
- ボリュームをインスタンスにアタッチして、そのボリュームを他のインスタンスに再アタッチしてちゃんとデータが残っていることを確認する。
- ストレージと言えばS3ばかりだったが、ローカルボリューム(EBS)も保存領域といういみでは使えるということの再確認。
作業の流れ
- ebsの作成
- ebsをインスタンスAにアタッチ
- インスタンスAで、ebsにファイルを作成(hoge.txt)
- インスタンスBに、ebsを再アタッチ
- インスタンスBで、ebs内を確認してhoge.txtがあるかを確認
1. ebsの作成
test-ebs
を作成しました。4Gで作成をしました。HDDでも、SSDでも何でも大丈夫です。2. ebsをインスタンスAにアタッチ
インスタンスAにアタッチしました。
ボリュームがアタッチされているか確認。インスタンスAにsshします。
Last login: Fri Nov 13 03:16:54 UTC 2020 on pts/0 [root@ip-xxx-xxx-xxx-xxx ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 8G 0 disk └─xvda1 202:1 0 8G 0 part / xvdf 202:80 0 4G 0 disk
xvdf
という名前で、4Gがアタッチされていることが確認できました。このデバイスファイルは、/dev/xvdf
に存在します。3. インスタンスAで、ebsにファイルを作成(hoge.txt)
ファイルシステムをlinux用にフォーマットします。
[root@ip-xxx-xxx-xxx-xxx ~]# mke2fs /dev/xvdf mke2fs 1.42.9 (28-Dec-2013) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 262144 inodes, 1048576 blocks 52428 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=1073741824 32 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736 Allocating group tables: done Writing inode tables: done Writing superblocks and filesystem accounting information: doneこれでLinuxファイルシステムにマウントができる形になりました。
/mnt
にマウントします。[root@ip-xxx-xxx-xxx-xxx ~]# mount /dev/xvdf /mnt [root@ip-xxx-xxx-xxx-xxx ~]# ls /mnt/ lost+foundマウントされたことが確認できました。
このボリュームの中にファイルを作成します。
[root@ip-xxx-xxx-xxx-xxx ~]# ce /mnt [root@ip-xxx-xxx-xxx-xxx mnt]# echo hoge > hoge.txt [root@ip-xxx-xxx-xxx-xxx mnt]# cat hoge.txt hoge作成して中身にhogeと記入しました。
4. インスタンスBに、ebsを再アタッチ
まずは、インスタンスAのボリュームをアンマウントします。
[root@ip-172-31-27-44 ~]# ls /mnt/ hoge.txt lost+found [root@ip-172-31-27-44 ~]# umount /mnt [root@ip-172-31-27-44 ~]# ls /mnt/ [root@ip-172-31-27-44 ~]#
umount
したので、/mnt
の中身は空になっています。AWSコンソール上でデタッチします。
インスタンスAの時と同じやり方で、ebsをサーバーBにアタッチします。
5. インスタンスBで、ebs内を確認してhoge.txtがあるかを確認
インスタンスBにsshして確認をして、ボリューがアタッチされているかを確認します。
yokohama@ip-yyy-yyy-yyy-yyy [12:41:29 PM] [~] [master *] -> % lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 64G 0 disk └─xvda1 202:1 0 64G 0 part / xvdf 202:80 0 4G 0 disk4Gのやつがされています。デバイスファイル名は、
xvdf
でした。マウントして中身を確認します。[root@ip-yyyy-yyyy-yyyy]~# mount /dev/xvdf /mnt [root@ip-yyyy-yyyy-yyyy]~# ls /mnt hoge.txt lost+found [root@ip-yyyy-yyyy-yyyy]~# cat /mnt/hoge.txt hogeマウントしたebsの中には、hoge.txtが存在しており、中身もちゃんと保存されていることが確認できました。
まとめ
使い所は色々とありそうですが、このようにebs内のデータが永続的に保存されていることの確認ができました。
ちなみにこのボリュームを複数のec2にアタッチできたら便利だなと思いましたが、AWSコンソール上でのメニューを確認する限りでは、できないようでした。
あらためて感じますが、20年ぐらい前までは物理的なハードディスクをマザーボードに追加してファイルシステムのフォーマットしてマウントしてましたが、エラスティックな時代だな〜
- 投稿日:2020-11-13T12:17:30+09:00
seq コマンド
- 投稿日:2020-11-13T12:05:07+09:00
ディレクトを掘っていき、ディレクトリパス+ファイル名の一覧を作成する
ディレクトリ掘っていって、ディレクトリパス+ファイル名の一覧を作成したい時がごく稀にたま~によくあるのでメモ的に残しておきます。
ディレクトリ+ファイルのリスト作成のサンプル
find * -type fで出来ます。 @angel_p_57 さんありがとうございます!!
今回のディレクトリ構成
01_hokkaido └ 001_sapporo └xxxxx.jpg └xxxxx.jpg └xxxxx.jpg └ 002_obihiro └ 003_hakodate ⁝ 02_aomori └ 002_aomori ⁝ 03_iwate ⁝過去の苦労
ls -1 | while read LINE do PREFECTURE=${LINE} ls -1 "${PREFECTURE}" | while read LINE2 do CITY="${LINE2}" ls -1 "${PREFECTURE}"/"${LINE2}" | while read LINE3 do FILE="${LINE3}" echo "${PREFECTURE}"/"${CITY}"/"${FILE}" done done done再帰関数を使えばもう少しうまく書けるかもしれない。
つよつよエンジニアの変態ワンライナーの人がいたら教えてください。
- 投稿日:2020-11-13T12:05:07+09:00
ディレクトを掘っていき、ディレクトリパス+ファイル名の一覧を作成するサンプルスクリプト
ディレクトリ掘っていって、ディレクトリパス+ファイル名の一覧を作成したい時がごく稀にたま~によくあるのでメモ的に残しておきます。
ディレクトリ+ファイルのリスト作成のサンプル
find * -type fで出来ます。 @angel_p_57 さんありがとうございます!!
今回のディレクトリ構成
01_hokkaido └ 001_sapporo └xxxxx.jpg └xxxxx.jpg └xxxxx.jpg └ 002_obihiro └ 003_hakodate ⁝ 02_aomori └ 002_aomori ⁝ 03_iwate ⁝過去の苦労
ls -1 | while read LINE do PREFECTURE=${LINE} ls -1 "${PREFECTURE}" | while read LINE2 do CITY="${LINE2}" ls -1 "${PREFECTURE}"/"${LINE2}" | while read LINE3 do FILE="${LINE3}" echo "${PREFECTURE}"/"${CITY}"/"${FILE}" done done done再帰関数を使えばもう少しうまく書けるかもしれない。
つよつよエンジニアの変態ワンライナーの人がいたら教えてください。