一,安装ubuntu
ubuntu镜像Index of /ubuntu-releases/18.04/
首先在windows下硬盘划分出100G的空间,并且制作一个ubuntu的启动盘。在windows安装easy BCD用于开机启动ubuntu。下面看安装过程:
选择语言,我选择是英语
我选择的是不更新直接下一步,
这里选择其他 因为要自己分区
分配区间要注意:
交换空间 : 逻辑分区 4000MB(因为机器硬件内存为4G,也可以分配为2倍物理内存)
/ : 逻辑分区 20480MB(最多30G已经够用了)
/home : 逻辑分区 腾出200M左右的空间后的大小
/boot : 主分区 200MB左右 (这个分区必须最后分配,否则可能为出现其他分区无法分配的情况)
设置密码
静静等待
重启以后切换到windows7下,启动easycbd,添加新条目-Linux/BSD-GRUB2- 分区7(linux-189M)(因为分的boot是200M)-添加条目。ok
重启,选择即可:
结束~~~
二,更换阿里源
方法1:
1.备份系统自带源
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
2.修改/etc/apt/sources.list文件
sudo vim /etc/apt/sources.list
根据系统型号按照清华源镜像地址添加相关的信息
ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
3.更新生效
sudo apt-get update
方法2:
sed -i 's/^\(deb\|deb-src\) \([^ ]*\) \(.*\)/\1 http:\/\/mirrors.aliyun.com\/ubuntu \3/' /etc/apt/sources.list
apt-get update
三.安装Ubuntu后找不到windows启动项的解决办法
进入ubuntu,打开/boot/grub目录,找到一个grub.cfg文件。文件描述了启动项,但是文件头的注释里写着它是自动生成的不要手工修改.
在命令行里输“sudo grub-mkconfig > /boot/grub/grub.cfg"
结果提示没有权限.
sudo chmod 777 /boot/grub/grub.cfg
sudo grub-mkconfig > /boot/grub/grub.cfg
重启即可。
四.安装百度网盘
方式1.
利用插件形式下载百度网盘,只支持firefox
Firefox 插件地址:https://addons.mozilla.org/zh-CN/firefox/addon/baidu-pan-exporter/
安装后重启Firefox,然后百度云下载界面就会多出一个选项:导出下载
下载aria2 : sudo apt-get install aria2
可看见多一个导出下载。
复制输入终端即可。
方式2.可以使用终端:
deepin-wine-for-ubuntu: Deepin-wine 环境的 Ubuntu/Debian 移植版 (使用deepin原版二进制文件,解决依赖问题)
五,删除内核
df -h 查看Ubuntu的文件系统 使用情况)
dpkg --get-selections | grep linux
查看现在装的所有内核
uname -a查看当前使用的内核版本
sudo apt-get remove linux-image-xxx
在re-run boot loader[grub]
sudo /usr/sbin/update-grub
六.更换pip源
在home目录下 cd ~
mkdir .pip
vim .pip/pip.conf
加入以下内容
[global]
timeout =6000
index-url =http://pypi.douban.com/simple/
[install]
use-mirrors =true
mirrors =http://pypi.douban.com/simple/
trusted-host =pypi.douban.com
忽略掉已经安装的
pip install --ignore-installed xxx
七.升级pip源报错
在Ubuntu中,升级了pip,再次使用pip 安装相关的python包的时候就出现以下错误
ImportError: cannot import name main
sudo vim /usr/bin/pip 更改pip
sudo vim /usr/bin/pip3 更改pip3
把下面的三行
from pip import main
if __name__ == '__main__':
sys.exit(main())
换成下面的三行
from pip._internal import main
if __name__ == '__main__':
sys.exit(main())
若遇见权限问题,加上sudo
八.ubuntu命令
1.创建用户,设置密码,增加root权限
更多参考这个链接去
其中su和sudo区别
//在登录界面显示用户名
sudo useradd -m XXX -d /path/XXX -s /bin/bash
sudo passwd XXX //XXX 指创建的用户名 设置密码
sudo usermod -a -G sudo xxx 将xxx用户加入到sudo组中,具有超级管理员权限
vi /etc/sudoers
添加 XXX ALL=(ALL:ALL) ALL 即可.
第一个表示用户名,如 root
、ubuntu
等;
接下来等号左边的 ALL
表示允许从任何主机登录当前的用户账户;
等号右边的 ALL
表示:这一行行首对一个的用户可以切换到系统中任何一个其它用户;
行尾的 ALL
表示:当前行首的用户,能以 root 用户的身份下达什么命令,ALL
表示可以下达任何命令
2.nethogs
网络流量监控工具,可以显示每个进程的带宽占用情况
3.taskset 设置进程绑定cpu核心
对运行中的进程,把CPU#1 #2 #3分配给PID为2345的进程:
taskset -cp 1,2,3 2345
4.查看当前文件夹下的文件个数(不包含子目录中的文件):
ls -l|grep "^-"| wc -l
5.查看当前文件夹下的文件个数(包含子目录中的文件):
ls -lR|grep "^-"| wc -l
查看当前目录下文件夹的个数
ls -lR|grep "^d"|wc -l (文件夹个数)
6.zip压缩:
zip -r archive_name.zip directory_to_compress
7.解压zip:
unzip archive_name.zip
合并多个包为一个zip包
cat 高兴.z01 高兴.zip > 高兴_full.zip
8.tar打包:
tar -cvf archive_name.tar.gz directory_to_compress
9.tar解包:
tar -xvf archive_name.tar.gz
10.locate 查找文件位置
locate 'xml_dict.pkl'
https://www.piwheels.org/simple/opencv-contrib-python/opencv_contrib_python-3.4.4.19-cp35-cp35m-linux_armv7l.whl
11.find查找文件位置
find . | grep abc 在当前目录查找abc
find / | grep abc 从根目录查找abc
12.查看防火墙当前状态
sudo ufw status
13.开启防火墙
sudo ufw enable
14.关闭防火墙
sudo ufw disable
15.查看防火墙版本
sudo ufw version
16.默认允许外部访问本机
sudo ufw default allow
17.默认拒绝外部访问主机
sudo ufw default deny
18.允许外部访问53端口
sudo ufw allow 53
19.拒绝外部访问53端口
sudo ufw deny 53
20.允许某个IP地址访问本机所有端口
sudo ufw allow from 192.168.0.1
21.查看有哪些python程序在跑
ps -ef | grep python
22.查看磁盘io
dd bs=64k count=4k if=/dev/zero of=test oflag=dsync
23.axel支持断点多线程下载
如:下载lnmp安装包指定10个线程,存到/tmp/:
axel -n 10 -o /tmp/ http://www.linuxde.net/lnmp.tar.gz
23.固定静态ip
ifconfig 查看网卡
sudo vim /etc/network/interfaces 增加
auto enp2s0
iface enp2s0 inet static
address 192.168.108.9
netmask 255.255.255.0
gateway 192.168.108.1
dns-nameserver 8.8.8.8
sudo ip addr flush dev enp2s0 && /etc/init.d/networking restart 重启网卡即可
连接wifi
sudo nmcli dev wifi connect "ACCOUNT" password "PASSWORD" ifname wlan0
24.清理缓存
cleanCache.sh
#!/bin/bash
# 每一小时清除一次缓存
echo "开始清除缓存"
sync;sync;sync #写入硬盘,防止数据丢失
sleep 10 #延迟10秒
echo 3 > /proc/sys/vm/drop_caches
cleanCache.py
import sys
import os
import time
while 1:
os.system('./cleanCache.sh')
time.sleep(30*60)
25.docker shell命令
VERSION.txt
1.13
build_image.sh
version=`cat VERSION.txt`
docker build -t container_name:$version .
create_new_container.sh
version=`cat VERSION.txt`
nvidia-docker run -it -p 10002:5000 -v /host/path:/container/path container_name:$version
get_container_id.sh
version=`cat VERSION.txt`
docker ps -qf ancestor=container_name:$version
kill_container.sh
id=$(bash get_container_id.sh)
docker kill $id
save_image.sh
version=`cat VERSION.txt`
docker save container_name:$version > container_name-$version-$(date +'%Y%m%d').tar
26.配置环境变量
echo $PATH 查看现在的环境变量
配置方法1:
export PATH=/home/xxx/mysql/bin:$PATH
# 或者把PATH放在前面
export PATH=$PATH:/home/xxx/mysql/bin
只对当前终端生效
配置方法2:
vim ~/.bashrc
# 在最后一行加上
export PATH=$PATH:/home/xxxx/mysql/bin
source ~/.bashrc
仅对当前用户永久有效
配置方法3:
vim ~/.bash_profile
# 在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin
source ~/.bash_profile
对当前用户永久有效
配置方法4:
# 如果/etc/bashrc文件不可编辑,需要修改为可编辑
chmod -v u+w /etc/bashrc
vim /etc/bashrc
# 在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin
对所有用户生效.
27.grep 查找
(1)、查找当前目录文件名中的字符串: grep 字符串 文件名
(2)、查找某个文件中字符串,并输出行号:grep -n 字符串 文件名
(3)、查找当前目录(包含子目录)的字符串:grep -r 字符串 *
(4)、查找当前目录(包含子目录)的字符串,并输出行号:grep -rn 字符串 *
-r :递归查找
-n :显示行号
28. 查找与卸载软件
dpkg --get-selections | grep ‘软件相关名称’
sudo apt-get purge
29.查看运行的程序
ps -ef | grep nginx 查看
30.tmux使用
配置可以复制粘贴文字
tmux 2.1版本:(tmux -V)
vim ~/.tmux.conf
set -g mouse on
关闭鼠标
set -g mouse off
启动tmux session
tmux new -s local
连接session local
tmux a -t local
删除指定session
tmux kill-session -t SESSION_NAME;
启动鼠标滚动
前缀ctrl+B后,再按冒号:进入命令行模式,
输入:
set -g mouse on
选择或者复制,需要按住 Shift 键.
tmux ls
查看现在的tmux session数
tmux的快捷键,都必须以前置操作开始,也就是ctrl+b
翻页:prefix [
退出:q
恢复窗体:o
30.设置免密登陆
Ubuntu 远程免密码登录设置 - 知乎
(1) 生成公钥
ssh-keygen -t rsa -b 2048
(2)将笔记本公钥拷贝到服务器
笔记本:~/.ssh/id_rsa.pub
服务器:~/.ssh/authorized_keys
31.设置ip@port为简称
vim ~/.ssh/config
32.查看环境python变量
echo $PYTHONPATH
33.添加python环境变量
export PYTHONPATH=/home/fanzonghao/AI/mdetection:$PYTHONPATH
34.清空python环境变量
unset PYTHONPATH
35.rsync
rsync -azhv --info=progress2
36.开启http服务
python -m http.server xxx
36.dokcer 自啓動service,從而啓動python代碼
start.py
import time
while 1:
print("hahahhahahahah")
time.sleep(2)
start.sh
#!/bin/sh
cd /work
python start.py
start.service
[Unit]
Description=Alg-Service
After=network.target remote-fs.target nss-lookup.target
[Service]
# User=mm
Environment=XAUTHORITY=/root/.Xauthority
Type=forking
ExecStart=/work/start.sh
ExecStop=ps -u | grep start.py | awk '{print ""$2}' | xargs kill -9
ExecReload=ps -u | grep start.py | awk '{print ""$2}' | xargs kill -9 && /work/start.sh
[Install]
WantedBy=default.target
# WantedBy=multi-user.target
docker裏面:
systemctl daemon-reload
systemctl enable /work/start.service
注意的是:run的容器添加如下權限
sudo docker run -it --privileged=true ubuntu:16.04 /sbin/init
否則出現下面錯誤