27 篇文章带有标签 “cli”

Python 自动生成周报

安装依赖库

pip install typer python-docx

编写生成个人周报的应用 制作个人周报模版 个人周报-{}-{}.xlsx 编写应用 weekly.py import shutil import openpyxl import typer from datetime import datetime, timedelta def get_weekly_info(): now = datetime.now() # 工作表的标题,格式: yymmdd(周一)-yymmdd(周五) monday = now-timedelta(now.weekday()) friday = monday+timedelta(4) sheet_title = '{}-{}'.format(monday.strftime('%y%m%d'), friday.strftime('%y%m%d')) # 报告日期,格式: yyyy/mm/dd(周四) report_date = now.strftime("%Y/%m/%d") # 计划的开始时间与结束时间 base_date = datetime(1899, 12, 30, 0, 0) work_tasks_begin_time = (monday-base_date).

命令lftp

安装 lftp

sudo apt-get -y install lftp

登录 FTP

lftp [-d] [-e cmd] [-p port] [-u user[,pass]] [site]

lftp -p 8821 -u sdlrzn download.cambricon.com

执行内部命令

查看 FTP 服务器目录内容

ls

下载文件

get /product/GJD/MLU270/1.7.604/Ubuntu18.04/Driver/neuware-mlu270-driver-dkms_4.9.8_all.deb

下载目录

mirror remote local

mirror MLU270 MLU270

执行本地系统命令

local pwd
local ls
local rm -r MLU270

参考资料

命令man help info

man

manual 的缩写。在线参考手册的接口

  • man man
......
    下表显示了手册的 章节 号及其包含的手册页类型。

    1   可执行程序或 shell 命令
    2   系统调用(内核提供的函数)
    3   库调用(程序库中的函数)
    4   特殊文件(通常位于 /dev)
    5   文件格式和规范,如 /etc/passwd
    6   游戏
    7   杂项(包括宏包和规范,如 man(7),groff(7))
    8   系统管理命令(通常只针对 root 用户)
    9   内核例程 [非标准]
......
  • 查看指定章节
man 7 man
man man.7
  • 寻找所有匹配(-a, --all 寻找所有匹配的手册页)
man -a passwd
--Man-- 下一页: passwd(5) [ 查看 (return) | 跳过 (Ctrl-D) | 退出 (Ctrl-C) ]

help

shell 自带的命令为内部命令,其它的为外部命令。

  • 内部命令使用 help
help cd
cd --help
  • 外部命令使用 help
ls --help

type 查看内部命令还是外部命令

$ type cd
cd 是 shell 内建
$ type ls
ls 是 `ls --color=auto' 的别名
$ type curl
curl 是 /usr/bin/curl

builtin 查看所有内部命令 man builtin bash,

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

参考资料

命令history

操作不记录在历史记录中

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

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

所有的操作不记录

HISTSIZE=0

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

删除历史记录中的某行

history -d linenumber

清除历史记录

history -c

参考资料