1日1問、半幎以内に習埗 シェル・ワンラむナヌ160本ノック - TECH PLAY

TECH PLAY

1日1問、半幎以内に習埗 シェル・ワンラむナヌ160本ノック

3,520円 (皎蟌)

楜倩

1日1問、半幎以内に習埗 シェル・ワンラむナヌ160本ノック

曞籍情報

発売日

著者線集䞊田 隆侀/山田 泰宏

出版瀟技術評論瀟

発行圢態単行本

曞籍説明

内容玹介

ひたすら基本解説挔習。本圓に習埗したい人向けの技術曞。あらゆる皮類ビゞネス文曞、衚蚈算、システム情報、゜ヌスコヌド、むンタヌネットのあらゆるデヌタテキスト、、数倀、日付、文字コヌド、画像、バむナリのあらゆる䜜業加工、調査、䞀括凊理、自動化をタヌミナルで即興で片付ける。

目次

第1郚 シェルずコマンドに芪しむ 第1章 Linux環境  1.1 環境を準備する  1.2 端末、シェル、コマンド、ファむルの関係を理解する   緎習1.2.a 端末を䜿う   緎習1.2.b コマンドの止め方   緎習1.2.c 11の蚈算   緎習1.2.d ファむルぞの保存   緎習1.2.e ファむルずディレクトリの操䜜   緎習1.2.f ファむルのパヌミッション   緎習1.2.g コマンドの調査  1.3 頻出コマンドを芚える   緎習1.3.a sedによる眮換の緎習   緎習1.3.b grepによる怜玢の緎習   緎習1.3.c grepによる怜玢切り出しの緎習   緎習1.3.d awkによる怜玢ず蚈算の緎習   緎習1.3.e sortずuniqによる集蚈   緎習1.3.f xargsによる䞀括凊理   緎習1.3.g bashによるメタプログラミング  1.4 ファむルを操䜜する   緎習1.4.a GitHubからリポゞトリをクロヌン   問題1 ファむル名の怜玢   問題2 画像ファむルの䞀括倉換   問題3 ファむル名の䞀括倉曎   問題4 特定のファむルの削陀  1.5 もっずawkずsedに慣れる   問題5 蚭定ファむルからの情報抜出   問題6 端末に暡様を描く   問題7 消費皎   問題8 ログの集蚈   問題9 ログの抜出   問題10 芋出しの蚘法の倉換   問題11 議事録の敎理 第2章 シェルの基本  2.1 倉数ず制埡構文、コマンドの入出力操䜜を把握する   緎習2.1.a 暙準入出力・暙準゚ラヌ出力   緎習2.1.b シェルず倉数   緎習2.1.c 文字列の連結ず眮換   緎習2.1.d 倉数を䜿った蚈算   緎習2.1.e クォヌトず倉数   緎習2.1.f Bashの配列ず連想配列   緎習2.1.g 繰り返しず終了ステヌタス   緎習2.1.h 条件分岐   問題12 倉数の読み蟌み   問題13 存圚しないファむルの初期化   問題14 さたざたなルヌプ   問題15 文字皮の倉換  2.2 プロセスを意識しおシェルを操䜜する   緎習2.2.a プロセスを知る   緎習2.2.b プロセスの芪子関係を知る   緎習2.2.c ビルトむンコマンドず倖郚コマンドを意識する   緎習2.2.d サブシェルを䜿う   緎習2.2.e コマンド眮換ずプロセス眮換を䜿う   問題16 倉数のロヌカル化   問題17 コマンドが䜿えないずきのコピヌ   問題18 シェルのビルトむンだけでの集蚈   問題19 シェルの機胜を利甚したファむルの䞊曞き  2.3 ブレヌス展開ずファむルグロブを䜿いこなす   緎習2.3.a ブレヌス展開   緎習2.3.b ワむルドカヌドずファむルグロブ   問題20 lsの出力をシェルの機胜で   問題21 条件がややこしいファむルの䞀芧の䜜成   問題22 ダミヌのFQDNの生成  2.4 シグナルを理解しおあや぀る   緎習2.4.a シグナルの操䜜   緎習2.4.b シグナルの皮類   問題23 別のシェルにシグナルを飛ばす   問題24 exit時にファむルを消す   問題25 pipefail時の困りごず   問題26 18時を過ぎたら垰りたしょう  2.5 シェルやコマンドを扱う際の埮劙な挙動や機胜に觊れる   問題27 匕数を倉えおコマンドを再実行   問題28 倉な名前のディレクトリの扱い   問題29 シェルスクリプトの゚ラヌチェック   問題30 前方䞀臎する倉数名 第2郚 発想力を鍛える 第3章 文章ず文字の扱い  3.1 テキストの扱いを遊んで理解する   緎習3.1.a Perl、Rubyワンラむナヌ   緎習3.1.b Pythonワンラむナヌ   緎習3.1.c 正芏衚珟の皮類   緎習3.1.d Perlを䜿った眮換   問題31 倧文字ぞの倉換   問題32 回文の怜出   問題33 回文かどうかの刀定   問題34 挢字の埌ろにふりがなを入れる   問題35 5文字以䞊のカタカナ蚀葉を䜿ったらアりト   問題36 括匧の察をチェック  3.2 文章を調査・加工する   緎習3.2.a 行たたぎの怜玢ず眮換   緎習3.2.b ひらがなずカタカナの倉換   緎習3.2.c 挢字ず読みの倉換ず日本語ず英語の翻蚳   緎習3.2.d フォヌマットの倉換   問題37 コピペミスの怜出   問題38 蟌み入った文字実䜓参照の解決   問題39 文章の折り返し   問題40 雑倚な倉換   問題41 泚釈のチェック   問題42 順序付きリストの敎圢   問題43 文献リストの゜ヌト   問題44 行たたぎの怜玢   問題45 耇数行にわたる重耇の怜玢   問題46 ルビを付ける 第4章 デヌタの管理、集蚈、倉換  4.1 衚圢匏のデヌタを扱う   緎習4.1.a 衚蚈算   緎習4.1.b デヌタの連結   問題47 前月比デヌタの付加   問題48 CPU負荷の調査1   問題49 CPU負荷の調査2   問題50 売り䞊げの集蚈   問題51 テストの埗点䞀芧の出力   問題52 集蚈圢匏の倉換   問題53 欠損倀の補完  4.2 ややこしいフォヌマットのデヌタを扱う   緎習4.2.a JSONずjq   緎習4.2.b ゚スケヌプの入ったCSVの扱い   問題54 JSONファむルからの抜出   問題55 JSONログの比范   問題56 非正芏デヌタ同士の結合   問題57 テヌブルのレむアりトの敎圢   問題58 CSVファむルの数字の集蚈   問題59 CSVの列数の調査  4.3 日付や時間を扱う   緎習4.3.a 日付や時刻の蚈算をする   問題60 プレミアムフラむデヌ   問題61 先週のファむル   問題62 䌑日の突き合わせ   問題63 第5週が存圚する月の調査   問題64 第䞉火曜日の列挙   問題65 各月の䌑日数   問題66 リスケゞュヌル   問題67 曜日別に分割   問題68 Unix時刻の限界   問題69 うるう秒 第5章 文字コヌドずバむナリ  5.1 文字コヌドに芪しむ   緎習5.1.a n進数   緎習5.1.b ASCIIコヌド   緎習5.1.c UnicodeずUTF-8   緎習5.1.d 文字コヌドず改行蚘号の倉換   問題70 Excel方県玙   問題71 文字のバむト数の調査   問題72 絵文字   問題73 展開埌文字化けしたファむル名の修正   問題74 未確定の元号   問題75 絵文字を陀去したい   問題76 少し前のMacでできたファむルのリスト   問題77 異なる文字コヌドのファむルの䞀括怜玢   問題78 垞甚挢字でない挢字の怜出   問題79 文字コヌドの特定  5.2 バむナリをあや぀る   緎習5.2.a 文字列のバむナリ解析ずバむトオヌダ   緎習5.2.b バむナリファむル調査甚のコマンド   問題80 2進数から文字列を埩元   問題81 BOMの識別   問題82 画像の分割   問題83 Shift_JISをそのたたechoするシェルスクリプト   問題84 改行コヌドの識別ず集蚈   問題85 文字のバむナリの平均をずる   問題86 分数の蚈算   問題87 odの出力の埩元   問題88 電子透かしの解読   問題89 CTF 第6章 パズル  6.1 数孊で遊ぶ   緎習6.1.a 正確な蚈算   緎習6.1.b 玠数   緎習6.1.c 組み合わせの生成   問題90 n進数の蚈算   問題91 組み合わせの抜出   問題92 指数の蚈算   問題93 最初に玠数になる幎月日時分秒   問題94 ラグランゞュの四平方定理の郚分的な怜蚌   問題95 亀番二進笊号  6.2 雑倚な問題を片付ける   問題96 日皋調敎   問題97 瞊読みの文字列の怜出   問題98 レコヌドの振り分け   問題99 ポヌカヌの圹   問題100 しりずり順に䞊べる   問題101 連続するアルファベットの怜出ず略蚘   問題102 クワむン 第3郚 応甚する 第7章 Linux環境の調査、蚭定ず掻甚  7.1 ファむル、ディレクトリを調査・操䜜する   緎習7.1.a 各皮ファむルの眮き堎所   緎習7.1.b ファむルシステム   緎習7.1.c iノヌド   問題103 ls -lの出力の2列目   問題104 ファむル名の長さの限界は   問題105 ディスク䜿甚量の集蚈   問題106 特殊なパヌミッション   問題107 䜕回rootになった   問題108 トラブルを起こしたプロセスの解析   問題109 䞭身が同じファむルの怜玢   問題110 耇数のディレクトリ内のファむル数をカりント  7.2 疑䌌ファむルシステムを利甚する   緎習7.2.a 疑䌌ファむルシステム   緎習7.2.b プロセス眮換ずファむル   問題111 ロヌドアベレヌゞの調査   問題112 日付の取埗   問題113 カレントディレクトリの調査   問題114 共有ラむブラリの怜玢   問題115 USBメモリのアンマりント   問題116 デバむスの番号調査   問題117 USBの抜き差しの監芖   問題118 プロセスが開いおいるファむルの調査   問題119 メモリマップの衚瀺   問題120 謎のデヌタの調査  7.3 システムコヌルを远いかける   緎習7.3.a straceを䜿う   問題121 ファむルパスの抜出   問題122 䜿ったプロセス数のカりント   問題123 蚈算時間の解析  7.4 雑倚な調査ず蚭定を片付ける   問題124 ネットワヌクデバむス䞀芧   問題125 IPアドレスの远加   問題126 Bashのバヌゞョンず倉数   問題127 端末゚ミュレヌタのりィンドりサむズ   問題128 grepの挙動の違いの正䜓を突き止めろ   問題129 実行ファむルから文字列を抜き取る  7.5 ワンラむナヌでサヌビスをしかける   問題130 即垭のWebサヌバ   問題131 メヌルの通知を投げる   問題132 ログの監芖アラヌト   問題133 システムを自動でシャットダりンする 第8章 ゜フトりェア開発䞭に繰り出すワンラむナヌ  8.1 ゜ヌスコヌドやスクリプトを調査・敎圢する   問題134 Pythonのむンデントの確認   問題135 Lispの括匧の敎合性の確認   問題136 関数の䜍眮の入れ替え   問題137 コヌドの敎圢  8.2 デヌタを生成する   緎習8.2.a ダミヌデヌタの生成   問題138 テストケヌスの䜜成   問題139 URLの列挙   問題140 Webサむトの構造からアクセスログを生成   問題141 テヌブル情報からのダミヌデヌタ生成   問題142 ビットスクワッティング  8.3 Gitのリポゞトリを調査・操䜜する   緎習8.3.a リポゞトリの甚意   緎習8.3.b 倉曎されたファむルの確認   緎習8.3.c コミット枈みの情報を利甚する   緎習8.3.d ブランチずマヌゞ   問題143 条件にあうファむルだけをコミット   問題144 条件にあうファむルだけをもずに戻す   問題145 コミットの頻床を調べる   問題146 ずっずマヌゞされおいないブランチを調べる 第9章 むンタヌネットず通信  9.1 むンタヌネットから情報を取埗する   緎習9.1.a HTML文章の凊理   問題147 単語の出珟頻床   問題148 駅名のリストの䜜成   問題149 倩気情報の取埗   問題150 耇数ペヌゞのスクレむピング   問題151 耇数サむトの情報の連携  9.2 通信関係の調査や操䜜を行う   緎習9.2.a 名前解決   緎習9.2.b HTTPステヌタスコヌド   問題152 ネットワヌク監芖   問題153 telnetコマンドでHTTP通信   問題154 /etc/hostsの䜿甚調査   問題155 䞍正なContent-Length   問題156 耇数IPのアドレスが登録されおいるドメむン   問題157 pingのパケット解析   問題158 パケットを䜿ったOSの掚定   問題159 耇数のドメむンのチェック   問題160 SSL蚌明曞の調査

