ubuntu的一些操作汇总

搞定锐捷客户端联网问题

使用mentohust

  1. 获取mentohust客户端

http://code.google.com/p/mentohust/downloads/list

安装
sudo dpkg -i mentohust_0.3.4-1_amd64.deb

sudo mentohust 然后按着步骤走就行

想要修改配置,修改/etc/mentohust.conf 文件就行,一下是我的静态ip

[MentoHUST]
Username=B1707008
Password= TxYNCRcf
Nic=eth3
IP=10.0.120.127
Mask=255.255.255.0
DNS=0.0.0.0
PingHost=0.0.0.0
Timeout=8
EchoInterval=30
RestartWait=15
MaxFail=8
StartMode=0
DhcpMode=0
DaemonMode=1
ShowNotify=5
Version=0.00
DataFile=/etc/mentohust/
DhcpScript=dhclient

https://www.cnblogs.com/yan456jie/p/5369476.html 详细含义

conda 虚拟环境

conda list
conda env list
conda update conda
conda create -n name python=x.x /Anaconda/env
source activate name
source deactivate
conda remove --name env_name package_name
conda create --name new_env_name --clone old_env_name

conda update -all
conda update package_name
conda install --name env_name package_name

(1)编辑 ~/.condarc 文件。

vim ~/.condarc

(2)添加源。

channels:

  • https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  • https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  • https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
  • defaults show_channel_urls: true

上文中前两个属于anaconda python的基础免费仓库镜像,最后一个属于pytorch的仓库镜像。注意想要下载pytorch要加上第三个镜像地址。

(3)更新源地址。

source ~/.condarc

常用命令

  • 终端登录 Linux
    ctrl+alt+F1-6

  • 帮助
    man command
    man -f word

  • nano file.txt , alt+ M

  • 关机 sync 将数据写入磁盘, shutdown -r/h now/20:25 reboot poweroff halt

  • cd ~表示用户的家目录
    pwd -P显示链接目录
    mkdir -m 单独设置权限 -p 递归创建目录
    rmdir /rm -r

  • 执行文件路径的变量 $PATH echo P A T H 打 印 , P A T H = " PATH 打印,PATH = " PATHPATH="{PATH}:/root" 添加目录

  • ls -a -h显示文件大小 -l -t时间排序 -S大小排序 --color=always --full-time 完整的时间格式

  • cp 复制文件 -i 问一下是否覆盖存在文件 -p 复制文件属性 -r 递归复制 -s 复制成链接文件 -u 目标不存在才复制
    -a == drp 复制所有特性

  • rm -f 或略不存在的文件, -l 增加询问 -r 递归删除(很危险).

  • mv 移动文件 -i 询问是否覆盖 -f 不询问直接覆盖 -u 目标更新才会覆盖。 可用于重命名

  • basename dirname 分割路径名和文件名

  • cat 显示文件内容 tac 反向显示 nl 带行号 more less head od

  • torch 修改文件时间或创建新文件 文件存在更改时间为当前,文件不存在就新建文件
    -a -c -m -d -t

修改文件属性和权限

chgrp
chown user file
chmod [-R] xyz file (u g o a ± )
chattr 【+=-】 【ASacdisu】文件或目录 修改文件的隐藏属性
S 同步保存 a 只能增加数据不能删除 c 自动文件压缩 i 文件不能删除 s 文件删除后不能恢复 u 可以恢复
lsattr [-adR] 文件或目录 查看文件的属性 -a 显示隐藏的属性 -d 对目录不显示文件仅显示目录的属性
file file 观察文件的基本信息

命令与文件的查找

which -a command 将所有有 PATH 目录中可以找到的命令都列出。
whereis -l 查询的目录 -b -m -s 只找二进制、manual路径下的、source源文件 -u 除了这三个其他的
主要针对 /bin /sbin 下的执行文件和 /usr/share/man 下的man page 文件下
local -l 忽略大小写 -c 不输出文件名只计算文件数量 -l int 输出几行 updatedb 更新查找的数据库

find path -name filename -type TYPE -perm mode

Typora 二进制包的安装

下了一个二进制的包。。结果不会安装,记录下来以后用

