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 -> IntegerCS_POSIX_V7_ILP32_OFF32_LDFLAGS -> IntegerCS_POSIX_V7_ILP32_OFF32_LIBS -> IntegerCS_POSIX_V7_ILP32_OFFBIG_CFLAGS -> IntegerCS_POSIX_V7_ILP32_OFFBIG_LDFLAGS -> IntegerCS_POSIX_V7_ILP32_OFFBIG_LIBS -> IntegerCS_POSIX_V7_LP64_OFF64_CFLAGS -> IntegerCS_POSIX_V7_LP64_OFF64_LDFLAGS -> IntegerCS_POSIX_V7_LP64_OFF64_LIBS -> IntegerCS_POSIX_V7_LPBIG_OFFBIG_CFLAGS -> IntegerCS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS -> IntegerCS_POSIX_V7_LPBIG_OFFBIG_LIBS -> IntegerCS_POSIX_V7_THREADS_CFLAGS -> IntegerCS_POSIX_V7_THREADS_LDFLAGS -> IntegerCS_POSIX_V7_WIDTH_RESTRICTED_ENVS -> IntegerCS_V7_ENV -> IntegerCS_POSIX_V6_ILP32_OFF32_CFLAGS -> IntegerCS_POSIX_V6_ILP32_OFF32_LDFLAGS -> IntegerCS_POSIX_V6_ILP32_OFF32_LIBS -> IntegerCS_POSIX_V6_ILP32_OFFBIG_CFLAGS -> IntegerCS_POSIX_V6_ILP32_OFFBIG_LDFLAGS -> IntegerCS_POSIX_V6_ILP32_OFFBIG_LIBS -> IntegerCS_POSIX_V6_LP64_OFF64_CFLAGS -> IntegerCS_POSIX_V6_LP64_OFF64_LDFLAGS -> IntegerCS_POSIX_V6_LP64_OFF64_LIBS -> IntegerCS_POSIX_V6_LPBIG_OFFBIG_CFLAGS -> IntegerCS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS -> IntegerCS_POSIX_V6_LPBIG_OFFBIG_LIBS -> IntegerCS_POSIX_V6_WIDTH_RESTRICTED_ENVS -> IntegerCS_V6_ENV -> IntegerCS_GNU_LIBC_VERSION -> IntegerCS_GNU_LIBPTHREAD_VERSION -> IntegerEtc.#confstr の引数に指定します。
詳細は confstr(3) を参照してください。
PC_FILESIZEBITS -> Integer[permalink][rdoc]PC_LINK_MAX -> IntegerPC_MAX_CANON -> IntegerPC_MAX_INPUT -> IntegerPC_NAME_MAX -> IntegerPC_PATH_MAX -> IntegerPC_PIPE_BUF -> IntegerPC_2_SYMLINKS -> IntegerPC_ALLOC_SIZE_MIN -> IntegerPC_REC_INCR_XFER_SIZE -> IntegerPC_REC_MAX_XFER_SIZE -> IntegerPC_REC_MIN_XFER_SIZE -> IntegerPC_REC_XFER_ALIGN -> IntegerPC_SYMLINK_MAX -> IntegerPC_CHOWN_RESTRICTED -> IntegerPC_NO_TRUNC -> IntegerPC_VDISABLE -> IntegerPC_ASYNC_IO -> IntegerPC_PRIO_IO -> IntegerPC_SYNC_IO -> IntegerPC_TIMESTAMP_RESOLUTION -> IntegerIO#pathconf の引数に指定します。
詳細は fpathconf(3) を参照してください。
SC_AIO_LISTIO_MAX -> Integer[permalink][rdoc]SC_AIO_MAX -> IntegerSC_AIO_PRIO_DELTA_MAX -> IntegerSC_ARG_MAX -> IntegerSC_ATEXIT_MAX -> IntegerSC_BC_BASE_MAX -> IntegerSC_BC_DIM_MAX -> IntegerSC_BC_SCALE_MAX -> IntegerSC_BC_STRING_MAX -> IntegerSC_CHILD_MAX -> IntegerSC_CLK_TCK -> IntegerSC_COLL_WEIGHTS_MAX -> IntegerSC_DELAYTIMER_MAX -> IntegerSC_EXPR_NEST_MAX -> IntegerSC_HOST_NAME_MAX -> IntegerSC_IOV_MAX -> IntegerSC_LINE_MAX -> IntegerSC_LOGIN_NAME_MAX -> IntegerSC_NGROUPS_MAX -> IntegerSC_GETGR_R_SIZE_MAX -> IntegerSC_GETPW_R_SIZE_MAX -> IntegerSC_MQ_OPEN_MAX -> IntegerSC_MQ_PRIO_MAX -> IntegerSC_OPEN_MAX -> IntegerSC_ADVISORY_INFO -> IntegerSC_BARRIERS -> IntegerSC_ASYNCHRONOUS_IO -> IntegerSC_CLOCK_SELECTION -> IntegerSC_CPUTIME -> IntegerSC_FSYNC -> IntegerSC_IPV6 -> IntegerSC_JOB_CONTROL -> IntegerSC_MAPPED_FILES -> IntegerSC_MEMLOCK -> IntegerSC_MEMLOCK_RANGE -> IntegerSC_MEMORY_PROTECTION -> IntegerSC_MESSAGE_PASSING -> IntegerSC_MONOTONIC_CLOCK -> IntegerSC_PRIORITIZED_IO -> IntegerSC_PRIORITY_SCHEDULING -> IntegerSC_RAW_SOCKETS -> IntegerSC_READER_WRITER_LOCKS -> IntegerSC_REALTIME_SIGNALS -> IntegerSC_REGEXP -> IntegerSC_SAVED_IDS -> IntegerSC_SEMAPHORES -> IntegerSC_SHARED_MEMORY_OBJECTS -> IntegerSC_SHELL -> IntegerSC_SPAWN -> IntegerSC_SPIN_LOCKS -> IntegerSC_SPORADIC_SERVER -> IntegerSC_SS_REPL_MAX -> IntegerSC_SYNCHRONIZED_IO -> IntegerSC_THREAD_ATTR_STACKADDR -> IntegerSC_THREAD_ATTR_STACKSIZE -> IntegerSC_THREAD_CPUTIME -> IntegerSC_THREAD_PRIO_INHERIT -> IntegerSC_THREAD_PRIO_PROTECT -> IntegerSC_THREAD_PRIORITY_SCHEDULING -> IntegerSC_THREAD_PROCESS_SHARED -> IntegerSC_THREAD_ROBUST_PRIO_INHERIT -> IntegerSC_THREAD_ROBUST_PRIO_PROTECT -> IntegerSC_THREAD_SAFE_FUNCTIONS -> IntegerSC_THREAD_SPORADIC_SERVER -> IntegerSC_THREADS -> IntegerSC_TIMEOUTS -> IntegerSC_TIMERS -> IntegerSC_TRACE -> IntegerSC_TRACE_EVENT_FILTER -> IntegerSC_TRACE_EVENT_NAME_MAX -> IntegerSC_TRACE_INHERIT -> IntegerSC_TRACE_LOG -> IntegerSC_TRACE_NAME_MAX -> IntegerSC_TRACE_SYS_MAX -> IntegerSC_TRACE_USER_EVENT_MAX -> IntegerSC_TYPED_MEMORY_OBJECTS -> IntegerSC_VERSION -> IntegerSC_V7_ILP32_OFF32 -> IntegerSC_V7_ILP32_OFFBIG -> IntegerSC_V7_LP64_OFF64 -> IntegerSC_V7_LPBIG_OFFBIG -> IntegerSC_V6_ILP32_OFF32 -> IntegerSC_V6_ILP32_OFFBIG -> IntegerSC_V6_LP64_OFF64 -> IntegerSC_V6_LPBIG_OFFBIG -> IntegerSC_2_C_BIND -> IntegerSC_2_C_DEV -> IntegerSC_2_CHAR_TERM -> IntegerSC_2_FORT_DEV -> IntegerSC_2_FORT_RUN -> IntegerSC_2_LOCALEDEF -> IntegerSC_2_PBS -> IntegerSC_2_PBS_ACCOUNTING -> IntegerSC_2_PBS_CHECKPOINT -> IntegerSC_2_PBS_LOCATE -> IntegerSC_2_PBS_MESSAGE -> IntegerSC_2_PBS_TRACK -> IntegerSC_2_SW_DEV -> IntegerSC_2_UPE -> IntegerSC_2_VERSION -> IntegerSC_PAGE_SIZE -> IntegerSC_PAGESIZE -> IntegerSC_THREAD_DESTRUCTOR_ITERATIONS -> IntegerSC_THREAD_KEYS_MAX -> IntegerSC_THREAD_STACK_MIN -> IntegerSC_THREAD_THREADS_MAX -> IntegerSC_RE_DUP_MAX -> IntegerSC_RTSIG_MAX -> IntegerSC_SEM_NSEMS_MAX -> IntegerSC_SEM_VALUE_MAX -> IntegerSC_SIGQUEUE_MAX -> IntegerSC_STREAM_MAX -> IntegerSC_SYMLOOP_MAX -> IntegerSC_TIMER_MAX -> IntegerSC_TTY_NAME_MAX -> IntegerSC_TZNAME_MAX -> IntegerSC_XOPEN_CRYPT -> IntegerSC_XOPEN_ENH_I18N -> IntegerSC_XOPEN_REALTIME -> IntegerSC_XOPEN_REALTIME_THREADS -> IntegerSC_XOPEN_SHM -> IntegerSC_XOPEN_STREAMS -> IntegerSC_XOPEN_UNIX -> IntegerSC_XOPEN_UUCP -> IntegerSC_XOPEN_VERSION -> IntegerSC_PHYS_PAGES -> IntegerSC_AVPHYS_PAGES -> IntegerSC_NPROCESSORS_CONF -> IntegerSC_NPROCESSORS_ONLN -> IntegerSC_CPUSET_SIZE -> IntegerEtc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。