ubuntu
系统
1. 常用命令
#系统:
#检查电脑有哪些显卡:
lspci -k | grep -A 2 -i vga
# 批量复制
cp 0000{5..10}.png /path/to/destination/
# 查看推荐驱动
sudo ubuntu-drivers devices
# 查看显卡状态
gpustat
# 切换显卡
sudo prime-select nvidia # 切换nvidia显卡
sudo prime-select intel # 切换intel显卡
sudo prime-select query # 查看当前使用的显卡
# 查看相关的名称
ls python*
# 查看cpu 核心数
nproc
# 查看系统的字符集
echo $LANG $LANGUAGE
# 解码kazam保存视频用于windows播放
ffmpeg -y -i input.mp4 -c:v libx264 -c:a aac -strict experimental -tune fastdecode -pix_fmt yuv420p -b:a 192k -ar 48000 output.mp4
# ffmpeg 切割视频
ffmpeg -i input_video.mpg -r 1 output_folder/image-%04d.png
# 查看opencv版本
# apt-get 安装的
g++ --version
# 三方库
pkg-config --modversion opencv4
# 合并压缩文件分卷
cat TrapCamera.zip.00* > TrapCamera.zip
# 安装deb软件
sudo apt install ./google-chrome-stable_current_amd64.deb
apt --fix-broken install #满足依赖
# 检查运行的进程?
ps -e | grep 进程关键字/top
2. 问题:打不开终端
修改软连接,这种问题一般是python 环境有问题了
/usr/bin 里边存的是可执行文件 不要乱删,删也要备份
由一次python 可执行文件删了 而记住的教训
# 先目标 后创建的
sudo ln /usr/bin/python3.7m /usr/bin/python3.7
https://blog.csdn.net/dbdxnuliba/article/details/113931071
3. 关不掉屏幕
有软件关不掉的时候可以运行xkill
然后就可以关掉了
4. 有关 _gi 的错误
还有终端打不开的情况都适用
保证 usr/lib/python3/dist-packages/gi 文件夹中
_gi.cpython-36m-x86_64-linux-gnu.so
_gi_cairo.cpython-36m-x86_64-linux-gnu.so
与当前python环境对应的相应文件存在 36m/37m
5. venv虚拟环境管理
# 安装env包
sudo apt install python3-venv
# 新建一个环境目录
python3 -m venv your_env_path
# 激活虚拟环境
source your_env_path/bin/activate
# 停用
deactivate
# 删除
rm -rf your_env_path/
6.不小心删除了/usr/bin下的可执行文件
问题:sudo rm /usr/bin/python
删掉了软链接
解决:
where is python
# 创建软链接
sudo ln -s (查看到的路径) /usr/bin/python
# 查看创建的链接
cd /usr/bin
ls python*
7. nomachine链接不了
开启server
8.三方库默认安装位置
usr
usr.local
–bin
–include
–lib
库文件,静态库和动态库
–share
找版本
9. .bashrc 文件中环境变量
执行会依次执行sourch .bash 文件中的sh文件
catkin_make:类似于与ros相关的 cmake + make
每次catkin_make 的时候会把当前bashrc中已有的环境变量写入到 devel中的setup.bashrc 中
ROS
# ros包回放
rosbag play xxx.bag
# 查看ros包的信息
rosbag info xxx.bag
# 查看ros节点图
rqt graph
Windows
一些命令
# 合并两个zip压缩文件的分卷
copy /b CityEnviron.zip.00* CityEnviron.zip
# git clone 连接不上 配置代理
git config --global http.proxy http://127.0.0.1:xxxx
# 查看配置
git config --list
# 查看运行内存
PowerShell 无法加载文件
使用管理员权限 修改安全策略
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
重启就不会再报错了
pip install
- 报错 Cannot connect to proxy 代理问题
一般是由于使用代理上网造成的下载问题,pip 22.3.1 使用代理会有问题,将版本降低到 20.2就会解决问题
pip show pip # 看pip版本
python -m pip install pip==20.2 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
- 安装opencv-python假死
# 安装旧版的opencv-python
pip install opencv-python==3.4.0.14
Anaconda命令
# 1. 创建环境
conda create -n your_env_name python=x.x
# 创建到其他目录而非默认目录
conda create -p D:\software\anaconda3\envs\virtualname
# 2. 激活环境:
conda activate your_env_name
#ubuntu :source activate your_env_name
# 3. 退出环境
#Linux: source deactivate your_env_name(虚拟环境名称)
conda deactivate env_name
# 4. 删除环境
conda remove -n your_env_name --all
# 5. 其他
conda list
conda install package-name
conda env list // conda info -e # 查看当前都有哪些虚拟环境
# 6. 配置代理
conda config --set proxy_servers.http http://proxy.server.address:port
软件安装及版本对应问题
Windows 中的 cuda
在Linux 下只要在官网中下载按照官网提示的命令装即可(如果已经安装了驱动要去掉驱动安装包)
最好在没有安装驱动程序之前直接使用.run 重装
nvcc -V 后终端会提示命令
cuda 重装 18min 以后有多版本共存的解决方案
-
nvidia-smi 查看显卡信息
-
卸载含有cuda的四个cuda软件
-
下载安装包地址
-
安装到默认路径
-
下载cudnn 地址
-
解压 并复制到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0 路径下的 bin include lib 文件夹中
-
在终端 nvcc -V 可以查看到cuda 的版本信息
pytorch 下载
在官网查找对应版本下载命令,使用
pip show torch
查看当前环境使用的pytorch 的版本
下载成功后检查是否启用cuda
import torch
print(torch.cuda.is_available())
软件和工具
软件
1. MarkText
以下也是从/tmp隐藏文件将图标添加到应用版面的方法
MarkText 支持windows 和 ubuntu系统的mark down 文本编辑器 链接
ubuntu下载安装
mv [当前文件路径] [目的文件路径] // 转移文件到我们想要存放的地方
sudo chown [用户名] [文件或目录名] // 修改文件所有者
chomd +x marktext-x86_64.AppImage // 可执行权限
touch marktext.desktop
gedit marktext.desktop
# 在菜单显示快捷方式
sudo cp marktext.destop /usr/share/applications
# 右键快捷方式
cd /usr/share/applications
sudo gedit defaults.list
#在最后一行添加:text/markdown=marktext.desktop
[Desktop Entry]
Name=MarkText
Comment=Next generation markdown editor
Exec=/home/DevelopApp/marktext-x86_64.AppImage %F
Terminal=false
Type=Application
Icon=/home/DevelopApp/marktext.png
Categories=Office;TextEditor;Utility
MimeType=text/markdown;
Keywords=marktext;
StartupWMClass=marktext
Actions=NewWindows
StartupNotify=true
[Desktop Action NewWindows]
Name=New Window
Exec=/home/DevelopApp/marktext-x86_64.AppImage %F
Icon=/home/DevelopApp/marktext.png
Exec=AppImage文件所在的绝对路径,后面的%F务必加上,为关联文件,跟后面的右键添加打开方式有关
Icon=软件logo所在的绝对路径
2. ubuntu 安装python3
# 安装编译所需包,先看自己系统有没有
sudo apt install build-essential zlib1g-dev libbz2-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget
#官网下载
wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
# 解压
tar -xzvf Python-3.7.4.tgz
# 编译安装
cd Python-3.7.4
./configure --prefix=/usr/local/python3 --enable-shared # 配置安装位置 设置参数为共享
sudo make
sudo make install
# 建立软链接
sudo ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3.7
sudo ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3.7
# 复制到相应目录
cp /root/Python3.7.0/libpython3.7m.so.1.0 /usr/lib/libpython3.7m.so.1.0
3. ubuntu 安装Anaconda
下载Anaconda
终端打开下载目录
bash sh文件
重启终端
4. ubuntu安装驱动
# 查是否有驱动
nvidia-smi
# 如果没有按照提示安装相应版本
sudo apt install nvidia-340
sudo apt install nvidia-utils-390
# 报dpkg 错误 后边的文件是对应的报错文件
# 原因:???可能系统中存在相应驱动只是没有加到环境变量中
sudo dpkg -i --force-overwrite /var/cache/apt/archives/libnvidia-compute-390_390.157-0ubuntu0.18.04.1_amd64.deb
# 先重启 如果失败执行以下命令再重启
# ubuntu-drivers devices
# sudo ubuntu-drivers autoinstall
# 执行nvidia-smi 有信息驱动安装成功
5.ubuntu安装opencv库
git clone https://github.com/opencv/opencv.git
cd opencv
https://github.com/opencv/opencv_contrib.git
cd ../
mkdir build
cd build
# 根据自己的情况修改
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3.4.0 -D WITH_CUDA=ON -D CUDA_ARCH_BIN=6.1 -D CUDA_ARCH_PTX=6.1 -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..
# 没有报错再运行以下
make -j20
sudo make install
6. PowerToys
安装地址https://github.com/microsoft/PowerToys/releases/tag/v0.74.1
使用方式:
始终置顶:win + ctrl + T
7.ubuntu 中的 curl
curl(全名:Client for URLs)是一个命令行工具和库,用于进行数据传输,支持多种协议,包括HTTP、HTTPS、FTP、FTPS等。它可以用于发送和接收数据,支持多种操作,如文件上传、下载、HTTP请求等。
# 联网
curl 'http://192.168.100.200' -d "DDDDD=202xxxxx&upass=xxxxx&0MKKey="
# 注销暂时不会
samba 共享文件
Linux 和widows 系统传输文件用的共享文件夹
创建方式
sudo apt-get install samba
sudo apt-get install samba-common
sudo apt-get install samba-client
# 防火墙设置
firewall-cmd --permanent --zone=public --add-service=samba
setsebool -p samba_enable_home_dirs on
who # 查看自己的用户名
sudo smbpasswd -a user # 输入密码
mkdir share
sudo chmod -R 777 share
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup # 修改之前先备份
sudo gedit /etc/samba/smb.conf #添加以下内容到config文件中 path 比较重要
# 重启
/etc/init.d/nmbd restart
/etc/init.d/smbd restart
# 检查是否配置正确
sudo service smbd status
sudo service nmbd status
testparm # 查看参数配置
smbclient -L //localhost
ifconfig # 查看ip地址
#使用window访问 \\ip\share
#======================= Share Definitions =======================
[share]
comment = share
browseable = yes
create mask = 0777
directory = 0777
available = yes
writable = yes
read only = no
guest ok = yes
path = /home/ubuntu/share
期间发生了windows无法访问的错误,先检查一下以上配置是否正确,然后开启ssh
#先检查有没有ssh
sudo apt install ssh
dpkg -l | grep openssh-server #检查
sudo service ssh status
sudo systemctl status nxserver
# 不确定是否和其他因素有关,比如运行了nomachine 的serverce、以及之前xk设置过windows 的组文件,回头查一下这个组
# 期间运行了的其他命令:
sudo mount -t cifs //192.168.0.99/share /home/ubuntu/share/ # 服务器和挂载?
sudo iptables -A INPUT -p udp --destination-port 445 -j ACCEPT # 对应的端口是否可以使用
连接方式
windows:win+R \ip\share
ubuntu:smb:// + IP
C++项目相关问题
编译
# 编译 单个cpp
g++ main.cpp -o my_program
Cmake 参数
CMakeList文件
# 设置CMake的最低版本要求
cmake_minimum_required(VERSION 3.0)
# 设置项目名称
project(my_program)
# 去除注释
add_definitions(-w)
# 添加C++编译选项
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# 添加可执行文件的源文件
add_executable(my_program main.cpp)
# opencv
set(OpenCV_DIR /usr/local/opencv3.4.0)
find_package(OpenCV REQUIRED PATHS ${OpenCV_DIR})
# 链接库文件
target_link_libraries(kitti_mask_sem2gt
${OpenCV_LIBS}
)
常见问题
- error: ‘imshow’ is not a member of ‘cv’
解决:
检查是否#include<opencv2/opencv.hpp>
Python 程序常见问题
1. 中文编码问题
问题:SyntaxError: Non-ASCII character ‘\xe5’ in file b2i.py on line 13, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
解决方案:
# 添加以下行到py文件的开头
# -*- coding: utf-8 -*-
2. 复制权限问题
问题:PermissionError: [Errno 13] Permission denied:
解决方案:
原因:使用shutil.copy 方法时需要文件夹有写入权限
ubuntu解决方案
- 使用python语句创建文件夹 存放复制的目标文件
- 使用文件夹路径替换文件路径
- 在命令前加sudo
Git 使用指南
# 查看本地分支:
git branch
# 查看远程分支:
git branch -a
# 创建并切换分支:
git checkout (-f 强制切换) -b new_branch orgin_name
#删除分支:
git branch -d local_branch_name
ubuntu 使用服务器操作指南
# 终端连接服务器
#可能需要安传openssh-server 安装前先用dpkg查看是否安装了
sudo apt install openssh-server
# 1 查看ssh 是否启动了
sudo ps -e | grep ssh
# 2 连接 @前是用户名 后ip
ssh user@ip
# 输入密码就连接成功了
#传输文件
#1.在文件管理器 其他位置 连接到服务器里输入
ssh://ip
#2.使用命令在本地终端 前本地位置 后 目标位置
scp -r /home/xxx/monodepth2/* user@ip:/home/xxx/monodepth2
# 想要复制到远程到本地 只要把后两个反过来即可
# 使用 ctrl + D 结束连接服务器
VSCode 调试指南
深度学习
查看结果:tensorboard --logdir=‘logs/shape*****’