DEV Community

Mostafa Shariare
Mostafa Shariare

Posted on

Here’s a comprehensive note on essential Unix commands with examples

1. pwd – Print Working Directory

Displays the current directory you're working in.

   $ pwd
   /home/user
Enter fullscreen mode Exit fullscreen mode

2. ls – List Directory Contents

Lists files and directories in the current directory.

   $ ls
   Documents Downloads Music Pictures
Enter fullscreen mode Exit fullscreen mode

Options:

  • -l: Long listing format.
  • -a: Show hidden files.
   $ ls -la
   drwxr-xr-x  2 user user 4096 Sep 12 12:34 .
   drwxr-xr-x 25 user user 4096 Sep 11 13:14 ..
   -rw-r--r--  1 user user  220 Sep 12 11:32 .bashrc
Enter fullscreen mode Exit fullscreen mode

3. cd – Change Directory

Navigates to a different directory.

   $ cd /home/user/Documents
Enter fullscreen mode Exit fullscreen mode

To go back to the previous directory:

   $ cd -
Enter fullscreen mode Exit fullscreen mode

4. mkdir – Make Directory

Creates a new directory.

   $ mkdir new_folder
Enter fullscreen mode Exit fullscreen mode

5. rmdir – Remove Directory

Deletes an empty directory.

   $ rmdir old_folder
Enter fullscreen mode Exit fullscreen mode

6. rm – Remove Files or Directories

Deletes files or directories.

   $ rm filename.txt
Enter fullscreen mode Exit fullscreen mode

To remove a directory and its contents:

   $ rm -r directory_name
Enter fullscreen mode Exit fullscreen mode

Force deletion without confirmation:

   $ rm -rf directory_name
Enter fullscreen mode Exit fullscreen mode

7. touch – Create a New File

Creates an empty file.

   $ touch file.txt
Enter fullscreen mode Exit fullscreen mode

8. cp – Copy Files or Directories

Copies files or directories.

   $ cp source.txt destination.txt
Enter fullscreen mode Exit fullscreen mode

Copy directories recursively:

   $ cp -r source_directory/ destination_directory/
Enter fullscreen mode Exit fullscreen mode

9. mv – Move (or Rename) Files or Directories

Moves or renames files or directories.

   $ mv oldname.txt newname.txt
Enter fullscreen mode Exit fullscreen mode

To move a file to another directory:

   $ mv file.txt /path/to/directory/
Enter fullscreen mode Exit fullscreen mode

10. cat – Concatenate and Display Files

Displays the content of a file.

   $ cat file.txt
   Hello, World!
Enter fullscreen mode Exit fullscreen mode

Combine multiple files into one:

   $ cat file1.txt file2.txt > merged.txt
Enter fullscreen mode Exit fullscreen mode

11. more and less – View File Content

  • more displays file content page by page.

     $ more file.txt
    
  • less allows scrolling through the file content with less memory usage.

     $ less file.txt
    

12. head and tail – Display File Content

  • head shows the first 10 lines by default.

     $ head file.txt
    
  • tail shows the last 10 lines.

     $ tail file.txt
    

Show specific number of lines:

   $ head -n 5 file.txt
   $ tail -n 5 file.txt
Enter fullscreen mode Exit fullscreen mode

13. find – Search for Files and Directories

Searches files based on name, size, or other properties.

   $ find /path -name "filename.txt"
Enter fullscreen mode Exit fullscreen mode

Find files based on size:

   $ find /path -size +100M
Enter fullscreen mode Exit fullscreen mode

14. grep – Search Inside Files

Searches for a specific pattern within a file.

   $ grep "hello" file.txt
Enter fullscreen mode Exit fullscreen mode

Search recursively in a directory:

   $ grep -r "pattern" /path/to/directory
Enter fullscreen mode Exit fullscreen mode

15. chmod – Change File Permissions

Modify file permissions using symbolic (rwx) or numeric (777) notation.

   $ chmod 755 script.sh
Enter fullscreen mode Exit fullscreen mode

Symbolic example:

   $ chmod u+x script.sh
