Linux基础 - 图2

一、Linux介绍

Linux能运行主要的UNIX工具软件,应用程序和网络协议,支持32位和64为位的硬件,继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

应用领域:嵌入式系统、超级计算机并在服务器领域奠定了定位,通常服务器使用LAMP(linux+Apache+MySql+PHP)或者LNMP(linux+Nginx+MySQL+PHP)

image.png

linux系统特点

开放性(开源)、
多用户(同时可以登陆多个用户)
多任务(允许同时进行多个任务)
良好的用户界面、性能优异稳定

linux分支

Ubuntu,Debian,centOS,redhat,suse

Linux系统组成:

1,Linux内核(Linux团队管理)
2,shell:用户和内核交互的接口
3,文件系统:etx3,ext4,windows有fat32、ntfs
4,第三方软件

二、linux系统中文档

【-】 普通文件,
定义:独立且能实用工具打开,并且七中不能包含除了文字之外的内容
日常的维护中大部分的工作内容都是对文件的操作
Linux是一个基于文件的操作系统
对文件的操作包括创建、修改、删除、保存、关闭、重命名、恢复
【d】 文件夹,也称为目录
【l 】 符号链接
硬链接:与普通文件无异,indoe都指向同一个文件在硬盘中的区块
软连接:保存了其代表文件的绝对路径,是另外一种文件,在磁盘上有独立的区块,访问时替换自身路劲(可以理解为window下的快捷方式)
【c】 字符设备文件
【b】 块设备文件
【s】 套接字
【p】 命名管道

可执行文件分类:

• 内置命令: 出于效率考虑,一些常用命令的解释程序构造在shell内部
• 外置命令:存放在/bin、/sbin目录下的命令
• 实用程序:存放在usr/bin、usr/sbin、usr/share、usr/local/bin等目录下的实用程序
• 用户程序:用户经过编辑后生成的可执行文件,可以作为shell命令运行
• shell脚本:由shell语言编写的处理文件,可以作为shell命令运行

通配符:

• 【*】匹配任何数目的任何字符
• 【?】匹配单一数目的任何字符
• 【 】匹配
• 【!字符】匹配除了!后面的字符外任意的字符

目录结构

image.png
bin:全称binary,意思是二进制,该目录下存储都是二进制文件,文件都i是可以被运行的
dev:该目录主要存放外接设备,U盘、光盘、外接设备不能直接使用挂载。(类似window下分配盘符)
etc:该目录主要放置配置文件
home:除了root用户意外其他用户的目录
proc:全称process,表示进程,该目录中存储的是Linux运行时的进程
root:root用户的目录
sbin:全称super binary,存储只有用于super权限的yonghu才能执行的二进制文件
temp:临时文件,系统临时产生的文件
usr:保存用户自己安装的软件、
var:主要是系统的日志文件
mnt:当外接设备需要挂载的时候,就挂载到mnt目录下

三、命令

基本格式

命令定义:在linux终端输入的可执行的内容

  1. #指令的通用格式:
  2. #指令主体 [选项] [操作对象]
  3. cmd [options] [arguments]

options是选项,arguments是参数
· -q[]表示可选
· -一条指令指令主体只能有一个
· -一个指令可以包含多个选项
· -操作对象可以是多个
· -指令大小写敏感
· 一般而言【-】后面跟的是单字,【—】后面跟的是单词

关于路径

绝对路径:不需要参照物以根路径【/】为开始,
相对路径:相对于当前工作路径,
-相对路径的写法:
【./】 表示当目录下
【../】 表示当前目录的上一级(父目录)
【-】 表示之前的目录
【~】 表示用户主目录的绝对路径
【-】 表示 根目录

image.png

基础指令

目录管理
image.png
ls命令
用法1:#ls
作用:列出当目录下的所有文件和文件夹

  1. 用法2:#ls 路径
  2. 查早
  3. 用法3:#ls 选项 [路径]
  4. 常用的选项:
  5. -l 以详细列表的形式展开
  6. -a 显示所有文件和文件夹包括隐藏文件
  7. -h 显示文件的大小,会未文件的大小加上显示的单位,一般以K为单位
  8. -ll 查看文件的权限
  9. 参数可以同时写多个

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

cd命令
用法:#cd 路径

  1. ./ #当前目录
  2. cd #切换目录命令

绝对路径都是以”/“开头,相对路径,对于相对于当前的目录如何寻找../../

  1. cd .. #返回上一级目录
  2. cd ~ #返回用户目录
  3. cd / #返回根目录
  4. cd ../usr #相对路径进入usr目录

