Examples of CD command in Linux

In Linux “cd” (Change Directory) command is one of the most important and most widely used command for newbies as well as system administrators. On a Linux server without GUI it’s the only way to navigate in directories.

Here are the few basic commands which you will use in day to day task:

1. Change from current directory to /usr/local.

[[email protected] ~]# cd /usr/local

[[email protected] /usr/local]# pwd

2. Change from current directory to /usr/local/lib using full path.

[[email protected] /usr/local]# cd /usr/local/lib

[[email protected] /usr/local/lib]#

3. Go back to directory from where you came.

[[email protected] ~]# cd /usr/local/lib

[[email protected] /usr/local/lib]# cd -

[[email protected] ~]#

4. Change Current directory to parent directory i.e. move one directory back.

[[email protected] /usr/local/lib]# cd ..

[[email protected] /usr/local]#

5. Move two directory up from where you are now.

[[email protected] /usr/local/lib]# cd ../..

[[email protected] /usr]#

6. Move to users home directory from anywhere.

[[email protected] ~]# cd ~bob

[[email protected] /home/bob]#


[[email protected] /usr/local/lib]# cd ~

[[email protected] ~]#

7. You need to navigate to user ‘jg‘ (not sure if it is jgn or jgc) home directory, without using TAB.

[[email protected] /usr/local/lib]# cd /home/jg?

[[email protected] /home/jgn]#

8. What are pushd and popd in Linux?

Pushd and popd are Linux commands in bash and certain other shell which saves current working directory location to memory and bring to the directory from memory as current working directory, respectively as well as changes directory.

[[email protected] /home/jgn]# pushd /var/www/html
/var/www/html /home/jgn

[[email protected] /var/www/html]#

The above command saves the current location to memory and changes to the requested directory. As soon as popd is fired, it fetch the saved directory location from memory and makes it current working directory.

[[email protected] /var/www/html]# popd

[[email protected] /home/jgn]#

9. Change from current working directory to Downloads and list all its settings in one go.

[[email protected] /usr/local/lib]# cd /home/Downloads && ls

[[email protected] /home/Downloads]#

Reset a MySQL root password

The MySQL root password allows the root user to have full access to the MySQL database. You must have (Linux) root or (Windows) Administrator access to the Cloud Server to reset the MySQL root password.

Note: The Cloud Server (Linux) root or (Windows) Administrator account password is not the same as the MySQL password. The Cloud Server password allows access to the server. The MySQL root password allows access only to the MySQL database.

Use the following steps to reset a MySQL root password by using the command line interface.

Stop the MySQL service

(Ubuntu and Debian) Run the following command:

sudo /etc/init.d/mysql stop

(CentOS, Fedora, and Red Hat Enterprise Linux) Run the following command:

sudo /etc/init.d/mysqld stop

Start MySQL without a password

Run the following command. The ampersand (&) at the end of the command is required.

sudo mysqld_safe --skip-grant-tables &

Connect to MySQL

Run the following command:

mysql -uroot

Set a new MySQL root password

Run the following command:

use mysql;

update user set password=PASSWORD("mynewpassword") where User='root';

flush privileges;


Stop and start the MySQL service

(Ubuntu and Debian) Run the following commands:

sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start

(CentOS, Fedora, and Red Hat Enterprise Linux) Run the following commands:

sudo /etc/init.d/mysqld stop
sudo /etc/init.d/mysqld start

Create a Partition Size Larger Than 2TB on Linux

You have already seen How to mount a new drive to Linux but using these steps you won’t be able to mount a hard-disk more that 2GB for that you will have to use GPT. For home machines & Laptops you won’t need GPT there you can easily create partition using fdisk. But when it comes to Servers, you will need to handle large drives such as 3GB & 4GB and fdisk does not allow large partitions. To solve this problem use GNU parted command with GPT. It supports Intel EFI/GPT partition tables. Partition Table (GPT) is a standard for the layout of the partition table on a physical hard disk.

Linux GPT Kernel Support

EFI GUID Partition support works on both 32bit and 64bit platforms. You must include GPT support in kernel in order to use GPT. If you don’t include GPT support in Linux kernelt, after rebooting the server, the file system will no longer be mountable or the GPT table will get corrupted. By default Redhat Enterprise Linux / CentOS comes with GPT kernel support. However, if you are using Debian or Ubuntu Linux, you need to recompile the kernel. Set CONFIG_EFI_PARTITION to y to compile this feature.

Mount Harddisk more than 2GB

Find Out Current Disk Size

Type the following command:

[email protected]~]# fdisk -l /dev/sdb

Disk /dev/sdb: 3000.6 GB, 3000592982016 bytes
255 heads, 63 sectors/track, 364801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/sdb doesn't contain a valid partition table
Linux Create 3TB partition size

To create a partition start GNU parted as follows:

[email protected]~]# parted /dev/sdb

GNU Parted 2.3
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.

Creates a new GPT disklabel i.e. partition table:

(parted) mklabel gpt
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes

Next, set the default unit to TB, enter:

(parted) unit TB

To create a 3TB partition size, enter:

(parted) mkpart primary 0 0


(parted) mkpart primary 0.00TB 3.00TB

To print the current partitions, enter:

(parted) print
Model: ATA ST33000651AS (scsi)
Disk /dev/sdb: 3.00TB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
 1 0.00TB 3.00TB 3.00TB ext4 primary

Quit and save the changes, enter:

(parted) quit

Information: You may need to update /etc/fstab.

Use the mkfs.ext3 or mkfs.ext4 command to format the file system, enter:

[email protected]~]# mkfs.ext3 /dev/sdb1


[email protected]~]# mkfs.ext4 /dev/sdb1


mkfs.ext4 /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
183148544 inodes, 732566272 blocks
36628313 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
22357 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
 102400000, 214990848, 512000000, 550731776, 644972544
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

Type the following commands to mount /dev/sdb1

[email protected]~]# mkdir /data
[email protected]~]# mount /dev/sdb1 /data
[email protected]~]# df -H

Filesystem Size Used Avail Use% Mounted on
/dev/sdc1 16G 819M 14G 6% /
tmpfs 1.6G 0 1.6G 0% /lib/init/rw
udev 1.6G 123k 1.6G 1% /dev
tmpfs 1.6G 0 1.6G 0% /dev/shm
/dev/sdb1 3.0T 211M 2.9T 1% /data

That’s it !! You have successfully mounted drive of 3Gb