一、Linux发展史
1970年元年
二、Linux系统安装
安装方式:
真机模式
虚拟机安装:通过一些特定的手段,来进行模拟安装
VMware workstation的安装:VMware Workstation pro 15破解版安装
终端
[root@localhost 图片]$
root:该位置表示当前终端登录的用户名
@:发音at,表示“在”
localhost:当前登录的主机名
图片:当前终端工作目录
#表示身份识别符,管理员登陆时显示#,普通用户显示$;
关机命令:
shutdown -h now
(正常关机)、halt
(关闭内存)、init 0
VMware备份:
两种:快照、克隆
快照:又称还原点,就是保存在拍快照时候的系统的状态(包含了所有的内容),在后期的时候随时可以恢复。【侧重于短期备份,需要频繁备份的时候可以使用快照,做快照的时候虚拟机的操作系统一般处于开启状态】
点击虚拟机 - 快照 - 快照管理器找到刚才建立的快照就可返回刚才的位置;
克隆:就是复制的意思。【侧重长期备份,做克隆的时候是必须的关闭的】
三、Linux系统的·文件
什么是文件?
一般是一个独立的东西,可以通过一些特定的工具进行打开,并且其中不能包含除了文字以外的东西;
什么是文件夹?
可以在其中包含其他文件的东西
注意:日常运维工作中,有一半以上的工作内容,其实都是对文件的操作;Linux本身也是一个基于文件形式表示的操作系统;
Linux一切皆文件
目录结构
bin:全称binary,含义是二进制。该目录中存储的都是一些二进制文件,文件都是刻意被运行的;
dev:该目录中主要存放的是外接设备,例如盘、其他的光盘等。在其中的外接设备是不能被直接使用的,需要挂载(类似windows下的分配盘符)。
etc:该目录主要存储一些配置文件
Home:表示“家”,表示除了root用户以外其他用户的家目录,类似于windows下的user/用户目录
proc:process,表示进程,该目录中存储的是Linux运行时的进程
sbin:全称super binary,该目录也是储存一些可以被执行的二进制文件,但是必须得有super权限的用户才能执行
tmp:表示临时的,当系统运行时候产生的临时文件会在这个目录存储
usr:存放着用户自己安装的软件。类似于windows下的program files
var:存放的程序/系统的日志文件的目录
mnt:当外接设备需要挂载的时候,就需要挂载到mnt目录下。
四、指令和选项
什么是指令?
指的是Linux终端(命令行)中输入的内容就称之为指令
Linux通用指令格式:
#指令主体 [选项] [操作对象]
一个指令可以包含多个选项,操作对象也可以是多个
五、基础指令
1.ls指令
含义:ls(list)
用法1:#ls
——>含义:列出当前工作目录下的所有文件/文件夹的名称
用法2:#ls 路径
——>含义:列出指定路径下的所有文件/文件夹的名称
路径分为两种:相对路径、绝对路径
相对路径:相对首先要有一个参照物(一般是当前的工作路径)
“./“(当前路径)和”../(上一级路径)”
绝对路径:绝对路径不需要参照物,直接从根“/”开始寻找对应路劲
用法3:#ls 选项 路径
——>含义:在列出指定路径下的文件夹/文件的名称,并以指定的格式进行显示
选项:
-l:表示list,表示以详细列表的形式进行展示
-a:表示显示所有的文件/文件夹(包含了隐藏文件/文件夹)
上述列表中第一列字符表示文档的类型,其中”-“表示该行对应的文档类型是文件,”d”表示文档类型为文件夹
在Linux中隐藏文档一般都是以”.”开头
用法4:#ls -lh 路径
——>含义:列出指定路径下的所有文件/文件夹的名称,以列表的形式并且在显示文档大小的时候以可读性较高的形式显示
文件夹不管实际大小是多少一般都是显示4k大小
2.pwd指令
用法:#pwd
(print working directory,打印当前工作目录)
3.cd命令
用法:#cd 路径
(change directory,改变目录)
在Linux中有一个特殊的符号”~”,表示当前用户的家目录。
4.mkdir指令
用法1:#mkdir 路径
(make directory,创建目录);路径可以是文件夹名称也可以是包含名称的一个完整路径
注意:ls列出的结果颜色说明,其中蓝色的名称表示文件夹,黑色的表示文件,绿色的其权限为拥有所有权限
用法2:#mkdir -p 路径
——>含义:当一次性创建多层不存在的目录的时候,添加-p参数,否则会报错
用法3:#mkdir 路径1 路径2 路径3......
——>含义:表示一次性创建多个目录
5.touch命令
用法:#touch 文件路径
——>含义:创建文件;路径可以是直接的文件名也可以是路径
用touch创建多个文件
6.cp指令
用法:#cp 源路径 目的路径
(copy,复制)
含义:复制文件/文件夹到指定位置的位置
注意:Linux在复制过程中是可以重新对新位置的文件进行重命名的,但是如果不是必须的需要,则建议保持前后名称一致;cp命令进行文件夹复制操作的时候需要添加选项“-r”【-r表示递归复制】,否则目录将被忽略
7.指令
用法:#mv 源路径 目的路径
(move,移动,剪切)
含义:移动文档到新的位置
补充:Linux中重命名也是mv,语法和移动一样
8.rm指令
rm(remove,移除、删除)
作用:移除/删除文档
语法:#rm 选项 需要移除的文档路径
选项:
-f:强制删除,不提示是否删除
-r:表示递归
注意:删除一个目录的时候需要做递归删除,并且一般也不需要进行删除确认询问,所以移除目录的时候一般需要使用-rf选项
*
为通配符,表示任意的字符
9.vim命令
vim(是一款文本编辑器)
语法:#vim 文件路径
作用:打开一个文件(可以不存在,也可以存在)
i
键表示插入模式进行编辑,ESC
表示退出编辑模式,再输入:wq
10.输出重定向
一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析/统计,则这时候需要使用到的输出重定向技术
>
:覆盖输出,会覆盖掉原先的文件内容
>>
:追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加
语法:#正常执行的命令 >/>> 文件的路径
注意:文件可以不存在,不存在则新建
11.cat指令
作用:cat有直接打开一个文件的功能
语法:#cat 文件的路径
作用:cat还可以对文件进行合并
语法:#cat 待合并的文件路径1 待合并的文件路径2 ...... 文件路径n > 合并之后的文件路径
六、进阶命令(重点)
1.df指令
作用:查看磁盘的空间
语法:#df -h
表示以可读性较高的形式展示大小
2.free指令
作用:查看内存使用情况
语法:#free -m
,-m是以兆(MB)为单位显示
Swap:用于临时内存,当系统真实内存不够用的时侯可以临时使用磁盘空间来充当内存
3.head指令
作用:查看一个文件的前n行,如果不指定n,则默认显示前10行。
语法:#head -n 文件路径
【n表示数字】
4.tail指令
作用:查看一个文件的末n行,如果n不指定默认显示后10行
语法:#tail -n 文件路劲
【n表示数字】
作用:可以通过tail指令来查看一个文件的动态变化
语法:#tail -f 文件路径
一般用于查看系统的日志比较多
q键退出即可
5.less指令
作用:查看文件,以较少的内容进行输出,按下辅助功能键(数字+回车(从数字行开始显示)、空格键(翻页)、方向键(换行显示))查看更多
语法:#less 需要查看的文件路径
6.wc指令
作用:统计文件内容信息(包含行数、单词数、字节数)
语法:#wc [选项] 需要统计的文件路劲
选项:
-l:表示lines,行数
-w:表示words,单词数 【依照空格来判断单词数量】
-c:表示bytes,字节数
7.date指令(重点)
作用:表示操作时间日期(读取、设置)
语法:#date
语法:#date +%F
(等价于#date “+%Y-%m-%d”)
语法:#date "+%F %T"
(等价于#date “+%Y-%m-%d %H:%M:%S”)引号表示让“年月日与时分秒”成为一个不可分割的整体
作用:获取之前或者之后的某个时间(备份)
语法:#date -d "-1 day" "+%Y-%m-%d %H:%M:%S"
符号的可选值:+(之后)/ -(之后)
单位可选值:day(天)、month(月份)、year(年)
%F | 表示完整的年月日 |
---|---|
%T | 表示完整的的时分秒 |
%Y | 表示四位年份 |
%m | 表示两位月份(带前导0) |
%d | 表示日期(带前导0) |
%H | 表示小时(带前导0) |
%M | 表示分钟(带前导0) |
%S | 表示秒数(带前导0) |
8.cal指令
作用:用来操作日历
语法:#cal
等价于#cal -1
直接输出当前月份的日历
语法:#cal -3
表示输出上一个月+本月+下一个月的日历
语法:#cal -y 年份
表示输出某一个年份的日历
9.clear / ctrl + L指令
作用:清除终端中已存在的命令和结果(信息)清屏
语法:#clear
或者快捷键:ctrl+L
注意:该命令并不是真的清除了之前的信息,而是把之前的信息的隐藏到了最上面,通过滚动条继续查看以前的信息。
10.管道(重要)
管道符:|
作用:管道一般可以用于“过滤”,“特殊”,“扩展处理”。
语法:管道不能单独使用,必须要配合前面所讲的一些指令使用,其作用主要是辅助作用。
#ls /| grep y
以管道作为分界线,前面的命令有个输出,后面需要输入,然后再过滤,最后再输出,通俗的讲就是管道前面的输出就是后面指令的输入。
grep
指令:主要用于过滤
特殊用法案例:通过管道的操作方法来实现less的等价效果(了解)
#less 路径
== #cat 路径 | less
七、高级指令
1.hostname指令
作用:操作服务器的主机名(读取、设置)
语法:#hostname
——含义:表示输出完整的主机名
语法:#hostname -f
——含义:表示输出当前主机名中的FQDN(全限定域名)
2.id命令
作用:查看一个用户的一些基本信息(包含用户id,用户组id,附加组id…),该指令如果不指定用户则默认当前用户。
语法1:#id
默认显示当前执行该命令的用户的基本信息
语法2:#id 用户名
显示指定用户的基本信息
验证上述信息是否正确?
验证用户信息:通过文件/etc/paswd
验证用户组信息:通过文件/etc/group
3.whoami指令
作用:“我是谁?”显示当前登录的用户名,一般用于shell脚本,用于获取当前操作的用户名方便记录日志。
语法:#whoami
4.ps -ef指令(重点)
指令:ps
作用:主要是查看服务器的进程信息
选项含义:
-e:等价于“-A”,表示列出全部的进程信息
-f:显示全部列(显示全字段)
列的含义:
UID:该进程执行的用户id;
PID:进程id;
PPID:该进程的父级进程id,如果一个程序的父进程找不到,该程序的进程称之为僵尸进程;
C:CPU的占用率,其形式是百分数;
STIME:进行的启动时间;
TIY:终端设备,发起该进程的设备识别符号,如果显示“?”,则表示该进程并不是由终端设备发起;
TIME:进程执行的时间;
CMD:该进程的名称或者对应的路径;
5.top指令(重点)
作用:查看服务器的进程占的资源
语法:
进入命令:#top
(动态显示)
退出命令:按下q键
表头含义:
PID:进程id;
USER:该进程对应的用户;
PR:优先级;
VIRT:虚拟内存;
RES:常驻内存;
SHR:共享内存;
计算一个进程实际使用的内存 = 常驻内存(RES)-共享内存(SHR)
S:表示进行的状态[sleeping,其中S表示睡眠,R表示运行];
%CPU:表示cpu的占用百分比;
%MEM:表示内存的占用百分比;
TIME+:执行的时间;
COMMAND:进程的名称或者路径;
在运行top的时候,可以按下方便的快捷键:
M:表示将结果按照内存(MEM)从高到低进行降序排列;
P:表示将结果按照CPU使用率从高到低进行降序排列;
1:当服务器拥有多个cpu的时候可以使用“1”快捷键来切换是否展示显示各个CPU的详细信息。
6.du-sh命令
作用:查看目录的真实大小
语法:#du -sh 目录路径
选项含义:
-s:summaries,只显示汇总的大小
-h:表示以较高的可读性的形式进行显示
7.find指令
作用:用于查找文件(其参数有55个之多)
语法:#find 路径范围 选项 选项的值
选项:
-name:按照文档名称进行搜索(支持模糊搜索)
-type:按照文档的类型进行搜索
文档类型:”_”表示文件(在使用find的时候需要f来替换),“d”表示文件夹;
8.service指令(重点)
作用:用于控制一些软件的服务启动/停止/重启
语法:#service 服务名 start/stop/restart
9.kill指令(重点)
作用:表示杀死进程(当遇到僵尸进程或者出于某些原因需要关闭进程的时候)
语法:#kill 进程 PID
(语法需要配合ps -ef
一起使用)
与kill命令作用相似但是比kill更加好用的杀死进程的命令:killall
语法:killall 进程名称
10.ifconfig指令(重点)
作用:用于操作网卡相关的指令
简单语法:#ifconfig
(获取网卡信息)
Eth0表示Linux中的一个网卡,eth0是其名称。Lo(loop,本地回环网卡,其IP地址一般都是127.0.0.1)也是一个网卡名称。
其中inet是网卡的IP地址
11.reboot指令
作用:重新启动计算机
语法:#reboot
重启
语法:#reboot -w
模拟重启,但是不重启(只写关机与开机的日志信息)
12.shutdown指令
作用:关机(慎用)
语法1:#shutdown -h now "提示"
或者 #shutdown -h 12:00 "提示"
如果想要取消关机计划的话,则可以按照以下方式去尝试:
- 针对于centos7.x之前的版本:ctrl+c
- 针对于centos7.x(包含)之后的版本:
#shutdown -c
除了shutdown关机以外,还有以下几个命令:
1 | #init 0 |
13.uptime指令
作用:输出计算机的持续在线时间(计算机从开机到现在运行的时间)
语法:#uptime
14.uname指令
作用:获取计算机操作系统相关信息
语法1:#uname
获取操作系统的类型
语法2:#uname -a
all,表示获取全部的系统信息(类型、全部主机名、内核版本、发布时间、开源计划)
15.netstat -tnlp指令
作用:查看网络连接状态
语法:#netstat -tnlp
选项说明:
-t:表示只列出tcp协议的连接
-n:表示将地址从字母组合转化成ip地址,将协议转化成端口号来显示;
-l:表示过滤出“state(状态)”列中其值为LISTEN(监听)的连接;
-p:表示显示发起连接的进程pid和进程名称;
16.man指令
作用:manual,手册(包含了Linux中全部命令手册,英文)
语法:#man 命令
(退出按下q键)
练习题
1.如何通过命令行重启linux操作系统?#reboot
2.如何在命令行中快速删除光标前/后的内容?前:ctrl+u
后:ctrl+k
3.如何删除/tmp下所有A开头的文件? #rm -f /tmp/A*
4.系统重要文件需要备份,如何使用/etc/passwd备份到/tmp目录下? #cp /etc/passwd /tmp/
5.如何查看系统最后创建的3个用户? #tail -3 /etc/passwd
6.什么命令可以统计当前系统中一共有多少账户? #wc -l /etc/passwd
或者#cat /etc/passwd|wc -l
7.如何创建/tmp/test.conf文件? #touch /tmp/test.conf
8.如何通过vim编辑打开/tmp/test.conf? #vim /tmp/test.conf
9.如何查看/etc/passwd的头3行和尾3行? #head -3 /etc/passwd
和#tail -3 /etc/passwd
10.如何一次性创建目录/text/1/2/3/4?#mkdir -p /text/1/2/3/4
11.如何最快的返回到当前账户的家目录?#cd ~
或 #cd
12.如何查看/etc/所占的磁盘空间?#du -sh /etc
13.如何删除/tmp下所有的文件? #rm -rf /tmp/*
14.尝试启动Apache的服务,并且检查是否启动成功? #service httpd start
#ps -ef|grep httpd
15.使用已学习命令杀死Apache的进程。 #killall httpd
八、vim的介绍
vi是所有unix和Linux系统下的标准编辑器。
vi和vim都是linux中的编辑器,不同的是,vim比较高级,可以视为vi的升级版本。vi使用于文本编辑,但是vim更适用于coding。vim重点是光标的移动,模式切换店,删除,查找替换,复制,粘贴,撤销命令的使用。
九、vim三种模式(重点)
vim中存在三种模式(大众的认知):命令模式、编辑模式(输入模式)、末行模式(尾行模式)。
命令模式:在该模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(删除行,复制行,移动光标,粘贴等等),打开文件之后默认进入模式;
编辑模式:在该模式下可以对文件的内容进行编辑;
末行模式:可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮等等);
vim的打开文件的方式(4种,要求掌握的就前三种):
#vim 文件路径
作用:打开指定的文件
#vim +数字 文件的路径
作用:打开指定文件,并且将光标移动到指定行
#vim +/关键词 文件的路径
作用:打开指定的文件,并且高亮显示关键词
#vim 文件路径1 文件路径2 文件路径3
作用:同时打开多个文件
十、命令模式
1.光标移动
a.光标移动到行首
快捷键:shift + 6 或 ^(T字母上面的6,不要按小键盘的6)
b.光标移动到行尾
快捷键:shift + 4 或 $(R字母的左上角的4,不是小键盘的4)
c.光标移动到首行
快捷键:gg
d.光标移动到末行
快捷键:G
e:翻屏
向上翻屏:快捷键 ctrl + b 或 PgUp
向下翻屏:快捷键 ctrl + f 或 PgDn
2.复制操作
复制光标所在行
快捷键:yy
粘贴:在想要粘贴的地方按下p键
以光标所在行为准(包含当前行),向下复制指定的行数
快捷键:数字yy
可视化复制
快捷键:ctrl + v,然后按下方向键来选中要复制的区块,按下yy键进行复制,最后按下p键粘贴
3.剪切/删除
剪切/删除光标所在行
快捷键:dd (删除之后下一行上移)
注意:dd严格意义上说是剪切命令,但是如果剪切了不粘贴就是删除的效果。
剪切/删除光标所在行为准(包含当前行),向下删除/剪切指定的行
快捷键:数字dd (删除之后下一行上移)
剪切/删除光标所在当前行,但是删除之后下一行不上移
快捷键:D (删除之后当前行会变成空白行)
4.撤销/恢复
撤销:输入:u
(不属于命令模式) 或者 u
(undo)
恢复:ctrl + r 恢复(取消)之前的撤销操作
5.光标的快速移动
快速将光标移动到指定的行
快捷键:数字 G
以当前光标为准向上/向下移动n行
快捷键:数字👆,数字👇
以当前光标为准向左/向右移动n字符
快捷键:数字👈,数字👉
末行模式下的快速移动方式:移动到指定的行
快捷键:输入英文“:”,其后输入行数数字,按下回车
十一、模式间的切换
十二、末行模式
进入方式:由命令模式进入,按下“:”或者“/(主要是搜索)”即可进入
退出方式:
- 按一次esc
- 按二次esc
- 删除末行全部输入字符
1.保存操作(write)
输入::w
保存文件
输入::w 路径
另存为
2.退出(quit)
输入::q
退出文件
3.保存并退出
输入::wq
保存并且退出
4.强制(!)
输入::q!
表示强制退出,刚才做的修改操作不做保存
5.调用外部命令(了解)
输入::!外部命令
6.搜索/查找
输入:/关键词
在搜索结果中切换上/下一个结果:N/n (next)
如果需要取消高亮,则需要输入::nohl
(no highlight)
7.替换
:s/搜索的关键词/新的内容
替换光标所在行的第一处符合条件的内容
:s/搜索的关键词/新的内容/g
替换光标所在行的全部符合条件的内容
:%s/搜索的关键词/新的内容
替换整个文档中每行第一个符合条件的内容
:%s/搜索的关键词/新的内容/g
替换整个文档的符合条件的内容
%表示整个文件,g表示全局(global)
8.显示行号
输入::set nu
(number)
如果想取消显示,则输入::set nonu
9.使用vim同时打开多个文件,在末行模式下进行切换文件
查看当前已经打开的文件的名称::files
在%a的位置有2种显示可能
%a:a=active,表示当前正在打开的文件;
#;表示上一个打开的文件
切换文件的方式:
如果需要指定切换文件的名称,则可以输入:
:open 文件名称
可以通过其他命令来切换上一个文件/下一个文件
输入:
:bn
切换到下一个文件(back next)输入:
:bp
切换到上一个文件(back previous)
十三、编辑模式
进入方式:
i:在光标所在字符前开始插入
a:在光标所在字符后开始插入
o:在光标所在行的下面另起一新行插入
I:在光标所在行的行首开始插入,如果行首有空格则在空格之后插入
A:在光标所在行的行尾开始插入
O:在光标所在行的上面另起一行开始插入
S:删除光标所在行并开始插入
重点是i(insert),a(after)
十四、实用功能
1.代码着色
显示:syntax on
syntax(语法)
关闭显示:syntax off
2.vim中计算器的使用
当在编辑文件的时候需要使用计算器去计算一些公式,则此时需要用到计算器,但是需要退出,vim自身集成了一个简易的计算器。
a.进入编辑模式
b.按下按键“ctrl + R”,然后输入“=”,此时光标会变到最后一行
c.输入需要计算的内容,按下回车
十五、扩展
1.vim的配置(重点)
vim配置有三种情况:
a.在文件打开的时侯在末行模式下输入的配置(临时的)
b.个人配置文件(~/.vimrc,如果没有可以自行新建)
c.全局配置文件(vim自带,/etc/vimrc)
新建好个人配置文件之后进行编辑
在配置文件中进行配置
比如显示行号:set nu
配置好之后打开文件就会永远显示行号
配置文件优先级:如果针对同一配置项,个人配置文件中存在,则以个人配置文件为准,如果个人配置文件中不存在这一项,则以全局配置文件为准
2.异常退出
异常退出:在编辑文件之后并没有正常的去wq(保存退出),而是遇到突然关闭终端或者断电的情况,则会显示下面效果。
解决办法:将交换文件(在编辑过程中产生的临时文件)删除即可
3.别名机制(实用)
作用:相当于创建一些属于自己的自定义命令
别名机制依靠一个别名映射文件:~/.bashrc
vim .bashrc
添加alias cls='clear'
即可实现cls为clear的功能
注意:如果想新创造的命令生效,必须要重新登录当前用户。
4.退出方式
可以用:q
或 :wq
或者:x
说明:
:x
在文件没有修改的情况下,表示直接退出,在文件修改的情况下表示保存并退出;- 如果文件没有被修改,但是使用wq进行退出时,则文件的修改时间会被更新;但是如果文件没有被修改,使用x进行退出的话,则文件修改时间不会被更新的;主要是会混淆用户对文件的修改时间的认定。
建议使用:x
来进行对文件的保存退出;X表示对文件进行加密操作,不要使用
Linux自有服务
自有服务:即不需要用户独立安装的服务,而是当系统安装好之后就可以直接使用的服务(内置)
一、运行模式
运行模式也可称之为运行级别
在Linux中存在一个进程:init(initialize,初始化),进程id是1;
查看init进程:#ps -ef | grep init
该进程存在一个对应的配置文件:inittab(系统运行级别配置文件,位置/etc/inittab)
文件主要内容:
0 -表示关机级别(不要将默认的运行级别设置成这个值)
1 -单用户模式
2 -多用户模式,不带NFS(Network File Syetem)
3 -完全多用户模式
4 -没有被使用的模式(被保留模式)
5 -X11,完整的图形化界面模式
6 -表示重启级别(不要将默认的运行级别设置成这个值)
与该级别相关的几个命令:
1 | #init 0 表示关机 |
注意:init指令需要超级管理员的权限,普通用户无法执行。
这些命令其实都是调用的init进程,将数字(运行级别)传递给进程,进程去读配置文件执行对应的操作。
1.切换到纯命令模式下(临时切换,重启之后又恢复)
#init 3
切换之后需要输入用户名和密码,在输入密码时没有显示输入,只要输入密码正确,回车即可。
2.回到桌面模式
#init 5
3.设置模式永久为命令行模式
将/etc/inittab文件中的initdefault值设置为3(id:3:initdefault:
),然后重启。
二、用户与用户组管理(重点)
Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统
要实现用户账号的管理,要完成的工作主要有如下几个方面:
用户账号的添加、删除、修改以及用户密码的管理
用户组的管理
注意三个文件:
1 | /etc/passwd 储存用户的关键信息 |
1.用户管理
添加用户
#useradd 选项 用户名
常用选项:
-g:表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名
-G:表示指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名
-u:uid,用户的id(用户的标识符),系统默认会从1000(500)之后按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义
-c:添加注释
验证是否成功:
验证/etc/passwd的最后一行,查看是否有创建的用户的信息;
验证是否存在家目录(在centos下创建好用户之后随之产生一个同名家目录);
格式:用户名:密码:用户ID:用户组ID:注释:家目录:解释器shell
用户名:创建新用户名称,后期登录时需要输入;
密码:此密码位置一般情况下都是“x”,表示密码的占位;
用户ID:用户的标识符;
用户组ID:该用户所属的主组ID;
注释:解释该用户是做什么用的;
家目录:用户登录进入系统之后默认的位置;
解释器shell:等待用户进入系统之后,用户输入指令之后,该解释器会收集用户输入的指令,传递给内核处理;
注意:在不添加选项的时候,执行useradd之后会执行一系列的操作
a.创建同名家目录
b.创建同名用户组
注意:查看用户的主组可以查看passwd文件,查看附加组可以查看group文件。
修改用户
#usermod 选项 用户名
(user modify 用户修改)
常用选项:
-g:表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名
-G:表示指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名
-u:uid,用户的id(用户的标识符),系统默认会从500之后按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义
-l:修改用户名
修改用户主组,附加组
#usermod -l 新的用户名 旧的用户名
设置密码
Linux不允许没有密码的用户登陆到系统,因此前面创建的用户目前都处于锁定状态,需要设置密码之后才能登录计算机。
#passwd 用户名
切换用户命令:#su [用户名]
(switch user)如果用户名不指定则表示切换到root用户
切换用户需要注意的事项是:
a.从root往普通用户切换不需要密码,但是反之则需要root密码;
b.切换用户之后前后的工作路径是不变的;
c.普通用户没有办法访问root用户家目录,但是反之则可以;
删除用户
语法:
#userdel 选项 用户名
userdel:user delete(用户删除)
常用选项:
-r:表示删除用户的同时,删除其家目录;
注意:已经登录的用户p删除时侯提示失败,但没有登录的用户可以正常删除
解决办法:直接kill对用用户全部进程,再userdel -r 用户名
所有用户操作的命令(除passwd外)只有root超级管理员有权限执行。
2.用户组管理
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux系统对用户组的规定有所不同。Linux下的用户属于与他同名的用户组,这个用户组在创建用户同时创建。
用户组的管理涉及用户的添加、删除和修改。实际上就是对/etc/group文件的更新。
文件结构:
用户组名:密码:用户组ID:组内用户名
密码:x表示占位符,虽然用户组可以设置密码,但是绝大部分的情况下不设置密码;
组内用户名:表示附加组是该组的用户名称;
用户组的添加
语法:
#groupadd 选项 用户组名
常用选项:
-g:类似用户添加里的“-u”,-g表示选择自己设置一个自定义的用户组ID数字,如果不指定,则默认从1000(500)开始。
用户组编辑
语法:
#groupmod 选项 用户组名
常用选项:
-g:类似用户修改里的“-u”,-g表示选择自己设置一个自定义的用户组ID数字;
-n:类似用户修改里的“-l”,表示设置新的用户组的名称
用户组删除
语法:
#groupdel 用户组名
注意:当如果需要删除一个组,但是这个组是某个用户的主组时,则不允许删除;如果确实需要删除,则先从组内移除所有用户。
三、网络设置
首先知道网卡配置文件位置:/etc/sysconfig/network-scripts
在目录中网卡的配置文件命名格式:ifcfg-网卡名称
BOOTPROTO:ip地址分配方式,dpch表示动态主机分配协议
ONBOOT:是否开机启动
HWADDR:硬件地址,MAC地址
重启网卡:
#service networking restart
在有的版本中可能没有service命令来快速操作服务,但是一个共性的目录:/etc/init.d这个目录中放着很多对服务的快捷方式。
#/etc/init.d/networking restart
创建快捷方式:
语法:ln -s 原始文件的路径 快捷方式的路径
其中,文件类型位置的“l”表示其类型为link(连接类型),后面的“->”指向的是原始文件路径。
重启单个网卡:
#ifdown 网卡名
停止某个网卡
#ifup 网卡名
开启某个网卡
四、ssh服务(重点)
ssh(secure shell,安全外壳协议),该协议有2个常用的作用:远程连接协议、远程文件传输协议。
写意使用端口号:默认是22,可以修改,则需要修改ssh服务的配置文件:/etc/ssh/ssh_config
注意:
a.注意范围,端口号范围是从0-65535;
b.不能使用别的服务已经占用的端口;
服务启动/停止/重启
#service sshd start/stop/restart
#/etc/init.d/sshd start/stop/restart
1.远程终端
终端工具·主要帮助运维人员连接远程的服务器,常见终端工具有:Xshell、secureCRT、Putty等。
获取IP地址,可以通过ifconfig命令查看,并测试IP的连接相通性。
打开Putty,输入相关信息
弹出key确认的时候点击“是”,以后不会再提示·
2.ssh服务文件传输
可视化的界面工具:Filezilla
通过命令行工具来传输文件/文件夹
工具:PSCP.exe(必须使用命令行打开),为了使用方便可以将其放到环境变量目录中如果不清楚那些路径使环境变量路径,只需要将其放到C:/Windows目录下即可。
用法:
1 | pscp 选项 用户名@linux主机地址:资源路径 windows 本地的地址 (下载到windows) |