シェル引きこもりが教えるシェル入門

2.2K Views

May 26, 23

スライド概要

授業用の解説スライド

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

シェル引きこもりが教えるシェル入門

2.

まずは基礎知識から

3.

シェルとは シェル カーネル User コマンド システムコール 戻り値 出力 シェル カーネル User シェルからコマンドを呼び出し、そのコマンドがシステムコールを呼び出している。 (厳密には出力先はファイルなのですが、あまりにも沼なので割愛します。)

4.

カーネル? カーネルには 近い部分の処理を代行する ハードウェアを効率よく利用できるように調整する などの役割がある。

5.

システムコール? ハードウェアとの低レベルのやり取りを仲介する役割を持っている。 これによりハードウェアの違いを気にせず同じプログラムを動かせる。

6.

ここまでのまとめ シェルはコマンドを呼び出している そのコマンドはシステムコールを呼び出している システムコールによりプログラムはハードウェアの機能を安全かつ便利に使うこ とができる

7.

ネタコマンドの世界

8.

この世にはネタコマンドを作る謎の勢力が存在する Typo系 ls og など 文字列生成系 ojosama AA系 cowsay ojichat mamadm fortune

9.

実演 fortune | cowsay -f tux | lolcat -a -d 1 --freq=0.5 yes | head -n 4 | tr -d \\nyes 'paste <(echo -e "[ \e[32mOK\e[m ]") <(ojichat ラズパイ | cut -b 1-60)' | head -n 100 | bash curl "wttr.in/Kofu?format=3&m" | cowsay -f tux | lolcat --freq=0.5 curl "wttr.in/Kofu" | lolcat

10.

もちろん実用的なコマンドもある TUI系 lazygit lazydocker bottom gtop ユーティリティ系 teip (ちなみにこれも ojichat や mamadm の作者と同一です) sed rg fzf cat 19YAMANA.csv | sed "s/,/ /g" | teip -f 8 -- grep 丹波山村 スクリプト系 cotowali シェルスクリプトをより書きやすくしたスクリプト言語

12.

目指せシェル芸人

13.

シェル芸という技術がある 一つのコマンドに大量の魔術(コマンド)を詰め込み、コマンド一発で作業を終わら せたり 面白い画像や文字を生成したり シンプルなコマンドを難読化(読みづらく)したりなど 様々な処理をコマンドで済ませる技術

14.

専用のBotまで存在する

15.

面白いと思った投稿を紹介

16.

https://twitter.com/akira__okumura/status/1661523734786875392

19.

https://twitter.com/y_kato222/status/1660222955560001537

21.
[beta]
muscular shout 正弦波泳法 -p front-relax \
|tee >(cat) >(cat) >(cat) >(cat) \
|tee >(cat) >(cat) >(cat) >(cat) \
|awk '{PI=4*atan2(1,1);for(i=0;i<(sin(NR/25*PI*2)+1)*5;i++){printf " "}{print $0}}' \
|textimg -asl25

22.

ボディビルダーが泳ぐシェル芸

23.

まとめ シェルはユーザーとOSの仲介をしてくれる この世には変なコマンドを作る人がいる シェル芸という技術がある