mkdir指令
含义:make directory
作用:创建文件夹(目录)
语法1:#mkdir [路径]文件夹名
语法1:#mkdir -p [路径]文件夹名
在一次性创建多层不存在的目录时,需要加-p
语法3:#mkdir [路径]文件夹名1 [路径]文件夹名 2 … [路径]文件夹名n

  1. mkdir -p test/test1/test2 #递归创建目录

touch指令
含义:创建文件
语法:#touch [路径]文件名

cp路径
含义:copy复制
作用:复制文件夹或者文件到指定位置
复制文件语法:#cp 作用目录+文件名 目的地目录+文件名
复制文件夹语法:#cp -r 作用目录 目的地目录
注:
复制的过程中可以重命名文件,但是尽量不要这样做

  1. cp

mv命令
含义:move移动
作用:
1、移动文件夹或者文件到指定位置
2、可以重命名文件
语法:#cp 作用目录+文件名 目的地目录+文件名
注:
移动的过程中可以重命名文件,但是尽量不要这样做
-f 强制
-u 只替换已经更新的文件

rm命令
含义:remove移除,删除文件或者文件夹
语法:#rm [选项] 需要移除的文件或者文件夹路径
-不带参数则会提示是否删除
-删除文件夹的时候需要递归,需要加【-r】所以一般【-rf】搭配使用
-可以同时删除多个文件或者文件夹
-f 带【-f】参数可以不需要询问则可以删除
-r 递归删除

  1. rm -rf test #删除test及内部所有文件,并忽略不存在文件,不会出现警告,强制删除
  2. rm -rf / #删库跑路

rmdir命令
含义:删除一个空的目录
-p 表示忽略文件夹内部还有文件,强制删除

  1. rm -p test #强制删除test(包括test里面的所有目录 )

cat指令
含义:直接打开一个文件的功能,不会进入编辑
语法1:#cat 文件路径+文件名
语法2:#cat 文件路径+文件名1 文件路径+文件名2 …文件路径+文件名n >合并之后的文件路径
-语法二把几个文件组合成一个新文件

image.png

进阶指令

df指令
作用:列出文件系统整体的磁盘使用量
语法:#df -h

  1. -Filesysyem表示分区
  2. -size表示分区大小
  3. -Avail表示剩余
  4. -use表示使用量
  5. -Mounted on 表示挂载

image.png

du指令
作用:检查磁盘空间使用量
语法:#df -h

mount指定
作用:用于挂载一些本地磁盘或者文件

  1. mount /dev/U /mnt/Udemo #把外部设备U挂载到mnt的Udemo文件夹实现访问
  2. umount -f /mnt/Udemo #强制卸载挂载

free指令
作用:查看内存使用情况
语法:#free [参数]
-参数可选:
-m,以mb做为单位
-g,以gb作为单位
-k,以kb作为单位,不写参数默认是k

  1. -Swap用于临时内存,当系统内存不够用得时候会临时调用系统磁盘作为内存空间这叫做虚拟内存

image.png

head指令
含义:查看一个文件的前你行,默认显示前n行
语法:#head -n [文件路径]
-n表示显示几行

tail指令
含义:查看一个文件的后n行,默认后10行
语法:#tail-n [文件路径]
-n表示显示几行
-通过tail 方法查看文件的动态变化
语法:#tail -f [文件路径]

less指令
含义:查看文件,以较少的内容输出,按下辅助功能键查看更多
语法:#less [文件路径]
-辅助键:上下键,空格,数字

wc指令
含义:属于统计指令,用于统计文件内容信息包括:行数、单词数、字节数
语法:#wc -lwc 文件路径
-l,表示行数,lines
-w,表示单词数,word
-c,表示字节数,byte

date指令
作用:表示操作日期时间。(读取、设置)
语法1:#date
-输出形式:
语法2:#date +%F,等价于#date “%Y-%m-%d”
-输出年月日
语法3:#date “+%F%T”
-输出年月日时分秒
-等价于#date “%Y-%m-%d %H:%M:%S”
-引号表示让其称为整体输出
语法:#date “”
-获取之前或者之后的时间(备份)
-%F,表示完整的年份
-%T,表示完整的时分秒
-%Y,表示四位年份
-%m,表示两位年份(带前导0)
-%d,表示日期(带前导0)
-%H,表示小时(带前导0)
-%M,表示分钟(带前导0)
-%S,表示秒(带前导0)

cal指令
含义:操作日历
语法1:#cal,等价于#cal -1,直接输出当前月份
语法2:#cal -3 ,输出上一个月+本月+下一个月月历
语法3:#cal -y 年份,输出某一个年份的日历,不写年份默认输出本年

