ubuntu常用指令

来源:csdn博客 分类: 文章浏览史 发布时间:2023-12-29 09:16:25 最后更新:2023-12-29 浏览:149
转载声明:
本文为摘录自“csdn博客”,版权归原作者所有。
温馨提示:
为了更好的体验,请点击原文链接进行浏览
摘录时间:
2023-12-29 09:16:25

1.vim编辑指令:

一般模式下:
复制:(n )yy(复制n行) yw(复制该单词)
粘贴:p
指向行首:^
指向行尾巴:$
指向屏幕行首:gg/H
指向最后一行行首:L
替换:r
撤销:u
合并两行:J

写入:
插入:i;到行首插入:I
附加:a;在行末附加:A
换行写入:o

保存:
写入::w
退出::q
保存退出: :wq

查找替换:
查找:/world(查找的单词)
替换:替换一个(:s/old/new);替换一行的(:s/old/new/g);全文替换(%s/old/new/g

在这里插入图片描述

2. 进程查看

1使用到ps指令
ps -u name:查看具体用户对应的进程
ps -u root:查看root的进程
ps -x:查看属于自己的进程
ps -f -p PID:查看某一进程(PID)的用户信息
ps aux:查看所有运行中的进程
ps aux|less:查看所有运行中的进程,并查看内容

2使用进程资源监控
ubuntu自带的资源管理器:gnome-system-monitor

3使用top指令:键盘1显示所有核信息,q:推出窗口
在这里插入图片描述
%Cpu的意义:

us — 用户空间占用CPU的百分比。
sy — 内核空间占用CPU的百分比。
ni — 改变过优先级的进程占用CPU的百分比
id — 空闲CPU百分比
wa — IO等待占用CPU的百分比
hi — 硬中断(Hardware IRQ)占用CPU的百分比
si — 软中断(Software Interrupts)占用CPU的百分比

各进程的详细信息:

PID: 进程号
USER: 进程所有者
PR: 进程优先级
VIRT: 进程所占虚拟内存大小,单位:B
RES: 进程所占物理内存大小,单位:B
SHR: 进程所占共享内存大小,单位:B
%CPU: 进程所占CPU使用率
%MEM:进程所占内存使用率
TIME+: 进程启动后所占总的CPU时间
COMMAND: 进程命令名

3 关闭进程

利用进程号关闭进程
1.kill 进程号kill -9 进程号

利用进程名关闭:(缺点关闭不了图形界面)
killall 进程名
2pkill 进程名

先查找再关闭
1ps -e|grep 进程名
2ps -ef|grep 进程名
在这里插入图片描述
仅仅-e所能匹配的进程不全,但是-ef能匹配更详细的命令行信息,更重要的是这种方式不是完整匹配,而是部分匹配。

3pgrep 进程名
4 pgrep -a 进程名
其优点在于可以只打印进程号,方便后续关闭。
5.一次性执行查找和关闭,利用xargs命令:
ps -ef |grep python |awk '{print $2}'|xargs kill -9

4.参数查看

ip地址查看ifconfig

cpu参数查看:
查看物理CPU个数:cat /proc/cpuinfo|grep "physical id"|sort|uniq|wc -l
查看每个物理CPU中core的个数(即核数):cat /proc/cpuinfo|grep "cpu cores"|uniq
查看逻辑CPU的个数:cat /proc/cpuinfo|grep "processor"|uniq
查看CPU信息(型号): cat /proc/cpuinfo|grep name|cut -f2 -d:|uniq -c

查看Linux 系统版本:cat/proc/versionuname -alsb_release-a

5. 进入/退出root权限

进入root权限:sudo -ssudo susudo -i(为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以使用该命令。)
退出root权限:exitCtrl+d

6. 帮助指令

1.man + 外部命令:man ls manual查看手册
2.help + 内部命令help cd 
3.外部命令 --help:ls --help使用help查看外部命令
4.type 指令:查看是指令的类别-嵌入的或是外部

7.文件目录操作

  1. .当前目录,..:当前目录的父目录

1.pwd:(print working directory) 显示工作的绝对目录

2.cd :(change directory)切换目录
cd回到主目录
cd ..:返回上一个目录
cd .. /文件夹,同一个目录下文件的切换 
cd -回到上一个文件夹,可以两个文件夹之间来回横跳

3.ls(list)列出目录内容
list -a: 列出所有文件,包括.开头的隐藏文件
list -l = ll:长数据列出文件的各种信息

4.mkdir 文件名:(make directory)创建文件夹
mkdir a b c:同时创建多个目录
mkdir -p d /e:创建嵌套目录

rmdir:(remove directory)
rmdir a b c :同时删除同一目录下的多个目录
rmdir -p g/h/i:删除嵌套目录

6touch创建文件
vim 文件名

7cp文件或目录
cp [选项] source dest复制source文件到dest
cp source1 dest/source2复制source1覆盖dest下的source2
\cp 强制复制,不带提示,添加/(原生命令)
cp -r source/ dest ,-r recurse递归复制文件夹

8rm删除文件
rm [] deleteFile 删除文件
rm -f dataFile强制执行删除操作,不需提示确rm -r 认
rm -v dataFile显示指令的详细执行过程
rm -r dataFile递归删除目录中的所有内容(可用于删除文件夹)
rm -rf dataFile dataFile强制删除所有内容

9 mv:移动(文件夹/文件)
mv oldNameFile newNameFile  重命名i
mv /temp/movefile/targetFolder 移动文件
mv /temp/movefile/targetFolder newNameFile 移动文件并改名

10cat查看文件内容
cat [选项] source(catc h)
cat -n source显示所有行的行号,包括空行

11more 文件内容分屏查看器
more dataFile

12less动态分屏显示文件内容
根据显示需要加载内容,对于显示大型文件具有较高的效率
基本语法:less dataFile
其中文档打开后,查找等非修改命令和vim指令一致

13echo输出内容到终端
echo [选项] [输出内容 ]
echo -e [输出内容] 支持反斜线转义字符输出
使用echo指令查看环境配置,例如:echo $PATH

14 >输出重定义;>>内容追加
ls -l > dataFile 列表的内容写入文件(覆盖写)
ls -al >> dataFile列表的内容追加到文件
cat dataFile1 > dataFile2将文件1的内容覆盖到文件2
echo "内容" >> dataFile在文件中追加内容

用于日志监控:
15head显示文件的开头部分内容
head dataFile默认情况下指令显示文件的前10行内容
head -n 5 dataFile查看文件头前5行内容

16tail输出文件尾部内容
tail dataFile默认情况下指令显示文件的最后10行内容
tail -n 5 dataFile查看文件尾5前行内容
tail -f dataFile 实时追踪该文档的所有更新内容(ctrl + s: 暂停实时跟踪;ctrl+q:恢复实时跟踪)

17ln软链接也称为符号链接,类似windows里的快捷方式,有自身的数据块,主要存放了链接其他文件的路径。
ln -s [原文件/目录] [软链接名] 建立软链接
rm -rf [软链接名] 删除软链接
ln [原文件] [硬链接]:只能链接文件,类似于文件有多个指针指向

18history 历史执行过的指令
history num最近10行执行命令
history -c删除历史命令
! num显示历史命令中的第num行命令

8 时间日期类

1date显示当前日期
date +%Y返回当前年份(%m月份,%d天)
date +%Y-%m-%d-%H-%M-%Sdate "+%Y-%m-%d %H-%M-%S"返回当前的时间
date +%s 返回当前时间的时间戳(从1970-01-01 0:0:0-now)
date -d "n days ago"显示前n天当前的时间(n为正:前n天,n为负:后n天)
date -s "2020-05-14 20:52:18 "设置系统时间
ntpdate 同步时钟服务器的名称同步系统时间

2cal(calendar)查看月份
cal查看当前月份
cal -n:往后n个月的信息
cal 2023:查看2023年的全部信息
cal -y查看本年度的全部信息
cal -m:周一在前显示

9 用户管理命令

1 useradd添加新用户
useradd 用户名 添加新用户
useradd -m username #参数-m 自动创建用户的家目录
useradd -g 用户名 添加新用户到某个组
useradd -d /home/dave david添加新用户david,并将其对应的主文件名设置为dave
useradd 用户名 -s /bin/bash -s指定用户登入后所使用的shell

2passwd 用户名为用户设置密码
cat /etc/passwd 查看有那哪些用户
id 用户名查看用户的id信息

3su 用户名用户切换
exit退出至上一用户

4who am i查看原始用户信息;whoami:查看当前用户名

5sudo 为普通用户临时设置超级用户的权限
vim \etc\sudoers为用户设置权限(需在root权限下)

6userdel删除用户

7usermod -g 组名 用户名修改用户的组别

10 用户组管理命令

组的信息放在/etc/group

1groupadd 组名新增组

2groupdel 组名删除组

3groupmod -n oldname newname修改组名

4cat /etc/group查看创建了哪些组

11文件权限类

1 文件属性
ls -lll查看文件详细熟悉
在这里插入图片描述
在这里插入图片描述
文件类型:-:文档文件; d:目录文件; c: 输入设备文件;b:硬盘等模块文件

注意:文件的[w]:只能修改,不能删除;删除一个文件需要的权限是其所在目录有写的权限[w]。

2 chmod改变权限
在这里插入图片描述第一种方式更改权限:
chmod [u/g/o/a][+/-/=] {rwx} 文件或目录
第二种方式:
二进制的形式:000= - - - ,111=rwx(7),110=rw-(6)
chmod 777

若欲将某个目录及其包含的文件都设为所有人可操作模式:
chmod -R 777

3chown改变所有者
chown 用户名 文件/目录改变所有者
chown -R 用户名 目录递归改变目录内的所有者

4 chgrp更改所有组
chgrp 组名 文件名/目录改变所属组
chgrp -R 组名 文件名归改变目录内的所属组

12搜索查找类

1 find查找文件或目录
find指令将从指定目录向下递归地遍历其每个子目录,将满足条件的文件显示在终端。
find查找方式是从硬盘存储的数据文件中查找的。
基本语法:
fidn [搜索范围/默认为当前目录] [选项]
选项:
-name: 按文件名查找文件
find /root -name "*.cfg":查找root目录下所用后缀为.cfg的文件

-user:查找属于指定用户的所有文件
find /home -user tony:查看tony用户的文件

-size:按照指定的文件大小查找文件(b:块(512字节);c:字节;w:字(2字节);k签字节;M:兆字节;G:吉字节)
ls -lh查看文件属性
find /root -size +10M:root目录下超过10M的文件
find /root -size 10M:root目录下不超过10M的文件

2locate:快速定位文件路径
locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位指定文件。查询速度较快,且不需遍历整个文件系统。为了保证查询结果的准确性,管理员需定期更新locate时刻。
更新locate数据库:
updatedb
基本语法:
locate 查找内容

3.whereis ls(指令)which ls(指令)查找指令文件的位置
whoami:查看当前用户

4grep过滤查找及“|”管道符
基本语法:
grep 选项 查找内容 源文件
例如:
-n:显示匹配行及行号
在这里插入图片描述|:管道符的用处,将前面指令运行的结果作为后面运行的参数直接处理
在这里插入图片描述

wc:(word count):统计文件中的“行数 单词数 字节大小”
在这里插入图片描述grep -n ll hello | wc
在这里插入图片描述

13 压缩和解压类

1gzip/gunzip压缩
基本语法:
gzip 文件 压缩文件,只能将文件压缩为“*.gz”文件
gunzip 文件.gz 解压文件.gz

gzip/gunzip:只能压缩文件,不能压缩目录;压缩后不保留原文件;能同时压缩多个文件,产生多个压缩包并不是合成一个压缩包

2zip/unzip打包+压缩
保留原文件,能压缩目录
基本语法:
zip [选项] XXX.zip 文件名 压缩文件
unzip [选项] XXX.zip解压
选项:
-r 递归压缩目录
zip -r ac.zip ac/压缩整个ac目录下的文件
-d指定文件解压后的存放位置
unzip -d /home ac.zip 将文件解压后存在home目录下

3tar打包
基本语法:
tar [选项] XXX.tar.gz打包目录,压缩后的文件格式.tar.gz
选项:
-c:产生.tar打包文件
-v:显示详细信息
-f:指定压缩后的文件名
-z:打包同时压缩
-x:解包.tar文件
-C:解压到指定目录

打包压缩:
在这里插入图片描述解压:
请添加图片描述

14 磁盘管理类

查看目录占用空间大小
1.l l ls -lh显示目录本身占用内存的空间大小,无法了解目录下的子文件所占空间大小

2.tree 目录以树状形式显示层级结构
在这里插入图片描述3du(disk usage)磁盘占用情况
基本语法:
du 目录 显示目录下每个字子目录的磁盘使用情况

选项:
-h:以较易阅读的GBytes等格式显示,(大小显示为几k几M)
-a:不仅查看子目录大小还查看文件
-c:显示所有的文件和子目录大小后,显示总和
-s:显示总和
--max-depth=n:指定统计子目录的深度为第n层
在这里插入图片描述 
4df:disk free 空余磁盘大小
基本语法:
df 选项 列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况
选项:
-h:以较易阅读的GBytes等格式显示,(大小显示为几k几M)
在这里插入图片描述sda:硬盘
tmpfs:临时内存文件系统占用磁盘空间

5free -h查看内存使用情况
请添加图片描述
6lsblk查看当前块设备的挂载情况
基本语法:
lsblk
选项:
-f:查看详细的设备挂载情况,显示文件系统信息
在这里插入图片描述在这里插入图片描述sda硬盘:基于SATA或SCSI框架设计的硬盘名字开头sd,sda表示为第一个硬盘,sda1表示第一个硬盘下的第一个分区
hda:基于IDE的硬盘名口头hd,hda表示为第一个硬盘
vda:虚拟硬盘名开头vd,vda表示为第一个硬盘
在这里插入图片描述lsblk -f查看详细的设备挂载情况,显示文件系统信息
在这里插入图片描述ext4:第四代文件扩展系统
xfs:文件日志系统

7mount/umount挂载/卸载
mount [-t vfstype] [-o options] device dir
-t vfstype]文件系统类型,通常不必指定
-o option描述挂载设备或档案的挂接方式

		`loop`:把一个文件当成硬盘分区挂接上系统
		`ro`:只读方式
		`rw`读写方式

