移动命令
移动文件
移动单个文件:mv 源文件 目标路径
移动多个文件:mv 文件1 文件2 文件3 目标目录/
移动整个目录:mv 源目录 目标路径
常用选项
-i:交互模式,覆盖前询问确认 (默认行为,当别名设置了 -i 时)
-f:强制移动,不询问直接覆盖
-n:不覆盖已存在文件
-v:显示详细操作过程
查找文件的常用命令
几种最常用的文件查找命令:
1. find 命令 - 最强大的文件查找工具
基本语法:
bash
find [路径] [选项] [表达式]
常用示例:
bash
# 在当前目录及其子目录中查找名为 filename 的文件
find . -name "filename"
# 在根目录下查找所有 .conf 文件
find / -name "*.conf"
# 查找最近 7 天内修改过的文件
find /path -mtime -7
# 查找大于 10MB 的文件
find / -size +10M
# 查找并删除特定文件(谨慎使用)
find /path -name "*.tmp" -delete
# 查找文件并执行命令(如显示详细信息)
find /path -name "*.log" -exec ls -l {} \;
2. locate 命令 - 快速查找(基于数据库)
bash
# 查找文件(速度更快,基于预建的数据库)
locate filename
# 更新 locate 数据库(需要 root 权限)
sudo updatedb
3. which 命令 - 查找可执行文件路径
bash
# 查找命令的安装位置
which python
which git
4. whereis 命令 - 查找二进制、源码和手册页
bash
whereis python
5. grep 命令 - 在文件中查找内容
bash
# 在当前目录递归查找包含 "search_text" 的文件
grep -r "search_text" .
# 忽略大小写
grep -ri "search_text" /path
实用组合技巧
bash
# 查找并统计找到的文件数量
find /path -name "*.jpg" | wc -l
# 查找并复制到目标目录
find /path -name "*.pdf" -exec cp {} /target/dir \;
# 查找并打包压缩
find /path -name "*.log" -exec tar -czvf logs.tar.gz {} +
注意事项
find 是实时查找,速度较慢但结果准确
locate 基于数据库,速度快但可能不是最新结果
使用 find 搜索系统文件需要 root 权限
通配符使用:
* 匹配任意字符
? 匹配单个字符
[abc] 匹配 a、b 或 c
按文件类型查找
bash
# 查找目录
find /path -type d -name "dirname"
# 查找普通文件
find /path -type f -name "filename"
# 查找符号链接
find /path -type l -name "linkname"
选择哪种查找方法取决于你的具体需求:实时性、速度、精确度等。
退回之前目录的命令
在 Linux 终端中,有几种方法可以返回到之前所在的目录:
1. cd - 命令 (最常用)
bash

复制

下载
cd -
这个命令会返回到你上一次所在的目录,相当于"后退"功能。
示例:
bash

复制

下载
/home/user$ cd
/etc
/etc$
cd
-
/home/user
/etc$
cd
-
/home/user
2. pushd 和 popd 命令 (目录栈管理)
这对命令允许你维护一个目录历史栈:
bash

复制

下载
# 将当前目录压入栈并切换到新目录
pushd
/path/to/new/dir
# 返回上一个目录(弹出栈顶)
popd
3. OLDPWD 环境变量
bash

复制

下载
cd $OLDPWD
这与 cd - 效果相同,因为 cd - 实际上是 cd $OLDPWD 的快捷方式。
4. 使用历史命令
按 Ctrl+R 然后输入 cd 可以搜索历史命令,找到之前的 cd 命令。
实用技巧
1. 查看目录历史:
bash

复制

下载
dirs -v
这会显示目录栈的内容。
2. 结合使用:
bash

复制

下载
cd
/very/long/path
cd
/another/long/path
cd - # 回到 /very/long/path
cd - # 又回到 /another/long/path
3. 在脚本中使用:
bash

复制

下载
old_dir=$(pwd)
cd
/some/dir
# 做一些操作
cd "$old_dir" # 返回原目录
记住 cd - 是最简单常用的方法,而 pushd/popd 更适合需要记住多个目录位置的复杂场景。
Linux 中复制一行命令的方法
在 Linux 终端中有多种方法可以复制一行命令,以下是几种常用方式:
1. 使用鼠标操作(在图形界面终端中)
方法1:直接拖动鼠标选中命令,然后右键选择"复制"或使用 Ctrl+Shift+C
方法2:三击鼠标左键可以快速选中整行
2. 使用键盘快捷键
复制:Ctrl+Shift+C
粘贴:Ctrl+Shift+V
3. 命令行历史操作
按 Ctrl+R 然后输入部分命令内容可以搜索历史命令
使用上下箭头键浏览历史命令
history 命令查看所有历史命令,然后使用 !行号 执行特定命令
4. 使用 xclip 工具(需要先安装)
bash
# 安装 xclip
sudo apt-get install xclip # Debian/Ubuntu
sudo yum
在 Vim 中复制一行命令的多种方法
Vim 提供了多种复制文本(yank)的方式,以下是复制一行或部分内容的常用方法:
1. 复制整行
yy 或 Y - 复制当前行
vim
yy " 复制当前行
[n]yy - 复制从当前行开始的 n 行
vim
3yy " 复制当前行及下面2行(共3行)
2. 复制到剪贴板(系统剪贴板)
"+yy - 复制当前行到系统剪贴板(可用于粘贴到其他程序)
vim
"+yy " 复制当前行到系统剪贴板
3. 复制部分内容
v + 移动光标 + y - 可视化模式选择后复制
vim
v " 进入可视化模式
j/k " 向下/上移动选择
y " 复制选中内容
V + y - 复制选中的整行(行可视化模式)
vim
V " 进入行可视化模式
y " 复制选中行
4. 复制到特定寄存器
"ayy - 复制当前行到寄存器 a
vim
"ayy " 复制当前行到寄存器a
5. 粘贴复制的内容
p - 在光标后粘贴
P - 在光标前粘贴
"+p - 从系统剪贴板粘贴
实用技巧
复制后立即粘贴:
vim
yyp " 复制当前行并粘贴到下一行
复制到文件末尾:
vim
:$put " 将最后一次复制的内容粘贴到文件末尾
查看寄存器内容:
vim
:reg " 显示所有寄存器内容
复制到行尾:
vim
y$ " 从光标位置复制到行尾
注意:Vim 的复制(yank)内容默认存储在 Vim 的内部寄存器中,如果要与系统剪贴板交互,需要使用 "+ 寄存器(前提是 Vim 编译时支持了剪贴板功能)。