clear/(ctrl -l)命令
作用:清楚之前输入法人命令(清屏)

高级指令

hostname指令
作用:更改服务器主机名(读取、设置)
语法1:#hostname
-表示完整的主机名
语法2:#hostname -f
-表示当前主机的FQND全限定域名

id指令
作用:用于查看一个用户的基本信息(用户id,用户组id,附加组id)
-如果不指定用户则为当前用户

whoami指令
作用:显示当前登陆用户名,一般用于sell脚本,获取当前操作的用户,记录系统运行情况
语法:#whoami

ps -ef指令(重点)
作用:主要作用是查看服务器的进程信息
语法:#ps [参数]
-e,等价于-A,显示全部的进程
-f,显示全部的显示列
image.png

  1. -UID,该进程执行的用户id
  2. -PID,进程id
  3. -PPID,该进程的父级id,如果找不到父级id该进程为僵尸进程
  4. -Ccpu的占用率
  5. -STIME,表示启动的时间
  6. -TTY,表示终端设备,即发起该继承的设备识别号,如果显示?,表示该进程不是终端发起,而是系统发起
  7. -TIEM,表示执行的时间(运行了多久)
  8. -CMD,该进程的名称或者路径
  9. 案例:过滤显示进程
  10. #ps -ef | grep 进程名称

image.png
top指令
作用:查看进程占用的资源
语法:
进入命令:#top ,因为top显得的动态内容
退出命令:按下q键
image.png

  1. 表头含义
  2. -PID:进程id
  3. -USER:对应的用户
  4. -PR,优先级
  5. -VIRT,虚拟内存
  6. -RES,常驻内存
  7. -SHR,共享内存
  8. -计算几个进程的实际内存=RES-SHR
  9. -S,表示睡眠状态,S表示睡眠,R表示运行
  10. -%CPU,表示CPU的占用百分比
  11. -%MEM,表示内存的占用百分比
  12. -TIME+,执行的时间
  13. -COMMAND,进程名称或者路径
  14. 对应快捷键
  15. M,按照内存使用率降序排列
  16. P,按照cpu使用率降序排列
  17. I,当服务器拥有多个CPU时,通过【1】来切换受否显示多个cpu的使用详细情况

du -sh指令
作用:查看目录的实际大小
语法:#du [-sh] 路径
参数的含义:
-s,summaries,只显示汇总大小
-h,以高度可读性显示

find指令
作用:用于查找文件
语法:#find 路径范围 选项 选项的值
-应该有五十个参数,一般常用两个
选项:
-name,按照文档名进行搜索(支持模糊搜索)
-name选项的值是文件名
-type,按照文件类型来搜索
文档类型:“-”表示文件,(在find的时候需要用f来代替),
-选项的值是d表示文件夹,只填文件扩展名的最后一个字母

按照名称搜
image.png

image.png

按照类型搜:
image.png

image.png

service指令
作用:控制软件的服务启动/停止/重启
语法:#service 服务名 star/stop/restart

kill指令
作用:停止进程
语法:kill 进程id
-一般需要ps指令使用

killall指令
作用:通过进程名称停止进程
语法:killall 进程名称
ifconfig指令
作用:操作网卡
语法1:#ifconfig
-显示网卡连接信息
image.png

  1. -inet就表示其网卡的IP地址
  2. -Eth0表示Linux中的一个网卡,eth0是其名称
  3. -LoLoop,本地网卡,其IP地址一般是127.0.0.1),其名称是Lo

reboot指令
作用:重启计算机
语法:#reboot
语法:#reboot -w,模拟重启,不重启只写关机与开机相关的测试,主要用于测试

shutdown指令
作用:关机
语法:#shutdown [-h now],立刻关机
语法:#shutdown -h 时间,定时关机,时间格式为默认格式
语法:#shutdown [-h now] [“关机提示”]
image.png
慎用!慎用!慎用!
-ctrl键+c等效于(shutdown -c)可以立刻取消关机命令
另外的关机命令:
image.png
uptime指令
作用:输出服务器开机位置运行的时间

  1. -显示当前的计算机时间+运行时间,+用户连接数
  2. -load average最近一段时间的负载

uname指令
作用:获取服务器的系统相关信息
语法1:#uname,获取服务器系统类型
语法2:#uname -a,获取系统的详细信息

  1. -a,可以获取:
  2. 系统类型、全部主机名、内核版本、发布时间、开源计划

