9 篇文章带有标签 “tips”

vim实践

安装

版本

  • vim
  • vim-gtk (KDE)
  • vim-gtk3 (GNOME)
  • vim-tiny (最小功能)

查看安装的 vim 版本

apt list --installed | grep vim
yum list installed | grep vim

安装带图形界面的版本

macOS MacVim

Ubuntu

sudo apt install vim-gtk3

运行

vim -g
gvim

查看可用插件

  • vim --version
  • 打开 vim,输入命令 :version

四种模式

  • 正常模式
  • 插入模式
    • 进入方式
      • i 光标当前位置进入
      • Shift+i 光标所在行的开头位置进入
      • a 光标当前位置下一个字符进入
      • Shift+a 光标所在行的行尾位置进入
      • o 光标所在行下插入空行
      • Shift+o 光标所在行上插入空行
    • 退出
      • 按esc键
  • 命令模式
    • 进入方式
      • : 设置命令
      • / 向下搜索
      • ? 向上搜索
    • 退出
      • 按两次esc键
  • 可视模式
    • 进入方式
      • v 字符
      • Shift+v
      • Ctrl+v
    • 操作
      • d 删除选择
      • y 复制
      • Shift+i 块插入 (输入插入字符后,按两次esc键。)
    • 退出
      • 按两次esc键

文件

  • :q 没有修改直接退出
  • :q! 放弃修改退出
  • :w 保存
  • :wq 保存退出
    • :wq filename 保存退出
  • ZZ 保存退出
  • :!command 运行shell命令
    • :!ls -l 查看当前目录列表
    • :!ifconfig 查看本地IP地址

命令ln

在文件之间建立链接

    ln [OPTION]... [-T] TARGET LINK_NAME
    ln [OPTION]... TARGET
    ln [OPTION]... TARGET... DIRECTORY
    ln [OPTION]... -t DIRECTORY TARGET...

文件或目录的软链接(类似指针)

创建

ln -s /data/apt-mirror/mirror/archive.ubuntu.com/ubuntu /var/www/ubuntu

查看

$ ll /var/www/ubuntu
lrwxrwxrwx 1 root root 49 Jan 15 00:23 /var/www/ubuntu -> /data/apt-mirror/mirror/archive.ubuntu.com/ubuntu/

删除

  1. unlink
unlink /var/www/ubuntu
  1. rm
rm /var/www/ubuntu

参考资料

命令chown

更改文件所有者和组

    chown [OPTION]... [OWNER][:[GROUP]] FILE...

修改文件或目录的所有者

sudo chown root filename
-rw-rw-r-- 1 root wjj    0 Jan 15 02:35 filename

修改文件或目录的组

sudo chown :root filename
-rw-rw-r-- 1 root root    0 Jan 15 02:35 filename

修改文件或目录的所有者和组

sudo chown wjj:wjj filename
-rw-rw-r-- 1 wjj:wjj    0 Jan 15 02:35 filename

修改目录下所有文件和目录的所有者和组

sudo chown -R root:root test

参考资料

Docker实践

安装与卸载

安装

  • 快速安装
curl -fsSL https://get.docker.com | sh -

卸载

  • apt
apt-get remove --auto-remove docker
  • yum
yum remove docker docker-common docker-selinux docker-engine

指定显卡(NVIDIA_VISIBLE_DEVICES)

#指定单张GPU卡
docker run --runtime=nvidia -d -e NVIDIA_VISIBLE_DEVICES=0 gouchicao/yolov5:train
#指定多张GPU卡,多个逗号隔开。
docker run --runtime=nvidia -d -e NVIDIA_VISIBLE_DEVICES=0,1 gouchicao/yolov5:train
#NVIDIA_VISIBLE_DEVICES默认值是all
docker run --runtime=nvidia -d gouchicao/yolov5:train

重启策略 方法 启动容器时通过参数指定 #如果容器停止总是重新启动。如果手动停止,则仅在Docker守护程序重启或手动重启容器本身时才重启。

Apache HTTP Server实践

修改端口号

  • /etc/apache2/ports.conf
sudo nano /etc/apache2/ports.conf
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf

