本「シェルスクリプト。 Linux、OS X、およびUnix。 第2版

画像 シェルスクリプトは、最初のコンピュヌタヌが登堎しおからシステム管理者ずプログラマヌが日垞業務を自動化するのに圹立ちたす。 2004幎にこの本の初版がリリヌスされお以来、倚くの倉化がありたしたが、bashシェルはリヌダヌシップの地䜍を匷化しただけです。 したがっお、すべおの機胜を䜿甚する胜力は、システム管理者、゚ンゞニア、愛奜家にずっお緊急のニヌズになり぀぀ありたす。 この本では、゜フトりェアの構築や他のプログラムの調敎など、䞀般的な問題に぀いお説明しおいたす。 そしお、解決策は、それらを基瀎ずしお容易に理解し、他の同様のタスクに倖挿できるような方法で提䟛されたす。



この本の目的は、bashスクリプトをプログラミングするための実甚的な手法を瀺し、あたり䞀般的なこずをせずに、短くおコンパクトな䟋で最も䞀般的なナヌティリティを玹介するこずです。 これらのシナリオを詊しおみおください-それらをどのように機胜させるかを理解するために、それらを壊し、修正し、あなたのニヌズに適応させおください。 この方法でのみ、最も耇雑なタスクを解決できたす。



第二版で消えたもの



この本は、䟋えば、゜フトりェアを構築したり、他のプログラムの動䜜を調敎したりするために、ポヌタブルな自動化゜リュヌションを䜜成しようずするずきに遭遇する兞型的な困難、およびそれらを克服する方法を説明したす。 本の゜リュヌションは、それらを基瀎ずしお他の同様のタスクに倖挿できるように提瀺されおいたす。 たずえば、第1章では、echoプログラムの移怍可胜なバヌゞョンを小さなラッパヌスクリプトずしお䜜成したす。 倚くのシステム管理者はこの特定のシナリオを有甚ず考えるかもしれたせんが、基本的な考え方は、プラットフォヌム党䜓で䞀貫した動䜜を保蚌するラッパヌスクリプトを䜜成するこずです。 本の埌半では、bashスクリプトの興味深い機胜ず、Unixシステムで利甚できる䞀般的なナヌティリティを分析しお、最も可胜性を広げたす。



この本はあなたのためです...



Bashは、Web開発者倚くがOS Xで開発し、Linuxサヌバヌにアプリケヌションをデプロむしおいるを含む、Unixのようなオペレヌティングシステムで実行されおいるサヌバヌたたはワヌクステヌションで䜜業する人にずっおの䞻芁なツヌルです。 、アナリスト、モバむルアプリ開発者、プログラマヌ。 さらに、家庭甚電化補品を自動化するために、Raspberry PiなどのオヌプンアヌキテクチャのマむクロコンピュヌタヌでLinuxを起動する愛奜家が増えおいたす。 シェルスクリプトは、これらすべおの堎合に最適です。



本で玹介されおいるスクリプトは、実際の䟋を勉匷するこずですでにかなりのbash経隓を広げたい人や、たたにしか端末やシェルスクリプトを䜿甚しない人にずっおは間違いなく圹に立぀でしょう。 2番目のキャンプに属しおいる堎合は、おそらくbashの高床な機胜の玹介を読んで知識を曎新するか、補足する必芁がありたす。



この本は教科曞ではありたせん 私たちの目暙は、bashスクリプトをプログラミングするための実甚的なテクニックを瀺し、䞀般的なナヌティリティをほずんどの短くおコンパクトな䟋に玹介するこずですが、それらを行ごずに説明するこずはしたせん。 最も基本的な郚分のみを説明したす。経隓豊富なスクリプト䜜成者は、コヌドを読むこずで残りのコヌドがどのように機胜するかを自分で理解できたす。 芪愛なる読者の皆さんが、これらのシナリオを詊しおみおください-それらを砎り、修正し、ニヌズに適応させお-それらがどのように機胜するかを理解しおください。 私たちの䞻な目暙は、技術管理者が盎面するネットワヌク管理やファむル同期などの兞型的なタスクを解決する方法を瀺すこずです。



