토. 7월 19th, 2025

Navigating Linux systems relies heavily on command-line tools. Here’s a comprehensive guide to 25 fundamental commands for managing directories and files, complete with practical examples.


1. Directory Navigation

  1. pwd (Print Working Directory)

    • Shows your current directory path.
      Example:
      $ pwd
      /home/username
  2. cd (Change Directory)

    • Moves between directories.
      Examples:
      $ cd Documents      # Enter "Documents"
      $ cd ..             # Go back one level
      $ cd ~              # Return to home directory
  3. ls (List Files/Directories)

    • Displays directory contents.
      Examples:
      $ ls                # List visible items
      $ ls -a             # Include hidden files (e.g., .config)
      $ ls -l             # Detailed view (permissions, size)
  4. tree

    • Shows directories/files in a visual tree structure.
      Example:
      $ tree -L 2         # Display 2 levels deep

2. Creating & Deleting Directories

  1. mkdir (Make Directory)

    • Creates new directories.
      Examples:
      $ mkdir Projects              # Single directory
      $ mkdir -p Projects/2024/docs # Nested directories
  2. rmdir (Remove Directory)

    • Deletes empty directories.
      Example:
      $ rmdir Old_Projects  

3. File Operations

  1. touch

    • Creates empty files or updates timestamps.
      Example:
      $ touch report.txt  
  2. cp (Copy)

    • Copies files/directories.
      Examples:
      $ cp file.txt backup/          # Copy to "backup"
      $ cp -r dir1/ dir2/            # Copy directories recursively
  3. mv (Move/Rename)

    • Moves or renames files/directories.
      Examples:
      $ mv old.txt new.txt           # Rename
      $ mv file.txt ~/Documents/     # Move to "Documents"
  4. rm (Remove)

    • Deletes files/directories. Use cautiously!
      Examples:
      $ rm temp.log                 # Delete file
      $ rm -r Junk_Folder/          # Delete directory & contents

4. Viewing & Searching Files

  1. cat (Concatenate)

    • Displays entire file content.
      Example:
      $ cat notes.txt  
  2. less

    • Views large files page-by-page (press q to quit).
      Example:
      $ less system.log  
  3. head

    • Shows first 10 lines of a file.
      Example:
      $ head -n 5 log.txt           # Display first 5 lines
  4. tail

    • Shows last 10 lines (useful for logs).
      Example:
      $ tail -f app.log             # Monitor real-time updates
  5. grep (Global Regular Expression Print)

    • Searches text patterns.
      Example:
      $ grep "error" system.log     # Find "error" in file
  6. find

    • Locates files/directories.
      Examples:
      $ find /home -name "*.jpg"    # Search JPEGs in /home
      $ find . -type d -name "docs" # Find directories named "docs"
  7. locate

    • Finds files quickly using a database.
      Example:
      $ locate budget.xlsx          # Requires: sudo updatedb

5. File Metadata & Permissions

  1. file

    • Identifies file type.
      Example:
      $ file unknown_data          # Output: "PDF document, version 1.5"
  2. chmod (Change Mode)

    • Modifies file permissions.
      Examples:
      $ chmod +x script.sh         # Make executable
      $ chmod 644 config.txt       # Set rw-r--r--
  3. chown (Change Owner)

    • Changes file/directory ownership.
      Example:
      $ sudo chown user:group data.txt  

6. Disk Usage & Archives

  1. df (Disk Free)

    • Shows disk space usage.
      Example:
      $ df -h                      # Human-readable format (GB/MB)
  2. du (Disk Usage)

    • Estimates file/directory space.
      Example:
      $ du -sh Documents/          # Summary size of "Documents"
  3. tar (Tape Archive)

    • Combines files into archives.
      Examples:
      $ tar -cvf archive.tar dir/  # Create archive
      $ tar -xvf backup.tar        # Extract files
  4. gzip/gunzip

    • Compresses/decompresses files.
      Example:
      $ gzip bigfile.log           # Compress → bigfile.log.gz
      $ gunzip bigfile.log.gz      # Decompress
  5. stat

    • Displays detailed file metadata.
      Example:
      $ stat report.txt            # Access/modify times, inode, etc.

Tips for Beginners

  • Combine commands with | (pipe):
    $ ls -l | grep ".txt"          # List only .txt files
  • Use man for help:
    $ man rm                       # View rm's manual
  • Avoid rm -rf / – this deletes everything!

Practice these commands in a safe environment to build confidence. Mastery unlocks efficient Linux system management! 🐧

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다