ubuntu常用指令
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 进程号
利用进程名关闭:(缺点关闭不了图形界面)
1killall 进程名
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/version
、uname -a
、lsb_release-a
5. 进入/退出root权限
进入root权限:sudo -s
、sudo su
、sudo -i
(为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以使用该命令。)
退出root权限:exit
、Ctrl+d
6. 帮助指令
1.man + 外部命令
:man ls
manual查看手册
2.help + 内部命令
:help cd
3.外部命令 --help
:ls --help
使用help
查看外部命令
4.type 指令
:查看是指令的类别-嵌入的或是外部
7.文件目录操作
.
当前目录,..
:当前目录的父目录
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
:创建嵌套目录
5rmdir
:(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-%S
、date "+%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 -l
或ll
查看文件详细熟悉
文件类型:-
:文档文件; 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 Z
、ps -f -p pid
、kill -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