Listen 8081
......
......
  • /etc/apache2/sites-enabled/000-default.conf
sudo nano /etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:8081>
......
......
</VirtualHost>
  • 重启服务
sudo systemctl restart apache2

参考资料

Dockerfile OpenCV4 Ubuntu20.04

Dockerfile

FROM ubuntu:20.04
LABEL maintainer="wang-junjian@qq.com"

#auto install tzdata(opencv depend)
ENV DEBIAN_FRONTEND=noninteractive

RUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
RUN apt-get update && apt-get install -y \
    python3 python3-pip \
    libglib2.0-dev libgl1-mesa-glx \
    && rm -rf /var/lib/apt/lists/*

RUN ln -s /usr/bin/python3 /usr/bin/python && \
    ln -s /usr/bin/pip3 /usr/bin/pip
RUN pip install --no-cache-dir -i https://mirrors.aliyun.com/pypi/simple/ \
    opencv-python opencv-contrib-python

#set your localtime
RUN ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

WORKDIR /

CMD bash

命令ffmpeg

FFmpeg

  • 格式转换 -y(覆盖输出文件)
ffmpeg -y -i input.mp4 output.avi
  • 生成gif(低质量) -pix_fmt(像素格式) -s(设置帧大小WxH)
ffmpeg -y -i input.mp4 -pix_fmt rgb8 -r 10 -s 320x240 output.gif
ffmpeg -y -i input.mp4 -pix_fmt rgb8 -r 10 -vf 'scale=320:-1' output.gif
  • 生成gif(高质量) -ss(开始时间偏移) -t(持续时间)
ffmpeg -i input.mp4 -vf "fps=10,scale=320:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 output.gif
ffmpeg -y -ss 5 -t 5 -i input.mp4 -vf "fps=10,scale=320:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 output.gif
  • 每秒抽取一张图片 -r(设置帧速率)
ffmpeg -i input.mp4 -r 1 -s 1024x768 -f image2 input-%03d.jpeg

命令history

操作不记录在历史记录中

有选择性地进行记录(操作命令前面加空格就不记录)

  • 当前会话临时生效
HISTCONTROL=ignorespace
  • 持久化设置,可以修改配置文件:.bash_profile 或 .bashrc。执行source命令后,设置生效。你也可以退出后重新登录。
$ nano .bashrc
export HISTCONTROL=ignorespace
$ source .bashrc

所有的操作不记录

HISTSIZE=0

只在当前会话中起作用,要想持久化请参考上面的设置。

删除历史记录中的某行

history -d linenumber

清除历史记录

history -c

参考资料

macOS实践

快捷键

  • 系统
Command+I                   显示选中的文件的“显示简介”窗口
Command+W                   关闭当前应用的窗口
Command+Q                   退出当前应用程序(和command+tab配合可快速批量关闭应用程序)
Command+Delete              移到废纸篓
Command+Shift+Delete        清倒废纸蒌,需要确认。
Command+Option+Shift+Delete 清倒废纸蒌,不需要确认。
Command+C                   复制
Command+Option+C            复制文件或者文件夹的路径
Command+V                   粘贴
Command+Option+V            移动(剪切)
Command+Option+D            显示或隐藏 Dock
Command+Control+F           当前窗口全屏
Command+H                   当前窗口隐藏
Command+M                   当前窗口最小化
Command+Option+Power        休眠
Control+Shift+Power         关闭屏幕
Control+F2                  将焦点移到菜单栏
按住 Option ,单击 屏幕右上角。 打开|关闭勿扰模式
  • 功能键
F11         隐藏|打开 所有打开的窗口(回到桌面)
Fn+F3       Command-Mission Control (F3)     显示桌面
Fn+F4       Launchpad
  • 拍摄屏幕快照
Command+Shift+5             随意截取或者录制窗口的图像和视频
Command+Shift+3             将屏幕捕捉到文件
Command+Shift+4             将所选屏幕内容捕捉到文件,或按空格键仅捕捉一个窗口
Command-Shift-Control-3     将屏幕内容捕捉到剪贴板
Command-Shift-Control-4     将所选屏幕内容捕捉到剪贴板,或按空格键仅捕捉一个窗口