Linux常用指令

深度学习
添加conda的镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

创建虚拟环境
conda create –n name python=3.5

激活虚拟环境
source activate name

退出虚拟环境
source deactivate

查找conda package信息
conda search numpy

查看当前存在哪些虚拟环境
conda env list 或 conda info -e 

查看所有的环境变量
env

删除虚拟环境。
conda env remove -n 虚拟环境名称

每次更改 ~/.bashrc文件 要激活
Source ~/.bashrc

编译   make clean
Make -j 6

强制结束进程
kill -9 进程号

不挂断的运行 日志nohup.out 文件中 退出 不会影响运行 
要定时清理nohup.out 文件中的日志 避免太大
nohub your_command (符号&使程序在后台运行)
kill -9 your_command_pid (根据进程号关闭程序)

后台运行 但当用户推出(挂起)的时候,命令自动也跟着退出
& 
也能 nohub 跟 & 何用 功能上就是叠加 nohub command &

Env 查看 环境变量

Echo $ 变量名 eg: PATH 或者PYTHONPATH

查看具体ID
ps aux|grep (pid) 

系统配置/GPU
查看内核/操作系统/CPU信息
uname -a

查看位数 32 or 64
uname -m

查看物理cpu个数
grep 'physical id' /proc/cpuinfo | sort -u

查看核心数量
grep 'core id' /proc/cpuinfo | sort -u | wc -l

查看线程数
grep 'processor' /proc/cpuinfo | sort -u | wc -l

查看磁盘分区等
lsblk

查看CPU
cat /proc/cpuinfo
 
查看个磁盘分区的使用
df -h

查看进程
ps -ef 	查看所有进程
top	实时显示进程状态

查看CUDA
nvcc -V 		nvcc --version
出现 nvcc not found 
查看/usr/local/cuda/bin下是否有nvcc可执行程序,如果没有说明cuda没有正常安装,需要重新安装,如果有,添加环境变量,打开~/.bashrc ,添加环境变量export PATH=$PATH:/usr/local/cuda/bin

实时查看GPU显卡
watch -n 0.01 nvidia-smi

查看CUDA版本:
cat /usr/local/cuda/version.txt

查看CUDNN版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

关闭开启 图形化界面  命令行是ctrl alt f1  图形化界面 换成f7
关闭 sudo service lightdm stop 
开启 sudo service lightdm start

配置静态IP
sudo vim /etc/network/interfaces 
BW 网址
address 169.254.43.22
netmask 255.255.0.0
gateway 169.254.43.2
dns-nameserver 8.8.8.8

重启网卡
sudo /etc/init.d/networking restart 

设置一次性网址
Ifconfig eth0(网卡名) 169.254.66.66 (地址)

配置DNS
vim /etc/resolvconf/resolv.conf.d/base
DNS修改如下文件,默认是空的,在里面加入DNS服务器,一行一个
nameserver 180.76.76.76          # 百度DNS
nameserver 223.5.5.5             # 阿里DNS
保存后执行: 
/sbin/resolvconf -u		或者	etc/init.d/resolvconf restart

查看DNS
cat /etc/resolv.conf

网络OK了,不能SSH远程连接,检查sshd服务
ps -e|grep ssh
apt-get install openssh-sever

启动ssh
/etc/init.d/ssh start
netstat -tlp

用户权限
只能root登陆 
在/etc 下面创建文件 touch nologin 
文件里面内容 可以自己写 就是用户登陆上失败的提示信息
这是 禁止所有用户 只需要把nologin 改成nologin.txt
txt 针对个别用户 禁止

强制用户退出 配合禁止用户使用更佳
sudo pkill -u username

ssh nvidia@192.168.1.131 ssh协议连接
su name 切换用户 su - 不仅切换用户 还把用户环境变量传过去
sudo passwd root 设置用户密码
who         #查看当前系统中有哪些人登录
whoami      #查看我是谁
w           #查看活动用户
id username #查看指定用户信息 
last        #查看用户登录日志
cut -d: -f 1 /etc/passwd  #查看系统所有用户
cut -d: -f 1 /etc/group   #查看系统所有组
crontab -l  #查看当前用户的计划任务

给用户添加sudo权限
vim /etc/sudoers
在root ALL=(ALL:ALL) ALL 下复制一个 root名字改了
  


用户管理
临时关闭用户登录
方法一
vim /etc/shadow文件中属于该用户的行的第二个字段(密码)前面加上*就可以了。想恢复该用户,去掉*即可。
方法二
使用命令关闭用户账号:
passwd web –l
重新释放:
passwd web –u


添加用户 这种添加 三无 无home directory 无密码 无系统shell
useradd zgs
添加完 要随手设置密码 不然 用户不可用 
passwd zgs
删除用户 
userdel zgs

这下面又是一套组合 不要参着用
useradd -r -m -s /bin/bash zgs
passwd zgs

userdel 删除用户账户
语  法:userdel [-r][用户名称]
补充说明:userdel可删除用户帐号与相关的文件。若不加参数,则仅删除用户帐号,而不删除相关文件。
参  数:
  -f  删除用户登入目录以及目录中所有文件 

要是用上面的userdel 删不干净 
userdel -rf zgs 

修改用户名
sudo gedit /etc/passwd 找到行开头的名字改了

查看所有用户和用户组
cat /etc/passwd 		cat /etc/group 

查看组
Id username

TX2 给用户附加使用GPU权限
Usermod username -G video




