October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
VGSources
Blog

The ls Command in Linux and Unix: Options and Examples

A practical, portable guide to ls: list files, reveal dot files, inspect metadata, recurse through directories, sort by time or size, and avoid common Unix scripting mistakes.
WorldLinux and Unix: Options and Examples Length9 min Posted Quest giverVGSources Team
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

ls lists information about files and directories. Run it with no operand to list the current directory, add a path to inspect another location, and combine options to reveal hidden names, display metadata, recurse through subdirectories, or change sorting and output format. The command is available on Linux and Unix systems, but long options and some conveniences are GNU or implementation-specific, so portable scripts should stay within the POSIX option set.

What ls does

The name ls is traditionally read as “list.” It reports information about files of any type, including directories. Its basic syntax is:

As an Amazon Associate I earn from qualifying purchases.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

ls [OPTION]... [FILE]...

With no non-option argument, GNU ls acts as though you supplied ., the current directory. If you give a directory as an operand, ls normally lists that directory’s contents rather than printing the directory entry itself. A regular file, device, socket, or symbolic link can also be supplied; in that case, the named entry is what is displayed.

Entries whose names begin with a period are omitted unless you explicitly request them. This default prevents ordinary listings from being dominated by configuration files and the special entries . and ...

#1 Best Overall
Sale
Gaoye Blue Light Blocking Glasses
  • BLUE LIGHT BLOCKING GLASSES: Our blue light glasses for women boast UV400 protection, blocking harmful blue rays from computer screens. With these bluelight glasses women, you can enjoy gaming, reading, or watching TV with no worries of eye strain.
  • EYE RELIEF: Our blue light glasses are engineered to reduce blurry vision or strain caused by prolonged screen time. These womens blue light glasses aid in better sleep by preventing blue light from disrupting your natural sleep cycle, helping you fall asleep faster and enjoy a more restful night's sleep, making them the perfect christmas present.
  • COMFORTABLE: Crafted from durable material, our trendy blue light glasses for woman or blue light glasses men ensure long-lasting comfort. The high-transmittance lenses accessories, gamer gifts for men, help keep your eyes relaxed. Perfect stocking stuffers, gifts for gamers men, christmas gifts for men, halloween costumes.
  • LIGHTWEIGHT: These clear blue light glasses feature a lightweight frame, meaning they’ll stay comfy for long-term wear. Perfect as blue blockers glasses for women or mens blue light glasses, these non-prescription fake glasses for men can be worn throughout the day. The blue light blocking glasses women feature polycarbonate HD lenses, which are anti-reflective and restore true color.
  • WORRY-FREE PURCHASE: If you experience any issues, our support team is ready to assist you quickly. These are the perfect costume glasses for cosplay dressing up.

Everyday listing commands

Goal Command What it does
List the current directory ls Shows visible entries in the current working directory.
List a named directory ls /var/log Shows the contents of /var/log, not the directory entry itself.
List several paths ls file1 file2 /tmp Displays each named file and the contents of the named directory.
List a directory entry itself ls -d /var/log Prevents ls from descending into the directory operand.
Print one entry per line ls -1 Requests one name per line where supported; useful for readable or scripted output.

GNU ls permits options and file arguments to be intermixed. For commands intended for people, that flexibility is convenient; for scripts, put options before operands and avoid relying on implementation-specific argument parsing.

Hidden files: -a versus -A

Show every name with -a

ls -a includes names beginning with ., including the implied current-directory entry . and parent-directory entry ... This is the GNU and POSIX behavior for the option.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Show almost everything with -A

ls -A also reveals dot files, but suppresses the special . and .. entries. It is usually the cleaner choice when you need to inspect configuration files without displaying navigation entries.

Hide selected names (GNU)

GNU implementations provide additional ignore controls, including the long option --hide=PATTERN. The pattern is implementation-specific; do not assume it exists on every Unix system. The related family of options can alter which names are shown even when you are not using -a, so check the target system’s manual before using them in portable tooling.

