Linux
# Linux
# 一、常用命令
- 不宕机后台运行程序
nohup /root/anaconda3/envs/py1/bin/python -u /root/code/ex2/main.py $
nohup python -u main.py > nohup.out 2>&1 &
出现[1]25194成功
nohup python server.py > app.log 2>&1 &
1
2
3
4
2
3
4
- 查看当前终端进程信息(exit断开连接后查看不到)
jobs -l
1
- 查看系统所有进程
ps -aux //a:显示终端所有进程;u:以用户为主的格式来显示终端状况;x:显示没有控制终端的进程
---------打印出来的内容----------------
%CPU表示进程占用的CPU百分比
%MEN表示进程占用的内存百分比
STAT进程状态:S睡眠
R运行
s进程领导者,下面有子进程
l多线程
TIME实际使用CPU运行的时间
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
- 查看端口占用
netstat -tunlp 列出所有端口占用
isof -i:8097 查看某个端口
1
2
2
- 远程连接
//本机端口通过隧道转发到远程端口,而本地只有localhost或者127.0.0.1才能使用本机端口
-L 将本地端口映射到远端主机端口 本地端口:目标ip(服务器ip):目标端口
-p 被登录的远程服务端口
ssh -L 8097:localhost:8097 -p 28662 root@region-41.autodl.com
1
2
3
4
2
3
4
- 杀死某个进程
kill -9 25194(进程号)
1
- 查看nohup.out文件内容(程序输出)
tail -fn 50 nohup.out 显示最后50行
-f持续动态读取 -n读取尾部n行数据
1
2
2
- 显示显卡使用情况
nvidia-smi
1
- 回到根目录
cd /
1
- 回到上一级目录
cd ..
1
- 查看当前工作目录
pwd
1
- 更新配置文件
source ~/.bashrc
1
# 二、目录命令
- Linux中./代表当前目录,/代表根目录
more/cat命令查看文件
more /etc/profile
cat /etc/profile
1
2
2
创建多层目录 -p
mkdir -p a/b/c
1
删除
rm -r file/ 删除名为file的目录和目录中的所有文件,删除前会确认
rm -rf /*
1
2
2
拷贝复制
cp 源 目的
1
拷贝移动命令mv
mv 源 目标
1
打包压缩命令:
一般linux文件压缩包的解压:
tar -zxvf
1
.zip格式压缩包的解压,-o表示覆盖文件,-d表示指明文件的压缩位置:
unzip xx.zip
unzip -o -d /root/ xx.zip
1
2
2
.tar表示只进行了打包,.tar.gz表示打包同时还进行了压缩
-z表示通过gzip对文件压缩或者解压(解压只能用于解压.tar.gz)
-c表示打包
-x还原.tar文件
-f表示指定文件名称
tar -zcxvf 指定包文件名称 打包文件名
tar -zcvf test.tar.gz ...打压缩包
----------------zxvf解压缩包-----------
-cvf打包
-xvf解包
1
2
3
4
5
2
3
4
5
文本编辑命令vim
yum install vim安装vim
在命令模式按下i插入模式,插入模式可以对文件内容进行编辑。按ESC回到命令模式
命令模式按下:进入底行模式,输入wq保存并退出
1
2
3
2
3
查找命令find grep
后台不挂断运行jar包
nohup java -jar reggie.jar &> hello.log &
1
查找后台挂起进程
ps -ef | grep java
1
# 三、坑
- 运行windows编写的shell(.sh)脚本时,出错
one-more.sh: line 1: $'\r': command not found
1
原因:shell脚本在windows编写时行结尾是\r\n,而在linux中行结尾是\n,因此会认为\r是字符运行错误
解决方法:去除shell脚本\r字符
sed -i 's/\r//' one-more.sh
1
2
2
- OSError: [Errno 98] Address already in use端口被占用
解决方法:先用isof -i:查看对应端口占用情况
然后kill杀死进程空出端口
1
2
2
- 本地查看访问远程服务器visdom应用
解决方法:本地需要建立SSH连接映射端口
服务器先启服务端 python -m visdom.server
本机映射端口ssh -L 8097:localhost:8097 -p 28662 root@region-41.autodl.com,并登录服务器密码
1
2
3
2
3
编辑 (opens new window)
上次更新: 2023/12/15, 15:49:57