netstat -tnlp命令
作用:查看服务器网络连接状态
-t,表示只列出tcp协议的连接
-n,表示地址从字母组合转化为IP地址,将协议转化为端口号显示
-l,表示过滤出state状态,列出值为LISTEN(监听)的连接
-p,表示显示发起连接的进程pid和进程名称
man指令
作用:manual,手册(包含了linuc中的全部手册,英文)
语法:#man 命令(退出按下q)

其他命令

1、主机名相关

  1. hostname #查看主机名
  2. hostname [新主机名] #修改主机名

管道

管道符:【|】
作用:可以用于“过滤”、“特殊”、“扩展处理”,管道不能单独使用,需要配合指令,一般用于辅助
语法1:#ls / | grep 需要筛选的字符
-过滤buhao
-以管道作为分界线,前面的命令有输出,后面需要先输入,然后再过滤。最后在输出,即管道前面的输出就是管道后面的输入
-grep指令:主要用于过滤

快捷键:

1,ctrl+u,删除光标前的内容
2,ctrl+k,删除光标后的内容

四、vim编辑器

vim的三种基本模式

1,命令模式 不能直接编辑,可以输入快捷键操作,用于预览文件
2,输入模式 可以对文件的内容进行编辑
3,末行模式 可以输入命令对文件进行操作,可以操作编辑后的文件

vim打开文件的方式

  1. vim 文件路径 #打开文件
  2. vim 数字 文件路径 #打开指定文件,且
  3. vim /关键词 #文件路径,打开指定文件高亮文字

vim模式的切换

image.png

命令模式

行首:shfit+6
行尾:shfit+4
首行:
行末:

  1. -指定行数:数字G
  2. -以光标为准向上下移动行:数字↑,数字↓
  3. -以当前
  4. -复制操作:
  5. -复制光标所在行
  6. 按键:yy
  7. 粘贴:在想要粘贴的地方按下p
  8. -复制光标往下所在的行数(包括光标所在行)
  9. 按键:数字 yy
  10. 粘贴:
  11. -可视化粘贴
  12. 按键:ctrl+v,然后按下上下左右方向键来选中需要复制的区块,按下yy键进行复制,最后按下p键粘贴
  13. -截切(删除)
  14. -截切或删除光标所在行
  15. 按键:dd,删除了之后下一行会上移
  16. 粘贴:p
  17. -剪切指定的行
  18. 按键:数字 dd
  19. -剪切光标所在行,但是之后的行不进行上移,本行变成空白
  20. 按键:D
  21. -撤销
  22. -按键:【:u】然后按下enterundo的意思
  23. -恢复
  24. -按键:ctrl+r,恢复之间的撤销操作

末行模式

进入方式:有命令模式进入
退出方式:
1,按下esc
2,连续两次按下esc
3,删除末行的全部输入字符
保存操作:
【:w】保存文件,write
【:路径】文件另存为
退出:
【:q】退出文件
保存并退出
【:wq】保存再退出
强制退出
【:q!】强制退出,刚刚不保存
调用外部命令
【:!外部命名】
搜索
【/内容】,N/n表示上下结果
如果需要取消高亮,输入【:nohl】no hightlight
替换
【:s/搜索的内容/新的内容】,即string,替换光标所在行的第一处符合条件的内容
【:s/搜索的内容/新的内容/g】,只替换光标所在行全部符合内容
【:%s/搜索的内容/新的内容/】替换整个文档第一个符合条件的内容
【:%s/搜索的内容/新的内容/g】替换整个文档符合条件的内容
%,表示整个文件
g,表示全局
显示行号:
【:set nu】,即number
【:set notnu】取消显示
行号不在文档中,只是临时显示
拓展:在vim模式打开多个文件,在末行模式下进行文件切换
输入命令:【:files】显示文件状态
image.png
%a,即active表示当前正在打开的文件
#,表示打开过的上一个文件
输入【:open 文件名】即可以切换文件
输入【:bn】切换到下一个文件,back next
输入【:bp】切换到上一个文件,back prev

编辑模式

进入方式:按下【i】或者【a】
退出:【esc】

vim中计算机的时候
1,进入编辑模式
2,按下ctrl+r,然后输入【=】此时光标会变到最后一行,
3,输入需要计算的内容
4,【:wq】返回编辑模式
5,【:x】
在文件没有修改表示直接退出
在文件修改了,表示保存退出
使用wq文件修改时间会被跟新

vim的配置文件

1,在文件打开的时候在末行模式下输入,临时的
2,个人配置文件(用户家目录/.vimc,隐藏文件)
3,全局配置文件(vim安装时候就有,etc/vimc)
4,个人文件和全局文件同时存在,优先选择个人配置文件
vim的异常退出
解决方式:将交换文件删除掉即可。

vim命令新建文件

  1. vim 文件名 #如果文件不存在可以新建文件,如果文件存在就编辑文件