Read detailed metadata with long format

ls -l requests a long listing. A typical implementation displays a file-type and permission field, link count, owner, group, size, a time value, and the name. The exact columns, spacing, timestamp presentation, and available owner fields are implementation-dependent.

For a directory, ls -l directory still lists the directory’s contents. To inspect the directory object itself, combine long format with -d:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

ls -ld /var/log

This distinction matters when checking a directory’s permissions, owner, or timestamp. Without -d, you are inspecting entries inside it instead.

Rank #2
Windex Gaming Cleaning Wipes, Pre-Moistened Wipes to Instantly Clean all Gaming Gear and Electronics, Resealable Packaging for a Freshness Lock, 25 count (Pack of 1)
  • WINDEX GAMING WIPES: effortlessly clean all your gaming gear and gaming electronics in one easy step with our new Windex Gaming Wipes
  • AMMONIA FREE: our ammonia-free formula is safe to use on all of your favorite gaming equipment like consoles, headsets, controllers, screens, keyboards, and more
  • PRE-MOISTENED WIPES: each wipe instantly removes dust, dirt, and stubborn smudges and fingerprints leaving a streak-free shine
  • ANTI-STATIC: great for cleaning and wiping down your gaming gear and electronics leaving behind no visible residue
  • COMPACT RESEALABLE PACKAGE: store your pack of Windex Gaming Wipes anywhere in your home for whenever a quick and easy wipedown is needed

Human-readable sizes (GNU/common extension)

ls -lh asks GNU ls to render byte counts with units such as K, M, or G. The option is common on Linux but is not part of the POSIX baseline; label it as a GNU or implementation-specific convenience in cross-Unix documentation and scripts.

Additional metadata switches

  • --author is a GNU option that adds author information when the underlying system supplies it.
  • --block-size=SIZE is a GNU option that controls the unit used for displayed block counts and sizes.
  • Inode and block-related flags are available in the POSIX option family, but their exact output depends on the implementation and file system.

Directory operands, -d, and recursion

Why ls directory lists inside the directory

A directory operand is treated as a request for its contents. Thus ls /etc prints entries under /etc, while ls -d /etc prints the /etc entry itself.

List subdirectories recursively with -R

ls -R project walks through project and lists each directory it reaches. GNU and POSIX define -R for recursive directory listing, but the output can become very large on source trees, home directories, mounted file systems, or paths containing deeply nested data.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recursion is a display feature, not a replacement for a file-search or inventory tool. It does not provide filtering, robust machine-readable records, or safeguards against a tree changing while it is being traversed. Use it interactively for a quick overview; choose a purpose-built command when you need precise selection or automation.

Sorting entries

By default, entries are sorted by name according to the current locale. Sorting options change the key, and combinations can change whether the result is ascending or descending.

Goal Example Portability note
Sort by modification time ls -lt Supported by GNU and POSIX option families; details such as tie handling and displayed time are implementation-dependent.
Sort by size ls -lS Available in GNU and many Unix implementations, but verify support before claiming POSIX portability.
Reverse the selected order ls -ltr -r reverses the ordering produced by the other sort options.
Use name order explicitly ls -l --sort=name The long --sort form is GNU-specific; use the short, portable choices where possible.

Locale affects name comparison. Two machines can therefore produce different alphabetical orders for the same directory when their locale settings differ. For a stable byte-oriented order in a script, use:

LC_ALL=C ls -1

