0% found this document useful (0 votes)
28 views3 pages

Managing Files and Directories

LINUX OPERATING SYSTEM MANAGING FILES AND DIRECTORIES

Uploaded by

Vijayakumar P
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views3 pages

Managing Files and Directories

LINUX OPERATING SYSTEM MANAGING FILES AND DIRECTORIES

Uploaded by

Vijayakumar P
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

LINUX File management and

directories
Directories
File and directory paths in UNIX use the forward slash "/" to separate directory names in a path.
If you are using a server your shell will start from /home/yourUserName/ directory. Also have a
look at the conventional directory layout here.

Here are a few examples of the directory strcucture:

directory explanation

/ "root" directory
/usr directory usr (sub-directory of / "root" directory)
/usr/local local is a subdirectory of /usr

Creating a directory
mkdir command creates a new directory. The command below creates a new directory named
"newDir" under the current directory.
$ mkdir newDir
This command creates a new directory in user's home directory.
$ mkdir ~/newDir
The next command creates a the target directory and all the non-existing directories in the path.
The command will create samtools directory, and will create "opt" directory if it does not exist.
All of this will be done in user's home directory as indicated by "~/" in that path.
$ mkdir -p ~/opt/samtools

Moving around the file system with cd


cd command stands for "change directory" lets you move around the file system. Here are a few
examples of the cd command and pwd.

Type variants of these to your shell to move around your file system.

Command +
explanation
arguments

pwd Show the "present working directory", or current directory.


cd Change current directory to your HOME directory.
Command +
explanation
arguments

cd /usr/local Change current directory to /usr/local


cd INIT change current directory to INIT which is a sub-directory of the current
cd .. Change current directory to the parent directory of the current

cd ~akalin
Change the current directory to the user akalin's home directory (if you have
permission).

Listing directory contents


ls command lists the contets of a directory. It can take multiple options, some of those are
explained below.

commands explanation

ls list a directory
ls -l list a directory in detailed format including file sizes and permissions
ls -a List the current directory including hidden files. Hidden files start with "."
List all the file and directory names in the current directory using long format. Without
ls -ld * the "d" option, ls would list the contents of any sub-directory of the current. With the "d"
option, ls just lists them like regular files.
ls -lh list detailed format this time file sizes are human readable not in bytes

Moving, renaming and copying files


cp command copies the files and mv command moves the files. They are generally used with
two main arguments. cp target_file destination_file or mv target_file destination_file.
commands explanation

cp file1 file2 copy file1 as file2


cp /data/seq_data/file1 ~/ copy file1 at /data/seq_data to your home directory.
mv file1 newname move or rename a file
mv file1 ~/opt/ move file1 into sub-directory opt in your home directory.

Finding files
There are a couple of ways you can find files in your file system. We will show
the find command, it works in the following syntax find directory -name targetfile. It is useful
when you have a rough idea about file location.
The following finds all files ending in ".html" under /home/user directory.
$ find /home/user -name "*.html"
find can also do more than just finding files. It also execute commands on the files you find via -
exec option. The following command finds all files in the current directory with ".txt" ending and
counts the number of lines in every text file. The '{}' is replaced by the name of each file found
and the ';' ends the -exec clause.
$ find . -name "*.txt" -exec wc -l '{}' ';'
Another command that can find files is locate. The locate command provides a faster way of
locating all files whose names match a particular search string. For example:
$ locate ".txt"
will find all filenames in the filesystem that contain ".txt" anywhere in their full paths.

A disadvantage of locate is that it stores all filenames on the system in an index that is usually
updated only once a day. This means locate will not find files that have been created very
recently.

Searching the contents of a text file


Often times you would need search a file for existence of certain characters or words. Imagine
that you need to find gene ids in a text file containing some scores and gene ids, you would like
to get the line(s) that contains your gene id of interest. This is similar to "find" functions in
modern text processors such as MS Word. This can be achieved via grep commmand. Syntax
of the command is: grep options pattern files
Command Explanation

grep id1
genes.txt searches and prints lines matching "id1" in "genes.txt"

grep id1 *.txt searches and prints lines matching "id1" in files ending with ".txt"
grep -vi id1 similar to above, but -i option ignores the case (Id1,ID1,iD1 and id1 treated equally),
*.txt -v option prints lines that don't match the pattern

using grep and find together


You can search all files in an entire directory tree for a particular pattern by
combining grep and find. The following command prints lines containing "genes" string, from
the files 'find . -name "*.txt" -print' found.
$ grep genes `find . -name "*.txt" -print`
The search patterns that grep uses are a special named regular expressions. You can have
more comlicated searches using regular expressions, but that is more of an advanced
application. See [] for more on that.

See disk usage and free disk space with du and df

You might also like