Linux_logo_errorbits.comWorking With Files

Creating Files

The touch command is used to create files of any type, for example you can create test.txt, test.jpg, test.doc but only specialized software can read and create content in these file types.

touch [OPTIONS] FILE

go to Documents directory: cd ~/Documents/

and create a few test files: touch test1.sh test2.sh test3.sh test4.sh

view the files created: ls

As you can see touch command can be used to create multiple files at once.

Editors like vi, vim and nano can be also used to create files, but we will learn later in this tutorial about them.

Creating Folders

The mkdir command can be used to create folders. The basic structure is:

mkdir [OPTIONS] folder

Let’s create a few folders in /Documents/ directory:

cd ~/Documents/

mkdir example example1 example2

ls

One nice feature of mkdir command is that you can create full paths using argument -p:

mkdir -p example3/example/inside/example

ls

cd example3

ls

cd example

Moving Files

The mv command is used to move a file from a place to another one. The mv command can have two arguments: source and destination. The source is the place where the file is located and destination is the place where the file should be moved.

mv [SOURCE] [DESTINATION]

Switch to the Documents directory:

cd ~/Documents

Move test.sh file into Work directory, the file is the [SOURCE] and the directory is the [DESTINATION]:

mv test.sh Work

ls Work

mv command can be used also to move and in same time rename the file.

mv test.sh Work test1.sh

ls

The mv command can be used to rename a file in the same directory:

mv test.sh test1.sh

With mv command multiple files can be moved at same time.

mv test2.sh test3.sh test4.sh Work

ls

Copying Files

Making copies of a file is very useful and they can be created as a backup, as a template or can be transfered to different media types.

cp [OPTIONS] [SOURCE] [DESTINATION]

Use the command below to get to the Documents directory:

cd ~/Documents

The cp command is used to copy files and is similar to mv command, it requires at least these two arguments:  [SOURCE] [DESTINATION]

Let’s say we have to copy /etc/passwd to the current directory:

cp /etc/passwd .

The second argument is the . (dot) which represents the current directory, acts like a shortcut.

Please note that permissions have impact on commands like cp, it is necessary to have execute permissions to access the directory and read permissions on the file being copied and also you must have write and execute permissions on the directory where the file will be copied.

dd command is a utility that copies files or entire partitions at bit level.

dd [OPTIONS] [OPERAND]

dd command is very useful for:

-deleting or cloning entire disks or partitions;
-copying raw data to external devices like memory sticks, CDs, DVDs, and so on;
-backup and restoring of Master boot record (MBR);
-creating a file with a specific size filled with zeros, which can be used as swap file (virtual memory);

Let’s create, with the dd command,  a file named /tmp/buffer with 100 blocks of zeros that are 1MB in size:

dd if=/dev/zero of=/tmp/buffer bs=1M count=100

Below you can find the description of a few arguments that dd uses:

if = input file = the input file to be read from

of = output file = the output file to be writen

bs = block size (block size units: K, M, G, T)

count = the number of blocks to be read from the input file

To clone from hard drive to another bs or count must not be specified.

dd if=/dev/sda of=/dev/sdb

Removing Files

rm command is used to delete files and directories. Please keep in mind that if you delete the files they are not moved to “Trash”, they are removed permanently.

rm [OPTIONS] [FILE]

To remove a file use the following command: rm linux.txt

To remove a directory use the following command: rm -r linux

Permissions have impact on commands like rm. To delete files within a directory, the user must have execute and write permissions on this directory.


Useful links:

Linux Directory Map / Structure

Introduction to Linux

Using Help in Linux

Download and install Oracle VirtualBox

How to install CentOS on Oracle VirtualBox