LC_ALL=C selects the C locale for that invocation, while -1 requests one entry per line. This makes ordering and line structure more predictable, but it does not turn the output into a fully safe data interchange format: unusual names can still be quoted or escaped, and names can contain characters that are awkward for line-oriented parsing.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sale
LISEN Cell Phone Stand Phone Holder for Desk, Office Decor Gadgets for Men
  • Ergonomic & Adjustable Design: Fight "text neck" and improve your posture. Designed for comfort, it offers an adjustable height (7.1in-8.5in) (1.4in adjustable range) and angle (5°-85°) Please note: cell phone stand is only 9 inches tall—the length of a standard pencil
  • Without blocking subtitles Perfect for office desk Tiktok Face Time Zoom video—this is the ultimate kitchen desk essential for phones! Perfect viewing experience while reducing neck back strain, A must-have for gamers streamers desk, and anyone who values both style and support!
  • Sleek & Stable Design fits Otterbox Case: Say goodbye to bent cables, tangles, and tip-overs! LISEN’s stylish adjustable desk phone holder features a built-in charging hole and smart cable management, keeping your phone secure and your workspace clutter-free cool gadgets for men
  • ANTI-SLIP DESIGN free hands: The under 10.00 items easy gadgets back and the bottom of this kitchen essentials for women are fully covered by anti-skid silicone, which LISEN stand up desk decor can provide maximum protection device from any scratches and slides
  • Your Perfect Viewing Companion:If your product arrives damaged or breaks within 365 days, reach out to LISEN for a quick and hassle-free solution. Struggling with assembly, like tightening the screw? We’ve got your back! Your experience matters to us. (Product including: phone Holder stand*1, screw*1, hexagon screwdriver*1, specification*1)

Output layout, quoting, colors, and classification

GNU ls formats entries in columns when writing to a terminal. When standard output is redirected, GNU behavior changes to one entry per line by default. Terminal width, locale, and the presence of unusual characters all influence the presentation.

Terminal versus redirected output

These two invocations can look different even though they inspect the same directory:

ls
ls > listing.txt

The first is intended for interactive reading; the second receives redirected output and normally gets a line-oriented layout. If a program consumes the result, do not parse decorative columns. Prefer an interface designed for machine processing, or constrain and validate the names you expect.

Names containing spaces or control characters

GNU ls may quote or escape unusual characters so that a human can distinguish them. The displayed text is not necessarily the exact byte sequence of the filename. Never recover a filename by splitting ordinary ls output on spaces; spaces, tabs, newlines, and other characters are legal in Unix filenames.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Color and file-type indicators

Color and classification markers, such as a slash after a directory, are common implementation features. GNU long options include --color, while short classification options vary by system. They improve interactive scanning but add presentation characters that are undesirable in scripts. Disable them or avoid parsing ls output when building automation.

Symbolic links: -L and what gets inspected

A symbolic link has its own directory entry and points to another path. By default, a long listing generally reports the link itself and shows its target text. GNU ls -lL linkname dereferences the link when showing information, so metadata comes from the object reached through the link rather than from the link entry.

Use dereferencing deliberately. A link can point outside the directory you are examining, become dangling, or change between inspection and a later operation. The option’s presence and exact behavior should be checked on non-GNU Unix implementations before relying on it.

Rank #4
Ledagic IC+RGBW USB Powered Led Light Bar with App & Remote Control, 2 Pack
  • Easy Installation: Our gaming lights have been designed to enhance your entertainment experience. Simply position the led light bar next to your TV or game console to create a game room environment with ease. They come with USB power and a 60 inch cord for direct mounting and mobility
  • Audio Syncing & Extensive Mode: The built-in high-sensitivity music sensor allows you to sync the TV led lights to your favorite music. Lights react and move to the beat of music, film and game audio, creating an incredible immersive sound and light experience – and all without the need for an additional hub. You can choose from 64+ patterns, including strobe, illusion, jump, energy, gradient, running, chasing, fluttering mode etc. Each mode can be applied to different scenes
  • 64+ Chasing IC+RGB & W Effect: The independent control design of IC+RGB and white all-in-one multifunctional rgbw led bar lights monitor backlight allows you to easily switch the led lights for desk between IC+RGB and white to enjoy a variety of lighting effects, you can choose white lighting mode with high brightness for better illumination when working, etc. Choose IC+RGB lighting mode when you need to create an entertaining atmosphere for the light show, 16 million colours of Color changing rgb light bar let you dance to the beat and create a dynamic party atmosphere
  • Dynamic and Dimmable Lights: 1%-full brightness free brightness adjustment gives you the flexibility to adjust dimmable led light bar for room decorations or a variety of occasions
  • USB Powered: USB light bars for room can be powered by powernank, usb charger, TV, Monitor, laptop PC mainframe, making behind TV led lighting bar easy to install in any location.TV led lights are powered by the TV usb interface / PC mainframe, can be turned on/off synchronously with TV / PC

