File Management in Linux
File Management in Linux
In Linux, most of the operations are performed on files. And to handle these files
Linux has directories also known as folders which are maintained in a tree-like
structure. Though, these directories are also a type of file themselves. Linux has 3
types of files:
1. Regular Files: It is the common file type in Linux. it includes files like – text
files, images, binary files, etc. Such files can be created using the touch
command. They consist of the majority of files in the Linux/UNIX system. The
regular file contains ASCII or Human Readable text, executable program
binaries, program data and much more.
2. Directories: Windows call these directories as folders. These are the files
that store the list of file names and the related information. The root
directory(/) is the base of the system, /home/ is the default location for user’s
home directories, /bin for Essential User Binaries, /boot – Static Boot Files,
etc. We could create new directories with mkdir command.
3. Special Files: Represents a real physical device such as a printer which is
used for IO operations. Device or special files are used for device
Input/Output(I/O) on UNIX and Linux systems. You can see them in a file
system like an ordinary directory or file.
In Unix systems, there are two types of special files for each device, i.e. character
special files and block special files. For more details, read the article Unix file
system.
1. Files Listing
All your files and directories in the current directory would be listed and each type
of file would be displayed with a different color. Like in the output directories are
displayed with dark blue color.
$ls -l
It returns the detailed listing of the files and directories in the current directory. The
command gives os the owner of the file and even which file could be managed by
which user or group and which user/group has the right to access or execute which
file.
2. Creating Files
touch command can be used to create a new file. It will create and open a new
blank file if the file with a filename does not exist. And in case the file already exists
then the file will not be affected.
$touch filename
4. Copying a File
cp command could be used to create the copy of a file. It will create the new file in
destination with the same name and content as that of the file ‘filename’.
$cp source/filename destination/
5. Moving a File
6. Renaming a File
mv command could be used to rename a file. It will rename the filename to
new_filename or in other words, it will remove the filename file and would be
creating a new file with the new_filename with the same content and name as that
of the filename file.
$mv filename new_filename
7. Deleting a File
rm command could be used to delete a file. It will remove the filename file from
the directory.
$rm filename
As can be seen, it displays the login name, name, directory, shell, login time, email,
and plan of the user.
2. To get idle status and login details of a user.
$finger -s manav
As can be seen, it displays the idle status along with the details of the user.
3. To avoid printing PGP key, plan and project details
$finger -p manav
As can be seen, it displays the login name, name, directory, shell, login time, email,
but not the plan, PGP key, and project of the user.
4. To create a plan for a user.
$echo "Plan details" > ~/.plan
Now, after again using finger command it will display a plan for the user.
5. To create a project for a user.
$echo "Project details" > ~/.project
Now, after again using finger command it will display a project for the user.
6. To create a PGP key for a user.
$echo "pgpkey" > ~/.pgpkey
Now, after again using finger command it will display a PGP key
1. Ordinary files – An ordinary file is a file on the system that contains data, text,
or program instructions.
Used to store your information, such as some text you have written or an
image you have drawn. This is the type of file that you usually work with.
Always located within/under a directory file.
Do not contain other files.
In long-format output of ls -l, this type of file is specified by the “-” symbol.
2. Directories – Directories store both special and ordinary files. For users familiar
with Windows or Mac OS, UNIX directories are equivalent to folders. A directory
file contains an entry for every file and subdirectory that it houses. If you have 10
files in a directory, there will be 10 entries in the directory. Each entry has two
components.
(1) The Filename
(2) A unique identification number for the file or directory (called the inode number)
Branching points in the hierarchical tree.
Used to organize groups of files.
May contain ordinary files, special files or other directories.
Never contain “real” information which you would work with (such as text). Basically,
just used for organizing files.
All files are descendants of the root directory, ( named / ) located at the top of the tree.
In long-format output of ls –l , this type of file is specified by the “d” symbol.
3. Special Files – Used to represent a real physical device such as a printer, tape
drive or terminal, used for Input/Output (I/O) operations. Device or special
files are used for device Input/Output(I/O) on UNIX and Linux systems. They
appear in a file system just like an ordinary file or a directory.
On UNIX systems there are two flavors of special files for each device, character
special files and block special files :
When a character special file is used for device Input/Output(I/O), data is
transferred one character at a time. This type of access is called raw device
access.
When a block special file is used for device Input/Output(I/O), data is
transferred in large fixed-size blocks. This type of access is called block
device access.
For terminal devices, it’s one character at a time. For disk devices though, raw
access means reading or writing in whole chunks of data – blocks, which are native
to your disk.
In long-format output of ls -l, character special files are marked by the “c”
symbol.
In long-format output of ls -l, block special files are marked by the “b”
symbol.
4. Pipes – UNIX allows you to link commands together using a pipe. The pipe acts
a temporary file which only exists to hold data from one command until it is read by
another.A Unix pipe provides a one-way flow of data.The output or result of the first
command sequence is used as the input to the second command sequence. To
make a pipe, put a vertical bar (|) on the command line between two
commands.For example: who | wc -l
In long-format output of ls –l , named pipes are marked by the “p” symbol.
https://www.geeksforgeeks.org/file-management-in-linux/?ref=leftbar-rightbar