ログイン

ゼロからわかるlinuxコマンド1
100問 • 1年前
  • サラリーマンサラリーマン
  • 通報

    問題一覧

  • 1

    Linuxとは何?

    linuxという言葉は、以下の2つの意味で使われる。 ・LinuxOS ・Linuxカーネル 基本的には、LinuxOSの意味で使われることのほうが多い。

  • 2

    OSとは何か?

    OSとは、コンピュータを動作させるための土台となる基本のソフトウェア群。OSの役割は主に以下の2つ。 ・アプリケーションを動作させるための土台 ・デスクトップ環境やファイルシステムなど、あって当たり前の機能の提供

  • 3

    カーネル(kernel)とは何か?

    カーネルとは、OSの中核(kernel)となるソフトウェアのこと。カーネルの主な役割は、プログラムを実行するためのプロセス管理とメモリ管理。

  • 4

    Linuxカーネルの特徴は何か?

    Linuxカーネルはオープンソースとして開発されており、次のような特徴がある。 ・linuxOSは低コストで利用可能 ・有志で開発が継続されているため高品質

  • 5

    Linuxディストリビューションとは何か?

    Linuxディストリビューションとは、linuxカーネルとその他のソフトウェアをパッケージにして、linuxOSとしてすぐに利用できるようにしたもの。linuxOSとほぼ同義語。

  • 6

    Linuxディストリビューションの主な2系列は何か?

    Linuxディストリビューションの主な系列は、CentOSなどRedHat系と、UbuntuなどのDebian系の2つ。系列が同じだと操作も近くなる。

  • 7

    サーバーとは何か?

    サーバーとは、Webサイトやデータベースなどのサービスを提供しているコンピュータのこと。供給(serve)するコンピュータなので、サーバー(server)と呼ばれる。

  • 8

    IaaS(Infrastructure as a Service)とは何か?

    IaaSとは、Amazon/Google/Microsoft社などが保有するサーバーを間借りして、サーバーなどのインフラを用意するためのサービスのこと。初期投資の低さや、保守運用が楽などのメリットから、サーバーは自社で保有せずに、AWS/GCP/AzureなどのIaaSを利用することも多い。

  • 9

    GUI・CLIとは何か?

    ・GUI(GraphicalUserInterface)…マウスでアイコンをクリックするなどして操作するインターフェース。簡単な操作しか行わない一般のユーザー向け ・CLI(CommandLineInterface)…コマンド(ライン)という文字列を実行することで操作するインターフェース。複雑や操作や自動化などを行いたい開発者などのユーザー向け

  • 10

    サーバーの操作は基本的にどのように行うか?

    サーバーは基本的に、パソコンから遠隔ログインしてCLI(CommandLineInterface)で操作する。サーバーは複雑な操作や自動化が必要なので、GUIよりもCLIのほうが向いている。

  • 11

    なぜlinuxコマンドを学ぶ必要があるのか?

    サーバーにはLinuxOSが使われていることが多く、サーバーはコマンド(CLI)で操作されることが多いため、サーバー操作を日常的に行うエンジニアはlinuxコマンドを知っている必要がある。開発環境にLinuxが使われることも多い。

  • 12

    物理マシン・仮想マシンとはそれぞれ何か?

    ・物理マシンは、普通のコンピュータ ・仮想マシンは、物理マシンと同じ機能をソフトウェアで実現したもの

  • 13

    ホストOS・ゲストOSとはそれぞれ何か?

    ・ホストOSは、物理マシンのOSのこと ・ゲストOSは、仮想マシン上で稼働するOSのこと

  • 14

    普通のパソコンとサーバー用コンピュータの2つの違いは何か?

    ・インターフェースの違い‥パソコンはGUIだが、サーバーは基本的にCLIで操作する ・利用するユーザー数の違い‥パソコンは基本的に一台を1人だけで使用するが、サーバーは複数人で使用する

  • 15

    ルートディレクトリ(root directory)とは何か?

    ルートディレクトリとは、linuxマシンのすべてのファイルやディレクトリが入っている最上位のディレクトリのこと。パスでは「/」で表現される。

  • 16

    カレントディレクトリ(current directory)とは何か?

    カレントディレクトリとは、現在作業中のディレクトリのこと。パスでは「.」で表現される。

  • 17

    (コマンド)カレントディレクトリを表示する

    pwd…「print working directory(作業ディレクトリを表示する)」の略。pwdコマンドを実行すると、カレントディレクトリの絶対パスが表示される。

  • 18

    パス(path)とは何か?

    パスとは、あるファイルやディレクトリにたどり着くまでの経路(path)を表した文字列のこと。ルートディレクトリを起点にした絶対パスと、カレントディレクトリを起点にした相対パスがある。

  • 19

    ホームディレクトリ(home directory)とは何か?

    ホームディレクトリとは、ユーザーごとに用意されている、ユーザーが自由に変更を加えることのできるディレクトリのこと。ホームディレクトリのパスは「/home/ユーザー名」。

  • 20

    絶対パス・相対パスとはそれぞれ何か?

    ・絶対パスは、ルートディレクトリを起点として表記するパス ・相対パスは、カレントディレクトリを起点として表記するパス

  • 21

    絶対パス・相対パスのメリット・デメリットはそれぞれ何か?

    ・絶対パスは、曖昧さはないが長くなりがちで環境に依存する ・相対パスは、短く書けて環境にも依存しづらいが、カレントディレクトリがわからないと指定場所がわからない

  • 22

    (コマンド)カレントディレクトリの中にあるファイルとディレクトリを一覧表示する

    ls‥lsコマンドは、引数に指定したディレクトリの中身を一覧表示するコマンド。引数に何も指定しないとカレントディレクトリの中を一覧表示する。

  • 23

    (コマンド)「/bin」の中にあるファイルとディレクトリを一覧表示する

    ls /bin‥lsコマンドは、引数に指定したディレクトリの中身を一覧表示するコマンド。lsコマンドに限らないが、引数は絶対パスでも相対パスでも指定可能。

  • 24

    (コマンド)カレントディレクトリを一つ上のディレクトリに変更する

    cd .. cdコマンドは、カレントディレクトリを変更する(change directory)ためのコマンド。相対パスにおいて、1つ上のディレクトリ(親ディレクトリ)は「..」で表現する。

  • 25

    (コマンド)カレントディレクトリをホームディレクトリに変更する

    cd cdコマンドは、カレントディレクトリを変更する(change directory)するためのコマンド。引数を省略すると現在ログインしているユーザーのホームディレクトリに移動する。

  • 26

    (コマンド)カレントディレクトリを一つ前に戻す

    cd - cdコマンドは、カレントディレクトリを変更する(change directory)ためのコマンド。引数に「-(ハイフン)」を指定すると、一つ前のディレクトリに戻る。

  • 27

    UNIXとは何か?

    UNIXは、linuxの元になったOS。UNIXを元にして作られたOSには、大きくSystemV系列と、BSD系列の2つがある。linuxは両方の系列の特徴を受け継ぐ、ゼロから開発されたOS。

  • 28

    標準規格に準拠するメリットは何か?

    標準規格に準拠すると、以下のようなメリットがある。 ・互換性の向上 ・品質の確保 ・開発コストの削減

  • 29

    FHS(FileSystemHierarchyStandard)とは何か?

    FHS(File SystemHierarchy Standard)とは、linux(などのUNIX系OS)の標準的なディレクトリ構成を定めた標準規格のこと。

  • 30

    シェル(shell)とは何か?

    シェルとは、コマンドを実行するためのソフトウェア。linuxカーネルを殻(shell)のように包み込む動作をすることが名前の由来。

  • 31

    端末(terminal)とは何か?

    端末とは、本来はキーボードやディスプレイなど、ユーザーがコンピュータに入出力する際に利用するハードウェアのこと。端末の機能をソフトウェアで実現した「端末エミュレータ」を指して「端末」と呼ぶことも多い。

  • 32

    ログインシェルとは何か?

    ログインシェルとは、ログイン後すぐに暗黙的に起動されるシェルのこと。変数SHELLに設定されている。

  • 33

    (コマンド)ログインシェルを表示する

    echo $SHELL echoコマンドは、引数に指定した文字列を標準出力に出力するためのコマンド。シェル変数を参照するには「$変数名」とする。

  • 34

    Bashとは何か?

    Bashとは「Bourne-again shell」の略で、BourneShellを改良したシェル。Bashは多くのlinuxディストリビューションでデフォルトのログインシェルになっている。

  • 35

    プロンプトとは何か?

    プロンプトとは、コマンドの入力を促す部分のこと。「hiramatsu-VirtualBox:〜$」など。

  • 36

    コマンドラインとは何か?

    コマンドラインとは、プロンプトの右側のコマンド入力部分のこと。もしくは、そこに入力されたコマンドや引数からなる文字列のこと。

  • 37

    コマンドはどのような流れで実行されるか?

    以下のような流れで実行される(lsコマンドの場合)。 1.シェルが端末を通じて、キーボードから「ls」という文字列を受け取る 2.シェルが「ls」という名前のコマンドを探し出し、linuxカーネルに実行を依頼する 3.linuxカーネルがCPUやメモリなどのハードウェアを利用してコマンドを実行する 4.コマンドの実行結果がシェルに返され、端末に表示される

  • 38

    抽象化とは何か?

    抽象化とは、複雑な詳細を隠すことで簡単なインターフェースを提供すること。OSは抽象化の階層からなる。

  • 39

    システムコール(system call)とは何か?

    システムコールとは、カーネルの機能を関数として呼び出すことのできるインターフェースのこと。

  • 40

    (キー入力)コマンドラインでカーソル位置を1文字左・右に移動する

    ・1文字左に移動する  Ctrl+bもしくは←キー‥「backward(後方に)」の「b」 ・1文字右に移動する  Ctrl+fもしくは→キー‥「forward(前方に)」の「f」

  • 41

    (キー入力)コマンドラインでカーソル位置を左端・右端に移動する

    ・左端に移動する  Ctrl+a‥「ahead(前方へ)」、もしくは「頭(atama)」の「a」と覚えよう ・右端に移動する  Ctrl+e‥「end(末端)」の「e」

  • 42

    (キー入力)コマンドラインで以下の操作を行う ・カーソル位置の左の文字を削除する ・カーソル位置の文字を削除する ・カーソル位置から単語の先頭までを削除する

    ・カーソル位置の左の文字を削除する  BackSpaceまたはCtrl+h‥hidari(左)の「h」と覚えよう ・カーソル位置の文字を削除する  DeleteまたはCtrl+d‥「delete」の略 ・カーソル位置から単語の先頭までを削除  Ctrl+w‥「word」の略

  • 43

    (キー入力)コマンドラインで以下の操作を行う ・カーソル位置から左端までを削除する ・カーソル位置から右端までを削除する

    ・カーネル位置から左端までを削除  Ctrl+u ・カーネル位置から右端までを削除  Ctrl+k キーボードでのuとkの位置関係で覚えよう。

  • 44

    (キー入力)コマンドラインで削除した文字列を貼り付ける

    Ctrl+y シェルにおいてヤンク(yank)は貼り付けという意味。

  • 45

    (キー入力)入力途中のコマンドやパスの補完を行う

    Tabキー 入力補完の機能なので「多分(Tabun)これかな?」のTabと覚えよう

  • 46

    (キー入力)コマンドラインで以下の操作を行う ・1つ前のコマンド履歴に移動する ・次のコマンド履歴に移動する

    ・一つ前のコマンド履歴に移動する  ↑キーまたはCtrl+p‥「previous(前の)」の略 ・次のコマンド履歴に移動する  ↓キーまたはCtrl+n‥「next(次の)」略

  • 47

    (コマンド)直近で実行した5個だけ、コマンド履歴を表示する

    history 5 historyコマンドは、引数に指定した数の直近のコマンド履歴を表示するためのコマンド。引数を省略すると、すべてのコマンド履歴が表示される。

  • 48

    (コマンド)コマンド履歴の通し番号が10番のコマンドを再び実行する

    !10 「!番号」と実行することで、指定した番号のコマンド履歴を再利用することができる。

  • 49

    ショートオプション・ロングオプションとはそれぞれ何か?

    ・ショートオプション  「-(ハイフン1つ)」+「アルファベット一文字」(-aや-lなど)  ‥入力は楽だが、意味がわかりづらい ・ロングオプション  「--(ハイフン2つ)」+「文字列」(--widthや--classifyなど)  ‥入力は大変だが、意味はわかりやすい

  • 50

    (コマンド)lsコマンドの-w(--width)オプションに30という値を引数として渡す

    ls -w30またはls --width=30 オプションが引数を持つ場合 ・ショートオプションなら「-w30」のようにオプションを引数とくっつける ・ロングオプションなら「--width=30」のようにオプションと引数を「=」でつなぐ

  • 51

    ドットファイル(隠しファイル)とは何か?

    ドットファイルとは、名前が「.(ドット)」から始まる、デフォルトのlsコマンドでは表示されないファイルのこと。重要なファイルや変更されることが少ないファイルは、普段はユーザーから見えないようにしていたほうが、予期せぬ削除・変更などのリスクが小さくなるため、隠しファイルとして設定されていることがある。

  • 52

    (コマンド)カレントディレクトリの中身を、隠しファイルを含めて一覧表示する

    ls -a または ls -A -aは「all」の略、隠しファイルも含めてすべて(all)ということ。-Aはカレントディレクトリ(.)と親ディレクトリ(..)を除いて表示する。

  • 53

    (コマンド)カレントディレクトリの中身を、詳細情報を含めて一覧表示する

    ls -l -lは「long」の略、長く詳細に表示するオプション。-lオプションで、パーミッションやファイルのオーナーなどの情報も表示できる。

  • 54

    (コマンド)カレントディレクトリの中身を、名前の末尾にファイル種別を付けて一覧表示する

    ls -F -Fは「classify(分類する)」の略。-Fオプションを付けると、「bin@」や「home/」のようにファイル種別が名前の末尾につく。

  • 55

    lsコマンドの-Fオプションにおいて、「/」「*」「@」それぞれの記号の意味は何か?

    lsコマンドの-Fオプションにおいて、ファイル種別と末尾に付く記号の対応は以下の通り。 ・通常ファイル‥なし ・ディレクトリ‥「/」 ・実行可能ファイル‥「*」 ・シンボリックリンク‥「@」

  • 56

    (コマンド)ルートディレクトリ自体の情報を詳細表示する

    ls -dl / -dは「directory(ディレクトリ)」の略で、引数に指定したディレクトリ自体を表示するオプション。引数のないショートオプションであれば、「-dl」のようにまとめて書くとシンプルで良い。

  • 57

    (コマンド)lsコマンドのヘルプメッセージを表示する

    ls --help 多くのlinuxコマンドでは、--helpオプションでヘルプメッセージを見ることができる。ヘルプメッセージには、コマンドの使用方法や概要、オプションの一覧などが書かれている。

  • 58

    (コマンド)lsコマンドのマニュアルを表示する

    man ls 「man」は「manual」の略で、ヘルプメッセージよりも詳細なマニュアルを見ることができる。manコマンドを使うと、lessコマンドでマニュアルがスクロール表示される。

  • 59

    (コマンド)カレントディレクトリに「example」というディレクトリを作成する

    mkdir example mkdirコマンドは、引数に指定した名前のディレクトリを作成するコマンド。mkdirは「make directory」の略。

  • 60

    (コマンド)カレントディレクトリに「2023/01」というディレクトリの階層を作成する

    mkdir -p 2023/01 -pオプションは、引数に指定したディレクトリを親ディレクトリもまとめて作成するためのオプション。-pは「parent(親)」の略、「親ディレクトリ(parent)もまとめて」ということ。

  • 61

    (コマンド)カレントディレクトリに「newfile」というファイルを作成する

    touch newfile touchコマンドは、中身が空のファイルを作成するコマンド。本来は、引数に指定されたファイルやディレクトリのタイムスタンプを変更するコマンド。「現在時刻に触れる(touch)」と覚える。

  • 62

    (コマンド)カレントディレクトリの「newfile」というファイルを削除する

    rm newfile rmコマンドは、引数に指定したファイルやディレクトリを削除するコマンド。rmは「remove(削除する)」の略。

  • 63

    (コマンド)カレントディレクトリの「newdir」というディレクトリを削除する

    rm -r newdir rmコマンドでディレクトリを削除するには-rオプションを付ける。-rは「recursive(再帰的な)」の略、再帰的にディレクトリを削除する。

  • 64

    (コマンド)カレントディレクトリの「dir」というディレクトリを削除する(削除前に確認メッセージを表示する)

    rm -ir dir -iオプションは、削除前に確認メッセージを表示するオプション。-iは「interactive(対話式の)」の略、対話形式で確認してから削除する。ディレクトリの削除なので、-rオプションも必要。

  • 65

    (コマンド)カレントディレクトリの「dir」という空のディレクトリを削除する

    rmdir dir rmdirコマンドは、空のディレクトリを削除するコマンド。rmdirは「remove directory」の略。中身のあるディレクトリを削除する危険がないためrmコマンドよりも安心して使える。

  • 66

    (コマンド)「/etc/crontab」というファイルを表示する

    cat /etc/crontab catコマンドは、ファイルの中身を(連結して)表示するコマンド。catは「concatenate」の略。

  • 67

    (コマンド)「/etc/crontab」というファイルを行番号付きで表示する

    cat -n /etc/crontab catコマンドは、ファイルの中身を(連結して)表示するコマンド。-nは「number」の略、行"番号"のこと。

  • 68

    (コマンド)「/etc/crontab」というファイルの先頭5行だけを表示する

    head -n5 /etc/crontab ファイルの先頭(head)だけを表示するにはheadコマンド、末尾(tail)だけを表示するにはtailコマンドを使う。-nオプションの引数に指定した行数だけ表示される。

  • 69

    (コマンド)「/var/log/syslog」というファイルの末尾を監視する

    tail -f /var/log/syslog tailコマンドの-fオプションで、ログファイルなどのファイルの末尾を監視できる。-fは「follow(監視する)」の略。

  • 70

    (コマンド)カレントディレクトリの「.bashrc」というファイルをスクロール表示する

    less .bashrc lessコマンドは、スクロール表示するためのコマンド。moreコマンドというスクロール表示のコマンドを改良したのがlessコマンド。「スクロールしてもっと多く(more)見る」と覚える。

  • 71

    lessコマンドのスクロール表示中に、以下の操作を行うためのキーはそれぞれ何か? ・1画面下に移動 ・1画面上に移動

    ・一画面下に移動  スペースキー、fキー…ブラウザと同様、forward(前方) ・一画面上に移動  bキー‥backward(後方)

  • 72

    lessコマンドのスクロール表示中に、以下の操作を行うためのキーはそれぞれ何か? ・一行下に移動 ・一行上に移動

    ・一行下に移動  jキー、Enterキー ・一行上に移動  kキー  ※Vimではhjklが←↓↑→に対応。

  • 73

    lessコマンドのスクロール表示中に、以下の操作を行うためのキーはそれぞれ何か? ・スクロール表示を終了 ・ヘルプを表示

    ・スクロール表示を終了  qキー…quit(終了する) ・ヘルプを表示  hキー‥help

  • 74

    lessコマンドの実行中に、以下の操作を行うためのコマンドはそれぞれ何か? ・指定した文字列を検索 ・次の検索結果に移動 ・前の検索結果に移動

    ・指定した文字列を検索  /文字列(「/etc」と入力すると「etc」という文字列を検索する) ・次の検索結果に移動  nキー‥「next」の略 ・前の検索結果に移動  Shift+nキー‥Shiftは逆操作のキー

  • 75

    (コマンド)カレントディレクトリで「file」というファイルを「cpfile」という名前でコピーする

    cp file cpfile cpコマンドは、ファイルやディレクトリをコピー(copy)するコマンド。コピー先に存在しない名前を指定すると、コピー元に指定したファイルやディレクトリをその名前でコピーする。

  • 76

    (コマンド)カレントディレクトリで「file1」「file2」という2つのファイルを「dir1」ディレクトリ内にコピーする

    cp file1 file2 dir1 コピー先に既存のディレクトリを指定すると、コピー元をそのディレクトリ内にコピーする。この場合、コピー元には複数のファイルやディレクトリを指定できる。

  • 77

    (コマンド)カレントディレクトリで「dir1」というディレクトリを「dir2」という名前でコピーする

    ディレクトリをコピー元に指定する際には、-rオプションを付ける。-rは「recursive(再帰的な)」の略、再帰的にディレクトリツリーをコピーする。

  • 78

    (コマンド)カレントディレクトリで「file1」「file2」という2つのファイルを「dir1」という名前のディレクトリに移動する

    mv file1 file2 dir1 mvコマンドは、ファイルやディレクトリの移動や名前の変更をするコマンド。mvは「move」の略で「mv 移動元 移動先」と書く。移動先に既存のディレクトリを指定すると、そのディレクトリへの移動の機能になる。

  • 79

    (コマンド)カレントディレクトリで「file1」というファイルを「file2」という名前に変更する

    mv file1 file2 mvコマンドは、ファイルやディレクトリの移動や名前の変更をするコマンド。mvは「move」 の略で「mv 移動元 移動先」と書く。移動先に存在しない名前を指定すると、名前の変更の機能になる。

  • 80

    (コマンド)カレントディレクトリをホームディレクトリ内にある「work」というディレクトリに変更する

    cd ~/work コマンドラインにおいて「~(チルダ)」は、現在ログインしているユーザーのホームディレクトリの絶対パスに変換される(チルダ展開)。

  • 81

    (コマンド)/usr/binディレクトリ内のsshから始まるファイルやディレクトリを一覧表示する

    ls /usr/bin/ssh* コマンドラインにおいて「*」は、「任意の文字列」の意味になる(パス名展開)。

  • 82

    (コマンド)/binディレクトリ内のbaから始まる4文字のファイルを一覧表示する

    ls /bin/ba?? コマンドラインにおいて「?」は、「任意の1文字」の意味になる(パス名展開)。

  • 83

    (コマンド)ホームディレクトリに「2023」というディレクトリを作成し、その中に「1」〜「12」という12個のディレクトリを作成する。ただし、コマンドは一回しか実行できないものとする

    mkdir -p ~/2023/{1..12} 「{1..12}」と入力すると、プレース展開によって「1 2 3 4 5 6 7 8 9 10 11 12」という12個の文字列が指定されたことになる。

  • 84

    (コマンド)ホームディレクトリに「fileA」「FileA」「FILEA」という3つのファイルを作成する

    touch ~/{file,File,FILE}A 「~/{file,File,FILE}A」と入力すると、プレース展開によって「~/fileA ~/FileA ~/FILEA」という3個の文字列が指定されたことになる。

  • 85

    (コマンド)「~」という文字列を表示する

    以下のうちいずれか echo \~ echo '~" echo "~" エスケープしないとチルダ展開されるので、以下のいずれかでエスケープが必要。 ・\ …右1文字を展開しない ・' ' …この中のすべての文字を展開しない ・" " …この中では「!」「?」「’(バッククォート)」だけを展開する

  • 86

    (コマンド)「!5」という文字列を表示する

    以下の2つのうちいずれか echo \/!5 echo '!5' エスケープしないとコマンド履歴を再利用してしまうので、以下の「\」か「' '」でエスケープが必要。 ・\ …右1文字を展開しない ・' ' …この中のすべての文字を展開しない ・" " …この中では「!」「$」「’(バッククォート)」だけを展開する

  • 87

    ハードリンク、シンボリックリンクとはそれぞれ何か?

    リンクとは、1つのファイルやディレクトリを複数の名前で呼び出せるように別名をつける機能のこと。リンクには、ファイルの実体と名前を結び付けるハードリンクと、名前と名前を結びつけるシンボリックリンクがある。ハードリンクはディレクトリに設定できないなど不便な点があるので、実用の場面では基本的にシンボリックリンクが使われる。

  • 88

    リンクカウントとは何か?

    リンクカウントとは、ファイルに付いている名前(ハードリンク)の数のこと…「ls -l」を実行したときの左から2番目の数字には、ファイルの場合は、そのファイルに結び付いているハードリンクの数が記載されており、ディレクトリの場合は、そのディレクトリの中にあるファイルやディレクトリの数が記載されている。

  • 89

    (コマンド)カレントディレクトリの「file1」に「file2」という名前のシンボリックリンクを作成する

    ln -s file1 file2 lnコマンドは、リンクを作成するためのコマンド、lnは「link」の略。-sは「symbolic(シンボリック)」の略。「ln -sリンクを付けるファイル/ディレクトリ リンク名」というように書く。

  • 90

    リンクの2つのメリットは何か?

    (シンボリック)リンクによって、長いパスを省略できたり、プログラムの変更を減らすことができるようになる。

  • 91

    (コマンド)カレントディレクトリ以下から名前の末尾が「.txt」のファイルやディレクトリを検索して表示する

    find . -name '*.txt' -print findコマンドはファイル/ディレクトリを検索するコマンド。「find 検索開始ディレクトリ 検索条件 アクション」というように書く。「-name '*.txt'」で「.txtで終わる名前」という意味になる(「*」はワイルドカード)。アクションが-printの場合は省略が可能。

  • 92

    (コマンド)ホームディレクトリ以下のすべてのディレクトリを表示する

    find ~ -type d findコマンドでファイル種別で絞り込むには、「-type ファイル種別」と書く。ファイル種別には「f(ファイル)」「d(ディレクトリ)」「l(シンボリックリンク)」などがある。

  • 93

    (コマンド)カレントディレクトリ以下から「link」という名前のシンボリックリンクを検索して削除する

    find . -name link -a -type l -delete AND検索をする場合には、検索条件を-aで区切る(-aは省略可能。aはANDの略)。OR検索をする場合には、検索条件を-oで区切る(oはORの略)。アクションに-deleteを指定すると検索にヒットしたものを削除する。

  • 94

    フールプルーフ(foolproof)とは何か?

    プールプルーフとは、危険な操作を絶対にできないような仕組みにすることで、正しい使用を強制する設計思考のこと。ドアを閉めないと運転が開始しない電子レンジや、運転中にはドアがロックされる洗濯機などがフールプルーフの例。

  • 95

    パーミッションとは何か?

    パーミッションとは、「そのファイルに対して誰がどんな操作を行えるのか?」というファイルアクセスの権限をファイルやディレクトリに定めることで、行える操作をユーザーごとに変えるための仕組み。「ls -l」を実行して「rwxr-xr-x」というように表示される部分がパーミッションを表す。

  • 96

    (コマンド)hiramatsuというユーザーが所属するグループを一覧表示する

    groups hiramatsu groupsコマンドでユーザーが所属しているグループを確認できる。引数のユーザー名を省略すると、現在ログインしているユーザーの所属グループが表示される。

  • 97

    (コマンド)/bin/bashのパーミッションを確認する

    ls -l /bin/bash 「-rwxr-xr-x 1 root root ...」と表示されたら以下のことがわかる ・通常ファイル(-) ・rootユーザーは閲覧・編集・実行すべての権限を持つ(rwx) ・rootグループに所属するユーザーは閲覧・実行権限を持つ(r-x) ・その他のユーザーは閲覧・実行権限を持つ(r-x)

  • 98

    オーナー・所有グループとはそれぞれ何か?

    ・オーナーとは、ファイルを所有するユーザーのこと。所有ユーザーとも言う。最も強い権限を与えられることが多い。 ・所有グループとは、ファイルを所有するグループのこと。グループには複数のユーザーを所属させることができ、所属しているユーザーすべてに共通のパーミッションを設定できる。

  • 99

    「ls -l」を実行すると、「drwxrw-r-- tanaka teamA ...」と表示された。これはどのような意味か?

    「drwxrw-r-- tanaka teamA ...」は以下の意味 ・ファイル種別はディレクトリ(d) ・tanakaユーザーのパーミッションは「読み取り・書き込み・実行」(rwx) ・teamAグループに所属するユーザーのパーミッションは「読み取り・書き込み」(rw-) ・その他のユーザーのパーミッションは「読み取り」(r--)

  • 100

    「ls -l」を実行すると、「-rwxr-xr-x root root ...」と表示された。これはどのような意味か?

    「-rwxr-xr-x root root...」は以下の意味 ・ファイル種別は通常ファイル(-) ・rootユーザーのパーミッションは「読み取り・書き込み・実行」(rwx) ・rootグループに所属するユーザーのパーミッションは「読み取り・実行」(r-x) ・その他のユーザーのパーミッションは「読み取り・実行」(r-x)

  • AWSのしくみと技術がわかる 5

    AWSのしくみと技術がわかる 5

    サラリーマンサラリーマン · 61問 · 1年前

    AWSのしくみと技術がわかる 5

    AWSのしくみと技術がわかる 5

    61問 • 1年前
    サラリーマンサラリーマン

    AWSのしくみと技術がわかる 6

    AWSのしくみと技術がわかる 6

    サラリーマンサラリーマン · 44問 · 1年前

    AWSのしくみと技術がわかる 6

    AWSのしくみと技術がわかる 6

    44問 • 1年前
    サラリーマンサラリーマン

    AWSのしくみと技術が分かる 7,8

    AWSのしくみと技術が分かる 7,8

    サラリーマンサラリーマン · 73問 · 1年前

    AWSのしくみと技術が分かる 7,8

    AWSのしくみと技術が分かる 7,8

    73問 • 1年前
    サラリーマンサラリーマン

    AWS 基礎からのネットワークサーバー 1

    AWS 基礎からのネットワークサーバー 1

    サラリーマンサラリーマン · 8問 · 1年前

    AWS 基礎からのネットワークサーバー 1

    AWS 基礎からのネットワークサーバー 1

    8問 • 1年前
    サラリーマンサラリーマン

    AWS 基礎からのネットワークサーバー 2,3,4

    AWS 基礎からのネットワークサーバー 2,3,4

    サラリーマンサラリーマン · 75問 · 1年前

    AWS 基礎からのネットワークサーバー 2,3,4

    AWS 基礎からのネットワークサーバー 2,3,4

    75問 • 1年前
    サラリーマンサラリーマン

    AWS基礎からのネットワークandサーバー構築 5,6,7,8

    AWS基礎からのネットワークandサーバー構築 5,6,7,8

    サラリーマンサラリーマン · 61問 · 1年前

    AWS基礎からのネットワークandサーバー構築 5,6,7,8

    AWS基礎からのネットワークandサーバー構築 5,6,7,8

    61問 • 1年前
    サラリーマンサラリーマン

    AWS基礎からのネットワークandサーバー構築 9

    AWS基礎からのネットワークandサーバー構築 9

    サラリーマンサラリーマン · 15問 · 1年前

    AWS基礎からのネットワークandサーバー構築 9

    AWS基礎からのネットワークandサーバー構築 9

    15問 • 1年前
    サラリーマンサラリーマン

    AWSコンテナ入門1

    AWSコンテナ入門1

    サラリーマンサラリーマン · 100問 · 1年前

    AWSコンテナ入門1

    AWSコンテナ入門1

    100問 • 1年前
    サラリーマンサラリーマン

    AWSコンテナ入門1 続き

    AWSコンテナ入門1 続き

    サラリーマンサラリーマン · 19問 · 1年前

    AWSコンテナ入門1 続き

    AWSコンテナ入門1 続き

    19問 • 1年前
    サラリーマンサラリーマン

    AWSコンテナ入門2

    AWSコンテナ入門2

    サラリーマンサラリーマン · 47問 · 1年前

    AWSコンテナ入門2

    AWSコンテナ入門2

    47問 • 1年前
    サラリーマンサラリーマン

    AWSコンテナ入門3

    AWSコンテナ入門3

    サラリーマンサラリーマン · 100問 · 1年前

    AWSコンテナ入門3

    AWSコンテナ入門3

    100問 • 1年前
    サラリーマンサラリーマン

    AWSコンテナ設計・構築3 続き

    AWSコンテナ設計・構築3 続き

    サラリーマンサラリーマン · 17問 · 1年前

    AWSコンテナ設計・構築3 続き

    AWSコンテナ設計・構築3 続き

    17問 • 1年前
    サラリーマンサラリーマン

    AWSコンテナ入門4

    AWSコンテナ入門4

    サラリーマンサラリーマン · 60問 · 1年前

    AWSコンテナ入門4

    AWSコンテナ入門4

    60問 • 1年前
    サラリーマンサラリーマン

    AWSコンテナ入門5

    AWSコンテナ入門5

    サラリーマンサラリーマン · 23問 · 1年前

    AWSコンテナ入門5

    AWSコンテナ入門5

    23問 • 1年前
    サラリーマンサラリーマン

    インフラエンジニアの教科書2 1 改訂

    インフラエンジニアの教科書2 1 改訂

    サラリーマンサラリーマン · 49問 · 1年前

    インフラエンジニアの教科書2 1 改訂

    インフラエンジニアの教科書2 1 改訂

    49問 • 1年前
    サラリーマンサラリーマン

    インフラエンジニアの教科書2 2 改訂

    インフラエンジニアの教科書2 2 改訂

    サラリーマンサラリーマン · 100問 · 1年前

    インフラエンジニアの教科書2 2 改訂

    インフラエンジニアの教科書2 2 改訂

    100問 • 1年前
    サラリーマンサラリーマン

    インフラエンジニアの教科書2 改訂続き

    インフラエンジニアの教科書2 改訂続き

    サラリーマンサラリーマン · 75問 · 1年前

    インフラエンジニアの教科書2 改訂続き

    インフラエンジニアの教科書2 改訂続き

    75問 • 1年前
    サラリーマンサラリーマン

    AWSの全部わかる教科書 1,2,3

    AWSの全部わかる教科書 1,2,3

    サラリーマンサラリーマン · 71問 · 1年前

    AWSの全部わかる教科書 1,2,3

    AWSの全部わかる教科書 1,2,3

    71問 • 1年前
    サラリーマンサラリーマン

    AWSの全部わかる教科書 4

    AWSの全部わかる教科書 4

    サラリーマンサラリーマン · 21問 · 1年前

    AWSの全部わかる教科書 4

    AWSの全部わかる教科書 4

    21問 • 1年前
    サラリーマンサラリーマン

    問題一覧

  • 1

    Linuxとは何?

    linuxという言葉は、以下の2つの意味で使われる。 ・LinuxOS ・Linuxカーネル 基本的には、LinuxOSの意味で使われることのほうが多い。

  • 2

    OSとは何か?

    OSとは、コンピュータを動作させるための土台となる基本のソフトウェア群。OSの役割は主に以下の2つ。 ・アプリケーションを動作させるための土台 ・デスクトップ環境やファイルシステムなど、あって当たり前の機能の提供

  • 3

    カーネル(kernel)とは何か?

    カーネルとは、OSの中核(kernel)となるソフトウェアのこと。カーネルの主な役割は、プログラムを実行するためのプロセス管理とメモリ管理。

  • 4

    Linuxカーネルの特徴は何か?

    Linuxカーネルはオープンソースとして開発されており、次のような特徴がある。 ・linuxOSは低コストで利用可能 ・有志で開発が継続されているため高品質

  • 5

    Linuxディストリビューションとは何か?

    Linuxディストリビューションとは、linuxカーネルとその他のソフトウェアをパッケージにして、linuxOSとしてすぐに利用できるようにしたもの。linuxOSとほぼ同義語。

  • 6

    Linuxディストリビューションの主な2系列は何か?

    Linuxディストリビューションの主な系列は、CentOSなどRedHat系と、UbuntuなどのDebian系の2つ。系列が同じだと操作も近くなる。

  • 7

    サーバーとは何か?

    サーバーとは、Webサイトやデータベースなどのサービスを提供しているコンピュータのこと。供給(serve)するコンピュータなので、サーバー(server)と呼ばれる。

  • 8

    IaaS(Infrastructure as a Service)とは何か?

    IaaSとは、Amazon/Google/Microsoft社などが保有するサーバーを間借りして、サーバーなどのインフラを用意するためのサービスのこと。初期投資の低さや、保守運用が楽などのメリットから、サーバーは自社で保有せずに、AWS/GCP/AzureなどのIaaSを利用することも多い。

  • 9

    GUI・CLIとは何か?

    ・GUI(GraphicalUserInterface)…マウスでアイコンをクリックするなどして操作するインターフェース。簡単な操作しか行わない一般のユーザー向け ・CLI(CommandLineInterface)…コマンド(ライン)という文字列を実行することで操作するインターフェース。複雑や操作や自動化などを行いたい開発者などのユーザー向け

  • 10

    サーバーの操作は基本的にどのように行うか?

    サーバーは基本的に、パソコンから遠隔ログインしてCLI(CommandLineInterface)で操作する。サーバーは複雑な操作や自動化が必要なので、GUIよりもCLIのほうが向いている。

  • 11

    なぜlinuxコマンドを学ぶ必要があるのか?

    サーバーにはLinuxOSが使われていることが多く、サーバーはコマンド(CLI)で操作されることが多いため、サーバー操作を日常的に行うエンジニアはlinuxコマンドを知っている必要がある。開発環境にLinuxが使われることも多い。

  • 12

    物理マシン・仮想マシンとはそれぞれ何か?

    ・物理マシンは、普通のコンピュータ ・仮想マシンは、物理マシンと同じ機能をソフトウェアで実現したもの

  • 13

    ホストOS・ゲストOSとはそれぞれ何か?

    ・ホストOSは、物理マシンのOSのこと ・ゲストOSは、仮想マシン上で稼働するOSのこと

  • 14

    普通のパソコンとサーバー用コンピュータの2つの違いは何か?

    ・インターフェースの違い‥パソコンはGUIだが、サーバーは基本的にCLIで操作する ・利用するユーザー数の違い‥パソコンは基本的に一台を1人だけで使用するが、サーバーは複数人で使用する

  • 15

    ルートディレクトリ(root directory)とは何か?

    ルートディレクトリとは、linuxマシンのすべてのファイルやディレクトリが入っている最上位のディレクトリのこと。パスでは「/」で表現される。

  • 16

    カレントディレクトリ(current directory)とは何か?

    カレントディレクトリとは、現在作業中のディレクトリのこと。パスでは「.」で表現される。

  • 17

    (コマンド)カレントディレクトリを表示する

    pwd…「print working directory(作業ディレクトリを表示する)」の略。pwdコマンドを実行すると、カレントディレクトリの絶対パスが表示される。

  • 18

    パス(path)とは何か?

    パスとは、あるファイルやディレクトリにたどり着くまでの経路(path)を表した文字列のこと。ルートディレクトリを起点にした絶対パスと、カレントディレクトリを起点にした相対パスがある。

  • 19

    ホームディレクトリ(home directory)とは何か?

    ホームディレクトリとは、ユーザーごとに用意されている、ユーザーが自由に変更を加えることのできるディレクトリのこと。ホームディレクトリのパスは「/home/ユーザー名」。

  • 20

    絶対パス・相対パスとはそれぞれ何か?

    ・絶対パスは、ルートディレクトリを起点として表記するパス ・相対パスは、カレントディレクトリを起点として表記するパス

  • 21

    絶対パス・相対パスのメリット・デメリットはそれぞれ何か?

    ・絶対パスは、曖昧さはないが長くなりがちで環境に依存する ・相対パスは、短く書けて環境にも依存しづらいが、カレントディレクトリがわからないと指定場所がわからない

  • 22

    (コマンド)カレントディレクトリの中にあるファイルとディレクトリを一覧表示する

    ls‥lsコマンドは、引数に指定したディレクトリの中身を一覧表示するコマンド。引数に何も指定しないとカレントディレクトリの中を一覧表示する。

  • 23

    (コマンド)「/bin」の中にあるファイルとディレクトリを一覧表示する

    ls /bin‥lsコマンドは、引数に指定したディレクトリの中身を一覧表示するコマンド。lsコマンドに限らないが、引数は絶対パスでも相対パスでも指定可能。

  • 24

    (コマンド)カレントディレクトリを一つ上のディレクトリに変更する

    cd .. cdコマンドは、カレントディレクトリを変更する(change directory)ためのコマンド。相対パスにおいて、1つ上のディレクトリ(親ディレクトリ)は「..」で表現する。

  • 25

    (コマンド)カレントディレクトリをホームディレクトリに変更する

    cd cdコマンドは、カレントディレクトリを変更する(change directory)するためのコマンド。引数を省略すると現在ログインしているユーザーのホームディレクトリに移動する。

  • 26

    (コマンド)カレントディレクトリを一つ前に戻す

    cd - cdコマンドは、カレントディレクトリを変更する(change directory)ためのコマンド。引数に「-(ハイフン)」を指定すると、一つ前のディレクトリに戻る。

  • 27

    UNIXとは何か?

    UNIXは、linuxの元になったOS。UNIXを元にして作られたOSには、大きくSystemV系列と、BSD系列の2つがある。linuxは両方の系列の特徴を受け継ぐ、ゼロから開発されたOS。

  • 28

    標準規格に準拠するメリットは何か?

    標準規格に準拠すると、以下のようなメリットがある。 ・互換性の向上 ・品質の確保 ・開発コストの削減

  • 29

    FHS(FileSystemHierarchyStandard)とは何か?

    FHS(File SystemHierarchy Standard)とは、linux(などのUNIX系OS)の標準的なディレクトリ構成を定めた標準規格のこと。

  • 30

    シェル(shell)とは何か?

    シェルとは、コマンドを実行するためのソフトウェア。linuxカーネルを殻(shell)のように包み込む動作をすることが名前の由来。

  • 31

    端末(terminal)とは何か?

    端末とは、本来はキーボードやディスプレイなど、ユーザーがコンピュータに入出力する際に利用するハードウェアのこと。端末の機能をソフトウェアで実現した「端末エミュレータ」を指して「端末」と呼ぶことも多い。

  • 32

    ログインシェルとは何か?

    ログインシェルとは、ログイン後すぐに暗黙的に起動されるシェルのこと。変数SHELLに設定されている。

  • 33

    (コマンド)ログインシェルを表示する

    echo $SHELL echoコマンドは、引数に指定した文字列を標準出力に出力するためのコマンド。シェル変数を参照するには「$変数名」とする。

  • 34

    Bashとは何か?

    Bashとは「Bourne-again shell」の略で、BourneShellを改良したシェル。Bashは多くのlinuxディストリビューションでデフォルトのログインシェルになっている。

  • 35

    プロンプトとは何か?

    プロンプトとは、コマンドの入力を促す部分のこと。「hiramatsu-VirtualBox:〜$」など。

  • 36

    コマンドラインとは何か?

    コマンドラインとは、プロンプトの右側のコマンド入力部分のこと。もしくは、そこに入力されたコマンドや引数からなる文字列のこと。

  • 37

    コマンドはどのような流れで実行されるか?

    以下のような流れで実行される(lsコマンドの場合)。 1.シェルが端末を通じて、キーボードから「ls」という文字列を受け取る 2.シェルが「ls」という名前のコマンドを探し出し、linuxカーネルに実行を依頼する 3.linuxカーネルがCPUやメモリなどのハードウェアを利用してコマンドを実行する 4.コマンドの実行結果がシェルに返され、端末に表示される

  • 38

    抽象化とは何か?

    抽象化とは、複雑な詳細を隠すことで簡単なインターフェースを提供すること。OSは抽象化の階層からなる。

  • 39

    システムコール(system call)とは何か?

    システムコールとは、カーネルの機能を関数として呼び出すことのできるインターフェースのこと。

  • 40

    (キー入力)コマンドラインでカーソル位置を1文字左・右に移動する

    ・1文字左に移動する  Ctrl+bもしくは←キー‥「backward(後方に)」の「b」 ・1文字右に移動する  Ctrl+fもしくは→キー‥「forward(前方に)」の「f」

  • 41

    (キー入力)コマンドラインでカーソル位置を左端・右端に移動する

    ・左端に移動する  Ctrl+a‥「ahead(前方へ)」、もしくは「頭(atama)」の「a」と覚えよう ・右端に移動する  Ctrl+e‥「end(末端)」の「e」

  • 42

    (キー入力)コマンドラインで以下の操作を行う ・カーソル位置の左の文字を削除する ・カーソル位置の文字を削除する ・カーソル位置から単語の先頭までを削除する

    ・カーソル位置の左の文字を削除する  BackSpaceまたはCtrl+h‥hidari(左)の「h」と覚えよう ・カーソル位置の文字を削除する  DeleteまたはCtrl+d‥「delete」の略 ・カーソル位置から単語の先頭までを削除  Ctrl+w‥「word」の略

  • 43

    (キー入力)コマンドラインで以下の操作を行う ・カーソル位置から左端までを削除する ・カーソル位置から右端までを削除する

    ・カーネル位置から左端までを削除  Ctrl+u ・カーネル位置から右端までを削除  Ctrl+k キーボードでのuとkの位置関係で覚えよう。

  • 44

    (キー入力)コマンドラインで削除した文字列を貼り付ける

    Ctrl+y シェルにおいてヤンク(yank)は貼り付けという意味。

  • 45

    (キー入力)入力途中のコマンドやパスの補完を行う

    Tabキー 入力補完の機能なので「多分(Tabun)これかな?」のTabと覚えよう

  • 46

    (キー入力)コマンドラインで以下の操作を行う ・1つ前のコマンド履歴に移動する ・次のコマンド履歴に移動する

    ・一つ前のコマンド履歴に移動する  ↑キーまたはCtrl+p‥「previous(前の)」の略 ・次のコマンド履歴に移動する  ↓キーまたはCtrl+n‥「next(次の)」略

  • 47

    (コマンド)直近で実行した5個だけ、コマンド履歴を表示する

    history 5 historyコマンドは、引数に指定した数の直近のコマンド履歴を表示するためのコマンド。引数を省略すると、すべてのコマンド履歴が表示される。

  • 48

    (コマンド)コマンド履歴の通し番号が10番のコマンドを再び実行する

    !10 「!番号」と実行することで、指定した番号のコマンド履歴を再利用することができる。

  • 49

    ショートオプション・ロングオプションとはそれぞれ何か?

    ・ショートオプション  「-(ハイフン1つ)」+「アルファベット一文字」(-aや-lなど)  ‥入力は楽だが、意味がわかりづらい ・ロングオプション  「--(ハイフン2つ)」+「文字列」(--widthや--classifyなど)  ‥入力は大変だが、意味はわかりやすい

  • 50

    (コマンド)lsコマンドの-w(--width)オプションに30という値を引数として渡す

    ls -w30またはls --width=30 オプションが引数を持つ場合 ・ショートオプションなら「-w30」のようにオプションを引数とくっつける ・ロングオプションなら「--width=30」のようにオプションと引数を「=」でつなぐ

  • 51

    ドットファイル(隠しファイル)とは何か?

    ドットファイルとは、名前が「.(ドット)」から始まる、デフォルトのlsコマンドでは表示されないファイルのこと。重要なファイルや変更されることが少ないファイルは、普段はユーザーから見えないようにしていたほうが、予期せぬ削除・変更などのリスクが小さくなるため、隠しファイルとして設定されていることがある。

  • 52

    (コマンド)カレントディレクトリの中身を、隠しファイルを含めて一覧表示する

    ls -a または ls -A -aは「all」の略、隠しファイルも含めてすべて(all)ということ。-Aはカレントディレクトリ(.)と親ディレクトリ(..)を除いて表示する。

  • 53

    (コマンド)カレントディレクトリの中身を、詳細情報を含めて一覧表示する

    ls -l -lは「long」の略、長く詳細に表示するオプション。-lオプションで、パーミッションやファイルのオーナーなどの情報も表示できる。

  • 54

    (コマンド)カレントディレクトリの中身を、名前の末尾にファイル種別を付けて一覧表示する

    ls -F -Fは「classify(分類する)」の略。-Fオプションを付けると、「bin@」や「home/」のようにファイル種別が名前の末尾につく。

  • 55

    lsコマンドの-Fオプションにおいて、「/」「*」「@」それぞれの記号の意味は何か?

    lsコマンドの-Fオプションにおいて、ファイル種別と末尾に付く記号の対応は以下の通り。 ・通常ファイル‥なし ・ディレクトリ‥「/」 ・実行可能ファイル‥「*」 ・シンボリックリンク‥「@」

  • 56

    (コマンド)ルートディレクトリ自体の情報を詳細表示する

    ls -dl / -dは「directory(ディレクトリ)」の略で、引数に指定したディレクトリ自体を表示するオプション。引数のないショートオプションであれば、「-dl」のようにまとめて書くとシンプルで良い。

  • 57

    (コマンド)lsコマンドのヘルプメッセージを表示する

    ls --help 多くのlinuxコマンドでは、--helpオプションでヘルプメッセージを見ることができる。ヘルプメッセージには、コマンドの使用方法や概要、オプションの一覧などが書かれている。

  • 58

    (コマンド)lsコマンドのマニュアルを表示する

    man ls 「man」は「manual」の略で、ヘルプメッセージよりも詳細なマニュアルを見ることができる。manコマンドを使うと、lessコマンドでマニュアルがスクロール表示される。

  • 59

    (コマンド)カレントディレクトリに「example」というディレクトリを作成する

    mkdir example mkdirコマンドは、引数に指定した名前のディレクトリを作成するコマンド。mkdirは「make directory」の略。

  • 60

    (コマンド)カレントディレクトリに「2023/01」というディレクトリの階層を作成する

    mkdir -p 2023/01 -pオプションは、引数に指定したディレクトリを親ディレクトリもまとめて作成するためのオプション。-pは「parent(親)」の略、「親ディレクトリ(parent)もまとめて」ということ。

  • 61

    (コマンド)カレントディレクトリに「newfile」というファイルを作成する

    touch newfile touchコマンドは、中身が空のファイルを作成するコマンド。本来は、引数に指定されたファイルやディレクトリのタイムスタンプを変更するコマンド。「現在時刻に触れる(touch)」と覚える。

  • 62

    (コマンド)カレントディレクトリの「newfile」というファイルを削除する

    rm newfile rmコマンドは、引数に指定したファイルやディレクトリを削除するコマンド。rmは「remove(削除する)」の略。

  • 63

    (コマンド)カレントディレクトリの「newdir」というディレクトリを削除する

    rm -r newdir rmコマンドでディレクトリを削除するには-rオプションを付ける。-rは「recursive(再帰的な)」の略、再帰的にディレクトリを削除する。

  • 64

    (コマンド)カレントディレクトリの「dir」というディレクトリを削除する(削除前に確認メッセージを表示する)

    rm -ir dir -iオプションは、削除前に確認メッセージを表示するオプション。-iは「interactive(対話式の)」の略、対話形式で確認してから削除する。ディレクトリの削除なので、-rオプションも必要。

  • 65

    (コマンド)カレントディレクトリの「dir」という空のディレクトリを削除する

    rmdir dir rmdirコマンドは、空のディレクトリを削除するコマンド。rmdirは「remove directory」の略。中身のあるディレクトリを削除する危険がないためrmコマンドよりも安心して使える。

  • 66

    (コマンド)「/etc/crontab」というファイルを表示する

    cat /etc/crontab catコマンドは、ファイルの中身を(連結して)表示するコマンド。catは「concatenate」の略。

  • 67

    (コマンド)「/etc/crontab」というファイルを行番号付きで表示する

    cat -n /etc/crontab catコマンドは、ファイルの中身を(連結して)表示するコマンド。-nは「number」の略、行"番号"のこと。

  • 68

    (コマンド)「/etc/crontab」というファイルの先頭5行だけを表示する

    head -n5 /etc/crontab ファイルの先頭(head)だけを表示するにはheadコマンド、末尾(tail)だけを表示するにはtailコマンドを使う。-nオプションの引数に指定した行数だけ表示される。

  • 69

    (コマンド)「/var/log/syslog」というファイルの末尾を監視する

    tail -f /var/log/syslog tailコマンドの-fオプションで、ログファイルなどのファイルの末尾を監視できる。-fは「follow(監視する)」の略。

  • 70

    (コマンド)カレントディレクトリの「.bashrc」というファイルをスクロール表示する

    less .bashrc lessコマンドは、スクロール表示するためのコマンド。moreコマンドというスクロール表示のコマンドを改良したのがlessコマンド。「スクロールしてもっと多く(more)見る」と覚える。

  • 71

    lessコマンドのスクロール表示中に、以下の操作を行うためのキーはそれぞれ何か? ・1画面下に移動 ・1画面上に移動

    ・一画面下に移動  スペースキー、fキー…ブラウザと同様、forward(前方) ・一画面上に移動  bキー‥backward(後方)

  • 72

    lessコマンドのスクロール表示中に、以下の操作を行うためのキーはそれぞれ何か? ・一行下に移動 ・一行上に移動

    ・一行下に移動  jキー、Enterキー ・一行上に移動  kキー  ※Vimではhjklが←↓↑→に対応。

  • 73

    lessコマンドのスクロール表示中に、以下の操作を行うためのキーはそれぞれ何か? ・スクロール表示を終了 ・ヘルプを表示

    ・スクロール表示を終了  qキー…quit(終了する) ・ヘルプを表示  hキー‥help

  • 74

    lessコマンドの実行中に、以下の操作を行うためのコマンドはそれぞれ何か? ・指定した文字列を検索 ・次の検索結果に移動 ・前の検索結果に移動

    ・指定した文字列を検索  /文字列(「/etc」と入力すると「etc」という文字列を検索する) ・次の検索結果に移動  nキー‥「next」の略 ・前の検索結果に移動  Shift+nキー‥Shiftは逆操作のキー

  • 75

    (コマンド)カレントディレクトリで「file」というファイルを「cpfile」という名前でコピーする

    cp file cpfile cpコマンドは、ファイルやディレクトリをコピー(copy)するコマンド。コピー先に存在しない名前を指定すると、コピー元に指定したファイルやディレクトリをその名前でコピーする。

  • 76

    (コマンド)カレントディレクトリで「file1」「file2」という2つのファイルを「dir1」ディレクトリ内にコピーする

    cp file1 file2 dir1 コピー先に既存のディレクトリを指定すると、コピー元をそのディレクトリ内にコピーする。この場合、コピー元には複数のファイルやディレクトリを指定できる。

  • 77

    (コマンド)カレントディレクトリで「dir1」というディレクトリを「dir2」という名前でコピーする

    ディレクトリをコピー元に指定する際には、-rオプションを付ける。-rは「recursive(再帰的な)」の略、再帰的にディレクトリツリーをコピーする。

  • 78

    (コマンド)カレントディレクトリで「file1」「file2」という2つのファイルを「dir1」という名前のディレクトリに移動する

    mv file1 file2 dir1 mvコマンドは、ファイルやディレクトリの移動や名前の変更をするコマンド。mvは「move」の略で「mv 移動元 移動先」と書く。移動先に既存のディレクトリを指定すると、そのディレクトリへの移動の機能になる。

  • 79

    (コマンド)カレントディレクトリで「file1」というファイルを「file2」という名前に変更する

    mv file1 file2 mvコマンドは、ファイルやディレクトリの移動や名前の変更をするコマンド。mvは「move」 の略で「mv 移動元 移動先」と書く。移動先に存在しない名前を指定すると、名前の変更の機能になる。

  • 80

    (コマンド)カレントディレクトリをホームディレクトリ内にある「work」というディレクトリに変更する

    cd ~/work コマンドラインにおいて「~(チルダ)」は、現在ログインしているユーザーのホームディレクトリの絶対パスに変換される(チルダ展開)。

  • 81

    (コマンド)/usr/binディレクトリ内のsshから始まるファイルやディレクトリを一覧表示する

    ls /usr/bin/ssh* コマンドラインにおいて「*」は、「任意の文字列」の意味になる(パス名展開)。

  • 82

    (コマンド)/binディレクトリ内のbaから始まる4文字のファイルを一覧表示する

    ls /bin/ba?? コマンドラインにおいて「?」は、「任意の1文字」の意味になる(パス名展開)。

  • 83

    (コマンド)ホームディレクトリに「2023」というディレクトリを作成し、その中に「1」〜「12」という12個のディレクトリを作成する。ただし、コマンドは一回しか実行できないものとする

    mkdir -p ~/2023/{1..12} 「{1..12}」と入力すると、プレース展開によって「1 2 3 4 5 6 7 8 9 10 11 12」という12個の文字列が指定されたことになる。

  • 84

    (コマンド)ホームディレクトリに「fileA」「FileA」「FILEA」という3つのファイルを作成する

    touch ~/{file,File,FILE}A 「~/{file,File,FILE}A」と入力すると、プレース展開によって「~/fileA ~/FileA ~/FILEA」という3個の文字列が指定されたことになる。

  • 85

    (コマンド)「~」という文字列を表示する

    以下のうちいずれか echo \~ echo '~" echo "~" エスケープしないとチルダ展開されるので、以下のいずれかでエスケープが必要。 ・\ …右1文字を展開しない ・' ' …この中のすべての文字を展開しない ・" " …この中では「!」「?」「’(バッククォート)」だけを展開する

  • 86

    (コマンド)「!5」という文字列を表示する

    以下の2つのうちいずれか echo \/!5 echo '!5' エスケープしないとコマンド履歴を再利用してしまうので、以下の「\」か「' '」でエスケープが必要。 ・\ …右1文字を展開しない ・' ' …この中のすべての文字を展開しない ・" " …この中では「!」「$」「’(バッククォート)」だけを展開する

  • 87

    ハードリンク、シンボリックリンクとはそれぞれ何か?

    リンクとは、1つのファイルやディレクトリを複数の名前で呼び出せるように別名をつける機能のこと。リンクには、ファイルの実体と名前を結び付けるハードリンクと、名前と名前を結びつけるシンボリックリンクがある。ハードリンクはディレクトリに設定できないなど不便な点があるので、実用の場面では基本的にシンボリックリンクが使われる。

  • 88

    リンクカウントとは何か?

    リンクカウントとは、ファイルに付いている名前(ハードリンク)の数のこと…「ls -l」を実行したときの左から2番目の数字には、ファイルの場合は、そのファイルに結び付いているハードリンクの数が記載されており、ディレクトリの場合は、そのディレクトリの中にあるファイルやディレクトリの数が記載されている。

  • 89

    (コマンド)カレントディレクトリの「file1」に「file2」という名前のシンボリックリンクを作成する

    ln -s file1 file2 lnコマンドは、リンクを作成するためのコマンド、lnは「link」の略。-sは「symbolic(シンボリック)」の略。「ln -sリンクを付けるファイル/ディレクトリ リンク名」というように書く。

  • 90

    リンクの2つのメリットは何か?

    (シンボリック)リンクによって、長いパスを省略できたり、プログラムの変更を減らすことができるようになる。

  • 91

    (コマンド)カレントディレクトリ以下から名前の末尾が「.txt」のファイルやディレクトリを検索して表示する

    find . -name '*.txt' -print findコマンドはファイル/ディレクトリを検索するコマンド。「find 検索開始ディレクトリ 検索条件 アクション」というように書く。「-name '*.txt'」で「.txtで終わる名前」という意味になる(「*」はワイルドカード)。アクションが-printの場合は省略が可能。

  • 92

    (コマンド)ホームディレクトリ以下のすべてのディレクトリを表示する

    find ~ -type d findコマンドでファイル種別で絞り込むには、「-type ファイル種別」と書く。ファイル種別には「f(ファイル)」「d(ディレクトリ)」「l(シンボリックリンク)」などがある。

  • 93

    (コマンド)カレントディレクトリ以下から「link」という名前のシンボリックリンクを検索して削除する

    find . -name link -a -type l -delete AND検索をする場合には、検索条件を-aで区切る(-aは省略可能。aはANDの略)。OR検索をする場合には、検索条件を-oで区切る(oはORの略)。アクションに-deleteを指定すると検索にヒットしたものを削除する。

  • 94

    フールプルーフ(foolproof)とは何か?

    プールプルーフとは、危険な操作を絶対にできないような仕組みにすることで、正しい使用を強制する設計思考のこと。ドアを閉めないと運転が開始しない電子レンジや、運転中にはドアがロックされる洗濯機などがフールプルーフの例。

  • 95

    パーミッションとは何か?

    パーミッションとは、「そのファイルに対して誰がどんな操作を行えるのか?」というファイルアクセスの権限をファイルやディレクトリに定めることで、行える操作をユーザーごとに変えるための仕組み。「ls -l」を実行して「rwxr-xr-x」というように表示される部分がパーミッションを表す。

  • 96

    (コマンド)hiramatsuというユーザーが所属するグループを一覧表示する

    groups hiramatsu groupsコマンドでユーザーが所属しているグループを確認できる。引数のユーザー名を省略すると、現在ログインしているユーザーの所属グループが表示される。

  • 97

    (コマンド)/bin/bashのパーミッションを確認する

    ls -l /bin/bash 「-rwxr-xr-x 1 root root ...」と表示されたら以下のことがわかる ・通常ファイル(-) ・rootユーザーは閲覧・編集・実行すべての権限を持つ(rwx) ・rootグループに所属するユーザーは閲覧・実行権限を持つ(r-x) ・その他のユーザーは閲覧・実行権限を持つ(r-x)

  • 98

    オーナー・所有グループとはそれぞれ何か?

    ・オーナーとは、ファイルを所有するユーザーのこと。所有ユーザーとも言う。最も強い権限を与えられることが多い。 ・所有グループとは、ファイルを所有するグループのこと。グループには複数のユーザーを所属させることができ、所属しているユーザーすべてに共通のパーミッションを設定できる。

  • 99

    「ls -l」を実行すると、「drwxrw-r-- tanaka teamA ...」と表示された。これはどのような意味か?

    「drwxrw-r-- tanaka teamA ...」は以下の意味 ・ファイル種別はディレクトリ(d) ・tanakaユーザーのパーミッションは「読み取り・書き込み・実行」(rwx) ・teamAグループに所属するユーザーのパーミッションは「読み取り・書き込み」(rw-) ・その他のユーザーのパーミッションは「読み取り」(r--)

  • 100

    「ls -l」を実行すると、「-rwxr-xr-x root root ...」と表示された。これはどのような意味か?

    「-rwxr-xr-x root root...」は以下の意味 ・ファイル種別は通常ファイル(-) ・rootユーザーのパーミッションは「読み取り・書き込み・実行」(rwx) ・rootグループに所属するユーザーのパーミッションは「読み取り・実行」(r-x) ・その他のユーザーのパーミッションは「読み取り・実行」(r-x)