How to Edit Config Files in Linux?

Config

Config files are important in Linux because they store important information about the system configuration. This information can include things like the system hostname, the network configuration, the security settings, and more. Without these files, the system would not be able to function properly.

Linux configuration files are used to control the operations of programs, utilities, and processes on a Linux system. They store settings and instructions that dictate how these programs, utilities, and processes should behave. Many of these files are plain-text files that can be opened with a text editor.

There is a wide variety of config file types in Linux, each serving a different purpose. Some examples include network access files, internet name server files, bootloader configuration files, etc. A skilled administrator can use these configs to manipulate the core operation of their Linux system.

Editing Config Files in Linux

There are many reasons why a user may need to edit a config file. For example, a user may need to change the settings of a program, modify the system-wide settings, or configure a network connection. Whatever the case may be, it is important to understand the basics of config file editing in order to make the necessary changes.

I. Using Gedit Editor

Gedit is a text editor for the GNOME desktop environment. It is a simple and easy-to-use editor that can be used to edit config files. Gedit is a GUI-based editor that comes preloaded in the gnome desktop environment. To open a config file with Gedit, simply navigate to the file in your file manager and double-click it. This will open the file in Gedit.

If your distribution of Linux doesn’t come pre-loaded with gedit you can install it easily using the following command.

sudo apt -y install gnome
Image 11
User Interface of gedit

Once the file is open, you can make the necessary changes. For example, if you are changing the settings of a program, look for the section that contains the settings and make the changes. When you are done, save the file by clicking the “Save” button.

sudo gedit /etc/nginx/nginx.conf

This will open the nginx.conf file within the /etc/nginx directory in gedit.

As with any other config file, it is important to be careful when editing files in the /etc/nginx directory, as a mistake could cause issues with your system. If you are unsure of what to do, it is always a good idea to back up the file before making any changes.

II. Using Nano Editor

Nano is a command-line text editor. It is a simple and straightforward editor that is great for making quick edits to config files. To open a config file with Nano, open a Terminal window and type “nano” followed by the path to the config file. For example, if the config file is located in the “/etc” directory, type “nano /etc/config_file.conf”.

Once the file is open, you can make the necessary changes. For example, if you are changing the settings of a program, look for the section that contains the settings and make the changes. When you are done, save the file by pressing “Ctrl+O” and then “Enter”.

Usually, Most of the Linux distros come with nano installed if it is not installed we do so using,

sudo apt -y install nano

How to Edit Config Files in Linux using nano editor?

1. Open a terminal window on your Linux system.

2. Use the “cd” command to navigate to the directory containing the config file you want to edit. For example: “cd /etc/nginx”

Image
cd /etc/nginx

3. Use the “ls” command to list the files in the directory and verify that the config file you want to edit is present.

Image 1
ls into nginx directory

4. Use the “sudo” command to open the config file with a text editor.

Image 2
Using nano editor to open nginx.conf

5. Editing the nginx.conf configuration file using the nano editor

Image 3
Image 3

6. Make the necessary changes to the config file using the text editor. Save the changes by pressing “Ctrl+X” and then “Y” to confirm.

7. Following are various options available to us in nano editor while editing a file.

Image 4
nano editor options

8. Use the “sudo” command to apply the changes. For example: “sudo service nginx restart”

Image 6
Starting nginx service after editing the nginx configuration file

III. Using Vim Editor

Vim is a text editor for the command line. It is a powerful and complex editor that can be used to edit config files. To open a config file with Vim, open a Terminal window and type “vim” followed by the path to the config file. For example, if the config file is located in the “/etc” directory, type “vim /etc/config_file.conf”.

Image 7
nginx configuration file using vim editor

To edit the Nginx configuration file using the Vim text editor, follow these steps:

  1. Open a terminal and navigate to the directory where the Nginx configuration file is located. The configuration file is typically located at /etc/nginx/nginx.conf.
  2. Run the command sudo vim nginx.conf to open the file in Vim. The sudo command is used to run the command with superuser privileges, which is necessary to modify the configuration file.
  3. Once the file is open in Vim, you can begin editing the file. To enter insert mode and begin making changes to the file, press the i key on your keyboard.
  4. Make the necessary changes to the file.
  5. When you are finished making changes, press the Esc key to exit insert mode.
  6. To save the changes you made to the file and exit Vim, type :wq and press Enter. The :wq command writes the changes to the file and quits Vim.

It’s worth noting that Vim is a powerful text editor with a steep learning curve. If you are new to Vim, it may be helpful to familiarize yourself with some of its basic commands before attempting to edit configuration files.

IV. Using Emacs Editor

Emacs is a text editor for the command line. It is a powerful and complex editor that can be used to edit config files. To open a config file with Emacs, open a Terminal window and type “emacs” followed by the path to the config file. For example, if the config file is located in the “/etc” directory, type “emacs /etc/config_file.conf”.

To install emacs in Ubuntu, you can use the package manager by running the following command in a terminal:

sudo apt install emacs

This will install emacs and all of its dependencies.

To edit the nginx configuration file using emacs, open a terminal and navigate to the directory where the configuration file is located. For example, if the configuration file is located in the default location (/etc/nginx/nginx.conf), you can use the following command to open it in emacs:

sudo emacs /etc/nginx/nginx.conf
Image 8
nginx.conf files opened in emacs

This will open the configuration file in emacs. You can then use emacs to edit the file as needed. To save your changes, press CTRL + x followed by CTRL + s. To exit emacs, press CTRL + x followed by CTRL + c.

Note: You may need to use sudo to open the configuration file if it is owned by the root user and you do not have permission to edit it.

V. Using Gvim Editor

Gvim is a graphical text editor for the GNOME desktop environment. It is a powerful and complex editor that can be used to edit config files. To open a config file with Gvim, navigate to the file in your file manager and double-click it. This will open the file in Gvim.

To install gvim (also known as Vim with GUI support) in Ubuntu, you can use the package manager by running the following command in a terminal:

sudo apt install vim-gtk3

This will install gvim and all of its dependencies.

To edit the nginx configuration file using gvim, open a terminal and navigate to the directory where the configuration file is located. For example, if the configuration file is located in the default location (/etc/nginx/nginx.conf), you can use the following command to open it in gvim:

sudo gvim /etc/nginx/nginx.conf
Image 10
editing the nginx congif file using gvim

Conclusion

Editing config files in Ubuntu is easy with the right editor. Whether you are using Gedit, Nano, Vim, Emacs, or Gvim, the process is the same. Find the config file, make the necessary changes, and save the file. With these steps, you can easily customize your system with config files.