Linux 的 at 命令定时执行任务
在 Linux 中循环执行命令或任务常用 crontab 开进行,定时执行一次命令或任务常用 at 命令进行。
安装 atDebian or Ubuntu
12sudo apt updatesudo apt install at
CentOS or redhat
1sudo yum install at
at 的守护进程是 atd,使用 at 命令时一定要保证守护进程开启。
123456# 开启守护进程sudo systemctl start atd.service# 开机自启守护进程sudo systemctl enable atd.service# 查看守护进程是否运行sudo systemctl status atd.service
at 定时任务at 定时任务的设置一般格式如下:
1at [option] runtime
添加定时命令方法一在上午10:00执行任务:
1234567at 10:00warning: commands will be executed using /bin/sh# 添加需要定时执行的命令at> date > hello.tx ...
linux 命令行历史 history
Linux 终端历史能够方便我们查看历史执行命令,也可以帮助重新执行历史中执行的命令。下面介绍常用的操作历史的方法。
历史命令时间戳一般情况下,我们直接在终端中输入命令 history 就可以查看历史命令,以序号展示:
1history
12341 history2 ls3 who4 history
可以通过如下设置,将历史命令的时间打印出来:
12export HISTTIMEFORMAT='%F %T 'history
123451 2022-12-16 05:22:25 history2 2022-12-16 05:22:26 ls3 2022-12-16 05:22:27 w4 2022-12-16 05:22:43 export HISTTIMEFORMAT='%F %T '5 2022-12-16 05:22:46 history
清空历史记录清空历史记录方法如下:
1history -c
清空某条历史记录清空某一条历史记录,需要知道该历史记录的序号,如序号1,然后使用下面命令清除:
1history -d ...
测试 Linux 某个端口是否打开
在使用 docker 映射端口时,宿主机已经使用 ufw 命令关闭了映射的端口,但是,外部还是能够访问宿主机的端口来访问 docker 容器,想通过命令行测试端口是否真的能够联通,本篇介绍命令行测试某台 linux 主机的某个端口是否打开。
telnettelnet 命令最初是用于远程登陆服务器的,但因为数据是明文传送的,因此现在都采用 SSH,但用 telnet 测试远程端口还是很方便的。
服务器端 telnet 默认端口是 23,SSH 默认端口是 22. 这些都可以根据需要更改,建议改端口号范围是 [1024, 65535] 之间。Linux 端口号的范围从 0 到 65535。但是,位于 0 到 1023 这个较低范围内的端口号通常由操作系统使用。
安装 telnet12sudo apt updatesudo apt install telnet
使用使用方法:
12Usage: telnet [-4] [-6] [-8] [-E] [-L] [-a] [-d] [-e char] [-l user] [-n tracefile] [ -b addr ] [- ...
Python 中命令行解析模块 argparse 的使用
熟悉 Linux 命令行的用户享受着对于不同命令指定不同参数的遍历,如 ls,表示打印当前目录下内容,而使用 ls /home 能够打印目录 /home 下的内容。这增加了 Linux 命令的使用范围,提高了用户体验。同样,在 Python 中也有类似的功能模块,那就是内置模块argparse, 其不仅能够自定义解析命令行参数(从 sys.argv 中解析这些参数),还能够解析 JSON 文件。本篇所有命令都是在 jupyter 中演示。
基本步骤使用 argparse 常用步骤:
import argparse # 导入模块;
parser = argparse.ArgumentParser(prog="工程名", description="自定义描述信息") # 实例化一个解析器,在 jupyter 中使用 argparse.ArgumentParser? 可查看更详细的参数内容;
parser.add_argument("-x", "--var_x", type=int, help=&qu ...
linux 中 xargs 命令
xargs 命令是可以将标准输入改变输出格式作为参数传递给其他命令,弥补有些命令(如 echo,rm 等)不接受管道传参。
标准输入默认 xargs 把多行转为一行:
123456789101112131415161718192021222324252627282930313233343536(base) root@ubuntu-studio:/workspace# find jinzhongxu/codes/ -name "*.py" -type f -printjinzhongxu/codes/py/test-debug/main.pyjinzhongxu/codes/py/audio/server.pyjinzhongxu/codes/py/audio/client.pyjinzhongxu/codes/py/audio/record.pyjinzhongxu/codes/py/pys/mymodule/utils/unzip.pyjinzhongxu/codes/py/pys/mymodule/utils/TimeStamps.pyjinzhongxu/ ...
获取 python 控制台输出
python 打印输出能够非常方便的看到程序运行中一些变量结果,当我们想要将这些变量结果保存到一个文件或者一个变量上时,就需要我们把控制台的输出转存到这些对象上。本篇介绍方法来实现它。
把控制台输出到一个文件123456789import sys# 把控制台输出写入文件 run.logsys.stdout = open("./run.log", 'w')# ...... 这里是程序内容,如很多 print() sys.stdout.close()
把控制台输出到一个变量12345678910111213import sysfrom io import StringIOold_stdout = sys.stdoutsys.stdout = buffer = StringIO()# ...... 这里是程序内容,如很多 print() sys.stdout = old_stdout# 获取结果到变量 resres = buffer.getvalue()
node 包管理器 npm
d7420555dbd47e034be0c72be203a7e3f8438ae95f5024e95fcb27ebdc36b86676573b2feff3f6f28e28010ef602b7bcbcd1cf73bbb330b991930bb340d9104f88c439973cf9320fc7cd758a89393372123c43c2777ef3030c7491b94d280cda05ae886895eb883289d5d8d665844f3c22da452f3e0afaa82917c32dfb919cc25a004a16612bff05c7706187d72c0792b482d59d549d00d04acdaf992f788704714601b4f805dbfb54fb7801c6add5c1092316dfbd30f07a681567f97a362959f9af9b5c08a7bb66067ec136d0b35c989a89e66bc7a6240e4909115deddde04691bfc07360dfdd353700cc53b4a3b9eb7e16aadf47f700a4c ...
wget 下载文件
d7420555dbd47e034be0c72be203a7e30f2a99888b68ac3e95dbc5d8962dade92953db578268002b645c6d36565f6b7435076216cba73ba507c5c0b8db55aca45cc80145106c088bf86bcd118139db1af20796a923992ceac6eb3ea9d3459f633734172559cdf888c0e9e6d8ebe72f44bf927ccffa1a66b6ee0e266b57e1719037992373c5d5eb1f433c604d00065b3b6dfd34c13deb1066f50cb41f1821890f1fdfa8181bb74ab2140decaa0e2e668ce5ae71e3489b9df28187bc1581929d618cb1f8b0620d945174d03f0b19297fa8cc47dd76b39f7e4b8e4abaee4c1bf1ee19456701fc72c87eaeb15546452625e9cc5c571cf8d99dec1 ...
Ubuntu 上编译安装官网 Python
Python 是一种特别优秀的编程语言,截止目前,tiobe 编程语言排行榜 上 Python 已长时间稳居第一。Python 语言使用者大多采用 Anaconda 或 Miniconda,但这些集成安装包采用的并不是最新的 Python 3.11,据官网最新消息: Python 3.11 is between 10-60% faster than Python 3.10. On average, we measured a 1.25x speedup on the standard benchmark suite.. 为了能够使用最新最快的 Python 3.11,本篇介绍如何在 Ubuntu 18 上编译安装 Python.
官网下载安装包官网地址:https://www.python.org/downloads/Python 3.11: https://www.python.org/downloads/release/python-3110/
123sudo apt updatesudo apt install wgetwget https://www.python.org/ ...
安装 Nvidia 显卡驱动后 Ubuntu 桌面分辨率调整
在 Ubuntu 18.04 上手动安装完 Nvidia 显卡驱动后,使用 rustdesk 远程连接发现屏幕分辨率最高只能到 1024x768,无法调整到更高分辨率,视觉效果很差,导致基本无法使用。本篇介绍如何设置使其能够调整到更高分辨率,如 1920x1080 等。所有命令在 rustdesk 连接后的界面中以普通用户运行。
获取显示器信息1234567xrandr# orxrandr --listmonitors# orxrandr --current# or xrandr -q
结果如下
123456Screen 0: minimum 320 x 200, current 1024 x 768, maximum 4096 x 4096VGA-1 connected primary 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 1024x768 60.00 800x600 60.32 56.25 848x480 60.00 ...
Ubuntu 中安装搜狗中文输入法
如果在按照 Ubuntu 系统时选择了英文版本,那么进入系统后无法使用中文输入法。如果只是单纯的想要使用最好用的搜狗中文输入法,请参考本篇在 Ubuntu 中安装 Sogou 输入法的方法。
下载 Sogou 输入法访问官网 搜狗输入法 下载输入法软件。
安装 Sogou 输入法访问官网 安装指南 查看安装搜狗输入法的主要过程。
遇到的问题
sogoupinyin would break fcitx-ui-qimpanel
搜狗拼音安装包中含有 fcitx-ui-qimpanel,与系统已有的fcitx-ui-qimpanel 产生了冲突,所以只需要将 fcitx-ui-qimpanel 卸载即可。
12sudo apt remove fcitx-ui-qimpanel# 然后再安装 sogou**.deb
logout 后,搜狗输入法无法输入中文缺少依赖文件,直接按照下面命令安装
1sudo apt install libqt5qml5 libqt5quick5 libqt5quickwidgets5 qml-module-qtquick2 libgsettings-qt1
...