目录

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

    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.htmlinput.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. 服务器新增磁盘

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

    这里以 /dev/vdc 为例

    1. 设置
    fdisk /dev/vdc
    

    依次选择

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

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

    mount /dev/vdc /local_dir
    

    4. CentOS 搭建 NFS 服务

    1. 安装 NFS
    yum install -y nfs-utils
    
    1. 开机自启动 NFS
    systemctl start nfs-server.service & systemctl enable nfs-server.service
    
    1. 编辑 /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
    
    1. 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 即可解决。