别名机制

通过映射文件创建自定义的命令
visudo指令
待补充
image.png

GNU nano使用简要说明

ubuntu自带的文本编辑软件
Nano是一个简单的没有花梢及华丽效果的文本编辑器。Nano在做简单文本文件编辑时相当不错,,可以满足一些基本操作.

直接在命令行模式下输入nano 文件名,就可以对文件进行简单的编辑。

文件编辑中常用快捷键:

ctrl+X 离开nano软件,若有修改过的文件会提示是否保存;

ctrl+O 保存文件; ctrl+W 查询字符串;

ctrl +C 说明目前光标所在处的行数和列数等信息;

ctrl+ _ 可以直接输入行号,让光标快速移到该行;
待补充

五、Linux的权限管理

基本属性

Linux系统是一种典型的多用户系统,不用的用户处于不用的地位,拥有不同的权限,为了保护系统的安全性,Linux系统对于不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
在Linux中我们可以用【ll】或者【ls -l】命令来显示一个文件的属性以及文件所属的用户和组,如:
实例中,boot文件的第一个属性用d
image.png

概述:

linux把文件可存取的身份分为3个类别:owner、group、others
且3钟身份各有read、write、execute等权限。
权限
用户特定的系统资源使用权力。
在Linux中分有读、写、执行权限
读权限
对于文件夹来说,读的权限能够影响用户是否能列出目录结构
对于文件来说,读的权限影响用户是否可以查看文件内容
写权限,
对于文件来说,读权限影响用户是否可以文件夹下创建删除复制移动到,到文档
对于文件写权限,影响用户是否可以编辑文件
执行权限
一般都是对于文件,特别是脚本权限,
身份介绍
Owner身份,
所有者,默认是文档的创建者,除了文档的所有者,其他用户无法查看,对文档可读可写可执行
Group身份
是指与文件所有者同在一个组的用户
主要是多个团队共同完成一项工程时
Linux中每个用户支持多个用户组,(主组和附加组)
Other其他人
相对于所有者
Root用户
root用户,拥有最大权限,可以管理其他用户

文档权限的显示方式

Linux存在用户、用户组、其他人的概念,各自有不同的权限,对于一个文件而言其权限的表示方式如下
image.png
image.png
构成:文件类型+文件所有者权限+文件所属用户组权限+其他人权限
即:tpye+owner+group+other
-权限分配中,均是rwx的三个参数组合,且位置固定,没有该权限则使用【-】代替
十位字符的表示含义:
第1位:表示文档类型
-【d】表示文件夹,【-】表示文件,【l】表示连接,【s】表示套接字
第2-4位:表示文档所有者的权限,
第5-7位:表示与所有者同在一个组的用户权限
第8-10位,表示除了前面两不分用户之外的用户权限

Chmod命令,权限的设置

用于更改文件的9个属性(重要)

  1. chmod [-R] xyz 文件或者目录
  2. #语法:#chmod 选项 权限模式 路径 文档

常用选项:-R(当文档类型是文件夹时需要递归设置)
权限模式:即该文档需要设置的权限信息,
路径:可以是相对路径或者绝对路径
文档:可以是文件或文件夹
-只有处于root用户或者文档所有者用户登陆的情况下才能设置权限,否者这属于“提权漏洞”
权限模式的设置形式有两种,一种是字母形式,另外一种是数字形式

1,字母形式

选项 字母 介绍
u 用户
g 所属组
o
a 所有人
作用 + 增加权限
作用 - 减少权限
作用 = 赋予权限
权限 r 可读
权限 w 可写
权限 x 执行

为谁设置:
【u】,表示所有者身份
【g】,表示所有者同组用户设置
【o】,表示others,给其他用户设置
【a】,表示all,给所有人包括ugo部分,设置权限
-如果不写为谁设置,默认为所有人设置
权限字符:
【r】,可读
【w】,可写
【x】,可执行
【-】,表示没有权限
权限分配方式:
【+】,表示给具体的用户新增权限(相对当前)
【-】,表示删除用户权限(相对当前)
【=】,表示将权限设置成具体的值(注重结果)
image.png
-当一位文件ugo三个部分中有一个全部拥有时,则文件名变成绿色
案例:
使用root用户设置所有人都是执行的权限
1,#chmod +x 文件名
2,#chmod a=x 文件名
3,#chmod a+x 文件名

2,字母形式
读:r,4
写:w,2
执行:x,1
image.png
全部执行(u):读+写+执行=4+2+1=7
读和执行(g):读+执行=4+1=5
读权限(o):读=4

属主和属组