使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中
参  数:
 -c<备注>  加上备注文字。备注文字会保存在passwd的备注栏位中。  
 -d<登入目录>  指定用户登入时的启始目录。 
 -D  变更预设值. 
 -e<有效期限>  指定帐号的有效期限。 
 -f<缓冲天数>  指定在密码过期后多少天即关闭该帐号。 
 -g<群组>  指定用户所属的群组。 
 -G<群组>  指定用户所属的附加群组。 
 -m  自动建立用户的登入目录。 
 -M  不要自动建立用户的登入目录。 
 -n  取消建立以用户名称为名的群组. 
 -r  建立系统帐号。 
 -s<shell>   指定用户登入后所使用的shell。 
 -u<uid>  指定用户ID。 用户的缺省UID从500向后顺序增加,500以下作为系统保留账号

语  法:
useradd [-mMnr][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-s <shell>][-u <uid>][用户名称]

uid:用户账号ID

usermod 修改账户
语  法:
usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s <shell>][-u <uid>][用户名称]

usermod可用来修改用户帐号的各项设定。

参  数:
 -c<备注>  修改用户帐号的备注文字。 
 -d登入目录>  修改用户登入时的目录。 
 -e<有效期限>  修改帐号的有效期限。 
 -f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。 
 -g<群组>  修改用户所属的群组。 
 -G<群组>  修改用户所属的附加群组。 
 -l<帐号名称>  修改用户帐号名称。 
 -L  锁定用户密码,使密码无效。 
 -s<shell>  修改用户登入后所使用的shell。 
 -u<uid>  修改用户ID。 
 -U  解除密码锁定。 

id 显示用户的ID,以及所属群组的ID
语  法:id [-gGnru][--help][--version][用户名称]

id会显示用户以及所属群组的实际与有效ID。
若两个ID相同,则仅显示实际ID。
若仅指定用户名称,则显示目前用户的ID。

参  数:
 -g或--group  显示用户所属群组的ID(GID)。 
 -G或--groups  显示用户所属附加群组的ID(GID)。 
 -n或--name  显示用户,所属群组或附加群组的名称。 
 -r或--real  显示实际ID。 
 -u或--user  显示用户ID。 
 -help  显示帮助。 
 -version  显示版本信息。 

用户组管理
创建用户组
groupadd –g 888 users 	创建一个组users,其GID为888

 在组中添加用户
需要有root和组管理员权限才能够改变组的成员:
例:
把 user1 加入users组 
	gpasswd –a user1 users 
	把 user1退出users组 
	gpasswd –d user1 users

更改群组识别码或名称
语  法:groupmod [-g <群组识别码> <-o>][-n <新群组名称>][群组名称]

参  数:
 -g <群组识别码>  设置欲使用的群组识别码。 
 -o  重复使用群组识别码。 
 -n <新群组名称>  设置欲使用的群组名称。   
eg:
groupmod –n user users 修改组名user为users

groupdel删除组

语  法: 
groupdel [群组名称] 

一般命令规范是:
指令名称 -参数 <参数值> 操作对象
也可写成 :
指令名称 [-参数 <参数值>] [操作对象]


基础操作

下载单个文件 
wget 后面跟网址
当你执行wget的时候,它默认会占用全部可能的宽带下载。但是当你准备下载一个大文件,而你还需要下载其它文件时就有必要限速了	
wget –limit -rate限速下载 
wget –limit-rate=300k	后面跟网址
wget -b后台下载 
对于下载非常大的文件的时候,我们可以使用参数-b进行后台下载

Chmod 更改权限
u 表示拥有者,g 表示与拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是
+ 表示增加权限 - 表示取消权限 = 表示唯一设定权限 
r 表示可读取,w 表示可写入,x 表示可执行	r=4,w=2,x=1
eg:chmod ugo+r file1.txt 等同于 chmod a+r file1.txt 
eg:	chmod a=rwx file和 chmod 777 file  效果相同  705 自己读写执行 组 0 其他读执行

安装.sh文件
Eg:	bash Anacondaxxxxx.bash -p PATH -u

重命名/移动文件或文件夹
eg:将目录A重命名为B	
mv A B
eg:将/a目录移动到/b下,并重命名为cll
mv /a /b/c

建立软连接
ln -s 源地址(复制哪的) 目标地址(复制到哪)
Eg: ln -s /home/Data_set/Traffic_100_xml  /home/zgs/DataSet

查看
ls -hlt

计算文件大小
du -lhd1

压缩跟解压
sudo apt install unzip 安装zip

Zip
-q     安静模式,在压缩的时候不显示指令的执行过程 
-r     将指定的目录下的所有子目录以及文件一起处理 
将/home/zhanggs/data/ 这个目录下所有文件和文件夹打包为当前目录下的html.zip  
zip –q –r   html.zip /home/zhanggs/data/

下面是如果解压一个zip文档:
 # unzip -q archive_name.zip

TAR Tar是在Linux中使用得非常广泛的文档打包格式。它的好处就是它只消耗非常少的CPU以及时间去打包文件,他仅仅只是一个打包工具,并不负责压缩。
打包一个目录:
 # tar -cvf archive_name.tar directory_to_compress 
如何解包: 
# tar -xvf archive_name.tar.gz 
上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来捏住解包的路径:
 # tar -xvf archive_name.tar -C /tmp/extract_here/

 TAR.GZ 这种格式是我使用得最多的压缩格式。它在压缩时不会占用太多CPU的,而且可以得到一个非常理想的压缩率。
压缩一个目录: 
# tar -zcvf archive_name.tar.gz directory_to_compress 
解压缩: 
# tar -zxvf archive_name.tar.gz 
上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来捏住解包的路径: 
# tar -zxvf archive_name.tar.gz -C /tmp/extract_here/ 
VIM操作	
u 撤销
Ctrl + r 撤销撤销


set ff=unix ,就是告诉 vi 编辑器,使用unix换行符
查找字符 命令模式下 /String





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值