131 lines
2 KiB
Text
131 lines
2 KiB
Text
.TH WALK 1
|
|
.SH NAME
|
|
walk \- walk a path
|
|
.SH SYNOPSIS
|
|
.B walk
|
|
[
|
|
.B -dftxu
|
|
] [
|
|
.B -n
|
|
.I mind,maxd
|
|
] [
|
|
.B -e
|
|
.I statfmt
|
|
] [
|
|
.I name ...
|
|
]
|
|
.SH DESCRIPTION
|
|
.I Walk
|
|
recursively descends any directory arguments,
|
|
printing the name of each file on a separate line.
|
|
When no arguments are given, the working directory
|
|
is assumed.
|
|
Non-directory arguments are checked for existence,
|
|
then printed, if so.
|
|
.PP
|
|
Options are:
|
|
.TP
|
|
.B -d
|
|
Print only directories.
|
|
.TP
|
|
.B -f
|
|
Print only non-directories.
|
|
.TP
|
|
.B -t
|
|
Print a file only if it has the temporary flag set.
|
|
.TP
|
|
.B -x
|
|
Print a file only if it has any executable bits set.
|
|
.TP
|
|
.B -u
|
|
Unbuffered output.
|
|
.TP
|
|
.B -n min,max
|
|
Set the inclusive range of depths for filtering in results.
|
|
Both
|
|
.I min
|
|
and
|
|
.I max
|
|
are optional.
|
|
.TP
|
|
.B -e statfmt
|
|
Setting the statfmt string allows specifying the data
|
|
.I walk
|
|
should print.
|
|
It takes a string of characters, each corresponding
|
|
to some piece of information about the file being
|
|
traversed, and prints them separated by spaces.
|
|
.PP
|
|
The statfmt characters are as follows:
|
|
.TF .
|
|
.TP
|
|
.B U
|
|
owner name (uid)
|
|
.TP
|
|
.B G
|
|
group name (gid)
|
|
.TP
|
|
.B M
|
|
name of last user to modify (muid)
|
|
.TP
|
|
.B a
|
|
last access time (atime)
|
|
.TP
|
|
.B m
|
|
last modification time (mtime)
|
|
.TP
|
|
.B n
|
|
final path element (name)
|
|
.TP
|
|
.B p
|
|
path
|
|
.TP
|
|
.B q
|
|
qid path.version.type (see
|
|
.IR stat (2))
|
|
.TP
|
|
.B s
|
|
size in bytes
|
|
.TP
|
|
.B x
|
|
permissions
|
|
.TP
|
|
.B D
|
|
server device
|
|
.TP
|
|
.B T
|
|
server type (kernel device rune)
|
|
.PD
|
|
.PP
|
|
The default statfmt is simply,
|
|
.IR p .
|
|
.SH EXAMPLES
|
|
List files in a directory, sorted by modification time.
|
|
.IP
|
|
.EX
|
|
walk -femp catpics | sort -n | sed 's/^[^ ]+ //'
|
|
.EE
|
|
.PP
|
|
Print the size and path of files (excluding dirs)
|
|
in the working directory.
|
|
.IP
|
|
.EX
|
|
walk -fn1 -esp
|
|
.EE
|
|
.PD
|
|
.SH SOURCE
|
|
.B /sys/src/cmd/walk.c
|
|
.SH SEE ALSO
|
|
.IR ls (1),
|
|
.IR du (1)
|
|
.SH BUGS
|
|
Statfmt character `x' displays permissions as an integer.
|
|
.PP
|
|
Manipulating ifs is a nuisance.
|
|
.PP
|
|
File names are assumed to not contain newlines.
|
|
.PP
|
|
Correct invocation requires too much thought.
|
|
.SH HISTORY
|
|
.I Walk
|
|
first appeared in 9front (March, 2019).
|