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)