深度学习
添加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
Linux常用指令
最新推荐文章于 2024-04-06 17:30:41 发布