ls command is used to list information of files in respected directory.
LS(1) User Commands LS(1) NAME ls - list directory contents SYNOPSIS ls [OPTION]... [FILE]... DESCRIPTION List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified. Mandatory arguments to long options are mandatory for short options too. -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print C-style escapes for nongraphic characters --block-size=SIZE scale sizes by SIZE before printing them; e.g., '--block-size=M' prints sizes in units of 1,048,576 bytes; see SIZE format below -B, --ignore-backups do not list implied entries ending with ~ -c with -lt: sort by, and show, ctime (time of last modification of file status information); with -l: show ctime and sort by name; otherwise: sort by ctime, newest first -C list entries by columns --color[=WHEN] colorize the output; WHEN can be 'never', 'auto', or 'always' (the default); more info below -d, --directory list directories themselves, not their contents -D, --dired generate output designed for Emacs' dired mode -f do not sort, enable -aU, disable -ls --color -F, --classify append indicator (one of */=>@|) to entries --file-type likewise, except do not append '*' --format=WORD across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C --full-time like -l --time-style=full-iso -g like -l, but do not list owner --group-directories-first group directories before files; -G, --no-group in a long listing, don't print group names -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 -H, --dereference-command-line follow symbolic links listed on the command line --dereference-command-line-symlink-to-dir follow each command line symbolic link that points to a directory --hide=PATTERN do not list implied entries matching shell PATTERN (overridden by -a or -A) --indicator-style=WORD append indicator with style WORD to entry names: none (default), slash (-p), file-type (--file-type), classify (-F) -i, --inode print the index number of each file -I, --ignore=PATTERN do not list implied entries matching shell PATTERN -k, --kibibytes default to 1024-byte blocks for disk usage -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don't treat e.g. control characters specially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories -q, --hide-control-chars print ? instead of nongraphic characters --show-control-chars show nongraphic characters as-is (the default, unless program is 'ls' and output is a terminal) -Q, --quote-name enclose entry names in double quotes --quoting-style=WORD use quoting style WORD for entry names: literal, locale, shell, shell-always, c, escape -r, --reverse reverse order while sorting -R, --recursive list subdirectories recursively -s, --size print the allocated size of each file, in blocks -S sort by file size --sort=WORD sort by WORD instead of name: none (-U), size (-S), time (-t), version (-v), extension (-X) --time=WORD with -l, show time as WORD instead of default modification time: atime or access or use (-u) ctime or status (-c); also use specified time as sort key if --sort=time --time-style=STYLE with -l, show times using style STYLE: full-iso, long-iso, iso, locale, or +FORMAT; FORMAT is interpreted like in 'date'; if FORMAT is FORMAT1<newline>FORMAT2, then FORMAT1 applies to non-recent files and FORMAT2 to recent files; if STYLE is prefixed with 'posix-', STYLE takes effect only outside the POSIX locale -t sort by modification time, newest first -T, --tabsize=COLS assume tab stops at each COLS instead of 8 -u with -lt: sort by, and show, access time; with -l: show access time and sort by name; otherwise: sort by access time -U do not sort; list entries in directory order -v natural sort of (version) numbers within text -w, --width=COLS assume screen width instead of current value -x list entries by lines instead of by columns -X sort alphabetically by entry extension -1 list one file per line SELinux options: --lcontext Display security context. Enable -l. Lines will probably be too wide for most displays. -Z, --context Display security context so it fits on most displays. Displays only mode, user, group, security context and file name. --scontext Display only security context and file name. --help display this help and exit --version output version information and exit
Lets start this tutorial.
mkdir sial cd sial touch ravi touch mukesh touch -t "201912081126" nikhil touch .blank
As we have created a folder named sial and inside that we created four files ravi, mukesh, nikhil and .blank. You can see that for nikhil file I have specified date and time to year 2019, month December, date 08 and time created 11:26.
Lets use ls command
[11:04][[email protected] ~]# ls sial mukesh nikhil ravi
In the above command you can see we can see all the files created but not the .blank file. It is a hidden file but we can list it too using the command below
ls -a sial
[11:05][[email protected] ~]# ls -a sial . .. .blank mukesh nikhil ravi
Above you can see all the files we created. Now lets try some other command
ls -la sial
[11:06][[email protected] ~]# ls -la sial total 4 drwxr-xr-x 2 root root 60 Apr 14 11:02 . dr-xr-x---. 12 root root 4096 Apr 14 11:01 .. -rw-r--r-- 1 root root 0 Apr 14 11:02 .blank -rw-r--r-- 1 root root 0 Apr 14 11:01 mukesh -rw-r--r-- 1 root root 0 Dec 8 11:26 nikhil -rw-r--r-- 1 root root 0 Apr 14 11:01 ravi
Using the above command we can see many information of directory and files. Like number of files in directory is 4 shows as total 4. We can also see what is the permission of the files, who owns it as in my example it is owned by root. What is size of the file and when it was created.
ls -lah sial
[11:10][[email protected] ~]# ls -lah sial total 4.0K drwxr-xr-x 2 root root 60 Apr 14 11:02 . dr-xr-x---. 12 root root 4.0K Apr 14 11:09 .. -rw-r--r-- 1 root root 0 Apr 14 11:02 .blank -rw-r--r-- 1 root root 0 Apr 14 11:01 mukesh -rw-r--r-- 1 root root 0 Dec 8 11:26 nikhil -rw-r--r-- 1 root root 0 Apr 14 11:01 ravi
We added ‘h’ to the command that means show the file size in human readable format.
ls -laht sial
[11:11][[email protected] ~]# ls -laht sial total 4.0K dr-xr-x---. 12 root root 4.0K Apr 14 11:09 .. drwxr-xr-x 2 root root 60 Apr 14 11:02 . -rw-r--r-- 1 root root 0 Apr 14 11:02 .blank -rw-r--r-- 1 root root 0 Apr 14 11:01 mukesh -rw-r--r-- 1 root root 0 Apr 14 11:01 ravi -rw-r--r-- 1 root root 0 Dec 8 11:26 nikhil
This command ‘t’ helps to sort the output of command in newest first order. You can see April 14th files are in first order and then December 8th.
ls -lahtr sial
[11:14][[email protected] ~]# ls -lahtr sial total 4.0K -rw-r--r-- 1 root root 0 Dec 8 11:26 nikhil -rw-r--r-- 1 root root 0 Apr 14 11:01 ravi -rw-r--r-- 1 root root 0 Apr 14 11:01 mukesh -rw-r--r-- 1 root root 0 Apr 14 11:02 .blank drwxr-xr-x 2 root root 60 Apr 14 11:02 . dr-xr-x---. 12 root root 4.0K Apr 14 11:09 ..
‘r’ is used to sort the order in reverse order. That means older first and then newest.
This was the small tutorial on how to use ls command.