# Packages
execパッケージは外部コマンドを実行します。これはos.StartProcessをラップして、 stdinとstdoutのリマップ、パイプを使用したI/Oの接続、その他の調整を 簡単に行うことができます。
Cや他の言語からの"system"ライブラリ呼び出しとは異なり、 os/execパッケージは意図的にシステムシェルを呼び出さず、 グロブパターンを展開したり、シェルが通常行う他の展開、 パイプライン、リダイレクションを処理しません。このパッケージは Cの"exec"関数群のように振る舞います。グロブパターンを展開するには、 シェルを直接呼び出し、危険な入力をエスケープするか、 [path/filepath] パッケージのGlob関数を使用します。 環境変数を展開するには、osパッケージのExpandEnvを使用します。
このパッケージの例はUnixシステムを前提としています。 これらはWindowsでは実行できないかもしれませんし、golang.org や godoc.org が使用する Go Playgroundでは実行できません。
# Executables in the current directory
関数 [Command] と [LookPath] は、ホストオペレーティングシステムの規則に従って、 現在のパスにリストされたディレクトリでプログラムを探します。 オペレーティングシステムは何十年もの間、この検索に現在の ディレクトリを含めてきました。これは時々暗黙的に、時々 デフォルトで明示的にそのように設定されています。 現代の慣行では、現在のディレクトリを含めることは通常予期しないもので、 しばしばセキュリティ問題につながります。
これらのセキュリティ問題を避けるために、Go 1.19から、このパッケージはプログラムを 現在のディレクトリに対する暗黙的または明示的なパスエントリを使用して解決しません。 つまり、[LookPath]("go")を実行すると、パスがどのように設定されていても、 Unixでは./go、Windowsでは.\go.exeを正常に返すことはありません。 代わりに、通常のパスアルゴリズムがその答えをもたらす場合、 これらの関数はエラーerrを返し、[errors.Is](err, [ErrDot])を満たします。
例えば、以下の2つのプログラムスニペットを考えてみてください:
path, err := exec.LookPath("prog") if err != nil { log.Fatal(err) } use(path)
そして
cmd := exec.Command("prog") if err := cmd.Run(); err != nil { log.Fatal(err) }
これらは、現在のパスの設定に関係なく、./progや.\prog.exeを見つけて実行することはありません。
常に現在のディレクトリからプログラムを実行したいコードは、"prog"の代わりに"./prog"と指定することで書き換えることができます。
相対パスエントリからの結果を含めることに固執するコードは、代わりに errors.Is チェックを使用してエラーをオーバーライドできます:
path, err := exec.LookPath("prog") if errors.Is(err, exec.ErrDot) { err = nil } if err != nil { log.Fatal(err) } use(path)
そして
cmd := exec.Command("prog") if errors.Is(cmd.Err, exec.ErrDot) { cmd.Err = nil } if err := cmd.Run(); err != nil { log.Fatal(err) }
環境変数GODEBUG=execerrdot=0を設定すると、 ErrDotの生成が完全に無効になり、よりターゲット指向の修正を適用できないプログラムに対して、 一時的にGo 1.19以前の動作が復元されます。 Goの将来のバージョンでは、この変数のサポートが削除される可能性があります。
そのようなオーバーライドを追加する前に、 それを行うことのセキュリティ上の意味を理解しておいてください。 詳細は https://go.dev/blog/path-security を参照してください。.
Package signal implements access to incoming signals.
userパッケージは、名前またはIDによるユーザーアカウントの検索を可能にします。
ほとんどのUnixシステムでは、このパッケージにはユーザーとグループのIDを名前に解決し、
補足的なグループIDをリストアップするための2つの内部実装があります。
一つは純粋なGoで書かれており、/etc/passwdと/etc/groupを解析します。
もう一つはcgoベースで、getpwuid_r、getgrnam_r、getgrouplistなどの
標準Cライブラリ(libc)のルーチンに依存しています。
cgoが利用可能で、特定のプラットフォームのlibcに必要なルーチンが実装されている場合、
cgoベース(libcバックエンド)のコードが使用されます。
これは、純粋なGoの実装を強制するosusergoビルドタグを使用することで上書きすることができます。
*/.
# Functions
Chdirは現在の作業ディレクトリを指定されたディレクトリに変更します。 エラーが発生した場合、*PathError型になります。.
Chmodは指定されたファイルのモードを変更します。 もしファイルがシンボリックリンクであれば、リンクのターゲットのモードを変更します。 エラーが発生した場合は、*PathError型になります。
オペレーティングシステムによって使用されるモードビットのサブセットが異なります。
Unixでは、モードのパーミッションビットであるModeSetuid、ModeSetgid、およびModeStickyが使用されます。
Windowsでは、モードの0o200ビット(所有者書き込み可能)のみが使用されます。 これにより、ファイルの読み取り専用属性が設定されるかクリアされるかが制御されます。 その他のビットは現在未使用です。 Go 1.12以前との互換性を保つために、ゼロ以外のモードを使用してください。 読み取り専用ファイルにはモード0o400、読み書き可能なファイルにはモード0o600を使用します。
Plan 9では、モードのパーミッションビットであるModeAppend、ModeExclusive、およびModeTemporaryが使用されます。.
Chownは指定されたファイルの数値UIDとGIDを変更します。 ファイルがシンボリックリンクの場合、リンク先のUIDとGIDを変更します。 -1のUIDまたはGIDはその値を変更しないことを意味します。 エラーが発生した場合、型 [*PathError] になります。
WindowsまたはPlan 9の場合、Chownは常に [syscall.EWINDOWS] または EPLAN9のエラーを*PathErrorでラップして返します。.
Chtimesは指定されたファイルのアクセス時間と修正時間を変更します。これはUnixのutime()やutimes()関数と同様です。 ゼロの [time.Time] 値は、対応するファイルの時間を変更しません。
基礎となるファイルシステムは、値を切り捨てたり、より正確でない時間単位に丸めたりするかもしれません。 エラーが発生した場合、[*PathError] 型になります。.
Clearenvはすべての環境変数を削除します。.
CopyFS copies the file system fsys into the directory dir, creating dir if necessary.
Createは指定されたファイルを作成または切り詰めます。ファイルが既に存在する場合、ファイルは切り詰められます。 ファイルが存在しない場合、モード0o666(umaskの前)で作成されます。 成功した場合、返されたFileのメソッドを使用してI/Oを行うことができます。 関連付けられたファイルディスクリプタはO_RDWRモードになります。エラーが発生した場合、*PathError型のエラーとなります。.
CreateTempはディレクトリdirに新しい一時ファイルを作成し、 ファイルを読み書きするために開き、結果のファイルを返します。 ファイル名はpatternを取り、末尾にランダムな文字列を追加して生成されます。 もしpatternに"*"が含まれている場合、最後の"*"はランダムな文字列に置き換えられます。 ファイルは、umaskを適用する前に、モード0o600で作成されます。 dirが空の文字列の場合、CreateTempは一時ファイル用のデフォルトディレクトリ([TempDir] が返す)を使用します。 同時にCreateTempを呼び出す複数のプログラムやゴルーチンは同じファイルを選びません。 呼び出し元は、ファイルのNameメソッドを使用してファイルのパス名を取得できます。 ファイルが不要になったら、呼び出し元の責任でファイルを削除する必要があります。.
DirFSはディレクトリdirをルートとするファイルツリーのファイルシステム(fs.FS)を返します。
ただし、DirFS("/prefix")は、オペレーティングシステムへのOpen呼び出しが常に"/prefix"で始まることを保証するだけです。 つまり、DirFS("/prefix").Open("file")はos.Open("/prefix/file")と同じです。 よって、/prefix/fileが/prefixツリーの外部を指すシンボリックリンクである場合、DirFSを使用してもos.Openを使用してもアクセスが止まるわけではありません。 また、相対パスの場合、fs.FSのルート(DirFS("prefix")で返されるもの)は、後続のChdir呼び出しの影響を受けます。 したがって、ディレクトリツリーに任意のコンテンツが含まれる場合、DirFSは一般的なchrootスタイルのセキュリティメカニズムの代替ではありません。
ディレクトリdirは空ではありません。
結果は[io/fs.StatFS]、[io/fs.ReadFileFS]、[io/fs.ReadDirFS]を実装しています。.
Environは環境を表す文字列のコピーを返します。 形式は「key=value」です。.
Executableは、現在のプロセスを開始した実行可能ファイルのパス名を返します。 パスがまだ正しい実行可能ファイルを指しているとは限りません。 プロセスの開始にシンボリックリンクが使用された場合、オペレーティングシステムによって結果は シンボリックリンクまたはそれが指していたパスになる可能性があります。 安定した結果が必要な場合は、[path/filepath.EvalSymlinks] が役立ちます。
Executableは、エラーが発生しない限り、絶対パスを返します。
主な利用ケースは、実行可能ファイルに対して相対的に配置されたリソースを見つけることです。.
Exitは指定されたステータスコードで現在のプログラムを終了させます。 慣習的に、コード0は成功を示し、非ゼロはエラーを示します。 プログラムは直ちに終了します。延期された関数は実行されません。
移植性のために、ステータスコードは[0, 125]の範囲内にあるべきです。.
Expandはマッピング関数に基づいて文字列内の${var}または$varを置き換えます。 例えば、[os.ExpandEnv](s)は[os.Expand](s, [os.Getenv])と同等です。.
ExpandEnvは、文字列内の${var}または$varを現在の環境変数の値に応じて置換します。未定義の変数への参照は空文字列に置換されます。.
FindProcessは、pidによって実行中のプロセスを検索します。
返される [Process] は、基礎となるオペレーティングシステムのプロセスに関する情報を取得するために使用できます。
Unixシステムでは、FindProcessは常に成功し、プロセスが存在するかどうかに関わらず、指定されたpidのProcessを返します。 実際にプロセスが存在するかどうかをテストするには、p.Signal(syscall.Signal(0))がエラーを報告するかどうかを確認してください。.
Getegidは呼び出し元の数値形式の有効グループIDを返します。
Windowsでは、-1を返します。.
Getenvはキーで指定された環境変数の値を取得します。 もし変数が存在しない場合、空の値が返されます。 空の値と未設定の値を区別するためには、[LookupEnv] を使用してください。.
Geteuidは呼び出し元の数値効果的ユーザーIDを返します。
Windowsでは-1が返されます。.
Getgidは呼び出し元のグループIDの数値を返します。
Windowsでは、-1を返します。.
Getgroupsは、呼び出し元が所属しているグループの数値IDの一覧を返します。
Windowsでは、[syscall.EWINDOWS] が返されます。代替手段については、[os/user] パッケージを参照してください。.
Getpagesizeは、基礎となるシステムのメモリページサイズを返します。.
Getpidは呼び出し元のプロセスIDを返します。.
Getppidは呼び出し元の親プロセスのプロセスIDを返します。.
Getuidは呼び出し元のユーザーの数値IDを返します。
Windowsでは、-1を返します。.
Getwdは現在のディレクトリに対応するルート付きパス名を返します。現在のディレクトリがシンボリックリンクによって複数のパスで到達可能な場合、Getwdはそのいずれかを返すことがあります。.
Hostnameは、カーネルが報告するホスト名を返します。.
IsExistは、引数がファイルまたはディレクトリが既に存在することを報告するかどうかを示すブール値を返します。 これは[ErrExist]および一部のsyscallエラーによって満たされます。
この関数は、[errors.Is] よりも前に存在していました。これは、osパッケージによって返されるエラーのみをサポートしています。 新しいコードでは、errors.Is(err, fs.ErrExist)を使用するべきです。.
IsNotExistは、引数がファイルまたはディレクトリが存在しないことを報告するかどうかを示すブール値を返します。 これは[ErrNotExist]および一部のsyscallエラーによって満たされます。
この関数は、[errors.Is] よりも前に存在していました。これは、osパッケージによって返されるエラーのみをサポートしています。 新しいコードでは、errors.Is(err, fs.ErrNotExist)を使用するべきです。.
IsPathSeparator は c がディレクトリの区切り文字であるかどうかを報告します。.
IsPermissionは、引数が許可が拒否されたことを報告するかどうかを示すブール値を返します。 これは[ErrPermission]および一部のsyscallエラーによって満たされます。
この関数はerrors.Isより前に存在しています。この関数はosパッケージが返すエラーのみをサポートしています。 新しいコードでは、errors.Is(err、fs.ErrPermission)を使用するべきです。.
IsTimeoutは、引数がタイムアウトが発生したことを報告するかどうかを示すブール値を返します。
この関数は、[errors.Is] やエラーがタイムアウトを示すかどうかの概念よりも前から存在しています。たとえば、UnixのエラーコードEWOULDBLOCKは、 タイムアウトを示す場合と示さない場合があります。新しいコードでは、[os.ErrDeadlineExceeded] など、エラーが発生した呼び出しに適切な値を使用して errors.Isを使用するべきです。.
Lchownは指定されたファイルの数値UIDとGIDを変更します。 ファイルがシンボリックリンクの場合、リンク自体のUIDとGIDを変更します。 エラーが発生した場合は、[*PathError] 型のエラーが返されます。
Windowsでは、常に [syscall.EWINDOWS] エラーが返され、*PathErrorでラップされます。.
Link は newname を oldname ファイルのハードリンクとして作成します。 エラーがある場合、*LinkError 型になります。.
LookupEnvは、キーで指定された環境変数の値を取得します。 もし環境変数が存在する場合、値(空である可能性があります)と真偽値trueが返されます。 そうでなければ、返される値は空で、真偽値はfalseです。.
Lstatは、名前付きファイルに関する [FileInfo] を返します。 ファイルがシンボリックリンクである場合、返されるFileInfoはシンボリックリンクを説明します。 Lstatは、リンクをたどる試みをしません。 エラーがある場合、[*PathError] 型になります。
Windowsでは、ファイルが他の名前付きエンティティ(シンボリックリンクやマウントされたフォルダなど)の代替となるリパースポイントである場合、返されるFileInfoはリパースポイントを説明し、解決しようとしません。.
No description provided by the author
MkdirAllは、パスという名前のディレクトリと、必要な親ディレクトリを作成し、nilを返します。 それ以外の場合はエラーを返します。 MkdirAllが作成するすべてのディレクトリには、パーミッションビットperm(umaskの前)が使用されます。 パスが既にディレクトリである場合、MkdirAllは何もせずにnilを返します。.
MkdirTempはディレクトリdir内に新しい一時ディレクトリを作成し、 新しいディレクトリのパス名を返します。 新しいディレクトリの名前は、patternの末尾にランダムな文字列を追加することで生成されます。 patternに"*"が含まれている場合、ランダムな文字列は最後の"*"に置換されます。 ファイルは、umaskを適用する前に、モード0o600で作成されます。 dirが空の文字列の場合、MkdirTempは一時ファイルのデフォルトディレクトリ(TempDirによって返される)を使用します。 同時に複数のプログラムやゴルーチンがMkdirTempを呼び出しても、同じディレクトリを選択しません。 ディレクトリは不要になった時に削除するのは呼び出し元の責任です。.
NewFileは指定されたファイルディスクリプタと名前で新しいFileを返します。 fdが有効なファイルディスクリプタでない場合、返される値はnilになります。 Unixシステムでは、ファイルディスクリプタが非同期モードの場合、NewFileはSetDeadlineメソッドが動作するポーラブルなFileを返そうとします。
NewFileに渡した後、fdはFdメソッドのコメントで説明されている条件の下で無効になり、同じ制約が適用されます。.
NewSyscallErrorは、指定されたシステムコール名とエラーの詳細を持つ新しい [SyscallError] をエラーとして返します。 便利な機能として、errがnilの場合、NewSyscallErrorはnilを返します。.
Openは指定されたファイルを読み取り用に開きます。成功した場合、 返されたファイルのメソッドを使用して読み取りができます。 関連付けられたファイルディスクリプタはO_RDONLYのモードで持ちます。 エラーが発生した場合、*PathError型のエラーが返されます。.
OpenFileは一般化されたオープンコールであり、ほとんどのユーザーは代わりにOpenまたはCreateを使用します。指定されたフラグ(O_RDONLYなど)で指定された名前のファイルを開きます。ファイルが存在しない場合、O_CREATEフラグが渡されると、モード許可(umask前)で作成されます。成功すると、返されたFileのメソッドを使用してI/Oが可能です。エラーが発生した場合、*PathErrorのタイプになります。.
Pipe は接続された一対のファイルを返します。r からの読み取りは w に書き込まれます。 ファイルとエラーを返します。.
ReadDirは指定されたディレクトリを読み込み、 ファイル名順にソートされたすべてのディレクトリエントリを返します。 ディレクトリの読み込み中にエラーが発生した場合、 ReadDirはエラーが発生する前に読み込むことができたエントリと共にエラーを返します。.
ReadFileは指定されたファイルを読み込み、その内容を返します。 成功した呼び出しはerr == nilを返します。 err == EOFではありません。 ReadFileはファイル全体を読み込むため、ReadからのEOFをエラーとして報告しません。.
Readlinkは、指定されたシンボリックリンクの宛先を返します。 エラーがある場合、そのタイプは*PathErrorになります。
リンク先が相対的な場合、Readlinkはそれを絶対パスに解決せずに 相対パスを返します。.
Removeは指定したファイルまたは(空の)ディレクトリを削除します。 エラーが発生した場合、*PathError型のエラーとなります。.
RemoveAllはpathとその中に含まれるすべての子要素を削除します。 削除できる範囲で削除を実行しますが、最初に出会ったエラーを返します。 パスが存在しない場合、RemoveAllはnil(エラーなし)を返します。 エラーがある場合、それは [*PathError] 型のエラーです。.
Renameはoldpathをnewpathに名前を変更(移動)します。 newpathが既に存在していてディレクトリではない場合、Renameはそれを置き換えます。 newpathが既に存在していてディレクトリである場合、Renameはエラーを返します。 oldpathとnewpathが異なるディレクトリにある場合、OS固有の制限が適用される場合があります。 同じディレクトリ内でも、非UnixプラットフォームではRenameはアトミックな操作ではありません。 エラーが発生した場合、それは*LinkErrorの型である可能性があります。.
SameFileはfi1とfi2が同じファイルを表しているかどうかを報告します。 例えば、Unixでは、2つの基礎となる構造体のデバイスとinodeフィールドが同一であることを意味します。他のシステムでは、決定はパス名に基づく場合もあります。 SameFileは、このパッケージの [Stat] によって返された結果にのみ適用されます。 それ以外の場合はfalseを返します。.
Setenvは、キーで指定された環境変数の値を設定します。 エラーがある場合は、エラーを返します。.
StartProcessは、name、argv、attrで指定されたプログラム、引数、属性で新しいプロセスを開始します。 argvスライスは新しいプロセスで [os.Args] になるため、通常はプログラム名で始まります。
呼び出し元のgoroutineが [runtime.LockOSThread] でオペレーティングシステムスレッドをロックし、継承可能なOSレベルのスレッド状態を変更した場合(例えば、LinuxやPlan 9の名前空間)、新しいプロセスは呼び出し元のスレッド状態を継承します。
StartProcessは低レベルなインターフェースです。[os/exec] パッケージはより高レベルなインターフェースを提供します。
エラーが発生した場合、[*PathError] 型となります。.
Statは指定されたファイルに関する [FileInfo] を返します。 エラーが発生した場合、[*PathError] の型です。.
Symlinkはnewnameをoldnameへのシンボリックリンクとして作成します。 Windowsでは、存在しないoldnameへのシンボリックリンクはファイルのシンボリックリンクとして作成されます。 もしoldnameが後でディレクトリとして作成された場合、シンボリックリンクは機能しません。 エラーが発生した場合は、*LinkError型のエラーになります。.
TempDirは一時ファイルに使用するデフォルトのディレクトリを返します。
Unixシステムでは、$TMPDIRが空でない場合はそれを返し、さもなくば/tmpを返します。 Windowsでは、GetTempPathを使用し、最初の空でない値を%TMP%、%TEMP%、%USERPROFILE%、またはWindowsディレクトリから返します。 Plan 9では、/tmpを返します。
このディレクトリは、存在することやアクセス可能な許可を持っていることが保証されていません。.
No description provided by the author
Unsetenvは1つの環境変数を削除します。.
UserCacheDirは、ユーザー固有のキャッシュデータに使用するデフォルトのルートディレクトリを返します。 ユーザーはこのディレクトリ内にアプリケーション固有のサブディレクトリを作成して使用する必要があります。
Unixシステムでは、https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html で指定されている $XDG_CACHE_HOMEが空でない場合はその値を返し、そうでない場合は$HOME/.cacheを返します。 Darwinでは、$HOME/Library/Cachesを返します。 Windowsでは、%LocalAppData%を返します。 Plan 9では、$home/lib/cacheを返します。
位置を特定できない場合(例えば、$HOMEが定義されていない場合)や、 $XDG_CACHE_HOMEのパスが相対パスである場合、エラーを返します。.
UserConfigDirは、ユーザー固有の設定データに使用するデフォルトのルートディレクトリを返します。 ユーザーはこのディレクトリ内にアプリケーション固有のサブディレクトリを作成して使用する必要があります。
Unixシステムでは、https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html で指定されている $XDG_CONFIG_HOMEが空でない場合はその値を返し、そうでない場合は$HOME/.configを返します。 Darwinでは、$HOME/Library/Application Supportを返します。 Windowsでは、%AppData%を返します。 Plan 9では、$home/libを返します。
位置を特定できない場合(例えば、$HOMEが定義されていない場合)や、 $XDG_CONFIG_HOMEのパスが相対パスである場合、エラーを返します。.
UserHomeDirは現在のユーザーのホームディレクトリを返します。
Unix(macOSを含む)では、$HOME環境変数を返します。 Windowsでは、%USERPROFILE%を返します。 Plan 9では、$home環境変数を返します。
環境変数に期待される変数が設定されていない場合、UserHomeDir は、プラットフォーム固有のデフォルト値または非nilのエラーを返します。.
WriteFileはデータを指定されたファイルに書き込みます。必要に応じて新規作成されます。 ファイルが存在しない場合、WriteFileはパーミッションperm(umaskの前に)で作成します。 ファイルが存在する場合、WriteFileは書き込み前にファイルを切り詰め、パーミッションは変更しません。 WriteFileは複数のシステムコールが必要なため、途中で失敗するとファイルは一部だけ書き込まれた状態になる可能性があります。.
# Constants
DevNullはオペレーティングシステムの「nullデバイス」の名前です。 Unix-likeなシステムでは、"/dev/null"です。Windowsでは、"NUL"です。.
定義されたファイルモードのビットは、[FileMode] の最上位ビットです。 最下位の9ビットは、標準のUnixのrwxrwxrwxパーミッションです。 これらのビットの値は、パブリックAPIの一部と見なされ、 ワイヤープロトコルやディスクの表現で使用される場合があります。 これらの値は変更しないでくださいが、新しいビットが追加されるかもしれません。.
定義されたファイルモードのビットは、[FileMode] の最上位ビットです。 最下位の9ビットは、標準のUnixのrwxrwxrwxパーミッションです。 これらのビットの値は、パブリックAPIの一部と見なされ、 ワイヤープロトコルやディスクの表現で使用される場合があります。 これらの値は変更しないでくださいが、新しいビットが追加されるかもしれません。.
定義されたファイルモードのビットは、[FileMode] の最上位ビットです。 最下位の9ビットは、標準のUnixのrwxrwxrwxパーミッションです。 これらのビットの値は、パブリックAPIの一部と見なされ、 ワイヤープロトコルやディスクの表現で使用される場合があります。 これらの値は変更しないでくださいが、新しいビットが追加されるかもしれません。.
単一の文字は、Stringメソッドの書式設定で使用される略語です。.
定義されたファイルモードのビットは、[FileMode] の最上位ビットです。 最下位の9ビットは、標準のUnixのrwxrwxrwxパーミッションです。 これらのビットの値は、パブリックAPIの一部と見なされ、 ワイヤープロトコルやディスクの表現で使用される場合があります。 これらの値は変更しないでくださいが、新しいビットが追加されるかもしれません。.
定義されたファイルモードのビットは、[FileMode] の最上位ビットです。 最下位の9ビットは、標準のUnixのrwxrwxrwxパーミッションです。 これらのビットの値は、パブリックAPIの一部と見なされ、 ワイヤープロトコルやディスクの表現で使用される場合があります。 これらの値は変更しないでくださいが、新しいビットが追加されるかもしれません。.
定義されたファイルモードのビットは、[FileMode] の最上位ビットです。 最下位の9ビットは、標準のUnixのrwxrwxrwxパーミッションです。 これらのビットの値は、パブリックAPIの一部と見なされ、 ワイヤープロトコルやディスクの表現で使用される場合があります。 これらの値は変更しないでくださいが、新しいビットが追加されるかもしれません。.
定義されたファイルモードのビットは、[FileMode] の最上位ビットです。 最下位の9ビットは、標準のUnixのrwxrwxrwxパーミッションです。 これらのビットの値は、パブリックAPIの一部と見なされ、 ワイヤープロトコルやディスクの表現で使用される場合があります。 これらの値は変更しないでくださいが、新しいビットが追加されるかもしれません。.
定義されたファイルモードのビットは、[FileMode] の最上位ビットです。 最下位の9ビットは、標準のUnixのrwxrwxrwxパーミッションです。 これらのビットの値は、パブリックAPIの一部と見なされ、 ワイヤープロトコルやディスクの表現で使用される場合があります。 これらの値は変更しないでくださいが、新しいビットが追加されるかもしれません。.
定義されたファイルモードのビットは、[FileMode] の最上位ビットです。 最下位の9ビットは、標準のUnixのrwxrwxrwxパーミッションです。 これらのビットの値は、パブリックAPIの一部と見なされ、 ワイヤープロトコルやディスクの表現で使用される場合があります。 これらの値は変更しないでくださいが、新しいビットが追加されるかもしれません。.
定義されたファイルモードのビットは、[FileMode] の最上位ビットです。 最下位の9ビットは、標準のUnixのrwxrwxrwxパーミッションです。 これらのビットの値は、パブリックAPIの一部と見なされ、 ワイヤープロトコルやディスクの表現で使用される場合があります。 これらの値は変更しないでくださいが、新しいビットが追加されるかもしれません。.
定義されたファイルモードのビットは、[FileMode] の最上位ビットです。 最下位の9ビットは、標準のUnixのrwxrwxrwxパーミッションです。 これらのビットの値は、パブリックAPIの一部と見なされ、 ワイヤープロトコルやディスクの表現で使用される場合があります。 これらの値は変更しないでくださいが、新しいビットが追加されるかもしれません。.
定義されたファイルモードのビットは、[FileMode] の最上位ビットです。 最下位の9ビットは、標準のUnixのrwxrwxrwxパーミッションです。 これらのビットの値は、パブリックAPIの一部と見なされ、 ワイヤープロトコルやディスクの表現で使用される場合があります。 これらの値は変更しないでくださいが、新しいビットが追加されるかもしれません。.
定義されたファイルモードのビットは、[FileMode] の最上位ビットです。 最下位の9ビットは、標準のUnixのrwxrwxrwxパーミッションです。 これらのビットの値は、パブリックAPIの一部と見なされ、 ワイヤープロトコルやディスクの表現で使用される場合があります。 これらの値は変更しないでくださいが、新しいビットが追加されるかもしれません。.
タイプビット用のマスク。通常のファイルでは、何も設定されません。.
残りの値はOrで結合して動作を制御できます。.
オープンファイル時に基になるシステムのものをラップするフラグ。すべてのフラグが与えられたシステム上で実装されているわけではありません。.
オープンファイル時に基になるシステムのものをラップするフラグ。すべてのフラグが与えられたシステム上で実装されているわけではありません。.
O_RDONLY、O_WRONLY、またはO_RDWRのいずれかを指定する必要があります。.
オープンファイル時に基になるシステムのものをラップするフラグ。すべてのフラグが与えられたシステム上で実装されているわけではありません。.
オープンファイル時に基になるシステムのものをラップするフラグ。すべてのフラグが与えられたシステム上で実装されているわけではありません。.
オープンファイル時に基になるシステムのものをラップするフラグ。すべてのフラグが与えられたシステム上で実装されているわけではありません。.
オープンファイル時に基になるシステムのものをラップするフラグ。すべてのフラグが与えられたシステム上で実装されているわけではありません。.
No description provided by the author
No description provided by the author
値を探す。
廃止: io.SeekStart、io.SeekCurrent、io.SeekEnd を使用してください。.
値を探す。
廃止: io.SeekStart、io.SeekCurrent、io.SeekEnd を使用してください。.
値を探す。
廃止: io.SeekStart、io.SeekCurrent、io.SeekEnd を使用してください。.
# Variables
Argsはコマンドラインの引数を保持し、プログラム名から開始します。.
一部の一般的なシステムコールエラーのポータブルな代替です。
このパッケージから返されるエラーは、[errors.Is] によってこれらのエラーと比較されることがあります。.
一部の一般的なシステムコールエラーのポータブルな代替です。
このパッケージから返されるエラーは、[errors.Is] によってこれらのエラーと比較されることがあります。.
一部の一般的なシステムコールエラーのポータブルな代替です。
このパッケージから返されるエラーは、[errors.Is] によってこれらのエラーと比較されることがあります。.
ErrInvalidは無効な引数を示します。 Fileのメソッドは、レシーバーがnilの場合にこのエラーを返します。.
一部の一般的なシステムコールエラーのポータブルな代替です。
このパッケージから返されるエラーは、[errors.Is] によってこれらのエラーと比較されることがあります。.
一部の一般的なシステムコールエラーのポータブルな代替です。
このパッケージから返されるエラーは、[errors.Is] によってこれらのエラーと比較されることがあります。.
一部の一般的なシステムコールエラーのポータブルな代替です。
このパッケージから返されるエラーは、[errors.Is] によってこれらのエラーと比較されることがあります。.
ErrProcessDone は、[Process] が終了したことを示します。.
すべてのシステムのosパッケージで保証されている信号値は、os.Interrupt(プロセスに割り込みを送信する)とos.Kill(プロセスを強制的に終了する)のみです。Windowsでは、os.Process.Signalに対してos.Interruptを送信することは実装されていません。代わりにエラーが返されます。.
すべてのシステムのosパッケージで保証されている信号値は、os.Interrupt(プロセスに割り込みを送信する)とos.Kill(プロセスを強制的に終了する)のみです。Windowsでは、os.Process.Signalに対してos.Interruptを送信することは実装されていません。代わりにエラーが返されます。.
Stdin、Stdout、およびStderrは、標準入力、標準出力、および標準エラーファイルディスクリプタを指すオープンファイルです。
Goランタイムは、パニックやクラッシュの場合には標準エラーに書き込みます。 Stderrを閉じると、それらのメッセージは他の場所に転送される可能性があります。 たとえば、後で開かれるファイルに転送されるかもしれません。.
Stdin、Stdout、およびStderrは、標準入力、標準出力、および標準エラーファイルディスクリプタを指すオープンファイルです。
Goランタイムは、パニックやクラッシュの場合には標準エラーに書き込みます。 Stderrを閉じると、それらのメッセージは他の場所に転送される可能性があります。 たとえば、後で開かれるファイルに転送されるかもしれません。.
Stdin、Stdout、およびStderrは、標準入力、標準出力、および標準エラーファイルディスクリプタを指すオープンファイルです。
Goランタイムは、パニックやクラッシュの場合には標準エラーに書き込みます。 Stderrを閉じると、それらのメッセージは他の場所に転送される可能性があります。 たとえば、後で開かれるファイルに転送されるかもしれません。.
# Structs
Fileはオープンされたファイルディスクリプタを表します。
Fileのメソッドは並行使用に対して安全です。.
LinkErrorはリンクやシンボリックリンク、リネームのシステムコール中に発生したエラーと、それによって引き起こされたパスを記録します。.
ProcAttrはStartProcessによって開始される新しいプロセスに適用される属性を保持します。.
Processは [StartProcess] によって作成されたプロセスに関する情報を格納します。.
ProcessStateはWaitによって報告されるプロセスの情報を格納します。.
SyscallErrorは特定のシステムコールからのエラーを記録します。.
# Interfaces
Signalはオペレーティングシステムのシグナルを表します。 通常、基礎となる実装はオペレーティングシステムに依存します: Unixではsyscall.Signalです。.
# Type aliases
DirEntryはディレクトリから読み込まれたエントリです ([ReadDir] 関数やファイルの [File.ReadDir] メソッドを使用して読み込まれます)。.
FileInfoはファイルを記述し、[Stat] および [Lstat] によって返されます。.
FileModeはファイルのモードと許可ビットを表します。 ビットはすべてのシステムで同じ定義を持っているため、 ファイルの情報をシステム間で移動する際に移植性があります。 すべてのビットがすべてのシステムで適用されるわけではありません。 必須のビットは [ModeDir] であり、ディレクトリに対して適用されます。.
PathErrorはエラーメッセージとそれを引き起こした操作とファイルパスを記録します。.