mcpField
F
file-operations

file-operations

github.com/chatermCloud & DevOps59103 installsUpdated 35w ago
Repository

About file-operations

A skill guide for Linux filesystem operations, covering search, batch processing, content inspection, and permissions for routine file maintenance and troubleshooting.

Key features

  1. 01Search files by name and type
  2. 02Copy, move, and batch rename
  3. 03View, compare, and count file contents
  4. 04Manage permissions and ownership
  5. 05Find large or recently changed files

Use cases

  1. 01Locate logs or files of a given type
  2. 02Clean up temporary files and old logs in bulk
  3. 03Check disk usage and find large files
  4. 04Change permissions or replace content in batches

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/chaterm/terminal-skills --skill file-operations

After installing, type/file-operationsin Claude Code to confirm it loaded.

Details

From the project README

File and Directory Operations

Overview

Linux file system operation skills, including file search, batch operations, permission management, etc.

File Search

find Command
# Search by name
find /path -name "*.log"
find /path -iname "*.LOG"           # Case insensitive

# Search by type
find /path -type f                  # Files
find /path -type d                  # Directories
find /path -type l                  # Symbolic links

# Search by time
find /path -mtime -7                # Modified within 7 days
find /path -mtime +30               # Modified more than 30 days ago
find /path -mmin -60                # Modified within 60 minutes

# Search by size
find /path -size +100M              # Larger than 100MB
find /path -size -1k                # Smaller than 1KB

# Combined conditions
find /path -name "*.log" -mtime +7 -size +10M
locate Command
# Quick search (requires database update)
locate filename
updatedb                            # Update database

# Case insensitive
locate -i filename

File Operations

Basic Operations
# Copy
cp file1 file2
cp -r dir1 dir2                     # Recursive copy directory
cp -p file1 file2                   # Preserve attributes

# Move/Rename
mv file1 file2
mv file1 /path/to/dest/

# Delete
rm file
rm -rf dir                          # Recursive force delete
rm -i file                          # Interactive confirmation

# Create
touch file                          # Create empty file
mkdir -p dir1/dir2/dir3             # Recursive create directories
Batch Operations
# Batch rename
rename 's/old/new/' *.txt
for f in *.txt; do mv "$f" "${f%.txt}.md"; done

# Batch delete
find /path -name "*.tmp" -delete
find /path -name "*.log" -mtime +30 -exec rm {} \;

# Batch copy
find /src -name "*.conf" -exec cp {} /dest/ \;

File Content

View Files
cat file                            # Full content
head -n 20 file                     # First 20 lines
tail -n 20 file                     # Last 20 lines
tail -f file                        # Real-time follow
less file                           # Paginated view

# Statistics
wc -l file                          # Line count
wc -w file                          # Word count
wc -c file                          # Byte count
File Comparison
diff file1 file2
diff -u file1 file2                 # Unified format
diff -r dir1 dir2                   # Compare directories

# Side-by-side comparison
sdiff file1 file2
vimdiff file1 file2

Permission Management

View Permissions
ls -la
stat file
Modify Permissions
# Numeric mode
chmod 755 file                      # rwxr-xr-x
chmod 644 file                      # rw-r--r--

# Symbolic mode
chmod u+x file                      # Add execute for user
chmod g-w file                      # Remove write for group
chmod o=r file                      # Set read-only for others
chmod a+r file                      # Add read for all

# Recursive modify
chmod -R 755 dir
Modify Owner
chown user file
chown user:group file
chown -R user:group dir             # Recursive modify

Common Scenarios

Scenario 1: Clean Up Large Files
# Find files larger than 100MB
find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null

# Find and sort by size
du -ah /path | sort -rh | head -20
Scenario 2: Find Recently Modified Files
# Files modified within 24 hours
find /path -type f -mtime -1

# Sort by modification time
ls -lt /path | head -20
Scenario 3: Batch Replace File Content
# Single file replacement
sed -i 's/old/new/g' file

# Batch replacement
find /path -name "*.conf" -exec sed -i 's/old/new/g' {} \;

Troubleshooting

ProblemSolution
Permission deniedUse sudo or check file permissions
Disk space fulldf -h, du -sh * to find large files
Special characters in filenameUse quotes or escape rm "file name"
Slow deletion of many filesUse rsync --delete or find -delete

Comments

Markdown supported