Ubuntu の 使用小技巧

2,608 阅读5分钟

最近一直在windows和ubuntu两个系统中交叉开发,虽然此前也有用到ubuntu系统,但更多的是部署服务和docker,并没怎么使用ubuntu来进行开发,导致我在使用过程中,每次遇到个啥不会,就得查一次,实在头大,故此记下。

本文偏向于是总结类和tips类文章,也类似于使用手册~ 适合于在日常使用虚拟机和linux开发的开发者~ 就当是复习吧,那么我们直接开始吧!!!

一、ps 查看进程信息

ps -ef #查看全部进程信息

常常会搭配 管道一起使用

ps -ef | grep docker

image.png

二、kill 命令

说到这个我想起我在掘金看到的段子,不要随便用 kill -9,坦白说,我一开始都没懂这个意思,也是后面去了解才知道里面的区别。

语法:kill [-9] 进程ID []是可选的,kill 默认是 15

区别:

和平分手/优雅结束kill -15执行时,系统向对应的程序发送SIGTERM(15)信号,该信号是可以被执行、阻塞和忽略的,所以应用程序接收到信号后,可以做一些准备工作,再进行程序终止。

暴力结束/直接终止:有的时候,kill -15无法终止程序,因为他可能被忽略,这时候可以使用kill -9,系统会发出SIGKILL(9)信号,该信号不允许忽略和阻塞,所以应用程序会立即终止。

这也会带来很多副作用,如数据丢失等,所以,在非必要时,不要使用kill -9命令,尤其是那些web应用、提供RPC服务、执行定时任务、包含长事务等应用中,因为kill -9没给spring容器、tomcat服务器、dubbo服务、流程引擎、状态机等足够的时间进行收尾。

三、nmap查看端口占用情况

sudo apt install nmap
nmap 127.0.0.1

image.png

四、查看内存情况

image.png

五、查看硬盘情况

image.png

六、wget 下载文件

eg:

wget <https://github.com/ultralytics/yolov5/releases/download/v6.1/yolov5s.pt>
# 下载的文件保存到当前目录下

七、vim 常用小技巧

命令行模式下

1)删除整行或剪切

    dd #删除单行 另外dd即是删除也剪切,dd之后按 p 可以粘贴到光标所在位置
    ndd #删除多行
    :n1,n2d #删除指定范围的行
    dG #删除全部

2)复制整行或多行

    yy #复制单行 
    nyy #复制多行 eg 2yy

复制之后的粘贴依然是使用 p 键或 P 键

3)撤销

    u #撤销
    ctrl + r #反撤销

末行命令模式下

1、显示和取消行号:

:set nonu 显示

:syntax on 取消

2、查找

    /查找内容  #eg /test 从光标所在行向下查找
    ?查找内容  #eg ?test 从光标所在行向上查找
    n 下一个
    N 上一个

八、sudo免密码操作

个人虚拟机上使用使用就好哈~

    if [[ $(sudo grep -L $USER /etc/sudoers) ]]; then
    	echo "Add $USER to sudoers";
    	echo "$USER ALL=(ALL) NOPASSWD:ALL" | sudo tee -a /etc/sudoers;
    fi

九、安装常用工具

sudo apt install -y ssh vim net-tools wget curl cmake make unzip tree

十、安装Git

    sudo apt update
    sudo apt install  -y git
    git --version
    git config --global user.name "nzc"
    git config --global user.email "xxxx@163.com"
    cd ~/ && ssh-keygen -t rsa -C  "xxxx@163.com"
    cd ~/.ssh
    ls

十一、配置国内镜像软件源

为了提升后续安装软件时的幸福感,第一步当然先要替换一下软件源。

  1. 备份原来的源:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

  1. 将源的内容设置为阿里云镜像:

sudo vim /etc/apt/sources.list

内容改为:

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb-src 
http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb 
http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb-src 
http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb 
http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb-src 
http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb 
http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse deb-src 
http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse deb 
http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse deb-src 
http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

  1. 更新软件列表:

sudo apt update sudo apt upgrade

也可以去网上搜其他镜像,在我这边经测试阿里云是最快的。另外也可以在图形桌面环境下打开Software & Updates软件,在里面也有网速测试并选择最佳源的功能。

十二、防火墙操作

1)查看当前防火墙状态

    sudo ufw status 

2)开启防火墙

    sudo ufw enable

3)关闭防火墙

    sudo ufw disable

十三、unzip 和 tar 常用操作

1、文件解压到当前目录下

    unzip test.zip
    tar -zxvf test.tar.gz

2、文件解压到指定的目录下

    unzip -d /temp test.zip # 还可以加上 -o 参数 覆盖式解压
    tar -zxvf test.tar.zip -C /my/path

3、压缩文件

    zip -r test.zip test #test是要压缩的源目录
    tar -zcvf test.tar.gz test # test 是目录

十四、ubuntu 网络相关

重启网络服务

    sudo service network-manager restart
    sudo systemctl restart NetworkManager.service # 两条命令都可以

十五、Ubuntu 安装 Docker 安装

可以直接封装成sh脚本,不用一条一条命令去执行哈~

sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

curl -fsSL <https://download.docker.com/linux/ubuntu/gpg> | sudo apt-key add -

sudo add-apt-repository "deb [arch=amd64] <https://download.docker.com/linux/ubuntu> $(lsb_release -cs) stable"

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

#一旦安装完成,Docker 服务将会自动启动
sudo systemctl status docker

#如果你想阻止 Docker 自动更新,锁住它的版本:
sudo apt-mark hold docker-ce

sudo groupadd docker     #添加docker用户组
sudo gpasswd -a $USER docker     #将登陆用户加入到docker用户组中
#ls-lrth/var/run/docker.sock 查看 docker.sock 的权限。
#会发现 docker 用户组其实是没有读写权限的。
sudo chmod 777 /var/run/docker.sock

newgrp docker     #更新用户组
docker ps    #测试docker命令是否可以使用sudo正常使用

# 重启docker服务
sudo service docker restart

#验证安装是否成功
docker container run hello-world

docker version

后记

后续不定时更新哈~

大伙还有啥命令常用,记得丢评论区,我到时候更新上去,非常感谢大伙的评论啦~~

其实用习惯啦ubuntu,其实我觉得还蛮好用的,要是写到c/c++代码,就有点难受,不通用,是真的难受,写python,写java我觉得都还蛮舒服的。

习惯命令行,转到windows来还有点不爽,哈哈

大伙,周末愉快,周五的态度就是有什么事,下周一再说吧