Ubuntu常用命令手册【自用】
目录
1. 杂项
1. 删除进程中包含"smb"字段的所有进程
sudo kill -9 $(ps -aux | grep smb | awk '{print $2}')
2. 查看最近登录的ip
cat /var/log/audit/audit.log | grep sshd | grep -v "hostname=?" | grep -Eo "hostname=([0-9]{1,3}[\.]){3}[0-9]{1,3}" | awk -F '=' '{print $2}'| awk '!a[$0]++'
2. xargs
接受一个字符串作为命令参数使用。
正常条件下:命令参数 > 标准输入参数
-d 分隔符,默认是空格分隔,可以指定分隔符,例如 -d ‘@’
-n 分成n组执行,例如10个参数分成4组执行等等。
参考:xargs命令详解,xargs与管道的区别
ps -aux | grep smb | awk '{print $s}'|xargs kill -9
3. awk
$NF 输出最后一列
$1 输出第1列,可换
$2==? && $3=="?" 某一列等于数字 and 某一列等于字符串(&& ||)
# 查看最后一列
ps -aux | awk '{print $NF}'
# 查看七月30或31日,某几列的日志
awk '($2==31||$2==30) && $3=="Jul" {print $2,$3,$16,$17}' update_db.log
4. find
根据文件的属性进行查找
如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间
更多参数:
!:不等于
-and(-a) :和
-or(-o) :或
# 查找etc目录下名称包含srm的文件,通配符可自定义
find /etc -name '*srm*'
5. grep
根据文件的内容进行查找
对文件的每一行按照给定的模式(patter)进行匹配查找
主要参数:
-c:只输出匹配行的计数。
-i:不区分大小写
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
正则表达式主要参数:
\: 转义,忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$: 匹配正则表达式的结束行。
<:从匹配正则表达 式的行开始。
>:到匹配正则表达式的行结束。
[ ]:单个字符,如[A]即A符合要求 。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
. :所有的单个字符。
* :有字符,长度可以为0。
(1)grep 'test' d* #显示所有以d开头的文件中包含 test的行
(2)grep 'test' aa bb cc #显示在aa,bb,cc文件中包含test的行
(3)grep '[a-z]\{5\}' aa #显示所有包含每行字符串至少有5个连续小写字符的字符串的行
(4)grep magic /usr/src #显示/usr/src目录下的文件(不含子目录)包含magic的行
(5)grep -r magic /usr/src #显示/usr/src目录下的文件(包含子目录)包含magic的行
(6)grep -w pattern files #只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),
参考链接:Linux 文本三剑客之 - grep 文本搜索工具
参考链接:Linux下的find文件查找命令与grep文件内容查找命令
6. sed
参考链接:Linux 文本三剑客之 - sed 字节流编辑器
7. timedatectl
用来修改Linux的系统时间、硬件时间和时区。官方解释如下:
timedatectl [OPTIONS...] COMMAND ...
Query or change system time and date settings.
查询或更改系统时间和日期设置。
-h --help Show this help message
--version Show package version
--no-pager Do not pipe output into a pager
--no-ask-password Do not prompt for password
-H --host=[USER@]HOST Operate on remote host
-M --machine=CONTAINER Operate on local container
--adjust-system-clock Adjust system clock when changing local RTC mode
Commands<命令>:
status Show current time settings
set-time TIME Set system time
set-timezone ZONE Set system time zone
list-timezones Show known time zones
set-local-rtc BOOL Control whether RTC is in local time
set-ntp BOOL Enable or disable network time synchronization