vim

"vim"

Posted by zwt on August 11, 2020

nohup

实现后台运行指令不挂起。

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
nohup test.sh & 表示在后台执行test.sh脚本
输出appending output to nohup.out表示运行成功,这时再当前目录下可以看到生成nohup.out文件。如果需要停止运行,需要先查找pid
pid的查找:ps -aux | grep "test.sh"
杀死进程:kill PID

nohup test.sh > test.lod 2>&1 &   表示运行test脚本并重定向输入到test.log文件
2>&1 表示:将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 test.log 文件中。
0 – stdin (standard input,标准输入)
1 – stdout (standard output,标准输出)
2 – stderr (standard error,标准错误输出)

nohup python -u Job.py > log.file 2>&1 &
-u是为了可以用tail -f log.file实时查看日志

jobs -l 在当前终端查看进程,关闭后新打开的终端无效

vim操作

1
2
3
4
5
6
7
8
9
10
11
进入vim后按i进入插入模式
:q 退出
:wq 保存退出
:w 保存
:w! 强制保存
:q! 强制退出
:wq! 强制保存退出
G 跳转到最后一行
gg 第一行的第一个字符
:/name:表示搜索name这个字符
设置行号 :set nu

杀进程

1
2
3
4
kill id:杀死进程
kill -KILL id:强制杀死进程
kill -9 id:彻底杀死进程
kill -u username :杀死指定用户所有进程

ubuntu18.04LTS设置静态IP

因为Ubuntu18.04采用的是netplan来管理network。所以可以在/etc/netplan/目录下创建 一个以yaml结尾的文件。比如01-netplan.yaml文件。 然后在此文件下写入以下配置:

1
2
3
4
5
6
7
8
9
10
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: no
      addresses: [192.168.1.110/24]
      gateway4:  192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 114.114.114.114]

特别要注意的是这里的每一行的空格一定要有的,否则会报错误而设置失败!

最后使用sudo netplan apply来重启网络服务就可以了。使用ip a查看你的静态IP是否设置成功了!

创建用户

sudo su 获取root权限 新建用户:

1
2
3
4
5
6
切换到root权限
useradd -d /home/zwt zwt
passwd zwt
mkdir -p /home/zwt
chown zwt:zwt /home/zwt
su zwt  输入密码

创建用户:

sudo useradd -m username -d /home/username -s /bin/bash

sudo useradd deployer

创建用户设置密码:

sudo passwd username

sudo passwd deployer

修改用户权限:

  • sudo chmod +w /etc/sudoers
  • sudo vim /etc/sudoers
  • 添加 username ALL = (ALL:ALL) ALL
  • sudo chmod -w /etc/sudoers

删除用户:

  • sudo userdel username
  • sudo rm -rf /home/username
  • 删除在sudoers下为用户的配置
  • 彻底删除用户残余信息 cd /home
    rm -rf username

  • cat /etc/passwd # 删除/etc/passwd下的用户
  • cat /etc/group #删除/etc/group的用户组文件

  • cd /var/spool/mail #删除/var/spool/mail 下的邮箱文件
  • rm -rf username

xhsell下文件的传输

1
2
3
4
安装 sudo apt-get install lrzsz
上传文件 rz
下载文件 sz
文件传输大小不能超过4G

将普通用户加入到root权限

1
2
3
在root用户下vim /etc/sudoers
添加username ALL=(ALL:ALL) ALL
wq!  强制保存推出

其他命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
1.du -hs 文件名  查看文件大小
2.zip filename.zip filename   压缩文件  压缩当前的文件夹 zip -r ./xahot.zip ./* -r表示递归
3.tar -zcvf .tar.gz name 
3.unzip filenam.zip  解压缩
4.netstat -anp | grep 22  查看端口占用情况
5.ps -aux | grep java  查看进程信息
6.ls -l /proc/pid  查看运行程序的绝对路径
7.fuser -v /dev/nvidia* 查看显存占用
8.ssh -p 6000 服务器用户名@localhost
9.解压到当前文件夹:tar zxvf  文件名.tgz -C ./ 
10.解压到指定文件夹下 tar  zxvf  文件名.tgz  -C /指定路径 
11.查看端口占用:lsof -i:端口号
12.查看文件行数wc -l temp.txt 
13.查看cpu核数:cat /proc/cpuinfo
14.cp -i 原文件 目的路径/重命名文件
15.cat /proc/version  查看当前操作系统版本信息
16.cat /etc/issue 或 cat /etc/centos-release 查看版本当前操作系统发行信息
17.cat /etc/cpuinfo 查看cpu相关信息,包括型号、主频、内核信息等
18.查看文件的300-500行:sed -n '300,500p' file1
19.echo $JAVA_HOME
20.wc -l d.txt 查看文件行数
21.crontab -l 查看crontab任务
22.stat 文件名 文件的创建修改时间
23.killall -u username 杀死当前用户的所有进程
24.lsof -i:port 查看占用端口的进程号
25.killall -u username
26.清除缓存:sync
echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches
27.kill $(lsof -i:8998|awk '{if(NR==2)print $2}')
28.split -l 100 3.txt new  拆分文件
29.n=1; for f in new*; do mv $f new$n.txt; ((n+=1)); done 批量修改后缀
30.ssh -p port user@ip -L127.0.0.1:8881:127.0.0.1:8881  

一点问题

升级gcc碰到问题:ModuleNotFoundError: No module named ‘softwareproperties’

1
sudo vim /usr/bin/add-apt-respository   sudo vim /usr/bin/add-apt-respository

shell脚本遇到问题”$’\r’: command not found”

1
2
3
sudo apt-get install tofrodos
todos Hello.txt (即unix2dos Hello.txt) 
fromdos Hello.txt (即dos2unix Hello.txt)