So, today we’ll work with the `ls` command in Linux
& see how it can help us to know about directories & files on our system.
`ls` helps us list the contents of the directory/folder that we are currently in, or that we specify as a parameter to `ls`, and lets us understand about other details of the files/directories like, the permissions on them, owners/groups they belong to,
last modified times on them, their size with some other functionalities.
Listing names of the contents in the current folder
ls 1.txt b.b bench bench_apache bench_nginx bench.sh
Listing contents with summary (Name and size in Kilobytes)
ls -s total 20 0 1.txt 4 b.b 4 bench 4 bench_apache 4 bench_nginx 4 bench.sh
Listing contents with long list format (Name and size in Kilobytes)
ls -l total 20 -rw-rw-r-- 1 ash ash 0 May 22 19:04 1.txt drwxrwxr-x 2 ash ash 4096 May 29 00:03 b.b drwxrwxr-x 3 ash ash 4096 May 22 19:30 bench -rw-r--r-- 1 ash ash 1401 Mar 10 2014 bench_apache -rw-r--r-- 1 ash ash 1401 Mar 10 2014 bench_nginx -rwx------ 2 ash ash 243 Mar 10 2014 bench.sh
Listing in long listing & human readable format
ls -lh -rw-rw-r-- 1 ash ash 0 May 22 19:04 1.txt drwxrwxr-x 2 ash ash 4.0K May 29 00:03 b.b drwxrwxr-x 3 ash ash 4.0K May 22 19:30 bench -rw-r--r-- 1 ash ash 1.4K Mar 10 2014 bench_apache -rw-r--r-- 1 ash ash 1.4K Mar 10 2014 bench_nginx -rwx------ 2 ash ash 243 Mar 10 2014 bench.sh
Listing in long listing & human readable format
ls -lsh total 20K 0 -rw-rw-r-- 1 ash ash 0 May 22 19:04 1.txt 4.0K drwxrwxr-x 2 ash ash 4.0K May 29 00:03 b.b 4.0K drwxrwxr-x 3 ash ash 4.0K May 22 19:30 bench 4.0K -rw-r--r-- 1 ash ash 1.4K Mar 10 2014 bench_apache 4.0K -rw-r--r-- 1 ash ash 1.4K Mar 10 2014 bench_nginx 4.0K -rwx------ 2 ash ash 243 Mar 10 2014 bench.sh
Ignoring files & only listing directories
ls -lI "*.*" drwxrwxr-x 3 ash ash 4096 May 22 19:30 bench -rw-r--r-- 1 ash ash 1401 Mar 10 2014 bench_apache -rw-r--r-- 1 ash ash 1401 Mar 10 2014 bench_nginx
Listing files and folders in the current directory {Having a dot (.) in their names}
ls *.* 1.txt bench.sh b.b: b1.txt
List the files & folders in the current directory’s, & further files/folders inside the folders in current directory (to Depth 1)
ls * 1.txt bench_apache bench_nginx bench.sh b.b: b1.txt bench: b b.txt
List all files along with hidden files
ls -a . .. 1.txt b.b bench bench_apache bench_nginx bench.sh .hidden
List Files & Folder contents starting with a Name/Pattern/Alphabet
Eg. List all the files starting with the alphabet ‘b’ & folder contents starting with the alphabet ‘b’
ls b* bench_apache bench_nginx bench.sh b.b: b1.txt bench: b b.txt