Documentation
¶
Overview ¶
Package ln implements the engine behind lnx, a GNU-compatible implementation of the GNU/UNIX ln command: make hard or symbolic links between files.
Index ¶
Constants ¶
View Source
const Name = "lnx"
Name is the command name, used as the prefix of every diagnostic and prompt.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Ln ¶
type Ln struct {
Options
// PromptFn, when non-nil, is consulted instead of reading from standard
// input. It is the injection point tests use to answer replace prompts.
PromptFn func(question string) bool
// contains filtered or unexported fields
}
Ln is the link engine. Construct it with New.
func (*Ln) Run ¶
Run creates links according to args, which take one of ln's four forms: TARGET LINK_NAME, TARGET (link in the current directory), TARGET... DIRECTORY, or (with -t) TARGET.... Diagnostics are written as they occur; the returned error is core.ErrFailed if any link failed, a *core.UsageError for a malformed command line, otherwise nil.
type Options ¶
type Options struct {
Symbolic bool // -s: make symbolic links instead of hard links
Force bool // -f: remove existing destination files
Interactive bool // -i: prompt before removing a destination
NoDereference bool // -n: treat a LINK_NAME that is a symlink to a directory as a file
Verbose bool // -v: print the name of each linked file
Relative bool // -r: with -s, make the link relative to its own location
TargetDirectory string // -t: create the links in this directory
NoTargetDirectory bool // -T: always treat LINK_NAME as a normal file
Logical bool // -L: hard link to the referent of a symlink TARGET
Physical bool // -P: hard link to a symlink TARGET itself (the default)
}
Options mirrors the GNU ln flag surface.
Click to show internal directories.
Click to hide internal directories.