umount 设备文件名或挂载点

vim /etc/fstab:查看修改开机挂载信息

8fdisk分区
基本语法:
fdisk -l 查看磁盘分区详情

fdisk 硬盘设备名对新增硬盘进行分区

		`fdisk /dev/sdb`

mkfs -t xfs /dec/sdb1为新增硬盘创建文件系统

15 进程管理类

计算机汇总,一个正在执行的程序或命令称为进程(process)。启动之后一直存在、常驻内存的进程,一般被称作服务
1service服务管理
service 服务名 start|stop|restart|startus
systemctl start|stop|restart|startus 服务名
查看服务的方法:/etc/init.d/服务名

2ps(process status) 进程状态
基本语法:
ps aux | grep XXX查看系统中所有进程,(Bs风格 )
ps -ef |grep XXX 可以查看子父进程之间的关系(unix风格)
选项:
a:列出带有终端的所有用户的进程
x:列出当前用户的所有进程,包括没有终端的进程
u:面向用户友好的显示风格
-e:列出所有进程
-u:列出某个用户关联的所有进程
-f:显示完整格式的进程列表

ps aux:
在这里插入图片描述
在这里插入图片描述各进程的详细信息:

PID: 进程号
USER: 进程所有者
PR: 进程优先级
VIRT: 进程所占虚拟内存大小,单位:B
RES: 进程所占物理内存大小,单位:B
SHR: 进程所占共享内存大小,单位:B
%CPU: 进程所占CPU使用率
%MEM:进程所占内存使用率
TIME: 进程启动后所占总的CPU时间
COMMAND: 进程命令名
tty:运行终端类型;tty1为图本地形化的操作终端,tty2-tty6为本地字符界面终端;pts/0-255:虚拟终端。
STAT:进程状态;R:运行状态、 S:睡眠状态、 T:暂停状态、 Z:僵尸状态 、s:包含子进程、 l:多线程、 +:前台显示 、<:进程优先级很高、N:进程优先级较低