属主:所属用户,文件的主人
属组:所属的用户组,
image.png
-前的root是属主,
-后面root是属组
-这两项信息在文档创建的时候会使用创建者的信息(用户名、用户所属的主组)
如果删除某个用户,则文件的属主和属组需要修改

chown指令-更改文档的所属用户

作用:更改文档的所属用户
语法1:#chown -R 用户名 文件名
语法2:#chown -R 文件名:属组名 同时该用户名和用户组
-R,当文档是文件夹的时候需要使用-R做递归处理
案例:
image.png

chgrp指令-更改文档的所属用户

作用:更改文档的所属用户
语法:#chgrp -R 属组名 文件名
-R,当文档是文件夹的时候需要使用-R做递归处理

sudo指令-以管理员权限执行

含义:switch user do
执行语法:sudo 设置的命令 命令相关操作
查询语法:sudo -l
可以让root管理员提前定义一些命令指定用户执行
默认sudo中没有除root之外的用户规则,要想使用规则需要先配置sudo
配置文件路径:etc/sudoers
image.png
配置步骤:
1,配置sudo文件请使用“#visudo”,(只编辑其临时文件 )
2,
image.png
root,表示用户名,如果是用户组可以写成:【%组名】
ALL,表示允许用户登陆的主机(地址白名单)
(ALL),表示以谁的身份去执行,如果天ALL就表示root身份
ALL,表示当前用户可以执行的命令,可以多个命令可以使用英文逗号分割
例子:
image.png
注:
-写sudo命令的时候不建议直接写命令的直接形式,而是写成命令的完整路径,使用which可以查看命令的完整了路径

语法:#which 指令名称
-在输入sudo操作之后,接下来的5分钟之内操作原来命令,不使用sudo也不需要密码。
image.png
-禁止修改root密码的配置:/usr/bin/passwd/[A-Za-z]*,!/usr/bin/passwd root
-普通用户查看自己的sudo权限

六、用户和用户组管理

linux是一个对用户的系统
主要工作:用户账号的添加、删除、修改以及用户密码的管理

用户管理

添加用户-useradd命令

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

验证是否添加成功:
1,验证etc/passwd最后一行是否存在用户名信息
2,验证是否存在在目录

修改用户-usermod命令

  1. 常用语法:#**usermod 选项 操作的用户名**<br /> 含义:**user modify**,用户编辑<br /> 选项<br /> -g,表示指定用户的用户组,选项的值可是用户组的id,也可以是组名<br /> -G,表示指定用户的用户附加租,选项的值可是用户组的id,也可以是组名<br /> -uuid,用户的id,用户的标识符,系统会默认从500之后按顺序分配uid,如果不想通过系统分配的id可以自定义输入<br /> -l,表示修改用户名

设置密码-passwd 命令

语法:#passwd 用户名
Linux不允许 没有密码的用户登陆到系统,因此如果创建了一个没有密码的用户,将会处于锁定状态,无法用其登录
在设置好密码之后可以登录用户
image.png

  1. passwd -l username #锁定。锁定之后,这个用户不能登录
  2. passwd -d username #清除密码。清除之后,无法无法登录

切换用户命令-su命令

  1. 语法:**#su 用户名**<br /> 含义:**switch user**<br /> -如果用户名不指定则默认切换到root<br /> -root用户切换至普通用户不需要密码反之需要密码<br /> -切换用户之后前后的工作的目录是不变的<br /> -普通用户没有办法访问root目录,反之则可以<br />-#表示超级用户、也就是root用户,$表示普通用户

删除用户-userdel命令

  1. 语法:#**userdel **选项 用户名<br /> 含义:**user delete**(用户删除)<br /> 常用选项:<br /> -r,表示删除用户的同时删除其家目录<br /> -<br /> 注:已经登陆用户删除时会提示删除失败<br /> 解放肆是方法:<br /> 1,#ps -ef | grep 用户名筛选出该用户<br /> 2,找出uid使用#kill 指令停止进程<br />总结:,所有跟用户操作有关的的命令除了passwd之外,只有root超级管理员有权限执行

passwd文件

七个部分:-用户名:密码:用户名ID:用户组ID:注释:家目录:解释器 shell
位置:/etc/passwd
解释
-用户名:新的用户的名称,
-密码:此密码位置一般是“x”,表示密码的占位
-用户ID:用户的识别符
-用户组ID:该用户所属的主组ID
-注释:解释该用户的作用
-家目录:用户登陆进入系统之后默认的位置
-解释器shell:等待用户进入系统之后,用户输入指令之后,解释器会收集用户输入的指令,传递给内核处理。
注:
在添加选项的时候,执行useradd之之后会执行一些操作, 1,创建同名目录 2,创建同名用户组