Portable options: POSIX baseline versus GNU extensions

POSIX defines a baseline synopsis:

ls [-ikqrs] [-glno] [-A|-a] [-C|-m|-x|-1] [-F|-p] [-H|-L] [-R|-d] [-S|-f|-t] [-c|-u] [file...]

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

This set covers the core behaviors most Unix systems share: hidden-name selection, long or column formats, recursion, directory-entry handling, link following, and several sort and time choices. Individual systems can still differ in defaults and output fields.

Feature Portable guidance GNU example
Include dot files -a and -A are in the POSIX family. ls -A
Long listing -l is broadly portable, but columns are not identical everywhere. ls -l
Recursion -R is in the POSIX synopsis. ls -R project
Directory itself -d is in the POSIX synopsis. ls -ld directory
Follow links -L is listed by POSIX; defaults and edge cases still merit local verification. ls -lL link
Human-readable units Not a POSIX requirement. ls -lh
Long options Not portable across Unix implementations. ls --block-size=1K
Color and time-style controls Implementation-specific. ls --color, ls --time-style=long-iso

When writing documentation labeled “Linux and Unix,” identify GNU-only examples rather than implying that every Unix ls accepts them. The GNU Coreutils documentation version identified for 2026 is 9.11; other systems can ship a different implementation and version.

Exit statuses and diagnosing failures

GNU ls returns status 0 when it completes successfully, 1 for minor problems, and 2 for serious trouble such as an invalid option or failure to access a specified operand.

  • Status 0: the requested listing completed without reported errors.
  • Status 1: a less severe problem occurred; inspect standard error and do not assume every operand was usable.
  • Status 2: an option was invalid or a serious access problem occurred.

Common failure causes include misspelled paths, insufficient directory search permission, a removed file, an unsupported option on a non-GNU system, and a broken symbolic link when dereferencing is requested. Check the exact command with ls --help on GNU systems or the local manual page, then test the smallest path that reproduces the error.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Practical command recipes

Inspect a project, including dot files

ls -la project combines long metadata with all names, including . and ... Use ls -lA project instead when you want dot files but not those two navigation entries.

Find the newest entries visually

ls -lt sorts by modification time with the newest entries first on common implementations. Add -r for the reverse order: ls -ltr.

