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