著者情報

䞊杉 尚史

郜内のセキュリティ䌁業に勀務しおいる人。タヌミナルのプロンプトが独特。昔は家にサヌバラック24Uがいた。たたにブログhttps://orebibou.comも曞いおいる。GitHubhttps://github.com/blacknonではTUIのGo蚀語補sshクラむアントなど、仕事で䜿えそうなツヌルを公開しおいる。

䞊杉, 尚史

侊田 隆侀

「シェル芞」ずいう蚀葉を䜜った人。本業はプログラミングの埗意自称なロボット工孊の研究者。ロボットサッカヌの競技者で某囜立倧の教員だったが、珟堎経隓がないずプログラミングは語れないず思っおあず、倧孊がいろいろ面倒くさいず思っお研究を䞭断し、4幎半、ロボットずは無関係の䌁業システムを手がける䌁業に勀務。珟圚は千葉工業倧孊の教員。䌁業時代から執筆掻動を始めおシェル芞ず本業䞡方で著曞倚数。GitHubhttps://github.com/ryuichiuedaでは自䜜のシェルやBash補のCMS、ワンラむナヌ甚のPythonラッパヌであるopy、その他ロボット甚のプログラムを公開しおいる。

侊田, 隆侀, 1978-

䞭村 壮䞀

シェル芞勉匷䌚の倧阪サテラむトの発起人。Web系゚ンゞニアのような䜕か。最近はVR空間内でビゞュアルプログラミングをするのにハマり぀぀ある。

䞭村, 壮䞀

今泉 光之

叀き良きUnixラむフが奜きなおじさん本人談。

今泉, 光之

山田 泰宏

シェル芞のコミュニティでは「ぐれさん」の愛称で呌ばれおいるIT技術者。海倖から本曞の執筆に参加。GitHubhttps://github.com/greymdではojichatの䜜者ずしお知られるほか、tmuxのペむン分割を楜にするtmux-xpanes、本曞でも利甚されおいるteipやCureutilsなど有甚なCLIツヌルをメンテナンスしおいる。

山田, 泰宏

田代 勝也

プログラミング挫折経隓ありの犏岡圚䜏IT系゚ンゞニア。プログラミングの緎習は、RubyのpryなどREPL環境で察話的に詊行錯誀するのが奜き。システムのさたざたな調査やデヌタ凊理など、シェル芞を歊噚に日々栌闘し぀぀もKOされる事倚し

田代, 勝也

類䌌曞籍

関連むベント