文章目录

一、基础指令

1、ls指令

含义:lslist

#用法1:
ls
#含义:列出当前工作目录下的所有文件/文件夹名称
#用法2:
ls 路径
#含义:列出指定路径下的所有文件/文件夹名称

关于路径路径可以分为两种:相对路径绝对路径。 相对路径:相对首先得有一个参照物(一般就是当前工作路径);
相对路径的写法:在相对路径中通常会用到2个符号 “./”【表示当前目录下】、“…/”【上一级目录下】。
绝对路径绝对路径需要参照物,直接从根“/”开始寻找对应路径;

#用法3:
ls 选项 路径
#含义:在列出指定路径下的文件/文件夹名称,并以指定格式进行显示
#常见语法
ls -l 路径
ls -la 路径

选项解释
-l:表示list表示详细列表的形式进行展示
a表示显示所有的文件/文件夹(包含隐藏文件/文件夹)

#用法4:
ls -lh 路径
#含义:列出指定路径下的所有文件/文件夹的名称,以列表的形式并且在显示文档大小时候以可读性较高的形式显示

常用选项
-a :显示路径下的所有目录和文件,包括隐藏文件(以.开头,其中.和…不是文件)
-A :显示路径下的所有目录和文件,不包括.和…
-d :只显示目录本身,不展开,一般与 -l 一起使用
-l :显示路径下目录和文件的详细信息(ll=ls -l)
-r反向排序
-R递归显示
-S :以文件大小排序显示,默认从大到小,与-r一起使用后按从小到大顺序排序
-t :按mtiem时间排序显示,默认是从近到远的顺序排序(其中mtime为文件数据修改时间
-cl :按ctime时间排序,默认是从近到远的顺序排序(其中ctime修改数据时间
-ul :按atime时间排序,默认是从近到远的顺序排序(其中atime访问文件的时间

2、pwd指令

#用法
pwd		
#含义:(print working directory打印当前工作目录)

3、cd指令

#用法
cd	路径	
#含义:(change directory,改变目录)
#作用用于切换当前的工作目录的
#在Linux中有一个特殊符号“~”,表示当前用户home目录。切换方式
cd ~
#或者直接 cd可以返回当前用户home目录
#返回上次所在目录
cd -	

4、mkdir指令

#用法1:
mkdir 路径  
#含义:(make directory创建目录)
#用法2:
mkdir -p 路径
#含义:当一次创建多层不存在的目录的时候添加-p参数,否则会报错
#用法3:
mkdir 路径1 路径2 路径3 …
#含义:【表示一次性创建多个目录】

5、touch指令

 #用法1:
touch 文件路径	
#作用:创建文件
#含义:路径可以是直接的文件名可以是路径
 #用法2:
touch 文件路径1	 文件路径2	 ...
#作用:创建多个文件
#含义:路径可以是直接的文件名也可以是路径

6、cp指令

 #用法1:
cp复制文档路径 文档被复制到的路径
#含义:copy,复制
#作用:复制文件/文件夹到指定的位置

1.Linux在复制过程中是可以重新对新位置的文件进行重命名的,但是如果不是必须的需要,则建议保持前后名称一致。
2.当使用cp命令进行文件夹复制操作时候需要添加选项“-r”【-r表示递归复制】,否则目录将被忽略

7、mv指令

 #用法1:
 mv 需要移动文档路径 需要保存位置路径
 #含义:move移动剪切,(重命名
 #作用移动文档到新的位置

在Linux重命名命令也是mv语法移动语法一样

8、rm指令

#用法1:
rm 选项 需要移除的文档路径
#含义:rm ,remove移除删除
#作用:移除/删除文档
#选项:
	-f:force强制删除,不提示是否删除
	-r:表示递归

删除的时候如果不带选项,会提示是否删除,如果需要确认输入y/yes”,否则输入“n/no按下回车
如果在删除的时候不想频繁的确认,则可以在指令中添加选项“-f”,表示force强制)。

#用法2:
rm -rf  Linux*
#含义:删除当前目录下以Linux开头的文件

称之为通配符,意思表示任意字符,Linux,则表示只要文件以Linux开头,后续字符则不管

9、输出重定向

#用法:
正常执行的指令 > 或者 指令>> 文件的路径
ll > t.txt
ll >> t.txt
#文件可以不存在,不存在自动新建

一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析/统计,则这时候需要使用到的输出重定向技术
‘>’:覆盖输出,会覆盖掉原先的文件内容
‘>>’:追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加

10、cat指令

#用法1:
cat 文件的路径
#作用:cat有直接打开一个文件的功能
#用法2:
cat合并的文件路径1 待合并的文件路径2 …. 文件路径n > 合并之后的文件路径
#作用:cat还可以对文件进行合并
#用法3:
#清空文件内容
cat /dev/null > filename.txt

11、vim指令

#用法1:
vim 文件的路径
#作用:打开一个文件(可以不存在,也可以存在

退出打开的文件: 在没有按下其他命令的时候,按下shift+英文冒号,输入q,按下回车即可

12、命令行快捷操作

12.1光标快速切换
ctrl+a切换至行首
ctrl+e切换至行尾
ctrl+k删除光标所在处至行尾的字符
ctrl+u删除当前光标前面的字符
ctrl+y粘贴最后一次被删除的单词
Tab:命令行自动补全

使用 shell 提示时可使用这一方式键入命令或文件名的前几个字符然后按 [Tab] 键,
它会自动补全命令或显示匹配键入字符的所有命令

二、进阶指令

1、df指令 (查看磁盘空间)

#用法:
df -h		
#作用:查看磁盘空间
#-h表示以可读性较高的形式展示大小

2、free指令(查看内存使用情况)

#用法:
free -m
#作用:查看内存使用情况
#-m表示以mb单位查看

3、head指令

#用法:
head -n 文件路径   
#n表示数字
#作用:查看一个文件的前n行,如果不指定n,则默认显示前10行。

4、tail指令

#用法1:
tail -n 文件的路径    
#n同样表示数字
#作用:查看一个文件的未n行,如果n不指定默认显示后10行
#用法2:
tail -f 文件路径
#该命令一般用于查看系统日志比较多。可以通过tail指令来查看一个文件的动态变化内容【变化的内容不能是用户手动增加的】

5、less指令

#用法1:
less 需要查看的文件路径
#作用:查看文件,以较少的内容进行输出,按下辅助功能键(数字+回车空格键+上下方向键)查看更多,在退出的只需要按下q键即可

6、wc指令(统计文件内容信息包含行数单词数、字节数))

#用法:
wc -lwc 需要统计的文件路径
#选项
	-l:表示lines,行数
	-w:表示words单词数   依照空格判断单词数量
	-c:表示bytes字节

7、date指令(时间日期读取设置))

