Skip to content

Instantly share code, notes, and snippets.

@rominirani
Last active September 10, 2025 06:08
Show Gist options
  • Select an option

  • Save rominirani/acbc118b3b6d0d96fbd98ba54a7cbb39 to your computer and use it in GitHub Desktop.

Select an option

Save rominirani/acbc118b3b6d0d96fbd98ba54a7cbb39 to your computer and use it in GitHub Desktop.
[DEBUG] [MemoryDiscovery] Loading server hierarchical memory for CWD: /Users/romin/gemini-cli-projects/cli-series (importFormat: tree)
[DEBUG] [MemoryDiscovery] Searching for GEMINI.md starting from CWD: /Users/romin/gemini-cli-projects/cli-series
[DEBUG] [MemoryDiscovery] Determined project root: None
[DEBUG] [BfsFileSearch] Scanning [1/200]: batch of 1
[DEBUG] [BfsFileSearch] Scanning [3/200]: batch of 2
[DEBUG] [BfsFileSearch] Scanning [6/200]: batch of 3
[DEBUG] [BfsFileSearch] Scanning [8/200]: batch of 2
[DEBUG] [BfsFileSearch] Scanning [9/200]: batch of 1
[DEBUG] [BfsFileSearch] Scanning [24/200]: batch of 15
[DEBUG] [BfsFileSearch] Scanning [39/200]: batch of 15
[DEBUG] [BfsFileSearch] Scanning [54/200]: batch of 15
[DEBUG] [BfsFileSearch] Scanning [69/200]: batch of 15
[DEBUG] [BfsFileSearch] Scanning [84/200]: batch of 15
[DEBUG] [BfsFileSearch] Scanning [99/200]: batch of 15
[DEBUG] [BfsFileSearch] Scanning [114/200]: batch of 15
[DEBUG] [BfsFileSearch] Scanning [129/200]: batch of 15
[DEBUG] [BfsFileSearch] Scanning [144/200]: batch of 15
[DEBUG] [BfsFileSearch] Scanning [159/200]: batch of 15
[DEBUG] [BfsFileSearch] Scanning [174/200]: batch of 15
[DEBUG] [BfsFileSearch] Scanning [189/200]: batch of 15
[DEBUG] [BfsFileSearch] Scanning [196/200]: batch of 7
[DEBUG] [BfsFileSearch] Scanning [198/200]: batch of 2
[DEBUG] [MemoryDiscovery] Final ordered GEMINI.md paths to read: []
[DEBUG] [MemoryDiscovery] No GEMINI.md files found in hierarchy of the workspace.
Flushing log events to Clearcut.
Session ID: d8955cf4-64d7-46b7-a50c-b89b5aaaeb9e
The most common and safest way to recursively move files is to use `cp` (copy) followed by `rm` (remove). A more direct but potentially less flexible method for simple cases is `mv`. For more complex or large-scale moves, `rsync` is the best tool.
### 1. Using `cp` and `rm` (Safest Method)
This approach ensures the files are successfully copied to the destination before you delete the originals.
**Command:**
```bash
cp -r /path/to/source/* /path/to/destination/
rm -r /path/to/source/*
```
**Explanation:**
* `cp -r`: Recursively copies files and directories.
* `/path/to/source/*`: The `*` ensures you copy the *contents* of the source directory.
* `/path/to/destination/`: The directory where you want to move the files.
* `rm -r`: After copying, this command recursively deletes the original files.
### 2. Using `mv` (Simpler Method)
The `mv` command moves files and directories. When you use it on a directory, it moves the entire directory and its contents.
**Example 1: Move the contents of one folder into another**
This moves all files and subdirectories from `source` into `destination`.
**Command:**
```bash
mv /path/to/source/* /path/to/destination/
```
**Example 2: Move the entire source folder into another folder**
This will result in `/path/to/destination/source`.
**Command:**
```bash
mv /path/to/source /path/to/destination/
```
### 3. Using `rsync` (Most Robust Method)
`rsync` is excellent for moving large numbers of files. It's efficient and provides progress information.
**Command:**
```bash
rsync -av --remove-source-files /path/to/source/ /path/to/destination/
```
**Explanation:**
* `-a`: Archive mode (recursively copies, preserves permissions, times, etc.).
* `-v`: Verbose (shows progress).
* `--remove-source-files`: Deletes the original files after they are successfully transferred, effectively performing a "move".
* **Note the trailing slash on `/path/to/source/`**: This is important. It tells `rsync` to copy the *contents* of the source directory, not the directory itself.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment