ls for filesystem

List the filenames, sizes, and modification times of items in a directory.

Signature

> ls {flags} (pattern)

Flags

  • --all, -a: Show hidden files
  • --long, -l: Get all available columns for each entry (slower; columns are platform-dependent)
  • --short-names, -s: Only print the file names, and not the path
  • --full-paths, -f: display paths as absolute paths
  • --du, -d: Display the apparent directory size ("disk usage") in place of the directory metadata size
  • --directory, -D: List the specified directory itself instead of its contents
  • --mime-type, -m: Show mime-type in type column instead of 'file' (based on filenames only; files' contents are not examined)

Parameters

  • pattern: The glob pattern to use.

Input/output types:

inputoutput
nothingtable

Examples

List visible files in the current directory

> ls

List visible files in a subdirectory

> ls subdir

List visible files with full path in the parent directory

> ls -f ..

List Rust files

> ls *.rs

List files and directories whose name do not contain 'bar'

> ls -s | where name !~ bar

List all dirs in your home directory

> ls -a ~ | where type == dir

List all dirs in your home directory which have not been modified in 7 days

> ls -as ~ | where type == dir and modified < ((date now) - 7day)

List given paths and show directories themselves

> ['/path/to/directory' '/path/to/file'] | each {|| ls -D $in } | flatten