#用法1:
date			
#输出的形式:2023年 01月 23日 星期一 14:46:11 CST
#用法2:
date +%F	
#输出形式:2023-01-23
#用法3:
date +"%F %T"
或者
date +"%Y-%m-%d %H:%M:%S" 
#输出形式:2023-01-23 15:18:38
#用法4:
# 时间格式转换
date -d "2009-12-12" +"%Y/%m/%d %H:%M.%S"
# 输出结果
2009/12/12 00:00.00
#设置全部时间
date -s "2012-05-23 01:01:01" 
#或者
date -s "20120523 01:01:01"  
#查看日期、时间、时区信息
timedatectl
#设置日期&时间
timedatectl set-time "YYYY-MM-DD HH:MM:SS"
#设置时区
timedatectl set-timezone Asia/Shanghai

8、cal指令(日历

#用法1:
cal	  
#作用:直接输出当前月份日历
#用法2:
cal  -3			
#作用:输出上一个月+本月+下个月的日历
#用法3:
cal  -y 2022  		
#作用:输出某一个年份日历

9、clear/ctrl + L指令

#用法:
clear		
#或者快捷键
ctrl + L
#作用:清除终端中已经存在的命令和结果信息)。

该命令并不是真的清除了之前的信息,而是把之前的信息的隐藏到了最上面,通过滚动条继续查看以前的信息。

10、管道 | grep

管道符:| 作用:管道一般可以用于过滤”,“特殊”,“扩展处理”。 grep指令:主要用于过滤
语法:管道不能单独使用,必须需要配合前面所讲的一些指令来一起使用,其作用主要是辅助作用。

#用法:
ls / | grep y
#作用:需要通过管道查询根目录包含“y”字母的文档名称。

#搜索某个文件里面是否包含字符串abc
grep "abc" /home/text.log
#检索时需要忽略大小写问题,可以使用参数“-i
grep -i "abc" /home/text.log

11、hostname指令

作用:操作服务器主机名(读取、设置

#用法1:
hostname
#含义:表示输出完整主机名	
#用法2:
hostname  -f	
#含义:表示输出当前主机名中的FQDN(全限定域名

12、id指令

作用:查看一个用户的一些基本信息(包含用户id,用户组id,附加组id…),该指令如果不指定用户默认当前用户

#用法1:
id	
#含义:默认显示当前执行该命令的用户基本信息
#用法2:
id  用户名
#含义:显示指定用户的基本信息

13、whoami指令

作用:“我是谁?”显示当前登录用户名,一般用于shell脚本,用于获取当前操作的用户名方便记录日志

#用法:
whoami

14、ps -ef指令(服务器进程信息)

#用法1:
ps -ef
#作用:主要是查看服务器进程信息
#选项含义:
	-e:等价于“-A”,表示列出全部的进程
	-f:显示全部的列(显示全字段
#用法2:
ps -ef|grep java
#作用:使用管道过滤查看java进程状态

列的含义:
UID:该进程执行的用户id;
PID:进程id;
PPID:该进程父级进程id,如果一个程序父级进程找不到,该程序的进程称之为僵尸进程(parent process ID);
C:Cpu的占用率,其形式是百分数
STIME:进行的启动时间;
TTY:终端设备,发起该进程的设备识别符号,如果显示“?”则表示该进程并不是由终端设备发起;
TIME:进程的执行时间;
CMD:该进程的名称或者对应的路径;

15、top指令(服务器的进程占的资源

#用法:
top			
#退出命令:按下q键

只查看某个进程的信息

#1.获取nginxpid
pidof nginx

在这里插入图片描述

#2.top指定查看PID
top -p 8304,8303
#或者
top -p8304 -p8303

在这里插入图片描述

列的含义:
PID:进程id;
USER:该进程对应的用户;
PR:优先级
VIRT:虚拟内存
RES:常驻内存
SHR:共享内存
计算一个进程实际使用的内存 = 常驻内存(RES)- 共享内存(SHR)
S:表示进程的状态statussleeping,其中S表示睡眠,R表示运行); %CPU:表示CPU的占用百分比
%MEM:表示内存的占用百分比
TIME+:执行的时间;
COMMAND:进程的名称或者路径;

选项:

-p :只显示某个进程的信息
-d设置刷新时间,默认是5s
-c :显示产生进程的完整命令,默认是进程名
-o :指定要排序的字段比如topo PID 按照PID从大到小,topo -PID 按照PID从小到大
-n :指定刷新次数比如 top -n 3,刷新输出3次后退出
-b :以非交互全屏模式运行,以批次的方式执行top,一般配合-n指定输出几次统计信息,将输出重定向到指定文件,比如 top –b -n 3 > /tmp/top.tmp
-i :不显示任何闲置 (idle) 或无用 (zombie) 的进程
-u查找特定用户启动的进程

运行top的时候,可以按下方便的快捷键

h: 按下h键,会显示帮助画面
c: 按下c键,会显示产生进程的完整命令,等同于-c参数,再次按下c键,变为默认显示
f: 按下f键,可以选择需要展示项目
M: 按下M键,根据驻留内存大小(RES)排序
P: 按下P键,根据CPU使用百分比大小进行排序
T: 按下T键,根据时间/累计时间进行排序
E: 按下E键,切换顶部内存显示单位
e: 按下e键,切换进程内存显示单位
l: 按下l键,切换显示平均负载启动时间信息。
t: 按下t键,切换显示CPU状态信息
m: 按下m键,切换显示内存信息
R: 按下R键,更改从小到大排序
k: 直接输入k,在输入进程的PID号,终止指定进程

16、dush指令(查看目录的真实大小)

#用法:
du -sh 目录路径
#选项含义:
	-s:summaries,只显示汇总的大小
	-h:表示以高可读性的形式进行显示

17、find指令(查找文件)

#用法1:
find 路径范围 选项 选项的值
#选项:
	-name:按照文档名称进行搜索支持模糊搜索-type f:按照文档的类型进行搜索
	文档类型:f 普通文件,d 表示文件夹
#用法2:
find /home -name "*.txt"
#作用:在/home目录下查找以.txt结尾的文件名
#用法3:
find /etc -type d
#作用:搜索/etc/目录下所有的文件夹

18、systemctl指令(管理系统启动管理系统服务相关命令)

systemctl start [unit type] 启动服务
systemctl stop [unit type] 停止服务
systemctl restart [unit type] 重启服务
systemctl enable [unit type] 设置服务开机启动
systemctl disable [unit type] 设备服务禁止开机启动

#用法1:
#启动网络服务
systemctl start network.service
#停止网络服务
systemctl stop network.service
#重启网络服务
systemctl restart network.service
#查看网络服务状态
systemctl status network.serivce
#用法2:
systemctl list-units --type=service 
#作用: 查看所有已启动的服务
systemctl命令 说明
systemctl 列出所有的系统服务
systemctl list-units 列出所有启动unit
systemctl list-unit-files 列出所有启动文件,开机启动项
systemctl list-unitstype=service 列出所有已启动的服务
systemctl list-units –type=service -all 列出所有service类型的unit
systemctl list-units –type=service -all | grep mysqld 列出mysql的服务
systemctl list-units –type=target -all 列出所有target
#用法3:
#查看网络服务是否启动
systemctl is-active network.service
#检查网络服务是否设置开机启动
systemctl is-enabled network.service
#停止cups服务
systemctl stop cups.service
#注销cups服务
systemctl mask cups.service
#查看cups服务状态
systemctl status cups.service
#取消注销cups服务
systemctl unmask cups.service

19、kill指令(结束进程)

作用:表示杀死进程 (当遇到僵尸进程或者出于某些原因需要关闭进程的时候)

#用法1:
kill  进程PID		
#语法需要配合ps一起使用,先查到进程pid
#用法2:
killall 进程名称
#与kill命令作用相似但是比kill更加好用的杀死进程的命令:killall

20、ifconfig指令(网卡相关

#用法:
ifconfig
#作用:获取网卡信息

21、rebootshutdown指令(重启关机

#用法:
reboot		
#重启
#立刻关机
shutdown -h now 
#立刻重启
shutdown -r now 
#在18:30关机
shutdown -h 18:30 
#将在10分钟关闭,且会显示在登录用户的当前屏幕
shutdown -h 10 
#指定10分钟关机,同时送出警告信息给登入用户:
shutdown +10 "System will shutdown after 5 minutes"
#取消关机计划 
shutdown  -c

22、uptime指令(计算机开机到现在运行的时间)

作用:输出计算机持续在线时间(计算机从开机到现在运行的时间)

#用法:
uptime

23、uname指令(打印统信息,当前操作系统版本信息

作用:获取计算机操作系统相关信息

#用法1:
uname			
#作用:获取操作系统类型
#用法2:
uname  -a
#作用:表示获取全部的系统信息(类型、全部主机名内核版本发布时间、开源计划
#用法3:
cat /proc/version 
cat /etc/issue 
cat /etc/redhat-release
#作用:Linux查看当前操作系统版本信息 查看版本当前操作系统发行版信息

24、netstat -tnlp指令(网络连接状态

#用法:
netstat -tnlp

选项说明
-t:表示只列出tcp协议连接
-n:表示将地址字母组合转化成ip地址,将协议转化成端口号来显示;
-l:表示过滤出“state状态)”列中值为LISTEN(监听)的连接
-p:表示显示发起连接的进程pid和进程名称;

#检查 8080 端口被哪个进程占用
netstat -lnp|grep 8080
#查看本地端口打开状态,该命令会显示当前所有正在监听的TCP和UDP端口,以及与之相关的进程信息。
netstat -tunlp

25、man指令(包含了Linux中全部命令手册

作用:manual,手册(包含了Linux中全部命令手册英文

#语法:
man cp
#查询cp命令的手册退出按下q键

三、vim编辑器

1、vim三种模式

Vim中存在三种模式(大众的认知):命令模式、编辑模式(输入模式)、末行模式(尾行模式)。
命令模式:在该模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(删除行,复制行,移动光标粘贴等等)【打开文件之后默认进入的模式】;
编辑模式:在该模式下可以对文件的内容进行编辑
末行模式:可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出撤销高亮等等);

#Vim的打开文件的方式
vim 文件路径				         #作用:打开指定的文件				 
vim  +数字  文件的路径			 #作用:打开指定的文件,并且将光标移动到指定行 
vim  +/关键词  文件的路径			 #作用:打开指定的文件,并且高亮显示关键词
#退出方式:输入:q按下回车即可

2、命令模式

2.1 光标移动到首行

n<Space>:n表示整数,按下数字后再按空格,光标向右移动n个字符
0 或 Home:光标移动到本行开头
$ 或 End:光标移动到本行末尾
gg:光标移动到第一行
G:光标移动到最后一行
:n 或 nG :n为整数,光标移动到第n行
n<Enter>:n为整数,光标向下移动n行

2.2 翻屏

PageUp : 上页
PageDown: 下页

2.3 选择、复制、删除、编辑、保存

v选中文本
d:删除选中的文本
dd:删除当前行
y:复制选中的文本
yy:复制当前行
p:将复制的数据在光标的下一个位置/下一行粘贴
u撤销
Ctrl+r取消撤销
>:将选中的文本向右缩进一次
<:将选中的文本向左缩进一次
:w:保存
:w! 强制保存
:q退出
:q!强制退出
:wq :保存并退出

2.4 可视化复制

ctrl + v(可视块)或V(可视行)或v(可视),然后按下↑↓←→方向键来选中需要复制的区块,按下y键进行复制,最后按下p键粘贴

2.5 剪切/删除

剪切/删除光标所在的当前行之后的内容,但是删除之后下一行不上移:
D : 删除之后当前行会变成空白

剪切/删除光标所在行:
dd : 删除之后下一行上移
注意:dd严格意义上说是剪切命令,但是如果剪切了不粘贴就是删除的效果

剪切/删除光标所在行为准(包含当前行),向下删除/剪切指定的行:
数字dd : 删除之后下一行上移

可视化删除:
ctrl + v(可视块)或V(可视行)或v(可视),上下左右移动,按下D表示删除选中行,d表示删选中

2.6 撤销/恢复

:u (不属于命令模式) 或者 u撤销
ctrl + r 恢复(取消)之前的撤销操作

2.6 光标的快速移动

数字↑,数字↓ :以当前光标为准向上/向下移动n行
数字←,数字→:以当前光标为准向左/向右移动n字符

末行模式下的快速移动方式:移动到指定的行:
输入英文“:” 其后输入行数数字,按下回车

3、末行模式

进入方式:由命令模式进入,按下“:”或者“/(表示查找)”即可进入
退出方式:
1. 连按2次esc
2. 删除末行全部输入字符

3.1 保存操作(write

:w : 保存文件
:w 路径 : 另存为 路径

3.2 退出(quit)

:q : 退出文件

3.3 保存并退出

:wq : 保存并且退出

3.4 强制 (!)

:q! : 表示强制退出,刚才做的修改操作不做保存

3.5 搜索/查找/替换

:noh关闭查找关键词高亮
/word:向光标之后寻找第一个值为word的字符串
?word:向光标之前寻找第一个值为word的字符串
n重复上一个查找操作
N反向重复前一个查找操作
:n1,n2s/word1/word2/g:n1与n2为数字,在第n1行与n2行之间寻找word1这个字符串,并将该字符串替换为word2
:1,$s/word1/word2/g:将全文的word1替换为word2
:1,$s/word1/word2/gc:将全文的word1替换为word2,且在替换前要求用户确认。

3.6 替换

:s/搜索的关键词/新的内容 :替换光标所在行的第一处符合条件的内容
:s/搜索的关键词/新的内容/g :替换光标所在行的全部符合条件的内容
:%s/搜索的关键词/新的内容 : 替换整个文档中每行第一个符合条件的内容
:%s/搜索的关键词/新的内容/g :替换整个文档的符合条件的内容

注释:
%表示整个文件
g表示全局

3.7 显示行号临时

:set nu
:set nonu : 取消显示

3.8 代码着色

:syntax on :显示
:syntax off :关闭显示

4、vim的配置

Vim配置三种情况:
	a. 在文件打开的时候在末行模式下输入的配置临时的)
	b. 个人配置文件(~/.vimrc,如果没有可以自行新建)
	c. 全局配置文件(vim自带,/etc/vimrc)

新建好个人配置文件之后进入编辑,在配置文件中进行配置
比如显示行号:set nu
配置好之后vim打开文件就会永远显示行号
vim ~/.vimrc
set tabstop=4 
set softtabstop=4 
set shiftwidth=4
set noexpandtab 
set nu  
set autoindent 
set cindent 
set nolist
syntax on
highlight Function cterm=bold,underline ctermbg=red ctermfg=green
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
set cursorline
set cul
set cursorcolumn
set cuc        
set selection=exclusive
set selectmode=mouse,key
set showmatch

常用配置:

set nu                      " 显示行号
set tabstop=4               " 设置制表符宽度为4
set softtabstop=4           " 设置制表符宽度为4
set shiftwidth=4            " 设置缩进空格数为4
set autoindent              " 设置自动缩进:即每行的缩进值与上一行相等
set cindent                 " 使用 C/C++ 语言自动缩进方式
set cursorline              " 突出显示当前行
set expandtab               " 空格代替制表符
set showmatch               " 光标遇到括号、方括号大括号时,自动高亮对应的另一个圆括号、方括号大括号
set ruler                   "状态栏显示光标的当前位置(位于哪一行哪一列)
 
set guifont=Consolas:h15    " 设置字体字体大小
colorscheme molokai         " 设置主题为molokai
 
set nobackup                " 取消备份文件
                            " 默认情况下,文件保存时,会额外创建一个备份文件,它的文件名是在原文件名的末尾,再添加一波浪号~
setlocal noswapfile         " 不创建交换文件。交换文件主要用于系统崩溃恢复文件,文件名的开头是.、结尾是.swp
set noundofile              " 取消生成un文件
 
set hlsearch                " 设置高亮显示搜索字符串
set showmode                "底部显示,当前处于命令模式还是插入模式
set showcmd                 " 命令模式下,在底部显示,当前键入的指令。比如输入快捷键将在底部显示具体命令
set t_Co=256                " 启用256色
set noerrorbells            " 出错时不要发出响声
" 高亮显示
syntax on
syntax enable
" 编码配置
set enc=utf-8
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
set fileencodings=ucs-bom,utf-8,cp936
set fileencoding=utf-8

四、自有服务

1、用户与用户组管理

注意三个文件:
/etc/passwd				存储用户的关键信息
/etc/group				存储用户组的关键信息
/etc/shadow				存储用户的密码信息

查询用户和用户所在的用户组:

id
#id 用户名
id test
groups
#groups 用户名
groups test

在这里插入图片描述

1.1 添加用户

#语法:
useradd 选项 用户名
常用选项:
	-g:表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名
	-G:表示指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名
	-u:uid,用户的id(用户的标识符),系统默认会从500之后按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义
	-c comment:添加注释

在不添加选项的时候,执行useradd之后会执行系列的操作
a. 创建同名的家目录;
b. 创建同名的用户组;
添加用户后验证,打开/etc/passwd,最后行为最近添加的用户。
/etc/passwd 文件列表字段解析:用户名:密码:用户ID:用户组ID:注释:家目录:解释器shell
户名:创建新用户名称,后期登录的时候需要输入;
密码:此密码位置一般情况都是“x”,表示密码的占位;
用户ID:用户的识别符;
用户组ID:该用户所属的主组ID;
注释解释该用户是做什么用的;
家目录:用户登录进入系统之后默认的位置;
解释器shell等待用户进入系统之后,用户输入指令之后,该解释器收集用户输入的指令,传递给内核处理

1.2 修改用户

#语法:
usermod 选项 用户名
#用法1:
usermod -g 500 -G 501 test
#含义:修改test户主组为500,附加组改为501
#用法2:
usermod -l 新的用户名 旧的用户名
usermod -l test testt
#含义:修改test 用户名为 testt

#常用选项:
#	-g:表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名
#	-G:表示指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名
#	-u:uid,用户的id(用户的标识符),系统默认会从500之后按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义【类似于腾讯QQ的自选靓号情况】
#	-l:修改用户名

1.3 设置密码

#语法:
passwd 用户名
passwd test
#作用:设置test用户的密码

1.4 删除用户

#语法:
userdel 选项 用户名
userdel -r test
#常用选项:
#	-r:表示删除用户的同时,删除其家目录;

2、用户组管理

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。
不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,
这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
/etc/group文件结构:
用户组名:密码:用户组ID:组内用户名
密码:X表示占位符,虽然用户组可以设置密码,但是绝大部分的情况下不设置密码;
组内用户名:表示附加组是该组的用户名称;

2.1 用户组添加

#语法:
groupadd 选项 用户组名
#常用选项:
#	-g:类似用户添加里的“-u”,-g表示选择自己设置一个自定义的用户组ID数字,如果自己不指定,则默认从500之后递增;

2.2 用户组编辑

#语法:
groupmod 选项 用户组名
groupmod -g 520 -n admins Administrators
#含义:修改Administrators用户组,将组ID改成520,将名称改为admins
#常用选项:
#	-g:类似用户修改里的“-u”,-g表示选择自己设置一个自定义的用户组ID数字
#	-n:类似于用户修改“-l”,表示设置新的用户组的名称

2.3 用户组组删除

#语法:
groupdel 用户组名

当如果需要删除一个组,但是这个组是某个用户的主组时,则不允许删除;如果确实需要删除,则先从组内移出所有用户。

3、网络设置

网卡配置文件路径:/etc/sysconfig/network-scripts
在目录中网卡的配置文件命名格式:ifcfg-网卡名称

在这里插入图片描述

#进入网卡配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33

在这里插入图片描述

ONBOOT:是否开机启动
BOOTPROTO:ip地址分配方式,dhcp表示动态主机分配协议 ,static表示静态地址

设置静态IP,修改BOOTPROTO为static

BOOTPROTO=static

底部增加IP地址

# 以下三行内容根据自己设定的去修改 
# IPADDR就是上方设置的宿主机ip地址 
# NETMASK就是上方设置的宿主机子网掩码 
# GATEWAY就是上方设置的宿主机默认网关 
IPADDR=192.168.233.132
NETMASK=255.255.255.0 
GATEWAY=192.168.233.1

在这里插入图片描述

#设置完后重启网络
systemctl restart network
#查看IP是否设置成功
ifconfig

4、ssh服务

sshsecure shell安全外壳协议),该协议有2个常用的作用:远程连接协议远程文件传输协议协议使用端口号:默认是22
可以是被修改的,如果需要修改,则需要修改ssh服务的配置文件:
 vim /etc/ssh/ssh_config

在这里插入图片描述

部分参数注释
Port 22,sshd服务的端口
Protocol 2,也就是外部连接的协议用ssh2,当然如果不设置也可。
PermitRootLogin no/yes,如果允许使用root登陆则设为yes,否则为no
PasswordAuthentication no/yes,no为不允许使用密码登陆yes为允许使用密码登陆,一般如果用自己账户登录都用密码,所以这一项最好设为yes,否则会导致window中能pinglinux系统,但是ssh连接不上。

端口号可以修改,但是得注意2个事项
a. 注意范围端口范围是从0-65535;
b. 不能使用别的服务已经占用端口

#重启sshd命令
systemctl restart sshd.service 
#启动sshd命令
systemctl start sshd.service
#检查ssh服务是否开启
ps -e | grep sshd
#检查 22端口 是否开启
netstat -ntlp | grep 22
#将ssh服务添加到自启动表中
systemctl enable sshd.service
#查看防火墙是否打开,running 为打开状态
firewall-cmd --state 
#端口如果开放则为yes,否则为no
firewall-cmd --zone=public --query-port=22/tcp 
#添加(--permanent永久生效没有此参数重启失效
firewall-cmd --add-port=22/tcp --permanent
#添加完成后要重新载入
firewall-cmd --reload 

若sshd服务和firewalld服务都正常,SSH任然连不上,并且ping不通主机,则检查windows网络,禁用虚拟网络再启用
在这里插入图片描述

5、设置主机名

5.1 临时设置主机名(立竿见影),需要切换用户使之生效

 hostname 设置的主机名

5.2 永久设置主机名(需要重启

在CentOS7中有三种定义主机名:
静态的(static)、瞬态的(transient)、和灵活的(pretty)。
静态主机名:也称为内核主机名,是系统在启动时从/etc/hostname内自动初始化主机名。
瞬态主机名:是在系统运行时临时分配主机名。
灵活主机名:则允许使用特殊字符的主机名。
hostnamectl --static set-hostname 新主机名
#或者
hostnamectl set-hostname 新主机名

一旦修改了静态主机名,/etc/hostname 将被自动更新
每次在修改主机名后一定要手 动更新/etc/hosts

 vim /etc/hosts

在这里插入图片描述

6、查看开机启动项

systemctl list-unit-files

左边是服务名称,右边是状态,enabled是开机启动,disabled是开机不启动,static:未配置

在这里插入图片描述

#检查开机是否自启动
systemctl is-enabled firewalld.service
#含义:过滤查看某服务名
systemctl list-unit-files | grep sshd

#过滤查询启动项
systemctl list-unit-files | grep enable 

#设置开机自启 / 关闭
systemctl enable/disable sshd
systemctl enable/disable sshd

#设置启动/关闭/重启
systemctl start / stop / restart sshd

7、防火墙服务firewalld

#检查防火墙状态:
systemctl status firewalld 
#设置开机启用防火墙:
systemctl enable firewalld.service
#设置开机禁用防火墙:
systemctl disable firewalld.service
#启动防火墙:
systemctl start firewalld
#关闭防火墙:
systemctl stop firewalld
#查看防火墙状态,是否是running
firewall-cmd --state
#查看防火墙开放端口
firewall-cmd --list-port
#重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --reload     
#列出支持的zone                     
firewall-cmd --get-zones      
#列出支持的服务,在列表中的服务是放行的                
firewall-cmd --get-services   
#查看ftp服务是否支持返回yes或者no                
firewall-cmd --query-service ftp   
#临时开放ftp服务           
firewall-cmd --add-service=ftp   
#永久开放ftp服务            
firewall-cmd --add-service=ftp --permanent 
#永久移除ftp服务   
firewall-cmd --remove-service=ftp --permanent  
#永久添加80端口 
firewall-cmd --add-port=80/tcp --permanent    

#查看规则这个命令是和iptables相同
iptables -L -n  
#查看帮助                              
man firewall-cmd   
                          
#开启防火墙端口
firewall-cmd --zone=public --add-port=80/tcp --permanent 
#命令含义:
#–zone 作用域
#–add-port=80/tcp #添加端口,格式为:端口号/通讯协议
#–permanent #永久生效没有此参数重启后失效
#添加端口后,必须用命令firewall-cmd --reload重新加载一遍才会生效
#关闭防火墙端口:
firewall-cmd --zone=public --remove-port=80/tcp --permanent

8、rpmyum管理

8.1 rpm命令

rpm命名规则
在这里插入图片描述

rpm包默认安装路径:
在这里插入图片描述

#含义:查询是否安装firefox
#用法:
rpm -qa|grep firefox
#选项:
	-q:查询query
	-a:全部,all

#含义:rpm升级
#命令1:
rpm -Uvh 包全名
#选项:
#-U:升级安装(如果没有安装过,系统直接安装;如果安装的版本较老,则升级到新版本
#命令2:
rpm -Fvh 包全名
#选项:
#-F:升级安装(如果没有安装过,则不会安装;必须有旧版本软件安装,才能升级)

#含义:卸载某个软件
rpm -evh mysql-5.7.40-4.el6.x86_64 –nodeps
#说明:-e参数表示删除 –nodeps表示不校验依赖关系

#含义:安装某个软件
rpm -ivh mysql-community-common-5.7.40-1.el7.x86_64.rpm

选项的含义:
-i: 表示安装
-v: 表示可视化
-h: 表示显示安装进度 另外,在安装RPM包时,常用的附带参数还包括如下几项。
–force: 表示强制安装,即使覆盖属于其他包的文件也要安装
nodeps: 表示当要安装的RPM包依赖于其他包时,即使其他包没有安装,也要安装这个

#如果是用tar包安装的软件,则使用如下命令来卸载
make uninstall 软件

8.2 yum命令

#yum 命令格式:
yum  [选项]  COMMAND  [软件包]

选项:
-y:自动回答”yes”,不再询问。如果不加该选项,安装过程中每个涉及的包安装都要手工回答 “yes” or “no”
-q:静默模式。不显示安装过程
-C:完全从缓存中运行,而不去下载或者更新任何头文件
COMMAND (要进行的操作) :
install:执行安装操作
update:执行升级操作
remove:执行卸载操作
list:显示可用软件包列表
search:根据关键字匹配软件包
info:显示软件包信息 软件包:如果为包名,则默认为软件包最新版本;如果要指定软件包版本,则需要使用包全名

安装命令:

#安装指定软件包
yum -y install 包名

升级命令:

#升级指定软件包
yum -y update 包名
#升级本机所有软件包:
yum -y update

注意:在进行升级操作的时候,yum源服务器中软件包的版本要比本机安装的软件包的版本高。

卸载命令:

卸载指定软件包:
yum remove 包名

注意:除非确定要卸载的软件依赖包不会对系统产生影响,否则不要执行yum卸载。

查询命令:

#查询yum源服务器上所有可安装的软件包列表
yum list
#查询yum源服务器中是否包含某个软件包
yum list 包名
#查询yum源服务器上所有和关键字相关的软件包(可用于确定某个软件在哪个相关包中)
yum search 关键字
#查询指定软件包的信息
yum info 包名

9、cron/crontab定时任务

crontab命令是cron table简写,它是cron的配置文件,也可以叫它作业列表我们可以在以下文件夹内找到相关配置文件。

/var/spool/cron/ 目录下存放的是每个用户包括rootcrontab任务,每个任务以创建者的名字命名
/etc/crontab 这个文件负责调度各种管理和维护任务。
/etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。
还可以把脚本放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly目录中,让它每小时/天/星期、月执行一次
#语法:
crontab 选项
	#选项:
		#-l:list,列出指定用户的计划任务列表
		#-e:edit,编辑指定用户的计划任务列表
		#-u:user,指定的用户名,如果不指定,则表示当前用户
		#-r:remove,删除指定用户的计划任务列表

四个符号:
:表示取值范围中的每一个数
-:做连续区间表达式的,要想表示1~7,则可以写成:1-7
/:表示每多少个,例如:每10分钟一次,则可以在分的位置写:
/10
,:表示多个取值例如:在1点,2点6点执行,则可以在时的位置写:1,2,6

#每1分钟执行一次myCommand
* * * * * myCommand

#每小时的第3和第15分钟执行
3,15 * * * * myCommand

#在上午8点到11点的第3和第15分钟执行
3,15 8-11 * * * myCommand

#每隔两天的上午8点到11点的第3和第15分钟执行
3,15 8-11 */2  *  * myCommand

#每周一上午8点到11点的第3和第15分钟执行
3,15 8-11 * * 1 myCommand

10、环境变量

具体使用哪种形式的配置,需要根据需求来确定。

临时生效(重启则无效

# 设置环境变量 TEST
export TEST=/etc/
# 测试
echo $TEST

全局环境变量,对所有用户都会生效

# 编辑文件
vi /etc/profile
# 增加配置
TEST=/etc/
export TEST
# 退出文件编辑,另配置生效
source /etc/profile
# 测试
echo $TEST

11、压缩解压

zip

#将当前目录打包为 test.zip 文件
zip -r test.zip ./*
#解压 test.zip 文件
unzip test.zip
#要把文件解压到指定的目录下,需要用到-d参数。
unzip -d /temp test.zip

tar

#将当前目录压缩为 name.tar.gz 文件
tar -czf name.tar.gz ./*
#解压后缀名为 .tar.gz 的文件
tar -zxvf filename.tar.gz
#解压后缀名问 .tar 的文件
tar -xvf filename.tar

五、权限管理

5.1 权限介绍

一般将文件可存/取访问身份分为3个类别owner、group、others,且3种身份各有read、write、execute权限

权限: 对于文件夹来说,读权限影响用户是否能够列出目录结构 对于文件来说,读权限影响用户是否可以查看文件内容
写权限: 对文件夹来说,写权限影响用户是否可以在文件夹下“创建/删除/复制到/移动到”文档
对于文件来说,写权限影响用户是否可以编辑文件内容
执行权限: 一般都是对于文件来说,特别脚本文件。

在这里插入图片描述

十位字符表示含义:
第1位:表示文档类型取值常见的有“d表示文件夹”、“-表示文件”、“l表示软连接”、“s表示套接字”等等;
第2-4位:表示文档所有者的权限情况:
第2位表示读权限的情况,取值有r、-;
第3位表示写权限的情况,w表示可写,-表示不可写,
第4位表示执行权限的情况,取值有x、-。
第5-7位:表示与所有者同在一个组的用户的权限情况:
第5位表示读权限的情况,取值有r、-;
第6位表示写权限的情况,w表示可写,-表示不可写,
第7位表示执行权限的情况,取值有x、-。
第8-10位:表示除了上面的前2部分的用户之外的其他用户的权限情况:
第8位表示读权限的情况,取值有r、-;
第9位表示写权限的情况,w表示可写,-表示不可写,
第10位表示执行权限的情况,取值有x、-。
权限分配中,均是rwx的三个参数组合,且位置顺序不会变化。没有对应权限就用 – 代替。

5.2 权限设置

#语法:
chmod 选项 权限模式 文档
#选项:
#	-R:递归设置权限	(当文档类型为文件夹的时候)
#	权限模式:就是该文档需要设置的权限信息
#	文档:可以是文件,也可以是文件夹,可以是相对路径也可以是绝对路径

如果想要给文档设置权限,操作者要么root用户,要么就是文档的所有者

#含义:更改文档的所属用户
#语法:
chown  -R  username 文档路径

1、字母形式
在这里插入图片描述

给谁设置:
u:表示所有者身份owner(user)
g:表示给所有者同组用户设置(group)
o:表示others,给其他用户设置权限
a:表示all,给所有人(包含ugo部分)设置权限
如果在设置权限的时候不指定给谁设置,则默认给所有用户设置

权限字符:
r:读
w:写
x:表示执行
-:表示没有权限

权限分配方式:
+:表示给具体的用户新增权限(相对当前)
-:表示删除用户的权限(相对当前)
=:表示将权限设置成具体的值(注重结果)【赋值

#含义:anaconda-ks.cfg文件(-rw-------.)设置权限,要求所有者拥有全部的权限,同组用户拥有读和执行权限,其他用户只读权限。
chmod  u+x,g+rx,o+r  anaconda-ks.cfg
chmod  u=rwx,g=rx,o=r  anaconda-ks.cfg

当文档拥有执行权限(任意部分),则其颜色终端中是绿色。
#chmod ug=rwx 形式,如果有两部分权限一样则可以合在一起写的
例如
如果anacondaks.cfg文件什么权限都没有,可以使用root用户设置所有人都有执行权限,则可以写成
chmod +x anacondaks.cfg
chmod a=x anacondaks.cfg
chmod a+x anacondaks.cfg

2、数字形式
类似于#chmod 777 a.txt 这样的一个权限,这种形式称之为数字形式权限(777)。
读:r 4
写:w 2
执行:x 1
没有任何权限:0
在这里插入图片描述
例如
给anacondaks.cfg设置权限,权限要求所有者拥有全部权限,同组用户拥有读执行权限,其他用户只读
全部权限(u):读+写+执行=4+2+1=7
读和执行(g):读+执行=4+1=5
读权限(o):读=4
由上得知权限为:754

chmod 754 anaconda-ks.cfg

原文地址:https://blog.csdn.net/weixin_39865829/article/details/128752507

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_35528.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注