tar -xzvf Typora-linux-x64.tar.gz  # 解压
touch Typora.desktop   # 建立个文件
nano Typora.desktop    # 编辑这个文件
# 写入
[Desktop Entry]
Name=Typora
GenericName=Editorubuntu / linux 
Comment=Typroa - a markdown editor
Exec="Typora的绝对路径" %U      # 注意路径
Icon=图标的绝对路径
Terminal=false
Categories=Markdown;ux
StartupNotify=false
Type=Application

sudo mv Typora.desktop /usr/share/applications   # 移动文件

jupyter notebook 修改工作目录

安装
sudo pip3 install notebook
然后 jupyter notebook 就可以使用了。

第一步

jupyter notebook --generate-config --allow-root
这样在/home/你的用户名/.jupyter/下生成了配置文件
第二步

sudo vim /home/你的用户名/.jupyter/jupyter_notebook_config.py
第三步

找到#c.NotebookApp.notebook_dir=’‘这一行
快速的方法是在vim的普通模式下输入
/#c.NotebookApp.notebook_dir 回车
光标定位到这一行,去掉前面的#字符,在’'中输入你想要你的jupyter notebook的工作目录即可

卸載軟件

1、查看安装列表:dpkg --list

2、卸载:sudo apt-get --purge remove 软件名

在win10+Ubuntu双系统下,完美卸载Ubuntu

  1. 使用diskgenius 清除ubuntu系统使用的分区。
    在这里插入图片描述
  2. 删除开启引导启动项。管理员身份运行命令提示符,
diskpart
list disk   
select disk 1   # 选择win安装盘
list partition 
select partition 1   # 选择系统分区
assign letter=J   # 分配盘符
# 管理员身份打开记事本,打开界面删除分配盘J 中EFI文件下的ubuntu
remove letter=J   # 删除分配的盘符

一些配置

1. 设置python 默认打开 python3
sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3 /usr/bin/python

2. sudo ln -s /usr/bin/pip3 /usr/bin/pip    # pip 默认打开pip3

3. 更换Pip 源
mkdir ~/.pip/
cd .pip
sudo gedit pip.conf
写入
[global]
index-url=http://mirrors.aliyun.com/pypi/simple/   
[install]
trusted-host=mirrors.aliyun.com

pip config list  # 查看当前源

4. pip install pack
pip uninstall pack
pip install -r requirements.txt
pip install --upgrade pack
pip list

terminator

命令 说明
Ctrl+Shift+O 水平分割窗口
Ctrl+Shift+E 垂直分割窗口
F11 全屏/退出全屏
Ctrl+Shift+C 复制
Ctrl+Shift+V 粘贴
Ctrl+Tab/shift+tab 在分割的各窗口之间切换
Ctrl+Shift+X 将分割的某一个窗口放大至全屏使用
Ctrl+Shift+Z 从放大至全屏的某一窗口回到多窗格界面
Ctrl+Shift+F 搜索
Ctrl+Shift+W 关闭当前
​ Ctrl+Shift+Q 关闭所有

应对显存占满的问题

fuser -v /dev/nvidia0 # 查看进程

kill -9 $pid

watch -n 0.1 nvidia-smi

安装Python3.6

 cd /usr/local
 # wget --no-check-certificate https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
# tar -xzvf Python-3.6.5.tgz 
# cd Python-3.6.5
# sudo apt-get install build-essential
# sudo ./configure --prefix=/usr/local/python3.6.5
# sudo make
# sudo make install

使用中Pip 出现ssl 问题,修改/usr/local/Python-3.6.5/Modules/Setup文件如下:
在这里插入图片描述

virtualenv

virtualenv 简单使用 virtualenv -p /usr/bin/python2.7 venv ; source venv/bin/activate ; deactivate

$ virtualenv [OPTIONS] DEST_DIR 选项: –version 显示当前版本号。
-h, –help 显示帮助信息。
-v, –verbose 显示详细信息。
-q, –quiet 不显示详细信息。
-p PYTHON_EXE, –python=PYTHON_EXE 指定所用的python解析器的版本,比如 –python=python2.5 就使用2.5版本的解析器创建新的隔离环境。
默认使用的是当前系统安装(/usr/bin/python)的python解析器 –clear
清空非root用户的安装,并重头开始创建隔离环境。 –no-site-packages
令隔离环境不能访问系统全局的site-packages目录。 –system-site-packages
令隔离环境可以访问系统全局的site-packages目录。 –unzip-setuptools
安装时解压Setuptools或Distribute –relocatable
重定位某个已存在的隔离环境。使用该选项将修正脚本并令所有.pth文件使用相当路径。 –distribute
使用Distribute代替Setuptools,也可设置环境变量VIRTUALENV_DISTRIBUTE达到同样效要。
–extra-search-dir=SEARCH_DIRS
用于查找setuptools/distribute/pip发布包的目录。可以添加任意数量的–extra-search-dir路径。
–never-download 禁止从网上下载任何数据。此时,如果在本地搜索发布包失败,virtualenv就会报错。
–prompt==PROMPT 定义隔离环境的命令行前缀。 “`

修改root密码

sudo passwd root

安装tf1

conda create -n tf1 python=3.6
conda activate tf1
conda install tensorflow-gpu=1.12.0
# InvalidVersionSpecError: Invalid version spec: =2.7 报错 ,删除.condarc 文件中的删除带有:conda-forge 的那一行
# cuda cudnn 会自动安装
导入tf出现in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
numpy版本过高
pip install numpy==1.16.4

Ubuntu 20 编译安装opencv4

记录记录,,,太烦了 参考:脑补链接

https://github.com/opencv 去官网下包(两个版本要一致)然后解压,然后安装依赖项(随便百度都有,注意如果要使用Python3需要下点不一样的)
在这里插入图片描述

sudo apt install cmake-qt-gui     # 使用窗口来编译
qbx@QBX:~/Downloads$ cd opencv-4.5.2/
然后 mkdir build    放置编译的文件
qbx@QBX:~/Downloads/opencv-4.5.2$ cmake-gui ..

两个路径对应

在这里插入图片描述
选择:
CMAKE_BUILD_TYPE : Release
OPENCV_EXTRA_MODULES_PATH:/home/qbx/Downloads/opencv_contrib-4.5.2/modules # 目录
在这里插入图片描述
用来使用pkg-config (opencv4默认不生成)
如果想用cuda cudnn 之类的,百度一下在编译的时候也选上。
在这里插入图片描述
然后点击Configure 完事后点击Generate。。。我记得我编译的时候有一些文件没有下载成功,但没有影响。

然后cd build/ 然后make -j4 。中间有错误就多试几次。这样就安装好了

sudo make install

opencv环境配置:

sudo vim /etc/ld.so.conf.d/opencv.conf
写入 /usr/local/lib

sudo ldconfig

sudo vim /etc/bash.bashrc

在末尾加上:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

reboot

测试:
注意是 opencv4 啊
在这里插入图片描述

在这里插入图片描述
pkg-config --cflags --libs opencv4 外面的不是单引号,是` 不知道叫啥。

CMakeLists.txt 文件,,,也可以用这个编译(例子里嫖来的),

# cmake needs this line
cmake_minimum_required(VERSION 3.1)

# Define project name
project(opencv_example_project)   # 项目名称

# Find OpenCV, you may need to set OpenCV_DIR variable
# to the absolute path to the directory containing OpenCVConfig.cmake file
# via the command line or GUI
find_package(OpenCV REQUIRED)

# If the package has been found, several variables will
# be set, you can find the full list with descriptions
# in the OpenCVConfig.cmake file.
# Print some message showing some of them
message(STATUS "OpenCV library status:")
message(STATUS "    config: ${OpenCV_DIR}")
message(STATUS "    version: ${OpenCV_VERSION}")
message(STATUS "    libraries: ${OpenCV_LIBS}")
message(STATUS "    include path: ${OpenCV_INCLUDE_DIRS}")

# Declare the executable target built from your sources
add_executable(test.o test.cpp)     # 改成源文件和目标文件就行

# Link your application with OpenCV libraries
target_link_libraries(test.o PRIVATE ${OpenCV_LIBS})  # 链接这里也要改



