Mastering File and Directory Operations in Terminal

If you are a Linux or macOS user, you have likely worked with the Terminal, which is a command line interface that allows you to interact with your computer more efficiently. The terminal can help you carry out many tasks, including managing files and directories. While it may seem intimidating, mastering file and directory operations in Terminal can help you save time and make it easier to navigate your computer. In this blog post, we will guide you through some commonly-used Terminal commands for file and directory operations.

Creating, Renaming, and Deleting Files and Directories

Creating a file or directory in Terminal is simple. To create a directory, you can use the “mkdir” command followed by the name of the directory. For example, typing “mkdir blog” will create a directory called “blog.” To create a file, you can use the “touch” command followed by the name of the file. For instance, typing “touch index.html” will create a file called “index.html.”

Renaming a file or directory is also straightforward. For example, to rename a file called “oldname.txt” to “newname.txt,” you can use the “mv” command and type “mv oldname.txt newname.txt.” To rename a directory, use the same command but with the folder names: “mv oldfolder newfolder.”

To delete a file or directory, you’ll use the “rm” command. For example, to delete a file called “file.txt,” type “rm file.txt.” Keep in mind that when you delete a file or directory in Terminal, you won’t get a warning or confirmation prompt. This process is permanent and cannot be undone.

Copying, Moving, and Linking Files using the Terminal

Copying and moving files between directories in Terminal is straightforward. To move a file from one directory to another, you can use the “mv” command, and the file path. For instance, “mv /Desktop/file.txt /Documents” will move the file “file.txt” from the Desktop folder to the Documents folder. The same command can be used for directories.

To copy a file or directory in Terminal, you’ll use the “cp” command. For example, to copy a file called “file.txt” from the Desktop to the Documents folder, type “cp /Desktop/file.txt /Documents.”

Linking files is beneficial when you don’t want to store multiple copies of a file but use them in different directories. Two types of links are Hard Links and Soft Links. To create a hard link, type “ln sourcefile linkfile.” A soft link is created by typing “ln -s sourcefile linkfile.” The difference between the two is that soft links can link across directories and can be deleted by users the same way as files.

Viewing and Managing File Permissions and Ownership

In Terminal, you can use the “ls” command to list the contents of a directory. Still, it also comes in handy when checking file permissions and ownership. You can add the “-l” flag to the ls command, which provides additional information such as permissions, owners, groups, size, date of modification, and file names.

File permissions are essential to securing your files. As a user, you have the ability to control who has access to your files and what type of actions can be performed on them by setting specific permissions. Permissions are represented by letters r (read), w (write), and x (execute). The “chmod” command lets you manage file permissions. For example, if you want the user to have read and write permissions, but everybody else to have only read permission, type “chmod u=rw file.txt && chmod g=r file.txt && chmod o=r file.txt.”

You can manage file ownership using the “chown” command. For instance, type “sudo chown root file.txt” to change the owner of the file “file.txt” to the root user.

Searching for Files and text within files

Searching for files and text can be challenging, especially if you have plenty of files and folders on your computer. In Terminal, you can use the “find” command to search for files based on various attributes, such as name, type, size, or date modified. For example, to find all files with the name “file.txt” in the current directory and its subdirectories, type “find. -name file.txt.”

If you want to search for specific text within a file, you can use the “grep” command. For instance, to search for the word “Terminal” in a file called “file.txt,” type “grep “Terminal” file.txt.”


Mastering file and directory operations in Terminal can seem daunting at first, but once you get over that initial hurdle, it can make your workflow much more productive. The commands mentioned above are some of the most commonly used Terminal commands when managing files and directories. Knowing how to execute these commands will make it easier for you to navigate your computer and make better use of your time. So, give these commands a try, and see how they can change your workflow.