Please enable Javascript to view the contents

开发 Tips(9)

 ·  ☕ 3 分钟

主要记录最近遇到的一些开发问题,解决方法。

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.htmlinput.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
brew install tmux

下面是一些常用的命令:

  • 创建一个新的会话
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
  • 查看所有会话
1
tmux list-session

简写 tmux ls(快捷键:Ctrl+b+s)

  • 关闭所有会话
1
tmux kill-server
  • 切换到某一会话
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. 服务器新增磁盘

  1. 查找新磁盘的盘符
1
fdisk -l

这里以 /dev/vdc 为例

  1. 设置
1
fdisk /dev/vdc

依次选择

  • n add a new partition
  • p primary partition (1-4),根据需要选择
  1. 格式化
1
mke2fs -j /dev/vdc
  1. 挂载

新建目录 mkdir /local_dir,用于挂载磁盘。

1
mount /dev/vdc /local_dir

4. 搭建 NFS 服务

  1. 安装 NFS

CentOS 执行命令:

1
yum install -y nfs-utils

Ubuntu 执行命令:

1
apt-get install -y nfs-kernel-server
  1. 开机自启动 NFS
1
systemctl start nfs-server.service & systemctl enable nfs-server.service
  1. 编辑 /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
  1. OS X 客户端挂载、卸载
  • 挂载
1
mount_nfs 服务器IP:服务器目录 客户端目录

例如,mount_nfs 1.2.3.4:/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
rclone config

按照提示输入相关信息,仅当提示如下信息时:

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 字符串。继续配置,最后保存即可。

  • 挂载 OneDrive
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 即可解决。


微信公众号
作者
微信公众号