Linux常用命令

nohup

nohup python main.py >log.out 2>&1 &

其中:
nohup 表示进程在当用户注销(logout)或者网络断开时不会被终止。
log 是保存输出的文件名称;
2>&1 表示不仅命令行正常的输出保存到log中,产生错误信息的输出也保存到log文件中;
& 表示该进程在后台运行;
注意:这里若不指定输出日志文件,缺省地会输出到nohup.out文件中

screen

使用screen,首先创建一个断开模式的虚拟终端,然后用-r选项重新连接这个虚拟终端,在其中执行的任何命令,都能达到nohup的效果,这在有多个命令需要在后台连续执行的时候比较方便。

GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换,可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。

yum install screen -y

常用screen参数:
screen -S docker-d 新建一个名叫docker-d的session,并马上进入
screen -dmS docker-d 新建一个名叫docker-d的session,但暂不进入,可用于系统启动脚本里
screen -ls 列出当前所有session
screen -r docker-d 恢复到zhouxiao这个session,前提是已经是断开状态(-d可以远程断开会话)
screen -x docker-d 连接到离线模式的会话(多窗口同步演示)
screen ./rsync.sh screen创建一个执行脚本的单窗口会话,可以attach进程ID
screen -wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业
正常情况下,当你退出一个窗口中最后一个程序(通常是bash)后,这个窗口就关闭了。另一个关闭窗口的方法是使用C-a k,这个快捷键杀死当前的窗口,同时也将杀死这个窗口中正在运行的进程。

在每个screen session 下,所有命令都以 ctrl+a(C-a) 开始。
C-a w 显示所有窗口列表
C-a k 这个快捷键杀死当前的窗口,同时也将杀死这个窗口中正在运行的进程。
C-a d detach,暂时离开当前session
上面只是基本也是最常用的用法,更多请参考man screen或Linux screen 命令详解。需要了解的是,一个用户创建的screen,其他用户(甚至root)通过screen -ls是看不见的。另外,Ctrl+a在bash下是用来回到行开头,不幸与上面的组合快捷键冲突。

查看内存占用情况

# 内存占用最大的10个进程
ps -aux | sort -k4nr | head -n 10

# GPU使用
watch -n 1 nvidia-smi   #实时显示,配合watch命令, 让一秒刷新一次

fuser -v /dev/nvidia* #查找占用GPU资源的PID

sudo kill -9 ***(PID)  # 解除显存占用

ps aux|grep user_name|grep python   所有该用户下的python程序就会显示出来

# 其他linux命令:
find DrumTower_Anno_Reg/ -name "heatmap.mha"|wc

# 根据进程编号查看程序位置:
# 方法一:
pwdx  PID
# 方法二:
ll /proc/PID/cwd

CPU查看

总核数 = 物理CPU个数 X 每颗物理CPU的核数
总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

#查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

#查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq

#查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc –l

改变进程优先级

Linux系统进程的优先级取值:-20 到 19,数越大优先级越低。可以通过top命令来查看,NI那一列。
改变进程的优先级的方法有两种:
1,top命令。输入r,然后根据提示输入进程ID,再输入优先级数值。
2,renice命令。renice -n 2 -p 3432。-n,后面是优先级的值;-p,是进程号。

跨服务器传输数据

scp -r name1@10.6.208.100:/home/detection.zip /data/ && unzip /data/detection.zip

创建用户

# 1、新建用户user1
sudo useradd -r -m -s /bin/bash user1

# 2、设置user1的密码
sudo passwd user1

文件计数

# 统计当前目录下文件的个数(不包括目录)
$ ls -l | grep "^-" | wc –l

# 统计当前目录下文件的个数(包括子目录)
$ ls -lR| grep "^-" | wc –l

# 查看某目录下文件夹(目录)的个数(包括子目录)
$ ls -lR | grep "^d" | wc -l

批量删除含有指定字符文件

find . -name "*abc*"|xargs rm -rfv

复制部分文件到tmp下

ls |head -n 10000 |xargs -i cp {} /tmp        #复制前一万个文件到 tmp 下
ls |tail -n 10000 |xargs -i cp {} /tmp        #复制后一万个文件到 tmp 下

文件搜索

1.find命令

find / -name mysql	                //在根目录下按名字查找文件夹名叫mysql的文件夹
find /usr/local/mysql -name \*.bin	//在目录“/usr/local/mysql”中搜索以.bin结尾的所有文件

2.locate命令

locate \*.log	//查找后缀为.log的文件
locate /etc/my	//搜索etc目录下所有以my开头的文件

注意:locate命令要比find -name快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/mlocate/mlocate.db 。为了避免mlocate.db数据库因为更新操作(如添加修改删除)没来得及更新,在使用该命令前应执行一次“updatedb”。

3.whereis命令

whereis python	显示python的位置

Conda虚拟环境

1、conda常用的命令。
1)conda list 查看安装了哪些包。
2)conda env list 或 conda info -e 查看当前存在哪些虚拟环境
3)conda update conda 检查更新当前conda
2、创建Python虚拟环境。
使用 conda create -n your_env_name python=X.X(2.7、3.6等) anaconda 命令创建python版本为X.X、名字为your_env_name的虚拟环境。your_env_name文件可以在Anaconda安装目录envs文件下找到。

# 指定python版本为2.7,注意至少需要指定python版本或者要安装的包# 后一种情况下,自动安装最新python版本
conda create -n env_name python=2.7
# 同时安装必要的包
conda create -n env_name numpy matplotlib python=2.7

3、使用激活(或切换不同python版本)的虚拟环境。
打开命令行输入python --version可以检查当前python的版本。
使用如下命令即可 激活你的虚拟环境(即将python的版本改变)。
Linux: source activate your_env_name(虚拟环境名称)
Windows: activate your_env_name(虚拟环境名称)
这是再使用python --version可以检查当前python版本是否为想要的。
4、对虚拟环境中安装额外的包。
使用命令conda install -n your_env_name [package]即可安装package到your_env_name中
5、关闭虚拟环境(即从当前环境退出返回使用PATH环境中的默认python版本)。
使用如下命令即可。
deactivate env_name,也可以使用activate root切回root环境
Linux下使用 source deactivate
6、删除虚拟环境。
移除环境
使用命令conda remove -n your_env_name(虚拟环境名称) --all, 即可删除。
删除环境中的某个包。
使用命令conda remove --name $your_env_name $package_name 即可。
8、设置国内镜像
如果需要安装很多packages,你会发现conda下载的速度经常很慢,因为Anaconda.org的服务器在国外。所幸的是,清华TUNA镜像源有Anaconda仓库的镜像,我们将其加入conda的配置即可:

添加Anaconda的TUNA镜像

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
# TUNA的help中镜像地址加有引号,需要去掉
# 设置搜索时显示通道地址
conda config --set show_channel_urls yes
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值