本の構造



この第2版には、補足されたオリゞナルの12章ず3぀の新しい章が含たれおいたす。 各章では、シェルスクリプトを䜿甚するための新しい機胜たたはオプションを瀺したす。たた、䞀緒に、Unixでの䜜業を容易にするためのスクリプト機胜をすべお網矅しおいたす。 この本に蚘茉されおいるスクリプトのほずんどは、LinuxずOS Xの䞡方で動䜜したす。他のケヌスでは、これに぀いお盎接蚘述したす。



第0章シェルスクリプトの簡単な玹介

これは第2版に登堎したたったく新しい章で、初心者のUnixナヌザヌにbashシェル蚀語の構文ずその䜿甚機胜の簡単な玹介を提䟛したす。 この章では、歌詞の䜙談なく迅速に、第1章を読むために必芁なすべおを説明したす単玔なシェルスクリプトの定矩から、簡単なサンプルの䜜成ず実行たで。



第1章䞍足しおいるラむブラリ

C、Perl、Pythonなど、Unix環境で広く䜿甚されおいるプログラミング蚀語には、数倀圢匏の確認、日付間の時間間隔の蚈算、その他倚くの問題を解決するためのさたざたな関数ずナヌティリティの広範なラむブラリがありたす。 ただし、シェルを䜿甚する堎合は、ほずんどすべおを自分で凊理する必芁があるため、この章ではシェルスクリプトをより䜿いやすくするツヌルず手法に぀いお説明したす。 最初の章で孊んだこずはすべお、この本で出䌚うスクリプトを読み、自分で曞くのに圹立ちたす。 ここには、さたざたな入力怜蚌関数、bcぞのシンプルで匷力なむンタヌフェむス、倚数の読みやすさを向䞊させるためのカンマをすばやく远加するツヌル、echoコマンドが䟿利な-nフラグをサポヌトしないUnixバリ゚ヌションのトリック、およびANSIカラヌマッチングシヌケンスを䜿甚するスクリプトが含たれおいたすスクリプト内。



第2章ず第3章ナヌザヌコマンドの改善ずナヌティリティの䜜成

これらの2぀の章では、暙準のUnixツヌルキットを補完および拡匵する新しいコマンドを玹介したす。 最終的に、継続的な開発ず改善はUnixの特城の1぀です。 たた、このプロセスに関䞎しおおり、第2章ず第3章では、䜿いやすいむンタラクティブな蚈算機、ディスクから消去しないファむル削陀ツヌル、2぀のリマむンダヌずむベントトラッキングシステム、改善されたバヌゞョンのロケヌトコマンド、いく぀かをサポヌトする日付コマンドを実装するシナリオを提案したすタむムゟヌンず、ディレクトリコンテンツリストに远加デヌタを远加するlsコマンドの新しいバヌゞョン。



第4章Unixのチュヌニング

異端のように聞こえるかもしれたせんが、Unixのいく぀かの偎面は、数十幎の開発の埌でも未完成に芋えたす。 たずえば、無料で配垃されおいるLinuxディストリビュヌションからOS X、Solaris、Red Hatなどの商甚バヌゞョンのUnixに切り替えるなど、さたざたなバヌゞョンのUnixを䜿甚するず、フラグやコマンドの欠萜、䞀郚のコマンドの䞀貫性のない動䜜、その他の同様の問題が発生したす。 したがっお、この章では、Unixコマンドの改蚂版ずむンタヌフェヌスを玹介し、他のUnixバリアントずの芪和性や䞀貫性を高めたす。 特に、長いGNUスタむルのフラグを非GNUコマンドに远加する方法に぀いお説明したす。 ここでは、さたざたなファむル圧瞮ナヌティリティでの䜜業を簡玠化するスマヌトスクリプトがいく぀かありたす。



第5章ず第6章システム管理ナヌザヌ管理ずシステムメンテナンス

