Ubuntu 命令常用命令-汇总(更新)[转]
记录日常使用的命令
1、关机、重启
关机
sudo shutdown -h 18:00 18点关机
sudo shutdown -r now 立即重启
sudo shutdown -h now 立即关机
重启
reboot
2、pid查看/监控
使用top或者htop进行监控,个人偏向与htop,更加全面
top
或者
htop
杀死pid(程序)
kill -9 pid
3、定时启动程序
crontab -e
3.1、开机自启动程序
在系统中查看文件"etc/rc.d/rc.local"是否存在,如果不存在,则看"/etc/rc.local"是否存在,本人在Ubuntu20.04中配置"/etc/rc.local"。
创建文件: vim /etc/rc.local
#!/bin/sh -e
nvidia-smi -pm 1 # 写入需要开机自启动的程序;如英伟达显卡的内存常驻模式
# bash start_jupyter.sh # jupyter服务
# bash start_labelimage_tool.sh # 图片浏览器服务
exit 0
赋予可执行权限
chmod +x /etc/rc.local
启动服务并设置服务开机自启动
systemctl enable rc-local.service
systemctl start rc-local.service
systemctl status rc-local.service
重启系统后,再去一一验证所设置服务。
4、磁盘、存储
查看磁盘的空间等
df -h
查看文件夹大小
du -h --max-depth=1 /usr
参考: ubuntu查看文件大小_JackieGemini-CSDN博客_ubuntu 查看文件大小
Linux 磁盘管理常用三个命令为 df、du 和 fdisk。
- df(英文全称:disk full):列出文件系统的整体磁盘使用量
- du(英文全称:disk used):检查磁盘空间使用量
- fdisk:用于磁盘分区
5、安装更新
apt-get update指令是获取最新的软件包。
sudo apt-get update
系统列出了需要更新的软件,需要下载的大小,占用的硬盘空间大小等。
sudo apt-get upgrade
更新内核
sudo apt-get dist-upgrade
参考: Ubuntu16.04软件包更新apt-get_四个菜-CSDN博客_ubuntu更新包
6、删除
删除文件夹以及文件夹里面的文件
rm -rf /tmp
删除文件夹下面的某个后缀文件 (txt关键字)
du -ah |grep 'txt' | xargs rm -r
7、ssh远程
参考:ssh-copy-id三步实现SSH无密码登录和ssh常用命令_liu_qingbo的专栏-CSDN博客_ssh-copy-id
ssh-copy-id -i .ssh/id_rsa.pub root@xx.xx.xx.xx
eval "$(ssh-agent -s)"
ssh-add -l
8、内存测试
带宽
sudo apt install mbw -y
mbw -q -n 10 245760
-q:隐藏日志
-n 10:表示运行10次
124000(MB):表示测试所用内存大小,用剩余内存的一半测试
#结果分析:
#只需关注平均值(AVG),内存分配速率越大,性能越好,三次AVG分别对应内存拷贝,字符串拷贝,内存卡拷贝。
nohup mbw -q -n 1000 124000 >> ./mbw.log 2>&1 &
top -p mbw[pid]
压力
wget http://pyropus.ca/software/memtester/old-versions/memtester-4.5.0.tar.gz
tar -zxvf memtester-4.5.0.tar.gz
cd memtester-4.5.0
make
make install
#先运行下面命令查看剩余内存,然后用剩余内存做压力测试
free -h
#测试命令:
#运行10次
memtester 240G 10
#无限次
memtester 240G
#后台无限测试
nohup memtester 240G >> ./memtest.log 2>&1 &
综合测试
wget http://sourceforge.net/projects/lmbench/files/latest/download
tar -zxvf lmbench-3.0-a9.tgz
cd lmbench
make
#编译-测试
make results
#结果查看
make see
#进入results目录,查看summary.out
9、复制数据
本机数据传输
使用cp命令
语法
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
参数说明
-a, --archive 等于-dR --preserve=all
--backup[=CONTROL 为每个已存在的目标文件创建备份
-b 类似--backup 但不接受参数
--copy-contents 在递归处理是复制特殊文件内容
-d 等于--no-dereference --preserve=links
-f, --force 如果目标文件无法打开则将其移除并重试(当 -n 选项
存在时则不需再选此项)
-i, --interactive 覆盖前询问(使前面的 -n 选项失效)
-H 跟随源文件中的命令行符号链接
-l, --link 链接文件而不复制
-L, --dereference 总是跟随符号链接
-n, --no-clobber 不要覆盖已存在的文件(使前面的 -i 选项失效)
-P, --no-dereference 不跟随源文件中的符号链接
-p 等于--preserve=模式,所有权,时间戳
--preserve [=属性列表 保持指定的属性(默认:模式,所有权,时间戳),如果
可能保持附加属性:环境、链接、xattr 等
-R, -r, --recursive 复制目录及目录内的所有项目
-t --target-directory=DIRECTORY
将所有源文件拷贝到目标目录
-T, --no-target-directory
目标为文件而不是文件夹
样例
cp -r ./tmp ../tmpc/
移动数据
使用mv命令
实际上跟Windows中的剪贴一样。
使用还能修改文件名字
参考: Ubuntu cp命令_taolusi的博客-CSDN博客_cp ubuntu
网络数据传输
使用scp
注意要搞清楚从谁复制数据到谁那里去。
说明
scp命令
···
(1)将本地文件拷贝到远程:scp 文件名 用户名@计算机IP或者计算机名称:远程路径
(2)从远程将文件拷回本地:scp 用户名@计算机IP或者计算机名称:文件名本地路径
(3)将本地目录拷贝到远程:scp -r 目录名 用户名@计算机IP或者计算机名称:远程路径
(4)从远程将目录拷回本地:scp -r 用户名@计算机IP或者计算机名称:目录名本地路径
样例
scp -r /home/hyh/Documents hyh@192.168.1.100:/home/hyh/Documents
10、后台运行
使用nohup命令
样例1
nohup jupyter notebook >/dev/null 2>&1 &
样例2
nohup /root/runoob.sh > runoob.log 2>&1 &
样例3
nohup python spider_k.py >>logs/spider_k.log 2>&1 &
2>&1 解释:
将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 runoob.log 文件中。
- 0 – stdin (standard input,标准输入)
- 1 – stdout (standard output,标准输出)
- 2 – stderr (standard error,标准错误输出)
11、查看文件数
查看文件下的数据多少
# 查看所有的文件
ls -lR|grep "^-"| wc -l
# 查看jpg; 给相对位置,返回的也是文件的相对位置;给绝对位置,返回的也是绝对位置
find ./ -type f -name '*.jpg'
# 查看jpg
du -ah |grep 'jpg'
11.1、查看当前目录下各个文件夹的大小
du -sh ./* --exclude proc
12、查看硬盘的使用
查看各个程序(PID)当前运行时硬盘的开销
iotop
13、网络流量
查看当前机制所有的上传下载流量使用情况
nethogs eno1
14、查看网络端口
查看当前机子的端口占用情况
netstat -tln
# 查看某一端口占用情况
netstat -tln | grep 80
查看端口被哪个进程占用
(以9999端口为例说明)
lsof -i :9999
Ubuntu查看和释放80端口_啃饼小白的修炼之路-CSDN博客_ubuntu查看80端口
15、功率监测
功率监控
sudo s-tui
16、打开端口
sudo apt-get install iptables
sudo iptables -I INPUT -p tcp --dport 8343 -j ACCEPT
sudo iptables-save
# 根据端口查看进程号
sudo lsof -i:(port)
sudo lsof -i:8343
iptables 开启指定端口_qingwei201314-CSDN博客
注意与ufw命令的冲突
关闭ufw(防火墙)时,就直接使用iptables来进行操作
17、目录、文件日常处理
处理目录的常用命令
接下来我们就来看几个常见的处理目录的命令吧:
- ls(英文全拼:list files): 列出目录及文件名
- cd(英文全拼:change directory):切换目录
- pwd(英文全拼:print work directory):显示目前的目录
- mkdir(英文全拼:make directory):创建一个新的目录
- rmdir(英文全拼:remove directory):删除一个空的目录
- cp(英文全拼:copy file): 复制文件或目录
- rm(英文全拼:remove): 删除文件或目录
- mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称
18、apt 常用命令
- 列出所有可更新的软件清单命令:sudo apt update
- 升级软件包:sudo apt upgrade
列出可更新的软件包及版本信息:apt list --upgradeable
升级软件包,升级前先删除需要更新软件包:sudo apt full-upgrade - 安装指定的软件命令:sudo apt install <package_name>
安装多个软件包:sudo apt install <package_1> <package_2> <package_3> - 更新指定的软件命令:sudo apt update <package_name>
- 显示软件包具体信息,例如:版本号,安装大小,依赖关系等等:sudo apt show <package_name>
- 删除软件包命令:sudo apt remove <package_name>
- 清理不再使用的依赖和库文件: sudo apt autoremove
- 移除软件包及配置文件: sudo apt purge <package_name>
- 查找软件包命令: sudo apt search <keyword>
- 列出所有已安装的包:apt list --installed
- 列出所有已安装的包的版本信息:apt list --all-versions
19、ps命令-查看进程的PID
ps 命令的作用是显示进程信息的;| 符号,是个管道符号,表示ps 和 grep 命令同时执行;
grep 命令是查找(Global Regular Expression Print),能使用正则表达式搜索文本,然后把匹配的行显示出来;
ps命令有一些参数:
-e : 显示所有进程
-f : 全格式
-h : 不显示标题
-l : 长格式
-w : 宽输出
a :显示终端上的所有进程,包括其他用户的进程。
r :只显示正在运行的进程。
u :以用户为主的格式来显示程序状况。
x :显示所有程序,不以终端机来区分。
ps -ef
ps -ef | mysql
ps -ef命令含义_JureyLi的博客-CSDN博客_平时-ef
20、ln (链接)
ln 命令用来在文件之间建立链接,其的常用方式
# 建立硬链接
ln source target
# 建立软链接
ln -s source target
其中source表示所对应指向的具体位置
target表示 所生成的link(Windows理解的快捷方式类似)
可理解为对 source 建立一个 target 超链接
即:
ln -s /disk004 link_disk004
它们分别用来创建硬链接文件和软链接文件,一般都用软连接。
参考: Linux ln 命令 - sparkdev - 博客园
21、压缩
tar
压缩
把test文件夹打包压缩成 test.tar.gz 包
tar -zcvf test.tar.gz test
解压
把 test.tar.gz 包解压出来
tar -zxvf test.tar.gz
其他的格式详细见参考链接
参考:
hepingfly:Linux 压缩和解压缩命令(详细总结)
22、查看文本内容
查看文件
more test.txt
默认显示前10行
head -n test.txt
查看文件最后200行
tail -200 test.txt
转自 https://zhuanlan.zhihu.com/p/396959261