こんにちは。谷口です。
paizaラーニングの「Linux入門編」に「Linux入門編2: シェル環境を使いこなそう」が追加されました!
「Linux入門編2: シェル環境を使いこなそう」では、Linuxのシェル環境、便利なコマンドや正規表現などのテクニック、リダイレクト、パイプ、プロセスなどについて学べます。
今回は「Linux入門編2: シェル環境を使いこなそう」の講座内容をご紹介します。
「Linux入門編1: Linuxの基本を理解しよう」に引き続き、
- プログラミングは少しできるようになったけど、Linuxについてはよく知らない
- 仕事でLinuxを使うことになったけど、実は使ったことがない…
といった方におすすめです。
Linux入門編2: シェル環境を使いこなそうの内容紹介
01:ファイル検索コマンドfindを使おう
まずは、Linuxのシェルで利用できる、ファイル検索コマンド「find」についてです。findコマンドを使えば、名前や更新日付などの情報をもとにファイルやディレクトリが検索できます。
使い方は、このように「find」に続けて検索する場所をファイルパスと検索パターンを指定します。
実際にコマンドを試してみます。paizaラーニングでは、あらかじめ練習用に「example」ディレクトリが用意されています。このディレクトリには、いくつかのファイルと「html」「test_1」というサブディレクトリがあります。
ターミナルを起動してlsコマンドを呼び出すと「example」ディレクトリが表示されます。findコマンドで、このディレクトリ内を検索してみましょう。
「find example」で、ディレクトリの中にあるファイルをすべて見つけて出力できました。 サブディレクトリの中身も表示されています。
次に、一定のパターンに当てはまるファイル名も検索してみます。
「example」ディレクトリで、ファイル名の末尾が「.txt」となっているファイルだけが表示されました。
アスタリスクは「任意の文字列に対応」というパターンを表す記号です。アスタリスクの部分は何でもよくて、末尾が「.txt」のファイルだけを表示しています。サブディレクトリ内が検索されていないのは、検索を開始するパスでファイル名まで指定しているからです。
該当するファイルが存在しない場合は、このようにエラーメッセージが表示されます。
ファイル名を指定して、サブディレクトリまで検索するには、検索パターンとして指定します。
findコマンドには、たくさんのオプションがあります。たとえば「mtime」は、ファイルを更新した日時が現在から何日以内かを指定するオプションです。
ここではゼロを指定したので、1日未満(24時間以内)に更新されたファイルを検索しています。
アスタリスクは「ワイルドカード」というシェルの機能です。ワイルドカードを使うと、一定パターンにそったファイル名やディレクトリ名を指定できます。
02:テキスト検索コマンドgrepを使おう
「grep」は、ファイルの中のテキストを検索したり、特定のキーワードを含んだファイルを見つけたりできるコマンドです。
このようにgrepに続けて検索したい文字列を検索パターンとして指定し、検索対象のファイルやディレクトリを指定して使います。
grepの検索には、「正規表現」という特殊なパターンが利用できます。正規表現について詳しくは、「03:正規表現を使ってみよう - 特定の文字を指定する」以降で解説しています。
grepコマンドでディレクトリを検索してみましょう。
「rabbit」という単語を含んだ行を表示しました。(このファイルは「不思議の国のアリス」の冒頭の文章を格納しているので、そこから「rabbit」を含んだ行を表示しています)
このように、grepコマンドはファイルの中から行ごとに指定のテキストを検索します。(※検索パターンのダブルクォーテーションは省略することもできますが、複雑なパターンではダブルクォーテーションの有無で結果が変わる場合があるので注意してください)
次に、複数のファイルをターゲットにしてみましょう。まずはワイルドカードでファイル名を指定します。
「hello」を含んだファイルを表示しました。ここでは、exampleディレクトリで末尾が「.txt」になっている複数のファイルを検索しています。
すべてのファイルを対象にして、サブディレクトリまで検索するには、「r」オプションを使います。
「example」ディレクトリ以下にあるファイルから、「hello」という言葉を検索しました。
grepコマンドでもたくさんのオプションが使えます。検索結果からファイル名だけを表示するには、「l」(エル)オプションを使います。
「hello」という言葉を含んだファイル名だけが出力されました。
複数の行がある場合に行番号を表示するには、「n」オプションを使います。
検索結果に行番号が表示されました。
「Linux入門編2: シェル環境を使いこなそう」では、コマンドや正規表現などのテクニック、リダイレクト、パイプ、プロセスなどをさらに詳しく実践しながら学ぶことができます。Linuxついて学んでみたい初心者の方はぜひごらんください。
Linux入門編1: Linuxの基本を理解しよう
01:Linuxの全体像を理解しよう
02:Linuxの利用形態を学ぼう
03:Linuxのシステム構成を知ろう
04:パッケージ管理ツールを使ってみよう
05:シェルコマンドの考え方を理解しよう
06:ファイルシステムを理解しよう
07:ファイルのリンクを作成しよう
Linux入門編2: シェル環境を使いこなそう
01:ファイル検索コマンドfindを使おう
02:テキスト検索コマンドgrepを使おう
03:正規表現を使ってみよう - 特定の文字を指定する
04:正規表現を使ってみよう - 文字数・位置を指定する
05:リダイレクトで、入出力を切り替えよう
06:パイプで、シェルコマンドを組み合わせよう
07:プロセスを理解しよう
08:bash環境をカスタマイズしよう
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。
詳しくはこちら