用户组管理

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

每个用户都有一个用户组,系统可以对一个用户组的所有用户进行集中管理,不同的Linux系统对用户组的规定不同,如liunx下的用户属于 与他同名的用户组
这个用户组在创建用户的同时创建
用户租操作涉及:添加、删除、修改,这些操作实际上是对etc/group文件的更新

文件结构

  1. 用户组名:密码:用户组ID:组内用户<br /> -<br /> -密码:x表示占位符,一般用户组不设置密码<br /> -组内用户名:表示附加组是该组的用户名称

1,添加用户组-groupadd

  1. 语法:#groupadd 选项 用户名<br /> 常用选项:<br /> -g,表示指定用户的用户组id,系统会默认从500之后按顺序分配uid,如果不想通过系统分配的id可以自定义输入<br /> -ccomment,添加注释

2,编辑用户组-groupadd

  1. 常用语法:#groupadd 选项 操作的用户名<br /> 含义: modify,用户编辑<br /> 选项<br /> -g,表示指定用户的用户组id,系统会默认从500之后按顺序分配uid,如果不想通过系统分配的id可以自定义输入<br /> -n,表示修改用户组名

3,删除用户组-groupdel

  1. 语法:#groupdel 用户组名<br /> 注意:当删除组是某个组的主组时,是不允许删除的,如果确实需要删除则先从组内移出所有用户

七、软件安装的方式

方式一:源码包

优点:
开源,有足够能力可以自己修源码
编译安装,更加适合自己的系统,稳定高效
缺点:
安装步骤较多,易出错
编译时间长
解包:

  1. #tar -zxvf *.tar.gz
  2. #tar -jxvf *.tar.bz2

选项含义:
-z,或者【—gzip】或【—ungzip】,通过gzip指令处理文件
-x,—extract或—get:从文件中还原文件
-v,显示操作过程
-f,或者—file,指定一个文件
-j,支持bzip2解压文件
一般步骤:

  1. 上传或者下载源码包
  2. 解压需要安装的源码包
  3. 切换源码文件夹,然后执行后续的操作
  4. 配置—编译—安装

配置主要是指定软件的安装目录,指定需要的依赖的路径,指定不需要可选依赖,配置文件的路径,通用数据存储位置等
指定的安装路径:—prefix 路径
需要依赖的路径:—with-PACHKAGE 名 = 包所在路径
不需要依赖:—without-PACHAGE名

方式二:二进制包

优点:
包管理系统简单,只需要几个命令就可以实现包的包装,升级,查询和卸载

缺点:
经过编译,不再可以查看源代码
#rpm -ga|grep 关键字
#rpm -e 关键字 | [-nodeps]
#rpm -lvh 完整名称
#rpm -Uvh 完整名称
#rpm -gf 文件路径,查询指定的文件属于哪个包

rpm管理软件(重点)

作用:主要对Linux的软件包进行对应的管理操作:查询、卸载、安装
安装rpm服务

1、查询是否安装了某个软甲:
**语法:#rqm -qa | grep 软件关键字(支持模糊搜索)**
选项:
-q,查询全部,query
-a,全部,all
2、卸载指定软件
语法:#rpm -e 软件名称 —nodes
【—nodes】表示忽略依赖关系强制卸载

3,软件的安装
软件获取方式:1,官网下载、2,光盘、3、本地上传
**语法:rpm -ivh 软件包完整名称**
-i,表示install 安装
-v,显示进度条
-h,表示以“#”显示显示进度条

查看块状设备的信息
**#lsblk(lit block device)**
image.png
-mountPoint:挂载点,可以理解为window下的盘符
image.png

image.png

3、在线安装

安装Java

image.png
配置环境变量:/etc/profile

八、网络设置