Best Value
Sale
HUANUO FlowLift™ Dual Monitor Stand, Fully Adjustable Gaming Monitor Desk Mount for 13–32″ Computer Screens, Full Motion VESA 75x75/100x100 with C-Clamp & Grommet Base, Each Arm Holds 4.4 to 19.8 lbs
  • Compatible with Wide Screens - To ensure compatibility with the dual monitor mount, your each monitor must meet three conditions at the same time: First, computer screens size range: 13 to 32 inches. Second, screen weight range: 4.4 to 19.8 lbs. Third, the back of the monitor screen must have VESA mounting holes with a pitch of 75x75mm or 100x100mm.
  • Regarding the compatibility with desks - Your desk must meet three conditions at the same time: First, desk material: Only wooden desks are recommended, plastic or glass desks cannot be used. Second, desk thickness range: 0.59" - 3.54". Third, the bottom of the desk should not have any cross beams or panels, as this will interfere with installation. We recommend carefully checking that your desk and monitors meets all above conditions before purchasing.
  • Dual C-Clamp Hold - Worried your dual monitors might wobble or slip? Our upgraded base uses a larger platform plus a dual C-clamp structure to lock the dual monitor arm firmly to your desk. Each arm safely keeps your screens steady while you type, click and game—no shaking, no sliding, just a clean and secure setup you can trust every day. It also provides Grommet Mounting installation choice, both options ensure stable and secure fixation for your 0.59" - 3.54" desk.
  • Full-Motion Adjustment For Comfortable View - Pull the screen closer when you’re deep in a spreadsheet, push it back to watch videos, or rotate to portrait for coding — moving everything smoothly with just one hand. The monitor stand offers +85°/-50° tilt, ±90° swivel and 360° rotation. Raise your monitor up to 15.75″ to support a healthy sitting posture. Whether you’re working from home, gaming through the night, or switching between video calls and documents, getting the screens to your natural line of sight helps relieve neck, shoulder and back strain so you can stay focused longer with less fatigue.
  • Keep Your Desk Organized: By lifting both screens off the desktop, this dual monitor stand opens up valuable space for your keyboard, notebook, docking station or a simple, clutter-free work area. Built-in cable management guides wires along the arms, keeping cords out of sight and out of the way. Enjoy a tidy, modern workstation that looks as good as it feels to use.

Compare large files quickly

ls -lS requests size ordering, usually largest first. Because -S is not guaranteed by the POSIX baseline, confirm it on the Unix variant you target.

Check a directory’s permissions without opening it

ls -ld path/to/directory displays the directory entry itself. This avoids confusing the directory’s permissions and timestamp with those of its contents.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Review an entire tree cautiously

ls -R project is suitable for a small source tree. For a large or unfamiliar path, start with ls project, then inspect individual subdirectories so that the output remains manageable.

Safe use in scripts

Interactive ls output is optimized for people, not parsers. Column alignment, locale sorting, quoting, color, terminal detection, and filenames containing newline characters can all break a script that treats each displayed line as a simple filename.

  • Use explicit option placement and an explicit path.
  • Set LC_ALL=C when a locale-independent sort order is genuinely required.
  • Request one entry per line with -1 only when the names are known to exclude problematic characters.
  • Check the command’s exit status and standard error.
  • Do not treat human-readable units or colored output as machine data.
  • Prefer a file-oriented API or a search command that offers a null-delimited mode when robust filename handling is required.

Even with careful options, a listing is a snapshot. Files can be created, renamed, or removed immediately after ls runs, so a later operation must still handle races and errors.

Quick decision guide

If you need to… Start with
See ordinary files in the current directory ls
Include all dot files ls -a
Include dot files but hide . and .. ls -A
Inspect permissions, ownership, and timestamps ls -l
See a directory’s own metadata ls -ld directory
Use readable size units on GNU/Linux ls -lh
Walk subdirectories ls -R path
Sort newest first ls -lt
Sort largest first ls -lS
Stabilize locale and line layout for a limited script use LC_ALL=C ls -1

Bottom line

ls is the standard first look at a Unix file system: begin with ls, add -a or -A for dot files, -l for metadata, -d for a directory entry itself, -R for recursion, and time or size sorting when the question demands it. Keep the POSIX option set in mind for portability, mark GNU extensions such as -h and long options, and avoid parsing ordinary human-oriented output as if it were a stable data format.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More quests from Patch Notes

  1. How to Set Up a RedM (RDR2) Server in 2026: License Key, txAdmin and server.cfg, Step by StepBlog11min
  2. Best RedM (RDR2) Server Hosting in 2026: Comparing Four Hosts on Slots, Memory and PriceBlog10min
  3. How to Host a Mindustry Server in 2026: server-release.jar, Port 6567 and the Commands That MatterBlog7min
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.