User Tools

Site Tools


linux常用操作

添加用户

Ubuntu下添加用户

sudo adduser <username>

设置用户密码

passwd <username>

为用户添加sudo权限

# 使用root用户执行下面的命令
# wheel是具有sudo权限的用户组
usermod -aG wheel <username>
# 对于Ubuntu,使用下面的命令
usermod -aG sudo <username>

通过mailx命令行发送邮件

ubuntu下需要安装heirloom-mailx,centos需要安装mailx,然后通过smtp协议连接邮箱发邮件。详见:https://www.binarytides.com/linux-mailx-command/和https://www.systutorials.com/1411/sending-email-from-mailx-command-in-linux-using-gmails-smtp/。

其中,尝试ssl协议发送邮件没有成功(提示Unexpected EOF of SMTP connection),建议不启用ssl。

具体过程:

apt install heirloom-mailx
# 发送邮件到zhangsan@test.com
echo "<content>" | mailx -s "<subject>" zhangsan@test.com

使用mailx前需要配置~/.mailrc(没有这个文件新建一个就行了)如下:

set smtp=smtp://smtp.163.com:25
set smtp-auth=login
set smtp-auth-user=<your_email_address>
set smtp-auth-password=<your_email_password>
set from=<your_email_address>

检测磁盘使用率并通过邮件提醒

新建df_notification.sh,内容如下:

#!/usr/bin/env bash
CURRENT=$(df / | grep / | awk '{print $5}' | sed 's/%//g')
THRESHOLD=95
 
if [ "$CURRENT" -gt "$THRESHOLD" ] ; then
  echo "服务器/磁盘空间超$THRESHOLD" | mailx -s "Disk Space Alert" ahaqxjl@163.com
fi

Ubuntu增加虚拟内存(添加Swap空间)

在Ubuntu server 16.04 64bit测试通过。参考How To Add Swap Space on Ubuntu 16.04

#如果下面的命令没有返回任何结果,则没有启用swap空间
sudo swapon --show
#查看内存情况
free -h
#确认是否有足够的磁盘空间
df -h
#创建swap文件,下面的例子是创建8g的swap文件
sudo fallocate -l 8G /swapfile
#修改swap文件的权限
sudo chmod 600 /swapfile
#将swap文件标记为swap空间
sudo mkswap /swapfile
#启用swap文件
sudo swapon /swapfile
#确认swap启用成功,执行下面的命令后应该有返回
sudo swapon --show
#通过free再次确认swap启用成功
free -h
#开机挂载swap
sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

清空Linux服务器过期日志

# 找到修改时间7天前的日志文件,并删除
find tomcat/logs/ -mtime +7 -print0 | xargs -r -0 rm -rf

Linux文件查找截取等操作

文件或文件夹下查找字符串

grep -rnw '/path/to/somewhere/' -e 'pattern'
cat 'filename' | grep 'pattern'

行区间截取文件内容

sed -n '15010,15020p' input.txt> output.txt
awk '15010<=NR && NR <=15020' input.txt> output.txt
head -n 15020 input.txt | tail -n $((15020-15010+1))> output.txt

提取行尾数字小于20的行

| grep ' [1-9]$\|1.$'

复制文件夹结构(不包含文件)

详见:Copy Directory Structure Without Files

find rootDir -type d -exec mkdir -p "/tmp/test/{}" \;
linux常用操作.txt · Last modified: 2023/03/08 16:09 by xujianglong