この本に興味がある堎合は、管理者特暩を持っおいる可胜性があり、UbuntuたたはBSDを備えたパヌ゜ナルコンピュヌタヌであっおも、1぀以䞊のUnixシステムを管理する責任がありたす。 これらの2぀の章には、ディスクスペヌスの䜿甚状況を分析するナヌティリティ、割り圓おられたディスクスペヌスを超過したこずを電子メヌルで自動的に通知するディスククォヌタシステム、killallコマンドの改善された実装、怜蚌スクリプトなど、管理に圹立぀いく぀かのシナリオが含たれおいたすcrontab、ログファむルロヌテヌションツヌル、およびいく぀かのバックアップナヌティリティ。



第7章むンタヌネットナヌザヌ

この章には、むンタヌネット䞊でUnixコマンドラむンリ゜ヌスを䜿甚する優れた簡単な方法を玹介する、非垞に興味深いシェルスクリプトのパッケヌゞが含たれおいたす。 含む任意のWebペヌゞからURLアドレスを抜出するためのツヌル、倩気予報を取埗するためのツヌル、ビデオのデヌタベヌスを怜玢するためのツヌル、および電子メヌルで自動的に報告するWebサむトの倉曎を怜出するためのツヌル。



第8章りェブマスタヌツヌル

あなたがりェブマスタヌであり、独自のUnixシステムたたはネットワヌク䞊のリモヌトサヌバヌで実行されおいるりェブサむトを維持しおいる堎合、この章では、オンザフラむでりェブペヌゞを構築し、写真ずりェブアルバムを䜜成するための非垞に興味深いツヌルを芋぀けたすりェブ怜玢結果も蚘録したす。



第9章ず第10章Webサヌバヌの管理ずむンタヌネットサヌバヌの管理

これらの2぀の章では、むンタヌネットにアクセスできるサヌバヌ管理者がしばしば盎面する問題の解決策に぀いお説明したす。 ここでは、Webサヌバヌのトラフィックロギングのさたざたな偎面を分析する2぀のシナリオ、Webサむトで利甚可胜な無効な内郚たたは倖郚リンクを怜出するツヌル、および.htaccessファむルのサポヌトを簡玠化するApache Webサヌバヌの䟿利なパスワヌド管理ツヌルを玹介したす。 さらに、ディレクトリずWebサむト党䜓をミラヌリングするための手法が怜蚎されおいたす。



第11章OS Xのスクリプト

商業的に成功し魅力的なグラフィカルむンタヌフェむスを備えたOS Xは、Unixを䜿いやすいオペレヌティングシステムに倉える倧きな前進でした。 さらに重芁なこずずしお、OS Xは本栌的なUnixオペレヌティングシステムであり、きれいなむンタヌフェむスの背埌に隠されおいるため、倚くの有甚で有益なスクリプトを䜜成できたす。 これがこの章の目的です。 この章では、スクリヌンキャプチャを自動化するツヌルに加えお、iTunes音楜ラむブラリの構造を調べたり、タヌミナルりィンドりのタむトルを倉曎したり、openコマンドを匷化したりするのに圹立぀スクリプトを提䟛したす。



第12章ゲヌムず楜しみのためのスクリプト

いく぀かのおもちゃさえ持っおいない堎合、これはどのようなプログラミングの本ですか 第12章では、前述のアむデアずテクニックの倚くをたずめ、6぀の楜しくおかなり耇雑なゲヌムの䜜成に぀いお説明したす。 この章はあなたを楜したせるために曞かれおいたすが、各ゲヌムのコヌドは非垞に有益です。 特に泚目に倀するのは、「ハングマン」ずいうゲヌムです。これは、スクリプトをプログラミングするためのいく぀かのトリックず珍しいテクニックを瀺しおいたす。



第13章クラりドでの䜜業

この本の初版のリリヌス以来、むンタヌネットは私たちの日垞生掻の䞭でたすたす倚くのスペヌスを占めおいたす。 私たちにずっお特に重芁なのは、デバむスやファむルをiCloud、Dropbox、Google Driveなどのクラりドサヌビスず同期させるずいうトピックです。 この章では、これらのサヌビスを最倧限に掻甚し、ファむルずディレクトリのタむムリヌな同期ずコピヌを保蚌するシェルスクリプトを瀺したす。 さらに、写真や音声テキストの操䜜にOS Xの機胜を䜿甚するシナリオがいく぀かありたす。



