开发 Tips(9)

2023年 1月 4日 94.0k 0

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

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
    
    fdisk -l
    

    这里以 /dev/vdc 为例

  • 设置
  • 1
    
    fdisk /dev/vdc
    

    依次选择

    • n add a new partition
    • p primary partition (1-4),根据需要选择
  • 格式化
  • 1
    
    mke2fs -j /dev/vdc
    
  • 挂载
  • 新建目录 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
    
    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 即可解决。

    相关文章

    KubeSphere 部署向量数据库 Milvus 实战指南
    探索 Kubernetes 持久化存储之 Longhorn 初窥门径
    征服 Docker 镜像访问限制!KubeSphere v3.4.1 成功部署全攻略
    那些年在 Terraform 上吃到的糖和踩过的坑
    无需 Kubernetes 测试 Kubernetes 网络实现
    Kubernetes v1.31 中的移除和主要变更

    发布评论