### 使用
21qbx@QBX:~/Desktop/c++$ cmake .  
-- OpenCV library status:
--     config: /usr/local/lib/cmake/opencv4
--     version: 4.5.2
--     libraries: opencv_calib3d;opencv_core;opencv_dnn;opencv_features2d;opencv_flann;opencv_gapi;opencv_highgui;opencv_imgcodecs;opencv_imgproc;opencv_ml;opencv_objdetect;opencv_photo;opencv_stitching;opencv_video;opencv_videoio;opencv_alphamat;opencv_aruco;opencv_bgsegm;opencv_bioinspired;opencv_ccalib;opencv_cudaarithm;opencv_cudabgsegm;opencv_cudacodec;opencv_cudafeatures2d;opencv_cudafilters;opencv_cudaimgproc;opencv_cudalegacy;opencv_cudaobjdetect;opencv_cudaoptflow;opencv_cudastereo;opencv_cudawarping;opencv_cudev;opencv_datasets;opencv_dnn_objdetect;opencv_dnn_superres;opencv_dpm;opencv_face;opencv_freetype;opencv_fuzzy;opencv_hdf;opencv_hfs;opencv_img_hash;opencv_intensity_transform;opencv_line_descriptor;opencv_mcc;opencv_optflow;opencv_phase_unwrapping;opencv_plot;opencv_quality;opencv_rapid;opencv_reg;opencv_rgbd;opencv_saliency;opencv_shape;opencv_stereo;opencv_structured_light;opencv_superres;opencv_surface_matching;opencv_text;opencv_tracking;opencv_videostab;opencv_wechat_qrcode;opencv_xfeatures2d;opencv_ximgproc;opencv_xobjdetect;opencv_xphoto
--     include path: /usr/local/include/opencv4
-- Configuring done
-- Generating done
-- Build files have been written to: /home/qbx/Desktop/c++
qbx@QBX:~/Desktop/c++$ make
[100%] Built target test.o

VScode中配置opencv c++

https://blog.csdn.net/sunzhao1000/article/details/103185875/ 参考
安装c++ 插件,打开一个文件夹,新建一个文件

#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;

int main()
{
    std::cout<<"2";
    Mat img = imread("9.png");
    std::cout<<"1";
    imshow("img",img);
    Mat img_gray;
    cvtColor(img,img_gray,COLOR_BGR2GRAY);
    imshow("gray",img_gray);
    waitKey(0);
    return 0;
}

Debug -> Open Configurations -> 打开备选框 -> C++(GDB/LLDB) -> g++ build and debug active file

建立launch.json文件,修改:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "g++ build and debug active file",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,  # 弹出命令窗口
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "g++ build active file",
            "miDebuggerPath": "/usr/bin/gdb"
        }
    ]
}

点击F5调试,会报错,选择配置任务,在备选框中选择C/C++:cpp build active file选项,则新建一个task.json文件。
修改:

{
   //> 编译单个文件
 
   "version": "2.0.0",
   "tasks": [
       {
           "type": "shell",
           "label": "g++ build active file",   // 要与launch 中一样preLaunchTask 
           "command": "g++",
           "args": [
            "-g", "-std=c++11", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}",
            "`pkg-config","--libs","--cflags","opencv4`",  # 注意这个用法,编译的参数
        ],
           "options": {
               "cwd": "/usr/bin"
           },
           "problemMatcher": [
               "$gcc"
           ],
           "group": "build"
       }
   ]

// //> 编译多个文件
// "version": "2.0.0",
// "tasks": [
//     {
//         "type": "shell",
//         "label": "g++ build active file",
//         "command": "g++",
//         "args": [
//             "-g",
//             "-std=c++11",
//             "${fileDirname}/*.cpp",
//             "-o",
//             "${fileDirname}/${fileBasenameNoExtension}",
//         ],
//         "options": {
//             "cwd": "/usr/bin"
//         },
//         "problemMatcher": [
//             "$gcc"
//         ],
//         "group": "build"
//     }
// ]
}

Ctrl + Shift + P 打开搜索框,键入c++,会出现备选项目,选择图示Edit configurations (JSON)(多找找)
进入c_cpp_properties.json文件内进行配置修改。修改如下:

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
                "/usr/local/include/opencv4"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4
}  // 将include的头文件所在路径和函数库的路径设置给编译器。

ok

顺便修改一下code runner 这个插件。设置里找Code-runner: Executor Map,然后编辑settings.json ,修改cpp的部分

        "cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt `pkg-config --libs --cflags opencv4` && $dir$fileNameWithoutExt",

ssh文件传送

  • scp username@servername:/path/filename /var/www/local_dir(本地目录) 从服务器上下载文件
  • scp /path/filename username@servername:/path 上传本地文件到服务器
  • scp -r username@servername:/var/www/remote_dir/(远程目录) /var/www/local_dir(本地目录)
  • scp -r local_dir username@servername:remote_dir 上传目录

几个方便的软件

  1. 图像查看:sudo apt install nomacs

  2. pdf :sudo apt-get install okular

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值