同步操作将从 deepinwiki/wiki 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
一般而言我们不需要通过命令行做复杂的文件管理。因为很多时候我们都可以使用图形界面,这种更有好的方式,缩减所得,不需要学习。但是,也有机率会使用到命令行,比如系统图形界面还没有建立的时候,安装系统的时候,系统崩溃维护的时候,远程服务器没有图形界面的时候。因此,这个时候,学下一两个熟手的命令行软件来管理文件就很有必要了。
这里推荐 ranger 文件管理器,可以快速浏览目录结构,并预览文件,打开文件,删除复制,剪切都是可以的。它虽然是命令行界面,但是也提供了可视界面的形式,因而相对友好,难点是记忆相关的快捷键。
fzf 这个工具可以模糊的搜索定位文件,它的主要用途是提供给其他工具一个快速找到文件路径的方法。
z 这个工具会模糊搜索目录,然后进入里面,类似超强版 cd 工具。
fzf 是一个命令行下对文件或者文件内容过滤的工具。它有着高效的性能,简单易用。不过要结合其他工具,才能获得最大的收益。
网上很多 fzf 的说明都是针对 zsh 这个 shell 来说明配置方法。但是我不用这个 shell,而是用系统自带的 bash shell。
# 安装 debian
sudo apt install fzf
# arch linux
sudo pacman -S fzf
默认输入 fzf 可以正常执行这个搜索过滤程序,它会调用 find 作为输入,即当前目录下的文件会被搜索,然后从结果中过滤匹配我们需要的结果。
但这种使用方式很无趣,因为输入 fzf 然后获取路径没什么用。
有用的方式是:比如我们想在参数位置,输入一个我们找到的文件,如: cat xxx。 这里的 xxx 我们想替换成我们要使用的路径。
实现这个目标需要我们去绑定按键,后台调用 fzf。
这个绑定的操作其实有一个样板,在 /usr/share/fzf/key-bindings.bash 里面:
# 拷贝按键绑定样例到用户目录
cd
cp usr/share/fzf/key-bindings.bash ./
# 将脚本添加到.bashrc 自动执行
echo source key-bindings.bash >> .bashrc
# 让脚本立即生效
source .bashrc
快捷键:
在选择界面下:
输入的搜索词,可以使用扩展搜索语法:
使用:
# 这个工具的本质就是类似提供一个对话框,让你选择文件
cat <ctrl+t> # 按 ctrl+t 调用 fzf 搜索框,选择路径
# 结果:
cat test.txt # 然后回车,即可查看文件
ssh ''<TAB> # 这里绑定 '' 作为补全的起始序列,然后按 tab 键
# 结果
ssh 192.168.3.120
<alt+c> # 快速进入匹配的目录
<ctrl+r> # 从历史记录中查找命令
原理:
# 相当于一个文件选择器
# 它可以快速的匹配要选择的文件
find * -type f | fzf > 选择的文件
# 在 ~/.bashrc 文件中
# 配置默认的启动参数
# --height 40% :高度
# --layout=reverse :搜索框在下面
# --border:加边框
# --exact:搜索词默认精确匹配
# --preview 'cat {}': 使用 cat 命令获取文件的预览内容
export FZF_DEFAULT_OPTS='--height 40% --reverse'
export FZF_CTRL_T_OPTS='--preview "cat {} || tree -C {}"'
export FZF_CTRL_R_OPTS='--preview ""'
export FZF_ALT_C_OPTS='--preview "tree -C {}"'
# 代码补齐
# 默认按键 **,但可能无效,这里我设置 ''
# 用法: cd '' 再按 tab 键,即调用 fzf 来匹配参数
export FZF_COMPLETION_TRIGGER="''"
source /usr/share/fzf/completion.bash
# 绑定 ctrl+t ctrl+r alt+c 等按键
source /usr/share/fzf/key-bindings.bash
可配置项:
ranger 是一个用在命令行,但是提供界面的文件管理器。它有快速的导航,也有文件的预览。文件预览需要安装插件,有些必须要修改配置。
sudo pacman -S ranger
sudo pacman -S ffmpegthumbnailer # 视频预览插件
sudo pacman -S w3m # 图片预览插件
sudo pacman -S highjlight # 代码预览插件
ranger --copy-config=all # 拷贝默认的配置到 ~/.config/ranger 目录
快捷键:
命名参数:
:shell -w ls # 显示执行命令的结果
:shell -t ls # 在新终端执行
:shell -f kwrite # gui 程序
:shell -r dmesg # 以 root 权限执行
使用:
# 按 : 进入命令模式
# 或按 s 即出现 :shell
# 压缩选中的文件到 test.tar.gz 包中
:shell tar -caf test.tar.gz %s
// scope.sh
// 预览的函数
handle_image() {
...
video/*)
# 开启视频预览
# 即取消视频注释的段落,把相关的 # 去掉
ffmpegthumbnailer -i "${FILE_PATH}" -o "${IMAGE_CACHE_PATH}" -s 0 && exit 6
exit 1;;
...
}
z 是一个类似模糊进入目录的工具,它会在访问的历史记录中匹配相关目录。如 ~/Documents/vscode ,你只需要 z code 它就能匹配上。
参看说明:https://github.com/skywind3000/z.lua/blob/master/README.cn.md
# arch linux
sudo yay -S z.lua
# 从 github 源码安装
git clone https://github.com/skywind3000/z.lua.git
# 在 ~/.bashrc 中
# z.lua 超级 cd
# 输入正确的 z.lua 文件路径
# fzf 是补全需要使用的工具,没有安装可以去除
eval "$(lua /usr/share/z.lua/z.lua --init bash enhanced once echo fzf)"
z code<TAB> # 输入然后按 tab 键,会自动补全路径
z -I -t . # 在最近的历史列表中选择目录
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。