Ubuntu 服务器常用命令
ssh-key登录服务器
- 首先检查服务器是否按照openssh服务以及是否开启了ssh登录
- 在本机安装git
- git命令行下:ssh-keygen
- ssh-copy-id username@remote_host
Conda操作
conda create -n py3 python=3.5 numpy pandas 创建环境 conda env remove -n py3 删除环境 conda env export > environment.yaml 备份环境1 conda env create -f environment.yaml 恢复环境1 conda list -e > requirements.txt 备份环境2 conda install --yes --file requirements.txt 恢复环境2
DOCKER基础环境安装
apt-get update; sudo apt-get install --no-install-recommends make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev apt-get install -y gcc make zlib1g-dev libreadline-dev libreadline8 sqlite3 libsqlite3-dev libbz2-dev python-tk python3-tk tk-dev
解决命令行中文乱码
在 /etc/bash.bashrc 末尾写入: export LC_ALL="C.UTF-8" 然后: source /etc/bash.bashrc
查看目录容量
du -sh
: 查看当前目录总共占的容量。而不单独列出各子项占用的容量
du -lh --max-depth=1
: 查看当前目录下一级子文件和子目录占用的磁盘容量。
df -hl
查看已挂载硬盘的大小与剩余容量
用户
- 添加用户
adduser username
- 删除用户
deluser username
deluser --remove-home username
- 修改用户密码
sudo passwd username
- 设置sudo权限
sudo vim /etc/sudoers
修改如下:
username ALL=(ALL) ALL
- 添加用户组
groupadd groupname
- 添加用户进组
adduser username groupname
Jupyter 去除.ipycheckpoint
修改 ~/.jupyter/jupyter_notebook_config.json, 加入checkpoint_dir,如果为""则表示去除
如果没有config,使用jupyter notebook --generate-config
生成
{ "NotebookApp": { "password": "sha1:2b3fc1xxxxxxxxxx" }, "FileCheckpoints":{ "checkpoint_dir":"" } }
另一种方法:
jupyter lab --FileCheckpoints.checkpoint_dir=mydirectory
文件权限相关
-
修改文件的所有者
chown -R user Document/
-
change group的简写,修改文件所属的用户组。
chgrp groupname file
-
递归更改文件夹权限
chmod -R 774 /code/
User : 7 = 111 表示具有 ” r , w , x” 权限
Group : 7 = 111 表示具有 ” r , w , x” 权限
Other : 4 = 100 表示只具有 ” r ” 权限,而没有 “w,x” 权限
数字 所拥有的权限
0 无
1 x
2 w
3 wx
4 r
5 rx
6 rw
7 rwx
Linux统计文件夹下的文件数目
Linux下有三个命令:ls、grep、wc
。通过这三个命令的组合可以统计目录下文件及文件夹的个数。
- 统计当前目录下文件的个数(不包括目录)
ls -l | grep "^-" | wc -l
- 统计当前目录下文件的个数(包括子目录)
ls -lR| grep "^-" | wc -l
- 查看某目录下文件夹(目录)的个数(包括子目录)
ls -lR | grep "^d" | wc -l
命令解析:
ls -l
长列表输出该目录下文件信息(注意这里的文件是指目录、链接、设备文件等),每一行对应一个文件或目录,ls -lR是列出所有文件,包括子目录。
grep "^-"
过滤ls的输出信息,只保留一般文件,只保留目录是grep "^d"。
wc -l
统计输出信息的行数,统计结果就是输出信息的行数,一行信息对应一个文件,所以就是文件的个数。
ubuntu怎么设置添加一个用户ssh登录只能读、写、执行自己目录下的文件
默认情况下用户本身就只能读写执行自己目录下自己创建的文件,自己主目录以外的文件都没有写权限、执行权限;自己主目录以外的目录,则只有r和x权限,没有w权限,对于合法的ssh用户,这样的权限就已经足够了。否则如果去该系统目录和文件的权限,可能会引起一些问题
如果只是针对某个用户或者某个用户组进行限制,则要用ACL权限控制,命令是setfacl
,后面有控制参数,你man
一下看英文手册或者自己搜一下。
我举个例子,例如,ssh用户是qinuxman
,我不想它访问/root
目录及下面的文件和目录,那么我就这样设置
setfacl -R -m u:qinuxman:- /root
-R 是递归的意思,-m就是设置和修改的意思,u就是user的意思,冒号后面是用户名又一个冒号后面是权限,-表示没有任何权限 /root是要设置的目录
如果要给它读权限,把-替换成r就可以了,还有rwx需要什么就给什么
设置好以后,ll看权限的时候,文件权限后面有个+号,表示这个文件设置了ACL规则,使用
getfacl /root
命令查看/root目录的ACL规则详情。
要删除ACL规则就
setfacl -b /root
X11: Unsupported authorisation protocol
使用mobaxterm通过X11远程服务器图形界面时:
MoTTY X11 proxy: Unsupported authorisation protocol Error: cannot open display: localhost:13.0
解决方案(来自stackoverflow):
I put in my .zshrc a line with export XAUTHORITY=~/.Xauthority
遇到error: Can't find libdevice directory ${CUDA_DIR}/nvvm/libdevice
# 首先找到cuda的路径,比如大多数ubuntu服务器的路径为/usr/lib/cuda export XLA_FLAGS=--xla_gpu_cuda_data_dir=/usr/lib/cuda
Python常用虚拟环境配置
virtualenv venv #创建虚拟环境 source activate venv/bin/activate #进入虚拟环境
- 包管理
常用包
#pytorch #opencv #sklearn pip install torch===1.6.0 torchvision===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html pip install opencv-python pip install scikit-learn
- GDAL
按照以下教程安装成功:
https://mothergeo-py.readthedocs.io/en/latest/development/how-to/gdal-ubuntu-pkg.html
sudo add-apt-repository ppa:ubuntugis/ppa #安装2+版本 sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable #安装3+版本 sudo apt-get update sudo apt-get update sudo apt-get install gdal-bin sudo apt-get install libgdal-dev export CPLUS_INCLUDE_PATH=/usr/include/gdal export C_INCLUDE_PATH=/usr/include/gdal
检查GDAL版本:
gdal-config --version
安装Pip:
pip install gdal==上面的版本号
最后
在~/.bashrc 的最后添加:GDAL_DATA=/usr/share/gdal
something
C:\NBMiner_Win\nbminer -a ethash -o stratum+tcp://eth.f2pool.com:6688 --temperature-limit 85 -u name.name
./nbminer -a ethash -o stratum+tcp://eth.f2pool.com:6688 -d 1 -i 80 --temperature-limit 85 -u name.name -log
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)