open-nomad/website/content/docs/commands/alloc/fs.mdx

115 lines
3.2 KiB
Plaintext

---
layout: docs
page_title: 'Commands: alloc fs'
description: |
Introspect an allocation directory on a Nomad client
---
# Command: alloc fs
**Alias: `nomad fs`**
The `alloc fs` command allows a user to navigate an [allocation working
directory] on a Nomad client. The following functionalities are available -
`cat`, `tail`, `ls` and `stat`.
- `cat`: If the target path is a file, Nomad will `cat` the file.
- `tail`: If the target path is a file and `-tail` flag is specified, Nomad will
`tail` the file.
- `ls`: If the target path is a directory, Nomad displays the name of a file and
directories and their associated information.
- `stat`: If the `-stat` flag is used, Nomad will display information about a
file.
## Usage
```plaintext
nomad alloc fs [options] <allocation> <path>
```
This command accepts a single allocation ID (unless the `-job` flag is
specified, in which case an allocation is chosen from the given job) and a
path. The path is optional and relative to the root of the [allocation working
directory].
When ACLs are enabled, this command requires a token with the `read-fs`,
`read-job`, and `list-jobs` capabilities for the allocation's namespace.
## General Options
@include 'general_options.mdx'
## Fs Options
- `-H`: Machine friendly output.
- `-verbose`: Display verbose output.
- `-job`: Use a random allocation from the specified job, preferring a running
allocation.
- `-stat`: Show stat information instead of displaying the file, or listing the
directory.
- `-f`: Causes the output to not stop when the end of the file is reached, but
rather to wait for additional output.
- `-tail`: Show the files contents with offsets relative to the end of the file.
If no offset is given, -n is defaulted to 10.
- `-n`: Sets the tail location in best-efforted number of lines relative to the
end of the file.
- `-c`: Sets the tail location in number of bytes relative to the end of the file.
## Examples
```shell-session
$ nomad alloc fs eb17e557
Mode Size Modified Time Name
drwxrwxr-x 4096 28 Jan 16 05:39 UTC alloc/
drwxrwxr-x 4096 28 Jan 16 05:39 UTC redis/
-rw-rw-r-- 0 28 Jan 16 05:39 UTC redis_exit_status
$ nomad alloc fs eb17e557 redis/local
Mode Size Modified Time Name
-rw-rw-rw- 0 28 Jan 16 05:39 UTC redis.stderr
-rw-rw-rw- 17 28 Jan 16 05:39 UTC redis.stdout
$ nomad alloc fs -stat eb17e557 redis/local/redis.stdout
Mode Size Modified Time Name
-rw-rw-rw- 17 28 Jan 16 05:39 UTC redis.stdout
$ nomad alloc fs eb17e557 redis/local/redis.stdout
foobar
baz
$ nomad alloc fs -tail -f -n 3 eb17e557 redis/local/redis.stdout
foobar
baz
bam
<blocking>
```
## Using Job ID instead of Allocation ID
Setting the `-job` flag causes a random allocation of the specified job to be
selected. Nomad will prefer to select a running allocation ID for the job, but
if no running allocations for the job are found, Nomad will use a dead
allocation.
```plaintext
nomad alloc fs -job <job-id> <path>
```
This can be useful for debugging a job that has multiple allocations, and it is
not required to observe a specific allocation.
[allocation working directory]: /nomad/docs/runtime/environment#task-directories 'Task Directories'