Linux常用工作指令

Vim编辑器的使用

一般模式

当用vim打开一个文件就进入一般模式,常用命令如下

命令功能描述
yy复制光标当前一行
p粘贴到光标后一行
u撤销上一步
dd删除当前行
x剪切一个字母,可以当del一个字母使用
shift+6(^)移动到行头
shift+4($)移动到行尾

编辑模式

在一般模式下,按下i、I、o、O、a、A任意一个字母即可进入编辑模式

esc退出编辑模式之后进入一般模式,常用命令如下

按键功能描述
i当前光标前
I当前光标最前
o当前光标行的下一行
O当前光标行的上一行
a当前光标后
A当前光标最后

指令模式

在一般模式当中,输入:、/、?中的任意一个即可进入光标指令模式,常用命令如下

命令功能描述
:w保存
:q退出
:!强制执行
/要查找的词n查找下一个,N往上查找
:noh取消高亮显示
:set nu显示行号
:set nonu关闭行号
:%s/需要替换的旧单词/要替换的新单词/g替换内容 /g将匹配到的所有内容

系统管理

Service服务管理

基本语法

service 服务名 [start|stop|restart|status]

查看服务的方法:进入etc/init.d

image-20220411175503062

设置后台服务的自启配置

  • chkconfig:查看所有服务器自启配置
  • chkconfig 服务名 off:关掉指定服务的自动启动
  • chkconfig 服务名 on:开启指定服务的自动启动
  • chkconfig 服务名 --list:查看服务开机启动状态
# 开启/关闭 network(网络)服务的自动启动
chkconfig network on
chkconfig network off

# 开启/关闭 network 服务指定级别的自动启动
chkconfig --level 指定级别 network on
chkconfig --level 指定级别 network off

Systemctl服务管理

systemctl [start|stop|restart|status] 服务名

查看服务的方法:进入/usr/lib/systemd/system

image-20220411175756169

设置后台服务的自启配置

  • systemctl list-unit-files:查看服务开机启动状态
  • systemctl disable 服务名:关掉指定服务的自动启动
  • systemctl enable 服务名:开启指定服务的自动启

image-20220411180040119

防火墙管理

查看防火墙状态

systemctl status firewalld

image-20220411180816817

临时开启/关闭防火墙

# 临时关闭
systemctl stop firewalld
# 临时开启
systemctl start firewalld

image-20220411180919054

开机启动/关闭防火墙

# 开机自启
systemctl enable firewalld.service
# 关闭开机自启
systemctl disable firewalld.service

文件查看类命令

cat查看文件内容

查看文件内容,从第一行开始显示,一般查看比较小的文件,一屏幕能显示完全的

选项功能
-n显示所有行的行号,包括空行

more文件内容分屏查看器

more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。

操作功能
空格向下翻页
enter向下翻行
q退出more

less分屏显示文件内容

less在显示文件内容时,不会将整个文件加载后才显示,对于显示大型文件具有较高的效率

操作功能
enter向下翻一行
pagedown向下翻动一页
pageup向上翻动一页
/字串、?字串搜寻字串 n向下查找 N向上查找
q离开less这个程序

head显示文件头部内容

head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容

选项功能
-n 行数指定显示头部内容的行数
head -n 50 a.txt

tail输出文件尾部内容

tail用于输出文件中尾部内容,默认情况下tail指令显示文件的后10行内容

选项功能
-n 行数输出文件尾部n行内容
-f显示文件最新追加的内容,监视文件变化
# 查看文件尾1行内容
tail -n 1 a.txt
# 实时追踪该文档的所有更新
tail -f a.txt

文件权限类命令

# 0:d是目录 -是文件 l是链接
# 123 属主权限 user
# 456 属组权限 group
# 789 其他用户权限 other
0123456789
drwxr-xr-x
-rwxr-xr-x

image-20220411205316423

image-20220411205959885

如果查看到的是文件:链接数指的是硬链接的个数

如果查看到的是文件夹:链接数指的是子文件夹的个数

chmod改变权限

方式一

u: 所有者 g:所有组 o:其他人 a:所有人

chmod [ugoa] [+-=] [rwx] 文件或目录
# 修改文件使其所属主用户具有执行权限
chmod u+x a.txt
# 修改文件使其所属组用户具有执行权限
chmod g+x a.txt
# 修改文件所属主用户执行权限,并使其他用户具有执行权限
chmod u-x,o+x a.txt

方式二:

r=4 w=2 x=1

chmod 421 文件或目录
# 修改整个文件夹里面的所有文件的所有者、所属组、其他用户都具有可读可写可执行权限。
chmod -R 777 a/

