問題一覧
1
テキスト処理はどのような場面で役立つか?
テキスト処理によって、必要な情報だけを取り出すことで、コマンドの出力を解釈しやすくなる。また、集計作業などの複雑なデータ操作も可能になる。
2
(キー入力)Vimでカーソルを上下左右に移動する
hjklキーが矢印キーの←↓↑→に対応。矢印キーでも移動可能。
3
(コマンド)スーパーユーザーに切り替える
su - suコマンドは、本来はユーザーを切り替える(substitute user)ためのコマンドだが、主にスーパーユーザーに切り替える用途で使われる。suコマンドの引数に「-」を指定しないと、切り替え前の状態を引き継いでユーザーが切り替わる。切り替え前の状態を引き継ぐと、予期せぬ動作になることもあるので、基本的に「-」を付ける。
4
組み込みコマンド・外部コマンドとはそれぞれ何か?
・組み込みコマンド‥ファイルとして用意されておらず、シェルに内蔵されているコマンド。cdコマンド、pwdコマンド、historyコマンドなど ・外部コマンド‥シェルの外部にファイルとして用意されているコマンド。lsコマンド、catコマンド、touchコマンドなど
5
(コマンド)ジョブをプロセスID付きで一覧表示する
jobs -l プロセスIDも含めて表示したい場合は「-l」オプションを用いる。-lオプションは「long」の略で、プロセスIDも含めて長く表示する。
6
(コマンド)カレントディレクトリの「file」というファイルの内容から重複行を取り除き、重複数が多い順に並べ替えて表示する
sort file | uniq -c | sort -rn -cオプションを使うと、重複した回数をカウント(count)できる。sortコマンドでは、-kオプションの引数が1の場合は省略可能。
7
(コマンド)/etcディレクトリの中から「bash」または「ssh」という文字列を名前に含むものだけを表示する
ls /etc | grep -E 'bash|ssh' または ls /etc | egrep 'bash|ssh' … 正規表現には、基本正規表現(basic regular expression)と拡張正規表現(extended regular expression)の2種類がある。拡張(extended)正規表現を使用するには、grepコマンドに-Eオプションを付けるかegrepコマンドを使用する。「|」は「または」を意味する拡張正規表現のメタ文字。
8
ロケール(locale)とは何か?
ロケールとは、ソフトウェアにおける言語や国・地域の設定のこと…ロケールの設定によって言語や日付の書式が変わる。シェルにおいてロケールは環境変数LANGによって設定されている。
9
shebang(シバンもしくはシェバン)とは何か?
shebang(シバン、シェバン)とは、シェルスクリプトなどのファイルの一行目に書かれている、そのファイルをどのシェルで実行するかを指定するための記述のこと…「#!」に続いてシェルスクリプトを実行するシェルの絶対パスを書く。「#!/bin/bash」なら「/bin/bashで二行目以降の記述を実行する」という意味。hash(#)とbang(!)なのでshebang。
10
(キー入力)Vimでファイルの変更内容を保存せずに強制終了する
:q! 「!」は強制的に実行する際に使われることも多い記号。qは「quit(終了する)」の略なので、「:q!」で強制終了の意味になる。
11
(コマンド)「/etc/shells」というファイルの中身をアルファベット順(昇順)に並び替えて表示する
sort file sortコマンドは、テキストを行単位でソート(sort)するためのコマンド。オプションを付けないと、アルファベット順(昇順)に並べ替える。
12
標準入出力(stdio)とは何か?
標準入出力とは、標準入力・標準出力・標準エラー出力の3つの総称‥コマンドは、標準入力からデータを受け取り、実行結果を標準出力に出力し、標準エラー出力にエラーを出力するだけで、標準入出力が何につながっているかは把握していない。
13
プロセスはどのように新規作成されるか?
既存のプロセスの複製が上書きされることで、プロセスは新規作成される…扱うプロセスが変わっても、端末などの環境はプロセス間でさほど変わらないため、複製して再利用するほうが環境を共有しやすくて便利。
14
(コマンド)「file」というファイルに対して、所有グループに所属するユーザーから書き込み権限を削除する
chmod g-w file chmodは「change mode」の略。シンボルモードで「g-w」は、「所有グループに所属するユーザー(g)から書き込み権限(w)を削除する(-)」の意味。
15
(コマンド)停止状態にあるカレントジョブをバックグラウンドにする
bg…バックグラウンド(background)とは、ユーザーからは見えず、ユーザーが対話的に操作できないジョブの状態のこと。引数に指定したジョブ番号のジョブをバックグラウンドにするのがbgコマンド。ジョブ番号を省略すると、カレントジョブ(jobsコマンドの出力で+がついているジョブ)がバックグラウンドになる。バックグラウンドジョブはjobsコマンドの出力において「&」が末尾に付く。
16
(コマンド)エイリアスを設定することで、mvコマンドの実行時には常に-iオプションが指定されるようにする
alias mv='mv -i' aliasコマンドの引数に「別名='値'」と指定して実行することでエイリアスを設定できる。aliasコマンドでエイリアスを設定した上で「別名」を実行すると、「別名」の代わりに「値」が実行される。
17
(コマンド)設定されているシェル変数を一覧表示する
set setコマンドを引数なしで実行すると、定義されているシェル変数を一覧表示できる。シェル変数だけでなく、シェル関数も表示される。
18
(コマンド)カレントディレクトリの「file」というファイル内のアルファベットをすべて大文字に置換して表示する
cat file | tr a-z A-Zまたは tr a-z A-Z < file trコマンドは文字を置換する(translate)するためのコマンド。「tr 置換前の文字 置換後の文字」という書式で記述する。trコマンドだは引数にファイルを指定することができないので、パイプかリダイレクトで対応する。
19
標準入出力のメリットは何か?
標準入出力という仕組みによって、入出力を何にするかといった設定をコマンドのプログラム中に書くのではなく、コマンドの利用者に担当させることができ、入出力を変えたとしてもコマンドのプログラムを書き換えなくてよくなる。
20
パイプラインとは何か?
パイプラインとは、コマンドの標準出力に別のコマンドの標準入力をつなぐ機能のこと…パイプ(|)を使ってコマンドをつなぐことで、複雑な機能を実現できる。
21
モードとは何か?
モードとは、システムが持つ状態のこと…モードを用意することで、同じ操作に複数の意味を持たせることができるようになり、ボタンなどインターフェースの部品の数を減らすことができるが、操作がわかりづらくなる。
22
(コマンド)プロセスID「2907」のプロセスを終了する
kill 2907 killコマンドでプロセスを終了するには「kill プロセスID」というように書く。killは「プロセス・ジョブを殺す(終了する)」という意味。プロセスを終了させることができるのは、rootユーザーかプロセスの実効ユーザーのみ。
23
(キー入力)Vimでファイルを上書き保存して終了する
:wq wは「write(書き込む)」の略で、qは「quit(終了する)」の略なので、「:wq」で「上書きして終了する」の意味になる。
24
(コマンド)カレントディレクトリ内の「file」というファイルの末尾に「Hello」という文字列を追加する
echo Hello >> file 「>>」で標準出力をリダイレクトすると、リダイレクト先のファイルの末尾に内容を追加する。
25
フィルタとは何か?
フィルタ(コマンド)とは、標準入力からデータを受け取り、処理の結果を標準出力へ出力するプログラムのこと…フィルタを通すたびに、元のテキスト(データ)が加工されていく。それぞれのフィルタはとても小さな機能しか持たないが、パイプでつなげば大きな変更も可能。
26
(コマンド)設定されている環境変数を一覧表示する
printenvは「print environment variables(環境変数を出力する)」の略。
27
デーモン(daemom)とは何か?
デーモン(daemon)とは、端末が設定されておらずバックグラウンドで常時動作しているプロセスのこと…webサーバー内では、httpd(HTTPデーモン)のプロセスがバックグラウンドで常時動作しており、いつリクエストが送られてきても、レスポンスを返せるようにしている。
28
(コマンド)自作のシェル変数「x」を環境変数としても定義する
export x 既存のシェル変数を環境変数としても定義するには「export 既存のシェル変数」というように実行する。
29
(キー入力)Vimでカーソル位置の文字を削除する
x 「x(エックス)」が「✖️(バツ)」に似ていて、ブラウザを閉じるときなど「✖️(バツ)」が削除を意味することから覚える。X(Shift+x)キーでカーソル位置の左の文字を削除できる。
30
シェルスクリプトとは何か?
シェルスクリプトとは、複数のコマンドラインを記述した、シェルで実行できるファイルのこと…コマンドラインを複数並べるだけでなく、プログラミング言語のように変数や制御構文を使って複雑な処理を実現することも可能。
31
(コマンド)ルートディレクトリ内のファイルとディレクトリの数をカウントして表示する
ls / | wc -l wcコマンドの-lオプションは「lines」の略で、行数を数える。1行1データのファイルの場合、行数を数えることでデータ件数をカウントできる。
32
(コマンド)ルートディレクトリ内のファイルやディレクトリをリンクカウント(左から2列目)が大きい順に並べ替えて表示する
ls -l / | sort -nrk2 -rオプションを使うと逆(reverse)順に並べ替える。-kオプションを使うと複数列からソートキー(sort key)を指定できる。-nオプションを使うと数値(number)順に並べ替えることができる。
33
(コマンド)スーパーユーザーから一般ユーザーに戻る
exitまたはCtrl+d exitは「外に出る」の意味、スーパーユーザーの外に出るということ。catコマンドの引数を省略したときのモードの終了と同じくCtrl+d。「end(終了)」のdと覚えよう。
34
シェルスクリプトの3つのメリットとは何か?
一度シェルスクリプトを書いてしまえば、以降はそのファイルを実行するだけで同様の操作が可能なので、①操作の再利用性が高まり、②操作のミスも少なくすることができる。主にBashで実行されるので、③ほとんどのlinux環境で実行することができるというメリットもある。
35
Vimにおいて以下のモードはそれぞれどのようなものか? ・ノーマルモード ・インサートモード ・コマンドラインモード ・ビジュアルモード
・ノーマルモード デフォルトのモード…Escでノーマルモードに戻れる。 ・インサートモード Vimで開いているファイルに文字を入力するためのモード…ノーマルモードでaキーやiキーを押すとインサートモードになる。 ・コマンドラインモード Vimのコマンドを利用するためのモード…ノーマルモードで「:q」や「:w」というように、「:」のあとに文字列を入力することでコマンドを利用できる。 ・ビジュアルモード 範囲選択が可能になるモード…ノーマルモードでvキーやVキーを押すとビジュアルモードになり、カーソル移動で範囲を選択できるようになる。
36
スーパーユーザー(rootユーザー)・一般ユーザーとはそれぞれ何か?
・スーパーユーザーとは、あらゆる操作が可能な最も強い権限を持つユーザーのこと。ユーザー名がrootであることから「rootユーザー(ルートユーザー)」とも呼ばれる ・一般ユーザーとは、通常の作業に利用するユーザーのこと。スーパーユーザーのような強い権限はない
37
(キー入力)実行中のフォアグラウンドジョブを停止する
Ctrl+z Ctrl+zでフォアグラウンドジョブを停止できる。停止したジョブは、fgコマンドやbgコマンドで再開できる。停止したジョブを修了するにはkillコマンドを使う。Ctrl+zを入力すると、暗黙的にジョブ内のプロセスにTSTPシグナルが送信される。
38
(コマンド)カレントディレクトリの中身を一覧表示した結果を「ls.txt」という名前のファイルとして保存する
ls > ls.txt 「>」は標準出力をリダイレクトする記号。標準出力をデフォルトの端末から、ファイルに変更している。
39
Vimとは何か?
Vimとは、多くのlinuxディストリビューションにデフォルトでインストールされているテキストエディタ…「Vi improved(改善されたVi)」が名前の由来で、その名のとおりVi(ヴィーアイ)というテキストエディタが改良されたもの。
40
(コマンド)lsコマンドにエイリアスが設定されているかを調べる
type ls typeコマンドは、コマンドの種類(type)を確認するコマンド。引数に指定したコマンドが、エイリアスかどうかを判別できる。
41
(コマンド)「ls -l /」の出力から左から2番目の列だけを取り出して表示する
ls -l / | awk '{print $2}' awkコマンドはさまざまな機能を持つコマンドで、指定した列だけを出力することもできる。
42
シンボルモードと数値モードはどのように使い分けるか?
・シンボルモードは、書く手間が大きくなる可能性があるがミスしづらい。局所的な変更に向いている ・数値モードは、書く手間は少ないがミスが起こりやすい。まとめて変更する場合に向く
43
(コマンド)~/.bashrcに新たに追加した設定を現在のbashプロセスに反映する
source ~/.bashrc sourceコマンドは、引数に指定したファイルを現在のシェルのプロセスで実行するコマンド。主に、~/.bashrcで行った設定を現在のシェルに反映する目的で使われる。sourceコマンドと「.」コマンドは同じ機能を持ち、代替が可能。
44
(コマンド)「20」という値を代入して「y」という環境変数を定義する
export y=20 新しい環境変数を定義するには「export 環境変数名=値」というように実行する。このコマンドを実行すると環境変数としてだけでなく、自動的にシェル変数としても設定される。
45
(キー入力)Vimでの編集を終了する
:q qは「quit(終了する)」の略。開いたファイルに変更がある場合は、「:q」では終了できない。変更を上書き保存して終了するなら「:wq」、変更を破棄して終了するなら「:q!」を入力する。
46
(コマンド)「/etc/shells」というファイルから「bash」という文字列を含む行だけを表示する
grep bash /etc/shells grepコマンドは、指定した文字列を含む行だけを出力するコマンド。
47
(コマンド)ホームディレクトリ以下から名前の末尾が「.sh」のファイルを検索したときの検索結果だけを表示する(エラーメッセージは表示しない)
find ~ -name '*.sh' -type f 2 > /dev/null 標準エラー出力を/dev/nullにリダイレクトすれば、エラーメッセージを破棄できる。
48
スーパーユーザーと一般ユーザーはどのように使い分けるか?
普段は一般ユーザーの制限された権限で操作を行い、強い権限が必要な場面だけスーパーユーザーに切り替えて操作を行うようにする。スーパーユーザーのパスワードを知っていても、まずは一般ユーザーでログインする。
49
「ps u」の出力において、以下の列の意味は何か?
・USER…実効ユーザー(effectiveuser)。誰の権限で実行されてあるプロセスかを管理している情報 ・PID…プロセスID。プロセスを一意に識別するための値 ・CMD…プロセスの元となったコマンド(プログラム)名
50
(キー入力)Vimでファイルに「newname」という名前を付けて保存する
w newname 上書き保存の「:w」に加えて、「:w ファイル名」というようにファイル名を指定すると、名前をつけて保存することができる。
51
(コマンド)ジョブを一覧表示する
jobs [1]や[2]というジョブ番号付きでジョブが一覧表示される。ジョブ番号はシェル内で一意の番号なので、2つ以上のシェルを同時に使っているならジョブ番号は重複する。
52
(コマンド)「find ~ -type l > result.txt 2> /dev/null」というコマンドをバックグラウンドで実行しつつ、Bashのマニュアルを表示する
find ~ -type l > result.txt 2> /dev/null & man bash 「&」を末尾に付けたコマンドはバックグラウンドで実行され、フォアグラウンドジョブと同時に実行することができる。バックグラウンドジョブを活用することで、実行に時間がかかるジョブを実行しながら別の作業をシェルで行えるようになる。
53
ジョブとは何か?
シェルにおいてジョブとは、実行されているコマンドラインのこと…1つのジョブには1つ以上のプロセスが含まれる(コマンドラインは1つ以上のコマンドからなる)。プロセスはカーネルから見た処理(コマンドの実行)の単位であり、ジョブはシェル(ユーザー)から見た処理(コマンドラインの実行)の単位である。
54
(キー入力)VimでUndoとRedoを行う
uでUndo、Ctrl+rでRedo uは「undo(元に戻す)」の略。rは「redo(やり直す)」の略。
55
(コマンド)親子関係も含めてプロセスを一覧表示する
ps f fオプションは「forest(森)」の略。プロセスの親子関係を木構造で視覚的にわかりやすく表示できる。
56
(コマンド)「PWD」という文字列が含まれるシェル変数を一覧表示する
set | grep PWD PWDはカレントディレクトリのパス、OLDPWDには1つ前のカレントディレクトリのパスが記載されている。
57
(コマンド)「file」というファイルのパーミッションを「rwx rwx r-x」に変更する
chmod 775 file 数値モードで「775」は以下の意味 ・オーナーは「rwx」(4+2+1) ・所有グループに所属するユーザーは「rwx」(4+2+1) ・その他のユーザは「r-x」(4+0+1)
58
(コマンド)「23」という数値を代入して「x」というシェル変数を定義する
x=23 変数とは、文字列や数値などの値を保存する機能。シェルはシェル変数という変数を持ち、シェル変数を定義するには「変数名=値」とする。「変数名 = 値」のように「=」の前後にスペースを空けるとエラーになるので注意が必要。
59
(コマンド)マシン内から「log」という名前のファイルを検索して、検索結果を「logs.txt」、エラーメッセージを「error.txt」というファイルにそれぞれ保存する
find / -name log -type f > logs.txt 2> error.txt 「2>」は標準エラー出力をリダイレクトする記号。標準出力と標準エラー出力をデフォルトの端末から、ファイルに変更している。
60
(コマンド)エイリアスではなく、外部コマンドのlsコマンドでカレントディレクトリの中身を表示する
/usr/bin/lsまたは/bin/lsまたは\ls エイリアスでなくオリジナルのコマンドを実行する主な方法として以下の3つがある。 ①絶対パスで指定する(外部コマンドの場合) ②「\」を先頭に付ける ③エイリアスを削除する
61
(コマンド)ルートディレクトリ内のファイルとディレクトリを一覧表示した結果を行番号付きで表示する
ls / | cat -n パイプ(|)によって「ls /」の標準出力に「cat -n」の標準入力をつないでいる。
62
(コマンド)「/etc/passwd」というファイルの行を「:」で区切ったときの1番目と7番目のフィールドだけを表示する
awk -F: '{print $1,$7}' /etc/passwd -Fオプションを使えば、指定した区切り文字で行を分割してから、その中から一部だけを取り出すこともできる。複数の列を取り出したり、取り出す順番を変えることもできる。
63
(コマンド)ルートディレクトリ内のシンボリックリンクだけを詳細情報付きで表示する
ls -l / | grep ^l grepコマンドの検索文字列は正規表現で指定することも可能。正規表現とは、メタ文字と呼ばれる特殊な文字を使って文字列をパターンとして指定できる機能のこと。「^」は行頭を意味するメタ文字。
64
(コマンド)lsコマンドのパスを調べる(ただし、lsコマンドにはエイリアスが設定されているとする)
type -a ls typeコマンドの-aオプションで、存在するすべて(all)の種類のコマンドを表示できる。エイリアス、組み込みコマンド、外部コマンドの中から存在するものをすべて表示する。typeコマンドで、外部コマンドのファイルのパスを確認することもできる。
65
(コマンド)「/etc/shadow」というパスワードファイルの内容を、スーパーユーザーとしてcatコマンドを実行することで表示する
sudo cat /etc/shadow sudoコマンドは、スーパーユーザーとしてコマンドを実行するために使われるコマンド。sudoは「substitute user do(代わりのユーザーが実行)」の略。sudoコマンドもsuコマンドと同様に、本来は別のユーザーとしてコマンドを実行するためのコマンドだが、スーパーユーザーとして実行するために主に使われる。「sudo コマンド」と書くと、現在ログインしているユーザーのパスワードが求められる。
66
(キー入力)Vimで削除(ヤンク)した文字をカーソル位置にプットする
p pは「put(プット)」の略。Vimにおいてプットとはペースト(貼り付け)のこと。
67
(コマンド)lsコマンドに設定されているエイリアスを削除する
unalias ls unaliasコマンドで、設定されているエイリアスを削除できる。unは「unfair(不公平)」のような言葉で使われ、「否定、反対」という意味。
68
(コマンド)フォアグラウンドジョブを終了する
Ctrl+c Ctrl+cでフォアグラウンドジョブを終了できる。Ctrl+z(ジョブの停止)と混合しないように注意。Ctrl+cを入力すると、暗黙的にジョブ内のプロセスにINTシグナルが送信される。
69
(キー入力)Vimで選択された範囲の文字をヤンクする
y yは「yank(ヤンク)」の略。Vimにおいてヤンクとはコピーのこと。
70
(キー入力)Vimでファイルを上書き保存する
:w wは「write(書き込む)」の略。
71
(コマンド)ジョブ番号1のバックグラウンドジョブを終了する
kill %1 killコマンドでジョブを終了するには「kill %ジョブ番号」というように書く。フォアグラウンドジョブを終了するには、Ctrl+cと入力する。
72
(コマンド)「x」という名前のシェル変数に入っている値を出力する
echo $x シェル変数を参照するには「$変数名」とする。コマンドラインに「$シェル変数名」と入力すると、シェル変数に入っている値に置き換わる。
73
(コマンド)プロセスID「2912」のプロセスを強制終了する
kill -KILL 2912 または kill -9 2912 killコマンドはプロセスにシグナルを送信するためのコマンドで、引数に「どのシグナルを送るか?」と「どのプロセスに送るか?」を指定する。シグナルとはプロセスに送信される信号(signal)のことで、シグナルを送ることでプロセスを操作できる。9番のKILLシグナルはプロセスを強制終了するシグナルで、異常が発生してTERMシグナルでは終了しなくなってしまったプロセスに対して使用する。
74
「パスを通す」とは何か?
環境変数PATHに新たなパスを追加して、ファイル名だけで実行できるようになることを、「パスを通す」という。
75
組み込みコマンド、外部コマンド、エイリアスの実行の優先度は?
優先度は以下の順に高い。 ①エイリアス ②組み込みコマンド ③外部コマンド したがって、外部コマンドであるlsコマンドにエイリアスが設定されていた場合はエイリアスが優先して実行される。
76
~/.bashrcとはどのようなファイルか?
~/.bashrcとは、Bashの設定ファイルの1つで、bashプロセスの起動時に読み込まれて実行される…~/.bashrcに設定を記述しておけば、bashプロセスが起動するたびに設定を読み込んで自動的に反映してくれるので、実質的に設定を保存することができる。
77
(コマンド)ジョブ番号1のバックグラウンドジョブをフォアグラウンドにする
fg %1 フォアグラウンド(foreground)とは、ユーザーからの入力を受け付け、対話的に操作できるジョブの状態のこと。引数に指定したジョブ番号のジョブをフォアグラウンドにするがfgコマンド。ジョブ番号を省略すると、カレントジョブ(jobsコマンドの出力で+がついているジョブ)がフォアグラウンドになる。
78
suコマンドと比較してsudoコマンドの3つのメリットは何か?
・一般ユーザーのパスワードを入力するため、スーパーユーザーのパスワードを複数の人で共有する必要がない ・スーパーユーザーに切り替えないので、気づかないうちに強い権限を使ってしまう恐れがない ・「sudo」と毎回入力するので、スーパーユーザーの権限を使っていることを意識しやすい
79
環境変数とは何か? また、シェル変数と比較してどのようなメリットがあるか?
環境変数とは、子プロセスにも変数の値が受け継がれるシェル変数のこと…シェルのプロセスに環境変数を設定しておけば、シェルで実行されるコマンドなどのプログラムすべてで、環境変数の値を利用できる。
80
(コマンド)環境変数PATHに「~」を追加する
export PATH=$PATH:~ PATHに新しいパスを追加するには、「新しいPATH=今までのPATH:追加するパス」という形で書く。もし「PATH=~」とした場合、デフォルトで設定されていたパスがすべて消えて、~だけになってしまう。
81
シェルスクリプトのファイル名を指定して実行する方法のメリットは何か?
現在のシェルのエイリアスやシェル変数が、シェルスクリプトのプロセスに影響しない。また、シェルスクリプトの作者がシバンで指定したシェルで実行することができるため、最も互換性に優れている。
82
/dev/nullとはどのようなファイルか?
/dev/nullは、入力に指定すると何もデータを返さず、出力に指定すると書き込まれたデータをすべて破棄する、という性質を持つ特殊なファイル。標準出力と標準エラー出力のどちらかだけを表示するようにして、デバッグなどの問題解決をしやすくするために使われる。
83
(コマンド)Vimで「newfile」という既存のファイルを開く
vim newfileまたはvi newfile vimコマンドかViコマンドの引数に既存ファイルを指定するとVimでそのファイルを開くことができる。存在しないファイルの名前を指定すると、その名前のファイルを作成してから開く。
84
(キー入力)Vimをノーマルモードからコマンドラインモードに変更する
: コマンドラインモードは、Vimのコマンドを利用するためのモード。ノーマルモードからコマンドラインモードに切り替えるには「:」を入力し、「:q」「:w」のようなコマンドを入力することでVimを操作できる。
85
(コマンド)現在設定されているエイリアスを一覧表示する
alias aliasコマンドを引数なしで実行すると、設定されているエイリアスの一覧を表示できる。ディストリビューションごとにデフォルトでエイリアスがいくつか設定されている。
86
(キー入力)Vimをノーマルモードからインサートモードに切り替え、カーソル位置から文字の入力を開始する
i iは「insert(挿入する)」の略。iキーを押してインサートモード切り替えると、カーソル位置から文字入力を開始する。
87
(コマンド)「~/bin/example.sh」というシェルスクリプトを「example.sh」と入力するだけで実行できるようにする
export PATH=$PATH:~/binまたは export PATH=$PATH:$HOME/bin シェルスクリプトの置き場にパスを通しておけば、絶対パスで指定せずとも実行できるようになる。環境変数HOMEにはホームディレクトリの絶対パスが記載されている。
88
(キー入力)Vimをノーマルモードに戻す
Esc ノーマルモードは、Vimのデフォルトのモード。Escを押せばノーマルモードに戻れる。
89
(キー入力)Vimをノーマルモードから、文字単位で範囲選択ができるビジュアルモードに切り替える
v vは「Visual(ビジュアル)」の略。行単位で選択できるビジュアルモードにするには「Shift+v」、長方形の形で選択できるビジュアルモードにするには「Ctrl+v」を押す。
90
エイリアスとは何か?
エイリアス(alias)とは、コマンドに別名を付ける機能…エイリアスを使えば、常に指定したいオプションを省略したり、オリジナルのコマンドを作成したりできる。
91
(コマンド)「example.sh」というファイルに対して、すべてのユーザーに実行権限を追加する
chmod a+x example.sh chmodコマンドはパーミッションを変更するコマンド。シンボルモードで「a+x」は、「すべてのユーザー(a)に実行権限(x)を追加する(+)」の意味。
92
(コマンド)カレントディレクトリの「file」というファイル中のテキストから「U」「s」「e」「r」という4文字を削除して表示する
cat file | tr -d User または tr -d User < file trコマンドの-dオプションを使えば、指定した文字の削除ができる。文字の置換の場合と同様に、「User」という文字列を削除するわけではなく、「U」「s」「e」「r」という4つの文字を削除する。
93
空のシェルスクリプトを作成する手順は?
空のシェルスクリプトは以下の手順で作成する ①touchコマンドやvimコマンドなどで空のテキストファイルを作成する ②1行目に「#!/bin/bash」のようなシバンを記入する ③chmodコマンドで実行権限を追加する
94
(コマンド)カレントディレクトリの「file」というファイルの行数・単語数・バイト数を表示する
wc file wcコマンドは、入力の行数や単語数(word count)などを出力するコマンド。オプションなしで実行すると、行数、単語数、バイト数などの順番で表示される。
95
プロセスとは何か?
プロセスとは、メモリに格納されてCPUによって実行されているコマンドなどのプログラムのこと…プロセスは、実行されているプログラムに、プロセスIDなどのいくつかの情報を追加したまとまり。実行されているプログラムにいくつかの情報を追加することによって、プログラムの実行を管理しやすくなる。
96
(コマンド)「file」というファイルのパーミッションを「r-x r-- ---」に変更する
chmod 540 file 数値モードで「540」は以下の意味 ・オーナーは「r-x」(4+0+1) ・所有グループに所属するユーザーは「r--」(4+0+0) ・その他のユーザは「---」(0+0+0)
97
(コマンド)マシン内のすべてのプロセスを詳細情報付きで一覧表示する
ps aux psは「process status」の略。psコマンドでは、BSDオプションと呼ばれるハイフンの付かないオプションが主に使われる。主なBSDオプションは以下の通り。 a…すべてのユーザーのプロセスを表示 u…詳細情報付きでプロセスを表示 x…端末を持たないプロセスを表示
98
(コマンド)カレントディレクトリの「file」というファイルの内容を重複行を取り除いて表示する
sort file | uniq uniqコマンドは、連続する重複行を取り除いてただ1つの(unique)行にするためのコマンド。連続していない重複行を取り除くには、sortコマンドでソートしてからuniqコマンドを使う。sortコマンドの-uオプションを使ってもよい。
99
リダイレクトとは何か?
リダイレクトとは、標準入出力を切り替える機能のこと…リダイレクトは主に、標準出力と標準エラー出力を端末からファイルに変更する用途で使われる。
100
(コマンド)エイリアスを設定することで、cpコマンドの実行時には常に-iオプションが指定されるようにする(ただし、bashを起動し直しても設定が保たれるようにする)
~/.bashrcに以下のコマンドを記入する alias cp='cp -i' シェルの起動時に読み込まれる設定ファイルに、エイリアスや環境変数の設定などを書くことで、シェルの起動の度に再設定を自動で行うようにする。シェルの設定ファイルとして、bashなら「~/.bashrc」、zshなら「~/.zshrc」などがある。