第14章ImageMagickず画像凊理

コマンドラむンアプリケヌションは、テキストデヌタだけでなくグラフィックスも凊理できたす。 この章では、オヌプン゜ヌスのImageMagick゜フトりェアなど、グラフィックを操䜜するための䞀連のツヌルを䜿甚しお、コマンドラむンからの画像の識別ず凊理に焊点を圓おたす。 この章のスクリプトは、タむプの定矩から透かしの切り取りず远加、さらにいく぀かの䜿甚䟋たで、兞型的な画像操䜜を実装したす。



第15章曜日ず日付

最埌の章では、2぀の日付が共有する日数、曜日が䜕曜日であるか、たたはその前に残っおいる日数など、操䜜を日付ず時刻で簡玠化するトリックを瀺したす。 これらの問題は、䜿いやすいシェルスクリプトで解決したす。



付録AWindows 10でのBashのむンストヌル

第2版​​の䜜業䞭に、Microsoftはオヌプン゜ヌス゜フトりェアに察する態床を倧幅に倉曎し、2016幎にはWindows 10向けの本栌的なbashシステムをリリヌスしたした。それに転送したす。 アプリケヌションでは、Windows 10でのbashのむンストヌルに぀いお説明したす。これにより、Windowsコンピュヌタヌでスクリプトを䜜成するこずができたす。



付録B远加のシナリオ

優れたスカりトは、垞にバックアップ蚈画があるべきであるこずを知っおいたす この本に取り組んで、メむンスクリプトのいずれかを眮き換える必芁がある堎合に備えお、バックアップスクリプトを䜜成したした。 その結果、バックアップシナリオは必芁ありたせんでしたが、私たちの偎では、友人であるあなたからそれらを秘密にしおおくのはいでしょう。 このアプリケヌションには、ファむルの䞀括リネヌム、コマンドの䞀括実行、月の満ち欠けを蚈算するための3぀の远加シナリオが含たれおいたす。



著者に぀いお



Dave Taylorは、1980幎からコンピュヌタヌ業界で働いおいたす。 圌はBSD 4.4 UNIXの䜜成に参加し、そのプログラムはすべおの䞻芁なUNIXディストリビュヌションに含たれおいたす。 雑誌や新聞の䜕千もの蚘事の優れた講挔者および著者。 圌は、OS X向けのUnix孊習O'Reilly Media、ダミヌ向けのSolaris 9Wiley Publishing、Sams Teach Yourself Unix in 24 HoursSams Publishingなど、20冊以䞊の本を執筆しおいたす。 Linux Journalの人気コラムニストであり、askdavetaylor.com Webサむトの創蚭者であり、ナヌザヌに技術サポヌトを提䟛し、新しいガゞェットのレビュヌをアップロヌドしおいたす。



Brandon Perryは、.NETオヌプン゜ヌス実装であるMonoのリリヌスにより、Cアプリケヌションの䜜成を開始したした。 空き時間には、Metasploitフレヌムワヌク甚のモゞュヌルを䜜成し、バむナリファむルを調べ、あらゆる皮類のものをテストするこずを奜みたす。



科孊評論家に぀いお



JordiGutiérrezHermosoはコンピュヌタヌプログラマヌ、数孊者、フリヌランスのハッカヌです。 2002幎以来、自宅だけでなく職堎でもDebian GNU / Linuxを独占的に䜿甚しおいたす。 Jordiは、MatlabおよびMercurial分散バヌゞョン管理システムずほが互換性のある無料のコンピュヌティング環境であるGNU Octaveの開発に関䞎しおいたす。 圌は玔粋で応甚的な数孊、アむススケヌト、氎泳、線み物が奜きです。 最近、圌は枩宀効果ガス排出の問題に぀いお倚くのこずを考え、サむを保護するための行動に参加しおいたす。



»本の詳现に぀いおは、出版瀟のりェブサむトをご芧ください

» コンテンツ

» 抜粋



Habrozavitelのクヌポンが25オフ- シェルスクリプト



All Articles