Edited at

cdがわからなかった数学科が5-days-Linuxを終えて


この記事の目的


  • 僕のメモ帳

  • Linuxを触ってみたい人へ


僕が受けた授業

Learn Linux in 5 Days and Level Up Your Career


受講前の実態

個人的にPythonを勉強していたがJupiter Notebook

がほとんどだったのでTerminalはほぼ使っていない。


cd コマンド Mac


などでGoogleで検索することでかろうじて存在は知っていたが

詳しいことは何1つ知らなかった。

特にSSH接続という言葉がウザイくらい目にしていたがいうまでもなくわからなかった。


まず感想

非常にいい授業だった。

ぶっ飛ばしで進めていったのでSSH接続のところはやはり完璧には理解できていない。

が、Linuxの扱い方は満足のいくクオリティーで理解できた。

最後にはプロンプトの変更などもできたのですごく理解できたんではないかなと思う

今まではYouTubeやいろんな人の解説ブログからその都度

摘まみ摘まみ学んでいたがやはり纏まっていると非常にいい。

加えて自身がメモなどをとるタイプではないのでやはり尚いい。


個人的なまとめ


シェルとは

Terminalの裏で動いている変なやつ。

bashがdefaultであり、他にも次のようなものを学んだ。

1. bash

2. zsh

3. fish

色々なシェルたち


directory structureとは

フォルダ。例えばDesktopに「学校用フォルダ」みたいなやつ。

Linuxのディレクトリには既存のヒエラルキーがあるようだ。

/user/bin/みたいなものはウザイくらい目にしたことがあり

その都度意味がわからずクソイライラしていた。

例えば/homeはホームディレクトリと呼ばれ、この中に僕らが触るDesktopとかがある。


/home/君の名前/Desktop


Linuxのディレクトリ構造(一覧)を理解する


SSH接続とは

パソコンを遠隔操作するときにする接続

iPhoneにSSH接続する


パスとは

ファイルとかデータとかのパソコン内の住所みたいなもの。

何かソフトをインストールしたりするとパスを設定することで

「どこどこにあるマルマルを使うよ」とpcに指示する。


/Users/君の名前/Desktop/期末テスト点数.txt



PATHとは

そのディレクトリ内のファイルにファイル名のみでアクセスできるようにするためのパス群で,環境変数として存在する.

コマンドと言っているものは,これによって省略されたファイル名をもつファイルが実体である.

例えば export PATH="" を実行するとほとんどのコマンドが使えなくなる.

PATHを通すとは? (Mac OS X)


環境変数とは

プログラムを書いていると代入という動作をよくすると思う。


Unko.py

x = 5


これのpc内バージョン。つまり,

あるプログラム中の変数じゃなくてパソコンにある変数のイメージ。

例えば、PS1という環境変数はターミナル(プロンプト)のカスタマイズに使う。

そしてexportというコマンドで代入する。


Editorとは

プログラムを書くやつ。学校だとemacsを遣わされた。他にもあるらしい。

- Emacs

- Nano

- vi

- vim (viの進化版)

- LibreOffice

ちなみに、viにおいて便利だけどなかなか覚えられんtipsをメモする


  • view

  • ^ 行の初めに移動

  • $ 行の終わりに移動

  • :n カーソルをn行目に

  • :$ カーソルを最終行に

  • x 1*文字*削除

  • dw 1*単語*削除

  • dd 1行削除

  • D 下全部削除

サーチするときのtips

- /検索したい文字

- ?検索したい文字


ワイルドカードとは

検索が楽になる必殺みたいなやつ

*.txt

だと末尾が.txt全てを指す、一方

?.txtは1文字、つまり

- a?.txt

以下、過剰書き

- *

- ?

- []

- [!]

- [a-f]*

- [3-8]*


アーカイブとは

まとめること。

(友達がインスタでアーカイブがどうちゃらと言っていたがそれのことだろうか?)


tarというコマンドを使う、ちなみにgzipと一緒に使うらしい?


gzip形式のtarアーカイブを作成する。

アーカイブと圧縮の違い(LPICの勉強をしていて疑問に思った)


リダイレクトとは

一言でゆうと「方向付け」か。

AVなどを見ているとたまに意味わからんサイトに飛ばされるがあれもリダイレクトらしい。

真面目な話をするとlogの出力に使うといい。


$ ここにコマンド >/dev/null 2>&1

「commandの標準出力をゴミ箱へながし標準エラー出力も標準出力と同一のゴミ箱へ」という意味


5分で一通り理解できる!Linuxのリダイレクト 使い方と種類まとめ


パイプとは

コマンドを橋渡しするやつ。grepと一緒に使われている気がする。

(grepはファイル中の文字列に対して正規表現を使って検索し表示するコマンド)

grepコマンドの詳細まとめました【Linuxコマンド集】

パイプ「|」を使って 複数のコマンドを組み合わせる


エーリアスとは

コマンドをオリジナルに改造すること

ls -lをlslとかにできる


Cronとは

自動でプログラムを実行してくれるやつ。

なんかの通知とかいいね。


今後よく使いそうなコマンド


  • echo

  • man

  • find

  • cat

  • less

  • tail

  • grep


今後よく使いそうじゃないけど覚えたいコマンド


  • chmod

  • locate

  • more

  • head


やってやったこと


シェルの変更

詳解 fishでモダンなシェル環境の構築(fish,tmux,powerline,peco,z,ghq,dracula)

を参考にしてシェルをfishにしたがやはり素人には早かったのだろうか、

解決できないエラーがのちに発生して冷や汗を書きながらbashに戻した。


シェルをオシャレにカスタム

fishはもう怖くて当分使えないがbashならなんとかいけそうな気がする

ということでbashをfishっぽくした。


lsで色付け


これからの課題

ひとまず講座を終えたがあくまでTutorialなので次に進みたいと思う。

- 今回わからなかったものの復習

- Linuxのもう少し発展したコース

- Linuxのセキュリティーのコース

- Dockerについて

というものに触れたいと思う.