chown改变所有者

chown [-R] 最终用户 文件或目录

# 修改文件所有者为czs
chown czs a.txt
# 递归改变文件所有者和所有组
chown -R czs:czshh0628 a/

chgrp改变所属组

chgrp 最终用户组 文件或目录

# 修改文件的所属组
chgrp root a.txt

搜索查找类命令

find查找文件或者目录

选项功能
-name 查询方式按照指定的文件名查找模式查找文件
-user 用户名查找属于指定用户名的所有文件
# 查找/opt目录下后缀名为txt的所有文件
find /opt/ -name "*.txt"
# 查找/opt目录下czs用户的文件
find /opt/ -user czs

压缩和解压类

gzip/gunzip压缩

gzip 文件:压缩文件,只能将文件压缩为*.gz文件

gunzip 文件.gz:解压缩文件

只能压缩文件不能压缩目录

zip/unzip压缩

zip [-r] xxx.zip 将要压缩的内容:压缩文件和目录命令

zip选项功能
-r压缩目录

unzip [-d] xxx.zip:解压缩文件

unzip选项功能
-d 目录指定解压后文件的存放目录
# 压缩images.sh后名称为a.zip里
zip a.zip images.sh
# 解压a.zip到b.zip
unzip a.zip -d /opt/b.zip

tar打包

tar [选项] xxx.tar.gz 将要打包进去的内容:打包目录,压缩后的文件格式.tar.gz

选项功能
-c产生.tar打包文件
-v显示详细信息
-f指定压缩后的文件名
-z打包同时压缩
-x解包.tar文件
-C解压到指定目录
# 压缩多个文件
tar -zcvf a.tar.gz a.txt b.txt
# 压缩目录
tar -zcvf a.tar.gz /opt/a
# 解压到指定目录
tar -zxvf a.tar.gz -C /opt/a

磁盘查看类命令

du查看文件和目录占用的磁盘空间

du [选项] 目录/文件:显示目录下每个子目录的磁盘使用情况

选项功能
-h以G、MB、KB显示
-a不仅查看子目录大小,还要查看文件
-c显示所有文件和子目录大小,显示总和
-s只显示总和
# 查看opt目录占用磁盘空间大小情况
du -sh /opt

df查看磁盘空间使用情况

df [选项]:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况

选项功能
-h以G、MB、KB显示
# 查看磁盘使用情况
df -h

进程管理类命令

ps查看当前系统进程状态

ps aux | grep xxx:查看系统中所有进程,想查看进程的CPU占用率和内存占用率使用此命令

ps -ef | grep xxx:可以查看子父进程之间的关系,想查看进程的父进程ID可以使用此命令

选项功能
a列出带有终端的所有用户的进程
x列出当前用户的所有进程,包括没有终端的进程
u面向用户友好的显示风格
-e列出所有进程
-u列出某个用户关联的所有进程
-f显示完整格式的进程列表

image-20220412093529101

描述说明
USER进程是由哪个用户产生的
PID进程的ID号
%CPU该进程占用CPU资源的百分比,占用越高,进程越消耗资源
%MEM该进程占用物理内存的百分比,占用越高,进程越消耗资源
VSZ该进程占用虚拟内存大小,单位KB
RSS该进程占用实际物理内存大小,单位KB
TTY该进程是由哪个终端运行的。tty1是图形化终端、tty2-tty6是本地的字符界面终端、pts/0-255代表虚拟终端
STAT进程状态,R运行状态、S睡眠状态、T暂停状态、Z僵尸状态、s包含子进程、l多线程、+前台显示
START该进程的启动时间
TIME该进程占用CPU的运算时间,不是系统时间
COMMAND产生此进程的命令名

image-20220412094203401

描述说明
UID用户ID
PID进程ID
PPID父进程ID
CCPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低。数值越小,表面进程是I/O密集型运算,执行优先级会提高
STIME进程启动时间
TTY完整的终端名称
TIMECPU时间
CMD启动进程所用的命令和参数

netstat显示网络状态和端口占用信息

netstat -anp | grep 进程号:查看该进程网络信息

netstat -lnp | grep 端口号:查看网络端口号占用情况

选项功能
-a显示所有正在监听和未监听的socket
-n拒绝显示别名,能显示数字的全部转化成数字
-l仅列出在监听的服务状态
-p表示显示哪个进程在调用

top实时查看监控系统进程状态

top [选项]

