最近一直在windows和ubuntu两个系统中交叉开发,虽然此前也有用到ubuntu系统,但更多的是部署服务和docker,并没怎么使用ubuntu来进行开发,导致我在使用过程中,每次遇到个啥不会,就得查一次,实在头大,故此记下。
本文偏向于是总结类和tips类文章,也类似于使用手册~ 适合于在日常使用虚拟机和linux开发的开发者~ 就当是复习吧,那么我们直接开始吧!!!
一、ps 查看进程信息
ps -ef #查看全部进程信息
常常会搭配 管道一起使用
ps -ef | grep docker
二、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
四、查看内存情况
五、查看硬盘情况
六、wget 下载文件
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
十一、配置国内镜像软件源
为了提升后续安装软件时的幸福感,第一步当然先要替换一下软件源。
- 备份原来的源:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
- 将源的内容设置为阿里云镜像:
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
- 更新软件列表:
sudo apt update sudo apt upgrade
也可以去网上搜其他镜像,在我这边经测试阿里云是最快的。另外也可以在图形桌面环境下打开Software & Updates
软件,在里面也有网速测试并选择最佳源的功能。
十二、防火墙操作
1)查看当前防火墙状态
sudo ufw status
2)开启防火墙
sudo ufw disable
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来还有点不爽,哈哈
大伙,周末愉快,周五的态度就是有什么事,下周一再说吧