CTC 教育サービス
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes
今回も前回と同じく、bashの組み込みコマンドについて説明します。
シェルとシェルから実行されるプロセスの、累積ユーザ時間およびシステム時間を表示します。 戻り値のステータスは0です。
オプションなしで、各nameをコマンド名として使用した場合に、どのように解釈されるかを示します。
-t -t オプションが指定された場合、nameがエイリアス、シェル予約語、関数、組み込み関数、ファイルの場合、それぞれ alias、keyword、function、builtin、file のいずれかの文字列を表示します。 name が見つからない場合は、何も表示されず、終了ステータスとして 0以外を返します。
-p、-P
-p オプションが指定された場合、typeはコマンド名としてnameが指定された場合に実行されるファイル名を返します。ただし、type -t name
が file を返さない場合は何も返しません。
-P オプションは、type -t name
がファイルを返さない場合でも、各nameに対してPATH検索を強制します。コマンドがハッシュ化されている場合、-p と -P はハッシュ化された値を表示しますが、これは必ずしも PATH で最初に表示されるファイルとは限りません。
-a -aオプションが使用された場合、typeはnameという名前の実行可能ファイルを含むすべての場所を表示します。これは、-pオプションが使用されていない場合に限り、エイリアスや関数も含まれます。-a オプションを使用する場合、ハッシュ化されたコマンドの表は参照されません。
-f
-f オプションは、コマンド組み込み関数と同様に、シェル関数検索を抑制します。typeは,引数がすべて見つかれば真,見つからなければ偽を返します。
$ type ls
ls は `ls --color=auto' のエイリアスです
$ type -t ls
alias
# -p では何も返しませんが、-Pでは強制的にファイル名を検索します
$ type -p ls
$ type -P ls
/usr/bin/ls
$ type -a ls
ls は `ls --color=auto' のエイリアスです
ls は /usr/bin/ls です
ls は /bin/ls です
シェルとシェルによって起動されるプロセスが利用できる、リソースを制御します。 -H および -S オプションは、指定されたリソースに対してハードリミットまたはソフトリミットを設定することを指定します。 ハードリミットは一度設定されると、非 root ユーザーはそれを増やすことができません。ソフトリミットは、ハードリミットの値まで増加できます。「-H」と「-S」のどちらも指定しなかった場合、ソフトリミットとハードリミットの両方が設定されます。 limitの値には、リソースに指定された単位の数値、または特別な値であるhard、soft、unlimitedのいずれかを指定します(これらはそれぞれ、現在のハードリミット、現在のソフトリミット、およびリミットなしを意味します)。 limitが省略された場合、-Hオプションが指定されない限り、リソースのソフトリミットの現在値が表示されます。 複数のリソースを指定した場合、値の前にリミット名と単位が表示されます。
その他のオプションは以下のように解釈されます。いくつかはシステム上使用できません。
limitが与えられ、かつ- aオプションが使用されていない場合、limitは指定されたリソースの新しい値になります。 オプションが指定されない場合、-fとみなされます。 ただし、-t は秒単位、-p は512バイトブロック単位、-P、-T、-b、-k、-n、-u は倍率なし、 posixモードの場合は -c と -f は512バイト単位です。 無効なオプションや引数が与えられたり、新しいリミットを設定する際にエラーが発生したりしない限り、0を返します。以下はulimit -a
の例です。以下で表示されるオプション以外は、一般ユーザで指定できません。
$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 257073
max locked memory (kbytes, -l) 65536
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 257073
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
umask(ファイル作成時のマスク)を、mode に設定します。umaskは、デフォルトのパーミションとビット論理積を行った値(644、755 など)を、ファイル作成時のパーミションとします。mode が省略された場合、現在のマスクの値が表示されます。
mode が数字で始まる場合は 8 進数として解釈され,そうでない場合は chmod
が受け付けるのと同様のシンボリックモードマスクとして解釈します。
-S オプションを指定すると、マスクをシンボル形式で表示します。-pオプションを与え、modeを省略すると、入力として再利用可能な形式で出力されます。
modeの変更に成功した場合、 mode 引数が与えられなかった場合は 0を返し、そうでない場合は 0以外を返します。
$ umask
0022
$ umask -S
u=rwx,g=rx,o=rx
$ touch file
$ env LC_ALL=C ls -l file
-rw-r--r-- 1 user user 10510 Apr 3 11:49 file
定義されたエイリアスのリストから各name を削除します。 -a オプションが指定された場合、すべてのエイリアスの定義が削除されます。 与えられた名前が定義されたエイリアスでない限り、0を返します。
それぞれのname に対して、対応する変数、関数を削除します。
-v name はシェル変数を参照し、その変数が削除されます。読み取り専用の変数は設定解除されません。
-f name はシェル関数を参照し、その関数定義を削除します。
-n name が nameref 属性を持つ変数である場合、 name は参照する変数ではなく削除されます。-nは、-f オプションが指定された場合には効果がありません。
指定された name の変数がない場合、name を持つ関数はすべて削除されます。 設定されていない変数や関数は、後続のコマンドに渡される環境から削除されます。 CO MP_WORDBREAKS、RANDOM、SECONDS、LINENO、HISTCMD、FUNCNAME、GROUPS、DIRSTACKのいずれかが削除されると、たとえその後にリセットされても、それらの特殊なプロパティは失われます。 name が読み取り専用でない限り、終了ステータスは0です。
今回は、bashの組み込みコマンドについて説明を続けます。今回で、この連載を中断します。3年半にわたって、この連載をご覧くださった皆様に感謝します。ありがとうございました。
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes