开发 Tips(9)
主要记录最近遇到的一些开发问题,解决方法。
1. pandoc 简单使用技巧
Pandoc 是由 John MacFarlane 开发的标记语言转换工具,可实现不同标记语言间的格式转换,堪称该领域中的 “瑞士军刀”。
Pandoc 使用 Haskell 语言编写,以命令行形式实现与用户的交互,可支持多种操作系统。
下载地址: https://github.com/jgm/pandoc/releases/ 。
Pandoc 的基本指令格式是:
pandoc [options] [input-file] ...
简单的格式转换:
pandoc -o output.html input.md
其中 -o ouput.html
表示输出文件为 output.html
,input.md
是输入文件。
Pandoc 会根据文件的后缀名自动判断格式,用户也可以显式地指定输入文件和输出文件格式:
pandoc -f markdown -t docx -o output.docx input.md
其中 -f markdown
表示输入文件格式为 Markdown,-t html
表示输出文件格式为HTML。
详细的指令参数请参见 Pandoc用户手册。
2. 会话管理工具 tmux
tmux 是一个终端复用工具。用户可以通过 tmux 在一个终端内管理多个分离的会话,窗口及面板,对于同时使用多个命令行,或多个任务时非常方便。
在 OS X 中使用 brew 进行安装:
brew install tmux
下面是一些常用的命令:
- 创建一个新的会话
tmux new -s session_name
- 断开当前会话
tmux detach (快捷键:Ctrl+b+d)
- 进入会话
tmux attach-session -t session_name
简写 tmux a -t session_name
- 关闭会话
tmux kill-session -t session_name
- 查看所有会话
tmux list-session
简写 tmux ls
(快捷键:Ctrl+b+s)
- 关闭所有会话
tmux kill-server
- 切换到某一会话
tmux switch -t session_name
- 重命名会话
tmux rename -t oldName newName
如果提示 sessions should be nested with care, unset $TMUX to force
,执行 unset TMUX
即可。
3. 服务器新增磁盘
- 查找新磁盘的盘符
fdisk -l
这里以 /dev/vdc 为例
- 设置
fdisk /dev/vdc
依次选择
- n add a new partition
- p primary partition (1-4),根据需要选择
- 格式化
mke2fs -j /dev/vdc
- 挂载
新建目录 mkdir /local_dir
,用于挂载磁盘。
mount /dev/vdc /local_dir
4. CentOS 搭建 NFS 服务
- 安装 NFS
yum install -y nfs-utils
- 开机自启动 NFS
systemctl start nfs-server.service & systemctl enable nfs-server.service
- 编辑
/etc/exports
,挂载目录配置
cat /etc/exports
/data/ 192.168.10.0/24(rw,sync,no_root_squash,no_all_squash)
- /data,服务器上,需要共享的目录
- 192.168.10.0/24,客户端 IP 范围,* 代表所有,即没有限制
- rw,权限设置,可读可写
- sync,同步共享目录
- no_root_squash,可以使用 root 授权
- no_all_squash,可以使用普通用户授权
修改配置文件之后,需要重启服务,才能生效。
systemctl restart nfs-server
- OS X 客户端挂载、卸载
- 挂载
mount_nfs 服务器IP:服务器目录 客户端目录
例如,mount_nfs 108.61.137.23:/data /Users/username/nfs/
- 卸载
umount /Users/username/nfs/
5. 使用 rclone 挂载 OneDrive 到服务器
Rclone 能够方便的管理 OneDrive、Google Drive、Amazon Drive 等各种云盘和对象存储,支持挂载盘符、命令行上传下载文件。
- 安装
curl https://rclone.org/install.sh | sudo bash
- 本地授权
需要先安装 rclone ,然后执行:
rclone authorize "onedrive"
在页面登陆 OneDrive 账号,授权成功后,将整个 Token: {"access_token":"","expiry":""}
拷贝备用。
- 服务器端配置
需要先安装 rclone ,然后执行:
rclone config
按照提示输入相关信息,仅当提示如下信息时:
Use auto config?
* Say Y if not sure
* Say N if you are working on a remote or headless machine
y) Yes
n) No
选择 n
,在 result 中输入上面拷贝的 Token Json 字符串。继续配置,最后保存即可。
- 挂载 OneDrive
rclone mount DriveName:Folder LocalFolder --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 &
- DriveName 是新增时填入的 name
- Folder 为 OneDrive 上的文件夹
- LocalFolder 为服务器上的文件夹
例如,rclone mount onedrive:Code /data --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000&
,就是将 OneDrive 上 Code 目录挂载到本地 /data
目录。
如果提示 fuse 相关错误,执行 yum install -y fuse
即可解决。