Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > etcライブラリ > Etcモジュール
クラスの継承リスト: Etc
/etc に存在するデータベースから情報を得るためのモジュールです。 クラスにインクルードして使うこともできます。
confstr(name) -> String | nil
[permalink][rdoc]confstr(3) で取得したシステム設定変数の値を返します。
引数 name に対応する設定が行われていない状態の場合は nil を返します。 (confstr(3) が -1 を返し、errno が設定されていない場合)
require "etc" Etc.confstr(Etc::CS_PATH) # => "/bin:/usr/bin" # GNU/Linux Etc.confstr(Etc::CS_GNU_LIBC_VERSION) # => "glibc 2.18" Etc.confstr(Etc::CS_GNU_LIBPTHREAD_VERSION) # => "NPTL 2.18"
endgrent -> nil
[permalink][rdoc]Etc.#getgrent によって開始された /etc/group ファイルを読む プロセスを終了させファイルを閉じます。
[SEE_ALSO] getgrent(3)
endpwent -> nil
[permalink][rdoc]Etc.#getpwent によって開始された /etc/passwdファイルを読む プロセスを終了させファイルを閉じます。
[SEE_ALSO] getpwent(3)
getgrent -> Struct::Group | nil
[permalink][rdoc]/etc/group ファイルから読み込んだエントリを一つ返します。
最初の呼び出しでは、先頭のエントリを返します。それ以降の呼び出しでは、 呼び出す度に次のエントリを順に返します。ファイルの終端に達すると nil を返します。
処理が終了したときは Etc.#endgrent を呼び出すようにしてください。
[SEE_ALSO] getgrent(3), Struct::Group
getgrgid(gid) -> Struct::Group
[permalink][rdoc]group データベースを検索し、グループ ID が gid であるグループエントリを返します。
[SEE_ALSO] getgrgid(3), Struct::Group
getgrnam(name) -> Struct::Group
[permalink][rdoc]name という名前のグループエントリを返します。
[SEE_ALSO] getgrnam(3), Struct::Group
getlogin -> String | nil
[permalink][rdoc]自分の login 名を返します。得られなかった場合は nil を返します。
getlogin は su(1) などでログイン時のユーザとは異なるユーザになっている場合、 現在ではなくログイン時のユーザを返します。
このメソッドが失敗した場合は Etc.#getpwuid に フォールバックするとよいでしょう。
たとえば、環境変数 USER などもあわせて、以下のようにフォールバックできます。
require "etc" login_user = ENV['USER'] || ENV['LOGNAME'] || Etc.getlogin || Etc.getpwuid.name
getpwent -> Struct::Passwd | nil
[permalink][rdoc]/etc/passwd から読み込んだエントリを一つ返します。
最初の呼び出しでは、先頭のエントリを返します。それ以降の呼び出しでは、 呼び出す度に次のエントリを順に返します。ファイルの終端に達すると nil を返します。
処理が終了したときは Etc.#endpwent を呼び出すようにしてください。
[SEE_ALSO] getpwent(3)
getpwnam(name) -> Struct::Passwd
[permalink][rdoc]passwd データベースを検索し、 名前が name である passwd エントリを返します。
[SEE_ALSO] getpwnam(3), Struct::Passwd
getpwuid(uid = getuid) -> Struct::Passwd
[permalink][rdoc]passwd データベースを検索し、 ユーザ ID が uid である passwd エントリを返します。
[SEE_ALSO] getpwuid(3), Struct::Passwd
group -> Struct::Group | nil
[permalink][rdoc]/etc/group ファイルから読み込んだエントリを一つ返します。
最初の呼び出しでは、先頭のエントリを返します。それ以降の呼び出しでは、 呼び出す度に次のエントリを順に返します。ファイルの終端に達すると nil を返します。
[SEE_ALSO] Etc.#getgrent, getgrent(3)
group {|gr| ... } -> ()
[permalink][rdoc]全てのグループエントリを順にアクセスするためのイテレータです。
nprocessors -> Integer
[permalink][rdoc]有効な CPU コア数を返します。
例:
require 'etc' p Etc.nprocessors #=> 4
passwd -> Struct::Passwd | nil
[permalink][rdoc]/etc/passwd から読み込んだエントリを一つ返します。
最初の呼び出しでは、先頭のエントリを返します。それ以降の呼び出しでは、 呼び出す度に次のエントリを順に返します。ファイルの終端に達すると nil を返します。
[SEE_ALSO] Etc.#getpwent, getpwent(3)
passwd {|pw| ... } -> ()
[permalink][rdoc]全ての passwd エントリを順にアクセスするためのイテレータです。
setgrent -> nil
[permalink][rdoc]/etc/group の先頭に戻ります。
このメソッドを呼び出した後 Etc.#getgrent を呼び出すと先頭のエントリを返します。
[SEE_ALSO] getgrent(3)
setpwent -> nil
[permalink][rdoc]/etc/passwd の先頭に戻ります。
このメソッドを呼び出した後 Etc.#getpwent を呼び出すと先頭のエントリを返します。
[SEE_ALSO] getpwent(3)
sysconf(name) -> Integer | nil
[permalink][rdoc]sysconf(3) で取得したシステム設定変数の値を返します。
引数 name が制限に関する設定値であり、設定が制限がない状態の場合は nil を返します。(sysconf(3) が -1 を返し、errno が設定されていない 場合)
require "etc" Etc.sysconf(Etc::SC_ARG_MAX) # => 2097152 # Number of processors. # It is not standardized. Etc.sysconf(Etc::SC_NPROCESSORS_ONLN) # => 4
sysconfdir -> String | nil
[permalink][rdoc]システムの設定ディレクトリを返します。
require 'etc' p Etc.sysconfdir # => "/etc"
主に "/etc" を返しますが、Ruby をソースからビルドした場合は異なるディレ クトリを返す場合があります。例えば、Ruby を /usr/local にインストールし た場合は、"/usr/local/etc" を返します。 Windows では常にシステムで提供されたディレクトリを返します。
systmpdir -> String | nil
[permalink][rdoc]システムのテンポラリディレクトリを返します。
require 'etc' p Etc.systmpdir # => "/tmp"
uname -> {Symbol => String}
[permalink][rdoc]uname(2) で取得したシステム情報を Hash で返します。
例:
require 'etc' require 'pp' pp Etc.uname # => {:sysname=>"Linux", # :nodename=>"boron", # :release=>"2.6.18-6-xen-686", # :version=>"#1 SMP Thu Nov 5 19:54:42 UTC 2009", # :machine=>"i686"}
CS_PATH -> Integer
[permalink][rdoc]CS_POSIX_V7_ILP32_OFF32_CFLAGS -> Integer
CS_POSIX_V7_ILP32_OFF32_LDFLAGS -> Integer
CS_POSIX_V7_ILP32_OFF32_LIBS -> Integer
CS_POSIX_V7_ILP32_OFFBIG_CFLAGS -> Integer
CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS -> Integer
CS_POSIX_V7_ILP32_OFFBIG_LIBS -> Integer
CS_POSIX_V7_LP64_OFF64_CFLAGS -> Integer
CS_POSIX_V7_LP64_OFF64_LDFLAGS -> Integer
CS_POSIX_V7_LP64_OFF64_LIBS -> Integer
CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS -> Integer
CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS -> Integer
CS_POSIX_V7_LPBIG_OFFBIG_LIBS -> Integer
CS_POSIX_V7_THREADS_CFLAGS -> Integer
CS_POSIX_V7_THREADS_LDFLAGS -> Integer
CS_POSIX_V7_WIDTH_RESTRICTED_ENVS -> Integer
CS_V7_ENV -> Integer
CS_POSIX_V6_ILP32_OFF32_CFLAGS -> Integer
CS_POSIX_V6_ILP32_OFF32_LDFLAGS -> Integer
CS_POSIX_V6_ILP32_OFF32_LIBS -> Integer
CS_POSIX_V6_ILP32_OFFBIG_CFLAGS -> Integer
CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS -> Integer
CS_POSIX_V6_ILP32_OFFBIG_LIBS -> Integer
CS_POSIX_V6_LP64_OFF64_CFLAGS -> Integer
CS_POSIX_V6_LP64_OFF64_LDFLAGS -> Integer
CS_POSIX_V6_LP64_OFF64_LIBS -> Integer
CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS -> Integer
CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS -> Integer
CS_POSIX_V6_LPBIG_OFFBIG_LIBS -> Integer
CS_POSIX_V6_WIDTH_RESTRICTED_ENVS -> Integer
CS_V6_ENV -> Integer
CS_GNU_LIBC_VERSION -> Integer
CS_GNU_LIBPTHREAD_VERSION -> Integer
Etc.#confstr の引数に指定します。
詳細は confstr(3) を参照してください。
PC_FILESIZEBITS -> Integer
[permalink][rdoc]PC_LINK_MAX -> Integer
PC_MAX_CANON -> Integer
PC_MAX_INPUT -> Integer
PC_NAME_MAX -> Integer
PC_PATH_MAX -> Integer
PC_PIPE_BUF -> Integer
PC_2_SYMLINKS -> Integer
PC_ALLOC_SIZE_MIN -> Integer
PC_REC_INCR_XFER_SIZE -> Integer
PC_REC_MAX_XFER_SIZE -> Integer
PC_REC_MIN_XFER_SIZE -> Integer
PC_REC_XFER_ALIGN -> Integer
PC_SYMLINK_MAX -> Integer
PC_CHOWN_RESTRICTED -> Integer
PC_NO_TRUNC -> Integer
PC_VDISABLE -> Integer
PC_ASYNC_IO -> Integer
PC_PRIO_IO -> Integer
PC_SYNC_IO -> Integer
PC_TIMESTAMP_RESOLUTION -> Integer
IO#pathconf の引数に指定します。
詳細は fpathconf(3) を参照してください。
SC_AIO_LISTIO_MAX -> Integer
[permalink][rdoc]SC_AIO_MAX -> Integer
SC_AIO_PRIO_DELTA_MAX -> Integer
SC_ARG_MAX -> Integer
SC_ATEXIT_MAX -> Integer
SC_BC_BASE_MAX -> Integer
SC_BC_DIM_MAX -> Integer
SC_BC_SCALE_MAX -> Integer
SC_BC_STRING_MAX -> Integer
SC_CHILD_MAX -> Integer
SC_CLK_TCK -> Integer
SC_COLL_WEIGHTS_MAX -> Integer
SC_DELAYTIMER_MAX -> Integer
SC_EXPR_NEST_MAX -> Integer
SC_HOST_NAME_MAX -> Integer
SC_IOV_MAX -> Integer
SC_LINE_MAX -> Integer
SC_LOGIN_NAME_MAX -> Integer
SC_NGROUPS_MAX -> Integer
SC_GETGR_R_SIZE_MAX -> Integer
SC_GETPW_R_SIZE_MAX -> Integer
SC_MQ_OPEN_MAX -> Integer
SC_MQ_PRIO_MAX -> Integer
SC_OPEN_MAX -> Integer
SC_ADVISORY_INFO -> Integer
SC_BARRIERS -> Integer
SC_ASYNCHRONOUS_IO -> Integer
SC_CLOCK_SELECTION -> Integer
SC_CPUTIME -> Integer
SC_FSYNC -> Integer
SC_IPV6 -> Integer
SC_JOB_CONTROL -> Integer
SC_MAPPED_FILES -> Integer
SC_MEMLOCK -> Integer
SC_MEMLOCK_RANGE -> Integer
SC_MEMORY_PROTECTION -> Integer
SC_MESSAGE_PASSING -> Integer
SC_MONOTONIC_CLOCK -> Integer
SC_PRIORITIZED_IO -> Integer
SC_PRIORITY_SCHEDULING -> Integer
SC_RAW_SOCKETS -> Integer
SC_READER_WRITER_LOCKS -> Integer
SC_REALTIME_SIGNALS -> Integer
SC_REGEXP -> Integer
SC_SAVED_IDS -> Integer
SC_SEMAPHORES -> Integer
SC_SHARED_MEMORY_OBJECTS -> Integer
SC_SHELL -> Integer
SC_SPAWN -> Integer
SC_SPIN_LOCKS -> Integer
SC_SPORADIC_SERVER -> Integer
SC_SS_REPL_MAX -> Integer
SC_SYNCHRONIZED_IO -> Integer
SC_THREAD_ATTR_STACKADDR -> Integer
SC_THREAD_ATTR_STACKSIZE -> Integer
SC_THREAD_CPUTIME -> Integer
SC_THREAD_PRIO_INHERIT -> Integer
SC_THREAD_PRIO_PROTECT -> Integer
SC_THREAD_PRIORITY_SCHEDULING -> Integer
SC_THREAD_PROCESS_SHARED -> Integer
SC_THREAD_ROBUST_PRIO_INHERIT -> Integer
SC_THREAD_ROBUST_PRIO_PROTECT -> Integer
SC_THREAD_SAFE_FUNCTIONS -> Integer
SC_THREAD_SPORADIC_SERVER -> Integer
SC_THREADS -> Integer
SC_TIMEOUTS -> Integer
SC_TIMERS -> Integer
SC_TRACE -> Integer
SC_TRACE_EVENT_FILTER -> Integer
SC_TRACE_EVENT_NAME_MAX -> Integer
SC_TRACE_INHERIT -> Integer
SC_TRACE_LOG -> Integer
SC_TRACE_NAME_MAX -> Integer
SC_TRACE_SYS_MAX -> Integer
SC_TRACE_USER_EVENT_MAX -> Integer
SC_TYPED_MEMORY_OBJECTS -> Integer
SC_VERSION -> Integer
SC_V7_ILP32_OFF32 -> Integer
SC_V7_ILP32_OFFBIG -> Integer
SC_V7_LP64_OFF64 -> Integer
SC_V7_LPBIG_OFFBIG -> Integer
SC_V6_ILP32_OFF32 -> Integer
SC_V6_ILP32_OFFBIG -> Integer
SC_V6_LP64_OFF64 -> Integer
SC_V6_LPBIG_OFFBIG -> Integer
SC_2_C_BIND -> Integer
SC_2_C_DEV -> Integer
SC_2_CHAR_TERM -> Integer
SC_2_FORT_DEV -> Integer
SC_2_FORT_RUN -> Integer
SC_2_LOCALEDEF -> Integer
SC_2_PBS -> Integer
SC_2_PBS_ACCOUNTING -> Integer
SC_2_PBS_CHECKPOINT -> Integer
SC_2_PBS_LOCATE -> Integer
SC_2_PBS_MESSAGE -> Integer
SC_2_PBS_TRACK -> Integer
SC_2_SW_DEV -> Integer
SC_2_UPE -> Integer
SC_2_VERSION -> Integer
SC_PAGE_SIZE -> Integer
SC_PAGESIZE -> Integer
SC_THREAD_DESTRUCTOR_ITERATIONS -> Integer
SC_THREAD_KEYS_MAX -> Integer
SC_THREAD_STACK_MIN -> Integer
SC_THREAD_THREADS_MAX -> Integer
SC_RE_DUP_MAX -> Integer
SC_RTSIG_MAX -> Integer
SC_SEM_NSEMS_MAX -> Integer
SC_SEM_VALUE_MAX -> Integer
SC_SIGQUEUE_MAX -> Integer
SC_STREAM_MAX -> Integer
SC_SYMLOOP_MAX -> Integer
SC_TIMER_MAX -> Integer
SC_TTY_NAME_MAX -> Integer
SC_TZNAME_MAX -> Integer
SC_XOPEN_CRYPT -> Integer
SC_XOPEN_ENH_I18N -> Integer
SC_XOPEN_REALTIME -> Integer
SC_XOPEN_REALTIME_THREADS -> Integer
SC_XOPEN_SHM -> Integer
SC_XOPEN_STREAMS -> Integer
SC_XOPEN_UNIX -> Integer
SC_XOPEN_UUCP -> Integer
SC_XOPEN_VERSION -> Integer
SC_PHYS_PAGES -> Integer
SC_AVPHYS_PAGES -> Integer
SC_NPROCESSORS_CONF -> Integer
SC_NPROCESSORS_ONLN -> Integer
SC_CPUSET_SIZE -> Integer
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。