选项功能
-d 秒数指定top命令每隔几秒更新,默认3秒
-i使top不显示任何闲置或者僵死进程
-p通过指定监控进程ID来仅仅监控某个进程的状态
操作功能
P以CPU使用率排序,默认就是此项
M以内存使用率排序
N以PID排序
q退出top
# 每1秒刷新
top -d 1
# 不显示任何闲置僵死进程
top -i
# 查看某个进程状态
top -p 2575

image-20220412104450132

# 该行为任务队列信息
# 10:45:06     系统当前时间
# up  1:20     系统运行时间,运行了1小时20分钟
# 1 user	    当前登录了1个用户
# load average: 0.00, 0.01, 0.05     系统在之前1、5、15分组的平均负载。一般小于1负载较小,大于1系统已经超出负荷
top - 10:45:06 up  1:20,  1 user,  load average: 0.00, 0.01, 0.05
# 该行为进程信息
# Tasks: 151 total     系统中的进程总数
# 1 running            正在运行的进程数
# 150 sleeping	       睡眠的进程
# 0 stopped			  正在停止的进程
# 0 zombie			  僵尸进程。如果不是0,需要手工检查僵尸进程
Tasks: 151 total,   1 running, 150 sleeping,   0 stopped,   0 zombie
# 该行为CPU信息
# %Cpu(s):  0.0 us      用户模式占用的CPU百分比
# 0.2 sy                系统模式占用的CPU百分比
# 0.0 ni                改变过优先级的用户进程占用百分比
# 99.8 id               空闲CPU百分比
# 0.0 wa                等待输入/输出的进程占用百分比
# 0.0 hi                硬中断请求服务占用的CPU百分比
# 0.0 si		       软中断请求服务占用的CPU百分比
# 0.0 st                虚拟CPU等待实际CPU的时间百分比
%Cpu(s):  0.0 us,  0.2 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
# 该行为物理内存信息
# KiB Mem :  2028116 total     物理内存的总量,单位KB
# 605080 free				  空闲的物理内存量
# 401892 used                   使用的物理内存量
# 1021144 buff/cache            缓冲内存量
KiB Mem :  2028116 total,   605080 free,   401892 used,  1021144 buff/cache
# 该行为交换分区(swap)信息
# KiB Swap:  4194300 total		    交换分区的总大小
# 4194300 free					   空闲交换分区的大小
# 0 used						  已经使用的交换分区的大小
# 1348804 avail Mem				   作为缓存的交互分区大小
KiB Swap:  4194300 total,  4194300 free,        0 used.  1348804 avail Mem

软件包管理类命令

RPM

rpm -qa:查询所安装的所有rpm软件包

软件名称-软件的版本号,主版本和此版本-处理位(i386是32位处理器统称).文件扩展名
Apache-1.3.23-11.i386.rpm

rpm卸载命令

rpm -e 软件包

rpm -e --nodeps 软件包

选项功能
-e卸载软件包
–nodeps卸载软件时,不检查依赖

rpm安装命令

rpm -ivh 包全名

选项功能
-iinstall,安装
-v–verbose,显示详细信息
-h–hash,进度条
–nodeps安装前不检查依赖

YUM

yum [选项] [参数]

选项功能
-y对所有提问都为yes
参数功能
install安装rpm软件包
update更新rpm软件包
check-update检查是否有可用的更新rpm软件包
remove删除指定的rpm软件包
list显示软件包信息
clean清理yum过期的缓存
deplist显示yum软件包的所有依赖关系

用户管理命令

useradd添加新用户

useradd 用户名:添加新用户

useradd -g 组名 用户名:添加新用户到某个组

userdel删除用户

userdel 用户名:删除用户但是保存用户家目录

userdel -r 用户名:删除用户以及其家目录

修改用户

usermod -g 用户组 用户名

usermod -g root czs

查看创建的全部用户

cat /etc/passwd

password设置用户密码

用法:password 用户名

id 查看用户是否存在

用法:id czs

切换用户

su 用户名称:切换用户,只能获得用户的执行权限,不能获得环境变量

su - 用户名称:切换用户,并获得的用户的执行权限和环境变量

设置普通用户具有root权限

/etc/sudoers下添加如下内容

# # 采用sudo命令时,需要输入密码
czs     ALl=(ALL)       ALL
# 采用sudo命令时,不需要输入密码
czs     ALl=(ALL)       NOPASSWD:ALL

image-20220411204354444

用户组管理命令

groupadd新增组

groupadd 组名

groupdel删除组

groupdel 组名

groupmod修改组

groupmod -n 新组名 老组名

查看创建了那些组

cat /etc/group

image-20220411205003221


版权声明:本文为xiaoyixiao_原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。