User Tools

Site Tools


linux常用操作

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
linux常用操作 [2018/01/19 14:39]
jordan 创建
linux常用操作 [2023/03/08 16:09] (current)
xujianglong ↷ Page moved from 内部资料:linux常用操作 to linux常用操作
Line 1: Line 1:
-# 为用户添加sudo权限+====== 添加用户 ======
  
-```bash+Ubuntu下添加用户 
 + 
 +<code bash
 +sudo adduser <username> 
 + 
 +</code> 
 + 
 +====== 设置用户密码 ====== 
 + 
 +<code bash> 
 +passwd <username> 
 + 
 +</code> 
 + 
 +====== 为用户添加sudo权限 ====== 
 + 
 +<code bash>
 # 使用root用户执行下面的命令 # 使用root用户执行下面的命令
 # wheel是具有sudo权限的用户组 # wheel是具有sudo权限的用户组
 usermod -aG wheel <username> usermod -aG wheel <username>
-```+# 对于Ubuntu,使用下面的命令 
 +usermod -aG sudo <username> 
 + 
 +</code> 
 + 
 +====== 通过mailx命令行发送邮件 ====== 
 + 
 +ubuntu下需要安装heirloom-mailx,centos需要安装mailx,然后通过smtp协议连接邮箱发邮件。详见:https:<nowiki>//</nowiki>www.binarytides.com/linux-mailx-command/和https:<nowiki>//</nowiki>www.systutorials.com/1411/sending-email-from-mailx-command-in-linux-using-gmails-smtp/。 
 + 
 +其中,尝试ssl协议发送邮件没有成功(提示Unexpected EOF of SMTP connection),建议不启用ssl。 
 + 
 +具体过程: 
 + 
 +<code bash> 
 +apt install heirloom-mailx 
 +# 发送邮件到zhangsan@test.com 
 +echo "<content>" | mailx -s "<subject>" zhangsan@test.com 
 + 
 +</code> 
 + 
 +使用mailx前需要配置~/.mailrc(没有这个文件新建一个就行了)如下: 
 +<code> 
 + 
 +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> 
 + 
 +</code> 
 + 
 +===== 检测磁盘使用率并通过邮件提醒 ===== 
 + 
 +新建df_notification.sh,内容如下: 
 + 
 +<code bash> 
 +#!/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 
 + 
 + 
 +</code> 
 + 
 +====== Ubuntu增加虚拟内存(添加Swap空间) ====== 
 + 
 +在Ubuntu server 16.04 64bit测试通过。参考[[https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04|How To Add Swap Space on Ubuntu 16.04]] 
 + 
 +<code bash> 
 +#如果下面的命令没有返回任何结果,则没有启用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 
 + 
 +</code> 
 + 
 +====== 清空Linux服务器过期日志 ====== 
 + 
 +<code bash> 
 +# 找到修改时间7天前的日志文件,并删除 
 +find tomcat/logs/ -mtime +7 -print0 | xargs -r -0 rm -rf 
 + 
 +</code> 
 + 
 +====== Linux文件查找截取等操作 ====== 
 + 
 +===== 文件或文件夹下查找字符串 ===== 
 +<code> 
 + 
 +grep -rnw '/path/to/somewhere/' -e 'pattern' 
 +cat 'filename' | grep 'pattern' 
 + 
 +</code> 
 + 
 +===== 行区间截取文件内容 ===== 
 +<code> 
 + 
 +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 
 + 
 +</code> 
 + 
 +====== 提取行尾数字小于20的行 ====== 
 + 
 +<code bash> 
 +| grep ' [1-9]$\|1.$' 
 + 
 + 
 +</code> 
 + 
 + 
 +====== 复制文件夹结构(不包含文件) ====== 
 + 
 +详见:[[https://www.baeldung.com/linux/copy-directory-structure|Copy Directory Structure Without Files]] 
 +<code bash> 
 + 
 +find rootDir -type d -exec mkdir -p "/tmp/test/{}" \; 
 + 
 +</code> 
 + 
linux常用操作.1516343996.txt.gz · Last modified: 2021/02/10 21:29 (external edit)