If you’re looking to display all files in a given directory and all its sub-directories, including hidden files, which of the following Linux command
would you use?
EXPLANATION
The Bash command "ls" lists all information about a given file. In this case, it’s modified by "-aR" to maintain groups of files as a single archive file, which displays everything in a given file. By itself, this command will show you everything on your hard disk [and we mean everything].
SOURCE
//linuxcommand.org/lc3_man_pages/ls1.html
Share:
Q1.
a] List all the files and sub directories of the directory /bin.
Ans: The command for listing all the files and sub directories of the directory /bin is �cd bin | ls �l�
b] List all the files including hidden files in your current directory.
Ans: The command for including all the hidden files in our current directory is �ls -a�.
c] List all the files starting with letter �r� in your current directory.
Ans: The command for listing all the files starting with letter �r� in your current directory is �ls �al r*�
d] List all the files having three characters in their names, from your current directory.
Ans: The file having three characters in their names from tha current directory is �ls *abc*�.
e] List all the files with extension .doc in your current directory.
Ans: The command for listing all the files with extension .doc in your current directory is �ls *.doc�.
Q2.
a] Using one single command, display the output of �who� and �pwd� commands.
Ans: The command that display the output of �who� and �pwd� commands together is �who ; pwd�.
b] Display the system date in following format: Today is Friday, 17 May 12
Ans: echo �Today is� date
c] Display the following text message on the monitor screen. Deposited $100 to you account.
Ans: echo �Deposited \$100 to you account�.
d] Display the following message on the monitor.
The long
listing of my home dir ���� is ����
[Hint: Use ls � l and pwd commands]
Ans: echo �The long listing of my home dir �pwd� is �ls �l� �.
Q3.
Accept a file name and a number [x]. Display x lines from the top of the file.
Check if the file exists and is readable. The value of x should not exceed the total
number of lines in the files. Display suitable messages in case an error is encountered.
Ans: echo �enter the file name that we have to display�
read a
if [ -e $a ]
then
echo �enter the
nos. of lines�
read b
x = �wc �l $a�
if [ $b �le $x ]
then
head -$b $a
else
echo �entered line is not found�
fi
else
echo �the file does not exist�
fi
Since the creation of Unix in the 1970s, a lot of operating systems have used it as their foundation. Many of these
operating systems failed, while others succeeded. Linux is one of the most popular Unix based operating systems. It's open source, and is used all over the world across many industries. One amazing feature of the Linux operating system is the Command Line Interface [CLI] which allows users to interact with their computer from a shell. The Linux shell is a REPL [Read, Evaluate, Print, Loop] environment where users
can enter a command and the shell runs it and returns a result. The ls
command is one of the many Linux commands that allow a user to list files or directories from the CLI.
In this article, we'll go in depth on the ls
command and some of the most important flags you'll need day-to-day.
Prerequisites
- A computer with directories and files
- Have one of the Linux distros installed
- Basic knowledge of navigating around the CLI
- A smile on your face :]
The ls
command is used to list files or directoriesin Linux and other Unix-based operating systems.
Just like you navigate in your File explorer or Finder with a GUI, the ls
command allows you to list all files or directories in the current directory by default, and further interact with them via the command line.
Launch your terminal and type ls
to see this in action:
How to list Files in a Directory with Options
The ls
command also accepts some flags [also known as options] which are additional information that changes how files or directories are listed in your terminal.
In other words, flags
change how the ls
command works:
ls [flags] [directory]
PS: The word contents used in throughout the article refers to the files and directories being listed, not the actual contents of the files/directories ?
List files in the current working directory
Type the ls
command to list the contents of the current working directory:
List files in another directory
Type the ls [directory path here]
command to list the contents of another directory:
List files in the root directory
Type the ls /
command to list the contents of the root directory:
List files in the parent directory
Type the ls ..
command to list the contents of the parent directory one level above. Use ls ../..
for contents two levels above:
List files in the user's home directory [/home/user]
Type the ls ~
command to list the contents in the users's home directory:
List only directories
Type the ls -d */
command to list only directories:
List files with subdirectories
Type the ls *
command to list the contents of the directory with it's subdirectories:
List files recursively
Type the ls -R
command to list
all files and directories with their corresponding subdirectories down to the last file:
If you have a lot of files, this can take a very long time to complete as every single file in each directory will be printed out. You can instead specify a directory to run this command
in, like so: ls Downloads -R
List files with their sizes
Type the ls -s
command [the s is lowercase] to list files or directories with their sizes:
List files in long format
Type
the ls -l
command to list the contents of the directory in a table format with columns including:
- content permissions
- number of links to the content
- owner of the content
- group owner of the content
- size of the content in bytes
- last modified date / time of the content
- file or directory name
List files in long format with readable file sizes
Type the ls -lh
command to list the files or directories in the same table format above, but with another column representing the size of each file/directory:
Note that sizes are listed in bytes [B], megabytes [MB], gigabytes [GB], or terabytes [TB] when the file or directory's size is larger than 1024 bytes.
List files including hidden files
Type the ls -a
command to list files or directories
including hidden files or directories. In Linux, anything that begins with a .
is considered a hidden file:
List files in long format including hidden files
Type the ls -l -a
or ls -a -l
or ls -la
or ls -al
command to list files or directories in a table format with extra information including hidden files or directories:
List files and sort by date and time
Type the ls -t
command to list files or directories and sort by last
modified date in descending order [biggest to smallest].
You can also add a -r
flag to reverse the sorting order like so: ls -tr
:
List files and sort by file size
Type the ls -S
[the S is uppercase]
command to list files or directories and sort by size in descending order [biggest to smallest].
You can also add a -r
flag to reverse the sorting order like so: ls -Sr
:
List files and output the result to a file
Type
the ls > output.txt
command to print the output of the preceding command into an output.txt
file. You can use any of the flags discussed before like -la
— the key point here is that the result will be outputted into a file and not logged to the command line.
Then you can use the file as you see fit, or log the contents of the file with cat output.txt
:
Conclusion
There are tons of other commands and combinations you can explore to list out files and directories based on your needs. One thing to remember is the ability to combine multiple commands together at once.
Imagine you want to list a
file in long format, including hidden files, and sort by file size. The command would be ls -alS
, which is a combination of ls -l
, ls -a
, and ls -S
.
If you forget any command or are unsure about what to do, you can run ls --help
or man ls
which will display a manual with all possible options for the ls
command:
Thanks for reading!
Learn to code for free. freeCodeCamp's open source curriculum has helped more than 40,000 people get jobs as developers. Get started