3kill终止进程
基本语法:
kill [选项] 进程号pid通过进程号杀死进程
利用进程名关闭:(缺点关闭不了图形界面)
killall 进程名称pkill 进程名:通过进程名杀手进程,也支持通配符,在系统因负载过大而变得很慢时有用
选项:
-9:强迫进程立即停止

查杀僵尸进程:
查看僵尸进程:1.top查看z的数量;2.ps aux | grep Z | ps -ef | grep defunct
查杀1. ps aux | grep Zps -f -p pidkill -HUP ppid
查杀2. ps axo stat ,ppid,pid,comm | grep -w defunct | awk '{print "kill -9" $2}'
4pstree查看进程树
基本语法:
pstree查看系统中所有进程树(父子进程关系)
选项:
-p:显示进程的pid
-u:显示进程的所属用户
pstree -p |less
在这里插入图片描述5top实时监控界面
使用top指令:键盘1显示所有核信息,q:推出窗口
基本语法:
top [选项]
在这里插入图片描述
top:在这里插入图片描述
%Cpu的意义:

us — 用户空间(用户进程)占用CPU的百分比。
sy — 内核空间(内核进程)占用CPU的百分比。
ni — 改变过优先级的进程占用CPU的百分比
id — 空闲CPU百分比
wa — IO等待占用CPU的百分比
hi — 硬中断(Hardware IRQ)占用CPU的百分比
si — 软中断(Software Interrupts)占用CPU的百分比

6 netstat:显示网络状态和端口占用信息
基本语法:
netstat -anp | grep 进程号查看该进程网络信息
netstat -nlp | grep 端口号查看网络端口号占用在这里插入图片描述

7io读写
iotop:查看所有i/o接口读写情况
iotop -o:直接查看输出比较高的磁盘读写程序

16 crontab系统定时任务

1 crontab服务管理
  第一步确保crond守护进程处于active状态
  systemctl restart crond

2crontab定时任务设置
基本语法:
crontab [选项]
选项:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

17 软件包管理

1 RedHat系列(例如centOS)使用rpm

1.1查询安装的软件包:在这里插入图片描述
1.2卸载:rprm -e
在这里插入图片描述
1.3安装:rpm -ivh
在这里插入图片描述
1.4 yum 一键下载,自动将软件包可能依赖的包都自动下好
在这里插入图片描述

2 Debin系列(例如ubuntu)使用apt
使用手册查看apt的使用方法 apt --help
在这里插入图片描述