Linux网卡配置文件地址:etc/sysconfig/network-scripts
(ubuntu在etc/network下的interface文件
image.png

网络相关的 命令

ping命令
作用:检测当前主机的连通性(有些服务器禁ping)
语法:#ping 主机地址(ip、主机名、域名等)
linux下的ping命令会一直发送,window默默人发送四个

netstat
作用:表示查看网络的连接信息
语法:#netstat -atnlp
-a,表示列出全部
-t,tcp协议
-l,将字母转化为数字
-n,列出状态为监听
-p,显示进程相关信息

traceroute指令
作用:查找当前主机与目标之间的所偶网关(路由器)
-会给沿途各个路由器发送icmp数据包,路由器可能会不给予响应
-该命令不是内置命令,需要安装,
语法:#traceroute 主机地址
window下,tracert 主机地址

ARP指令
作用:查询目标mac地址
常用语法:
#arp -a
-查询本地缓存的mac表
#arp -d 主机地址
-删除指定的缓存记录
该命令在window下一样适用

tcpdump指令
作用:抓包,抓取数据表
常用语法:
#tcpdump 协议 port 端口号
#tcpdump 协议 port 端口号 host 地址
#tcpdump -i 网卡设备名
image.png

00:09:17.xxx 监听数据的时分秒
IP 使用的协议类型
192.168.21.1 数据包的一个方向,来自
> 数据包流向
192.168.21.136 数据包的另一个方向,到达

常用工具:Charles,抓包工具

设置网卡的IP

image.png

九、SSH服务

SSH全称secue shell ,安全壳协议,该协议有2个常用的作用,远程连接协议,和文件远程传输协议
协议使用端口号:默认是22号

配置文件地址:etc/ssh/sshd_config

修改端口号

1,注意范围,端口号范围是0-65535
2,不能使用别的服务已经占用的服务端口号

服务启动/停止/重启

#service sshd start/stop/restart
这个服务作为Linux开机自动运行的服务不能停止
远程登陆工具:putty
远程传输工具fileZilla

通过命令行工具来传输文件或者文件夹
工具:PSCP.exe,需要通过cmd命名运行,需要将其配置到系统的环境变量中
用法:
image.png

-如果文件名有空格需要用引号包括起来

设置主机名

回顾:
#hostname
#hostname -f
临时主机名:
#hostname 主机名
永久设置主机名
1,/etc/sysconfig/network(Ubuntu是在/etc/hostname)中vim进入修改主机名
image.png
2,永久修改主机名之后需要重启
3,修该改本地DNS文件,(etc/hosts)把主机名指向本地(设置FQDN)
image.png

不设置FQDN影响
1,很多开源服务器软件无法启动,或者报错
2,方便记忆,见名知意
3,会影响本地的访问

chkconfig
作用:提供开机启动项的管理服务
开机启动服务查询
#chkconfig -list
chkconfig命令属于readhat第linux系统的命令。

1、rpm 和yum 只是在redhat和centos里才有的 不同发行版的linux要分开对待比如ubuntu的就是deb的包,也就是apt-get了,所以要看你是什么发行版。

2、service 命令也是在redhat和centos里可以这么用 ,而其他发行版不一定可以。所以提供一下Linux的发行版。

ntp服务

作用:主要用于对计算机时间同步进行管理
时间对服务器非常重要
image.png

ntp服务的安装:

Ubuntu上安装步骤:
待补充

常见操作:

1、一次性同步时间
语法:#ntpdate 时间服务器的域名或者IP地址

2、设置时间同步服务
服务名:ntpd
启动:ntpd服务
#service ntpd star

防火墙软件/服务

作用:防范一些网络攻击的软件
分类:硬件防火墙和软件防火墙
Linux自带的防火墙服务:iptables(centos6.5)
查看防火墙是否启动

1,防火墙服务启动/重启/关闭
**#service iptables start/restart/stop**
2,查看防火墙状态
**#service iptables status**
3,查看规则命令
**#ipyables -L -n**
image.png
4,设置防火墙规则
网上搜iptables 80开放
image.png

image.png


cron/crontab计划任务(重点)
作用:使用设置设定时间执行相应的命令
语法:
#crontab 选项
常用选项:
-l,list,列出指定用户计划任务列表
-e,edit,编辑指定用户的计划任务列表
-u,user
-r,remove
编辑计划任务(重点)
计划任务规则语法格式,以行为单位,一行一个计划
分 时 日 月 周 需要执行的命令
image.png

image.png
四个符号:
【*】取值范围之内的每一个数字
【-】做连续区间表达式
【/】表示每多少个
【,】表示多个取值
crontab权限问题
超级管理员可以通过配置设置

十、Linux自有服务

运行模式

运行模式也可以称为运行级别

init进程

在Linux中存在的一个初始进程(initaliza)进程id是1
image.pngimage.png
该进程存在一个配置为inittab(系统运行级别的配置文件,位置是/etc/inittab)
配置文件写了运行级别的注释



与该级别相关的几个命令
#init 0,表示关机
#init 3,表示切换不带桌面的模式
#init 5,表示切换图形界面
#init 6,重启电脑
这些命令都是调用init程序,将数字(运行级别)传递给进程,进程去读配置文件执行对应的操作

十一、软联链接和硬链接

image.png
image.png

image.png


十三、进程管理

image.png
image.png

image.png

结束进程
kill

  1. kill -9