Move folder content SSH
December 3, 2024 · AI Conversations
1. **Connect to your server via SSH**:
ssh -i /path/to/your-key.pem username@your-server-ip
Replace `/path/to/your-key.pem`, `username`, and `your-server-ip` with your actual PEM file, username, and server IP address.
2. **Navigate to the target directory** (where you want to move the files):
cd /path/to/target/directory
3. **Move the contents of the source folder**:
Assuming the source folder is named `source-folder` and is located in the same directory:
mv source-folder/* .
– `source-folder/*` selects all the contents of the folder.
– `.` specifies the current directory as the destination.
4. **Optional**: If there are hidden files (e.g., `.env`), include them as well:
mv source-folder/.* .
5. **Delete the now-empty source folder (if desired)**:
rmdir source-folder
### Example
If you want to move everything from `/var/www/share/uploads` to `/var/www/share`, run:
cd /var/www/share
mv uploads/* .
mv uploads/.* .
rmdir uploads
Let me know if you encounter any issues!
1. **Navigate to the target directory**:
cd /path/to/target/directory
2. **Move all contents, including hidden files**:
mv source-folder/* source-folder/.* .
### Explanation
– `source-folder/*` moves regular files and directories.
– `source-folder/.*` moves hidden files and directories (e.g., `.git`, `.gitignore`).
– `.` is the current directory, indicating the destination.
### Important Notes
– The `.*` pattern includes `.` (current directory) and `..` (parent directory), which can cause errors. To avoid this, filter out these entries by combining commands:
shopt -s dotglob # Enable globbing for dotfiles
mv source-folder/* source-folder/.* .
shopt -u dotglob # Disable dotglob after use
3. **Optional: Remove the now-empty source folder**:
rmdir source-folder
This will move **all files, including `.git`, `.gitignore`, and other hidden files**, to the current directory. Let me know if you need additional help!