Enter fullscreen mode Exit fullscreen mode

16. chown – Change File Owner

Changes the ownership of files or directories.

   $ sudo chown user:group file.txt
Enter fullscreen mode Exit fullscreen mode

17. ps – Process Status

Lists running processes.

   $ ps
   PID TTY          TIME CMD
   1234 pts/0    00:00:01 bash
Enter fullscreen mode Exit fullscreen mode

Show all processes:

   $ ps aux
Enter fullscreen mode Exit fullscreen mode

18. kill – Terminate Processes

Terminates a process using its PID (Process ID).

   $ kill 1234
Enter fullscreen mode Exit fullscreen mode

Forcefully terminate:

   $ kill -9 1234
Enter fullscreen mode Exit fullscreen mode

19. top – Real-Time Process Monitoring

Displays real-time information about system processes and resource usage.

   $ top
Enter fullscreen mode Exit fullscreen mode

20. df – Disk Space Usage

Displays disk space usage of file systems.

   $ df -h
   Filesystem      Size  Used Avail Use% Mounted on
   /dev/sda1        50G   15G   32G  32% /
Enter fullscreen mode Exit fullscreen mode

21. du – Disk Usage

Shows the disk usage of files and directories.

   $ du -sh *
   4.0K    file1.txt
   200M    folder
Enter fullscreen mode Exit fullscreen mode

22. tar – Archive Files

Create or extract .tar archives.

   $ tar -cvf archive.tar file1 file2
Enter fullscreen mode Exit fullscreen mode

Extract an archive:

   $ tar -xvf archive.tar
Enter fullscreen mode Exit fullscreen mode

Compress with gzip:

   $ tar -czvf archive.tar.gz file1 file2
Enter fullscreen mode Exit fullscreen mode

23. zip and unzip – Compress and Decompress Files

  • zip compresses files into a .zip archive.

     $ zip archive.zip file1 file2
    
  • unzip extracts files from a .zip archive.

     $ unzip archive.zip
    

24. ssh – Secure Shell

Connects to a remote server.

   $ ssh user@remote_server
Enter fullscreen mode Exit fullscreen mode

25. scp – Secure Copy

Copies files between local and remote machines.

   $ scp file.txt user@remote:/path/to/destination/
Enter fullscreen mode Exit fullscreen mode

26. wget – Download Files

Downloads files from the web.

   $ wget https://example.com/file.zip
Enter fullscreen mode Exit fullscreen mode

27. curl – Transfer Data from a URL

Fetches content from a URL.

   $ curl https://example.com
Enter fullscreen mode Exit fullscreen mode

28. history – View Command History

Shows previously executed commands.

   $ history
Enter fullscreen mode Exit fullscreen mode

29. alias – Create Command Aliases

Creates a shortcut for a command.

   $ alias ll='ls -la'
Enter fullscreen mode Exit fullscreen mode

30. echo – Display Text

Displays text or outputs data to a file.

   $ echo "Hello, World!"
Enter fullscreen mode Exit fullscreen mode

Redirect output to a file:

   $ echo "Hello, World!" > file.txt
Enter fullscreen mode Exit fullscreen mode

31. man – Manual Pages

Shows the manual or help pages for a command.

   $ man ls
Enter fullscreen mode Exit fullscreen mode

32. exit – Exit the Terminal

Closes the terminal or ends the current session.

   $ exit
Enter fullscreen mode Exit fullscreen mode

33. sudo – Execute Commands as Superuser

Runs commands with root privileges.

   $ sudo apt update
Enter fullscreen mode Exit fullscreen mode

34. apt – Package Manager (For Debian-based systems)

Installs, updates, or removes software packages.

   $ sudo apt install package_name
Enter fullscreen mode Exit fullscreen mode

35. whoami – Display Current User

Shows the username of the current user.

   $ whoami
Enter fullscreen mode Exit fullscreen mode

Heroku

Build apps, not infrastructure.

Dealing with servers, hardware, and infrastructure can take up your valuable time. Discover the benefits of Heroku, the PaaS of choice for developers since 2007.

Visit Site

Top comments (0)

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post