admin管理员组文章数量:1651802
linux
0.序
0.1网络连接概念
0.1.1P地址IPADDR
IP地址是一种逻辑地址,用来标识网络中一个个主机
P地址=网络地址+主机地址
IP地址是一个 4 * 8bit(1字节)由 0/1 组成的数字串(IP4协议)
0.1.2子网掩码NETMASK
子网掩码只有一个功能,就是将IP地址划分为网络地址和主机地址两部分。
子网掩码用来判断任意两台计算机的IP地址是否在同一个子网中的根据
A 192.168.7.111 B 192.168.8.222
255.255.0.0
0.1.3默认网关GATEWAY
连接两个不同的网络的设备都可以叫网关设备;网关的作用就是实现两个网络之间进行通讯与控制。
网关地址就是网关设备的IP地址
0.1.4域名服务器DNS
DNS是域名服务器,用来解析域名的(域名和IP之间的解析)。
如果没有这东西,登陆某个网站时就必须输入该网站的IP地址,有了DNS就可以直接输入网址。
0.2网络的连接模式
host-onboy(主机模式)
在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用host-onboy模式
在host-onboy模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的。
在host-onboy模式下,虚拟系统的TCP/IP配置信息都是由VMnet1(host-onboy)虚拟网络的DHCP服务器来动态分配的
bridged(桥接模式)
VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器。
使用桥接模式的虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑。
当前主机IP 为 192.168.8.100 虚拟机 192.168.8.xxx
该模式相当于独立出一个主机,但若该子网下次ip地址已经被别的设备用了就会发生冲突
NAT(网络地址转换模式)
使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。
NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的
虚 拟系统也就无法和本局域网中的其他真实主机进行通讯
1.配置虚拟机
1.1创建虚拟机
选择自定义高级—>选择适合的兼容性—>选择镜像文件—>给虚拟机命名—>分配处理器—>分配内存(至少1G)—>选择网络类型(桥接网络容易和本地ip地址发生冲突;NAT相当于一个路由下的网络)—>I/O控制选择LSI Logic—>虚拟磁盘类型选择SCSI—>创建新虚拟磁盘—>分配磁盘大小建议至少64G(不要点立即分配所有磁盘空间)—>一直下一步—>选择Install CentOS 7—>分配硬盘选择 I will configure partitioning 然后点击done—>给/boot分配1G,给swap分配内存的两倍,其他剩余全部都给/—>修改用户名—>下一步设置密码123456
1.2网络配置
修改网络信息:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
把UUID=4446EC99-4A28这行按两下d删去—>把BOOTPROTO改为static—>然后把ONBOOT改为yes—>然后添加以下四句
IPADDR=192.168.188.100
NETMASK=255.255.255.0
GATEWAY=192.168.188.2
DNS1=114.114.114.114
然后按Esc再输入:wq然后回车
重启网卡
ip addr //查看地址
systemctl restart network.service //重启
ping www.baidu //看是否ping的通
ctrl+c终止命令的执行
1.3防火墙配置
systemctl stop firewalld //查看防火墙状态
- 保护本机端口不被别人访问
- 如果端口需要被别人访问到,需要添加端口的防护墙例外
- 关闭防火墙
本次开机状态下防火墙关闭
systemctl stop firewalld //本次服务内关闭防火墙
服务器重启后防火墙禁用
systemctl disable firewalld //禁用防火墙服务
1.4软件安全限制
操作系统对未知软件的安装有可能拒绝或者警告,我们需要禁用这个功能
输入以下修改指令
vi /etc/selinux/config
把其值改为SELINUX=disabled
1.5关闭计算机
#方法1 poweroff
#方法1 shutdown -h now
2.快照与克隆
2.1快照
拍摄快照功能可以保存当前状态,之后配置出问题可以转到拍摄位置
注意:拍摄快照时需要虚拟机处于关机状态否则容易出错
2.2克隆
克隆可以在需要配置多台设备时不需要每一台都一一配置
克隆是复制某一历史快照节点
克隆方式:
链接克隆
当前节点文件只存储差异性数据
相同数据存放在相同节点上
优点:节省硬盘空间
缺点:耦合性大
完整克隆
就是基于原始节点完全拷贝到新节点文件夹中
优点:耦合性低
缺点:硬盘使用空间大
3.连接Linux服务器
Xshell
负责向虚拟机输入命令
如何连接虚拟机
//ssh ip地址
ssh 192.168.188.100
Xftp
向虚拟机传输文件
4.Linux命令
4.1命令学习方法
- Linux命令与参数之间必须空格隔开
- Linux命令是区分大小写的
- 如果输入了错误命令
- -bash : abcd:command not found
- 命令敲错了
- 命令未安装
-
type命令的类型
- cd if a shell builtin
- ping is /bin/ping
- ll is aliased to `Is -I --color=auto’
- for is a shell keyword
-
命令的帮助文档
-
help
- 内置命令的帮助文档
-
man
- 外部命令的帮助文档
- 因为当前系统为minimal,very basic没有man包
- 需要手动安装man
- yum install man man-pages -y
-
4.2常用的命令
whereis 查询命令文件的位置
file 查看文件类型
who 查看当前在线用户
pwd 我在那
uname -a查看内核信息
echo类似于sout syso , 打印语句
clear 清屏
history 历史
4.3特殊字符
. :
如果文件的开始是.说明当前文件是一个隐藏文件
.指向当前目录
…指向当前目录的上级目录
$:
说明这是一个变量
$PATH Linux的环境变量
*:
通配符
-:
当前用户的家目录
每个用户的家目录是不同的
root用户家目录在系统根目录下
其他用户的家目录在/home/用户名为家目录
空格:
Linux的命令与参数用空格隔开
/:
整个Linux的文件根目录
命令的参数
如果单词一般加–
如果字母或者缩写一般加 -
5.Linux的文件系统
5.1Linux文件简介
-
在Linux中所有东西都是以文件的形式进行操作
-
在Linux中文件的访问和Window的不一样。windows依靠通过盘符进行访问
-
Linux维护这一个树形结构的文件模型
- 只有一个根节点,它的名字叫 /
- 一个根节点可以有多个子节点
-
查找文件的方式
-
相对路径
- 以当前路径为基础点,查找其他资源
- vi …/etc/sysconfig/network
-
绝对路径
- 以根目录为基础点,查找其他资源
- vi /etc/sysconfig/network-scripts/ifcfg-ens33
-
日常使用中,只要找到路径即可,但是如果是一些配置文件尽量写绝对路径
-
-
挂载磁盘
mount /dev/disk1 /user/download
disk1 1T
mount /dev/disk2 /user/upload
disk2 2T
mount /dev/disk3 /user/upload/photo
disk3 1T
5.2Linux的二级目录
/bin:
bin是Binary的缩写, 这个目录存放着最经常使用的命令。
/boot:
这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev :
dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问
文件的方式是相同的。
/etc:
这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home:
用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib:
这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用
程序都需要用到这些共享库。
/lost+found:
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media:
linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目
录下。
/mnt:
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目
录就可以查看光驱里的内容了。
/opt:
这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认
是空的。
/proc:
这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,
比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root:
该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin:
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/selinux:
这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但
是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
/srv:
该目录存放一些服务启动之后需要提取的数据。
/sys:
这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件
系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
/tmp:
这个目录是用来存放一些临时文件的。
/usr:
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的
program files目录。
/usr/bin:
系统用户使用的应用程序。
/usr/sbin:
超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src:
内核源代码默认的放置目录。
/var:
这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日
志文件。
/run:
是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。
如果你的系统上有 /var/run 目录,应该让它指向 run。
5.3linux的文件操作
5.3.1cd改变当前工作目录
cd / //回到根目录
cd /a //来到a目录下操作
5.3.2ls ll显示文件夹
显示出指定目录下的所有文件
文件的类型
-普通文件
d文件夹
l软连接
5.3.3 mkdir 创建文件目录
例. mkdir a //当前目录下创建了a文件夹
mkdir -p a/b/c/d //自动创建文件夹a并在a中创建b再在b中创建c
5.3.4 rmdir 删除文件目录
rmdir只能删除空的文件夹 //必须符合空&&是文件夹这两个条件
rmdir: failed to remove ‘a1’: Directory not empty //这就是说明该文件夹不为空
rmdir: failed to remove ‘baidu’: Not a directory //这就说明该文件不是一个文件夹
rmdir aaa
5.3.5 cp 复制
普通文件直接cp,如果是文件夹加个参数-r
cp anaconda-ks.cfg /opt //把anaconda-ks.cfg复制到opt文件夹下
cp /etc/yum.conf ./ //复制etc文件夹下的yum.conf文件到当前文件下
cp -r lucky /opt //复制luck文件夹到opt文件夹
cp -r shiren* /opt //复制含shiren这个字符串的文件夹到opt
5.3.6 mv 剪切
文件和文件夹下一样剪切
mv a1 /opt //a1文件移动到opt下
mv a abcd //把文件a的名字改为abcd
5.3.7 rm删除
rm install.log //删除文件会询问是否删除
rm -f install.log //强制删除不会询问
rm -r a //删除a删除文件夹会询问是否删除
rm -rf abcd //不会询问直接删除文件夹 删库跑路
5.3.8 touch 声明文件
touch一个文件如果没有就创建一个文件
如果该文件已经存在,修改文件的三个时间,将三个时间改为当前时间
5.3.9 stat 查看文件状态
查看文件的状态
Inode 当前文件在文件系统的唯一标识,类似于ID (文件名可以一样但innod不行)
时间
access 访问时间
modify 修改文件内容时间
change 修改文件元数据信息时间
文件大小 ,文件所有者 ,文件权限
对于文件的描述信息
5.3.10 ln 创建文件连接
创建文件的链接
软(符号)连接
ln -s lucky01 sl //s1会指向lucky01 但软连接和原文件不是同一个文件
lucky1 INoded:131085 //他们的inode不是相同
sl INoded:131074 //删除原文件后链接就会断因为指向的不是内存中的文件
硬连接
ln lucky02 hl //硬链接和原始文件使用文件系统中的同一个文件
//如果你害怕一个文件被别人误删,你可以使用硬链接保护这个文件
//硬链接创建的是直接指向原文件硬盘中的地址,就算原文件被删除还有一个文件指向那个地址还能找到
5.4Linux读取文件信息
5.4.1 cat
将整个文档加载到内存中,并进行一次性显示
除非后面使用管道,传递数据
5.4.2 tac
将整个文档加载到内存中,并进行一次性按行逆序显示
5.4.3 more less
分页查看文档内容
快捷键
回车 下一行
空格 下一页
b 回退
q 退出
5.4.4 head
从文章开始读取N行
默认如果超过10行读取10行,否则读取现在行数
head -5 profile //显示profile文件得到前5行
5.4.5 tail
从文章末尾读取N行
head -3 profile | tail -1 //只显示第三行
管道的作用就相当于把前面的结果以参数的方式传递给后面的命令
读取新增数据
ping www.baidu >>baidu
tail -F baidu //在监视新增加的数据,一直输出显示
f和F的区别
f:
它会监听指定inode的文件数据变化,但是当文件被删除后,即使创新创建,inode也会发生变化,于是监听失败
F:
他会监听指定名字的文件,如果文件被删除后,重新创建,他会重新监听新文件的数据变化,监听不受影响
5.4.6 find
查找指定的文件
find 要查找的范围 -name 名字
find /etc -name profile
5.5vi和vim编辑器
5.5.1打开文件
正常打开
vi profile //vi 文件名
打开文件并将光标置于第8行
vi +8profile
打开最后一行
vi + profile
打开指定搜索单词的位置
vi +/if profile //查找if在文件中的位置
按n查找下一个,按N查找上一个
5.5.2三种模式
编辑模式
编辑模式中,每一个按键都有其他的功能
输入模式
每一个按键按下什么,就像文本中数据输入什么
末行(命令行)模式
我们可以直接在VI中输入特定的命令
5.5.3 三种模式的切换
编辑模式–>输入模式
i在当前位置插入数据
a追加数据
o在当前行后面开启一个新的输入行
I 行首
A 行尾
O 上一行
输入模式–>编辑模式
按下ESC
编辑模式–>末行模式
:
末行模式–>编辑模式
按下ESC
5.5.4编辑模式
G最后一行
gg 跳转到第一行
数字gg 跳转到第数字行
w 下个单词
数字w
dw 删除一个单词
3dw 删除三个单词
dd 删除一行
3dd 删除三行
u回退到前面的操作
.回退u执行的操作
yw 复制一个单词
3yw 复制三个单词
yy 复制一行
3yy复制三行
p粘贴
6p 粘贴6次
x 剪切
3x 剪切三个字符
r 替换,然后输入一个字符替换
3r 替换三个
hjkl 方向键
ZZ 保存并退出
ctrl+s 锁屏 ctrl+q 解锁
5.5.5输入模式
按i进入
5.5.6末行模式
set nu 设置行号
set nonu 取消行号
w 保存
q 退出
wq 保存并退出
q!强制退出,但是不保存
如果上次异常退出会保留同名隐藏文件,每次启动会给与提示
如果确定当前文件没问题,请删除隐藏文件
/pattern
搜索指定的字符串
/usr n向下查找 N逆向查找
s/p1/p2/g
替换字符串
g 替换当前行所有 否则只替换当前行第一个
s/abc/lucky/g
查找指定行
3,8s/abc/lucky/g
替换全文
g/abc/s//lucky/g
5.6 计算机间数据传输
5.6.1 Windows—>Linux
lrzsz
需要手动安装
yum install lrzsz -y
rz
将文件从window上传到Linux
sz 文件
将文件从Linux传输到Window
xftp
较为通用的文件传输方式
5.6.2Linux—>Linux
scp 源数据地址(source) 目标数据地址(target)
//把 apache-tomcat-7.0.61.tar.gz文件传输到192.168.31.44ip地址下的/opt路径
scp apache-tomcat-7.0.61.tar.gz root@192.168.31.44:/opt
//从192.168.31.44下的/opt/下的apache-tomcat-7.0.61.tar.gz文件传输到本机器的根目录下./
scp root@192.168.31.44:/opt/apache-tomcat-7.0.61.tar.gz ./
//传输文件夹
scp -r apache-tomcat-7.0.61 root@192.168.31.44:/opt
5.7 文件大小
分区信息
df -h
指定文件目录大小
du -h --max-depth=1 文件地址
例:
du -h --max-depth=1 apache-tomcat-7.0.61
swap
一个特殊分区,以硬盘代替内存
当内存使用满的时候,可以将一部分数据写出到swap分区
5.8文件压缩
5.8.1tar格式
解压
tar -zxvf 压缩包文件名
//tar -zx(解压)v(过程)f(文件) lucky.tar.gz
例:
tar -zxvf lucky.tar.gz
指定目录解压
tar -zxf tomcat.tar.gz -C /opt/
//-C 指定解压缩的文件目录
压缩
tar -zcf 压缩后的名字 要压缩文件的名字
//tar -zc(压缩)f(文件) tomcat.tar.gz(压缩后的名字) apache-tomcat-7.0.61(源文件)
例:
tar -zcf git.tar.gz git.md
5.8.2 zip和unzip
安装
yum install zip unzip -y
压缩
zip -r git.zip git.md
解压
unzip tomcat.zip
6Linux的网络信息
5.1主机名称
临时修改
hostname school
长久修改
vi /etc/hostname
5.2DNS解析
域名解析服务
可以将域名转换为IP地址
DNS域名劫持
windows —> C:\Wimdows\System32\drivers\hosts
修改主机域名
vi /etc/hosts
将来我们需要把所有的虚拟机都配置hosts文件
//ip地址 域名
192.168.31.101 bd1601
5.3网络相关命令
ifconfig
查看当前网卡的配置信息
这个命令属于 net-tools中的一个命令,但是Centos7中minimal版并没有集成这个包
所以7的时候需要自己手动安装
如果没有ifconfig ,可以使用ip addr 临时代替
netstat
查看当前网络的状态信息
一个机器默认有65536个端口号[0,65535]
这是一个逻辑的概念,将来我们需要使用程序监听指定的端口,等待别人的访问
一个端口只能被一个程序所监听, 端口已经被占用
netstat -anp
netstat -r 核心路由表 == route
ping
查看与目标IP地址是否能够连通
telnet
查看与目标IP的指定端口是否能够连通
yum install telnet -y
telnet 192.168.31.44 22
curl
restful 我们所有的资源在网络上中都有唯一的定位
那么我们可以通过这个唯一定位标识指定的资源
http://localhost:8080/lucky/user.action/666
curl -X GET http://www.baidu
6.4防火墙
防火墙技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术
在centOS7+中 使用firewalld代替以前的 iptables ;
#查看防火墙状态
systemctl status firewalld.service
#临时停止firewall
systemctl stop firewalld.service
#禁止firewall开机启动
systemctl disable firewalld.service
firewall-cmd --state ##查看防火墙状态,是否是
running
firewall-cmd --reload ##重新载入配置,比如添加规则之
后,需要执行此命令
firewall-cmd --get-zones ##列出支持的zone
firewall-cmd --get-services ##列出支持的服务,在列表中的服
务是放行的
firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回
yes或者no
firewall-cmd --add-service=ftp ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口
开启一个端口的正确操作
# 添加
firewall-cmd --zone=public --add-port=80/tcp --permanent
#重新载入
firewall-cmd --reload
#查看
firewall-cmd --zone=public --query-port=80/tcp
#删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent
6.5加密算法
6.5.1不可逆加密算法
可以通过数据计算加密后的结果,但是通过结果无法计算出加密数据
应用场景
Hash算法常用在不可还原的密码存储、信息完整性校验。
文档、音视频文件、软件安装包等用新老摘要对比是否一样(接收到的文件是否被修改)
用户名或者密码加密后数据库存储(数据库大多数不会存储关键信息的明文,就像很多登录功能的忘记密码不能找回,只能重置)
6.5.2对称加密算法
Symmetric Key Encryption
代表性算法叫做 DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES
特点
加密和解密使用相同的秘钥
优点
生成密钥的算法公开、计算量小、加密速度快、加密效率高、密钥较短
缺点
双方共同的密钥,有一方密钥被窃取,双方都影响
如果为每个客户都生成不同密钥,则密钥数量巨大,密钥管理有压力
应用场景
登录信息用户名和密码加密、传输加密、指令加密
6.5.3非对称加密
Asymmetric Key Encryption
非对称加密算法需要一对密钥(两个密钥):
公开密钥(publickey)和私有密钥(privatekey)(简称公钥,私钥)。
公开密钥与私有密钥生成时是一对
用公钥加密只能是对应的私钥解密,同理用私钥加密只能用对应的公钥解密。
代表性算法叫做 RSA、ECC、Diffie-Hellman、El Gamal、DSA(数字签名用)
优点:
安全高(几乎很难破解)
缺点
加解密相对速度慢、密钥长、计算量大、效率低
应用场景
HTTPS(ssl)证书里制作、CRS请求证书、金融通信加密、蓝牙等硬件信息加密配对传输、关键的登录信息验证。
6.6主机间的相互免密钥
可以通过ssh命令免密钥连接到其他的主机,如果第一次建立连接需要输入yes
在 ~/.ssh/known_hosts 文件记录了以前访问地址(ip hostname)的信息
在访问地址的时候如果没有收录到known_hosts文件中,就需要输入yes
如果以前收录到known_hosts中,直接输入密码即可
生成密钥
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
查看公钥 cat ~/.ssh/id_rsa.pub
想要免密登录谁就把自己的公钥发给他
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.188.100
这个秘钥要放在 ~/.ssh/authorized_keys
7.日期与时间
7.1时间命令
7.1.1查看时区
ll /etc/localtime
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
7.1.2查看当前时间
date
7.1.3查看日历
cal 2022
7.1.4修改时间
date -s 11:11:11
date -s 2019-11-11
date -s '2019-11-11 11:11:11'
7.2日期自动同步
7.2.1自动同步时间
yum install ntp -y
ntpdate cn.ntp
7.2.2本地搭建NTP服务
7.2.2.1开启本地NTP服务器
service ntpd start
7.2.3# vi /etc/ntp.conf
#========权限控制============
restrict default kod nomodify notrap nopeer noquery 拒绝IPV4用户
restrict -6 default kod nomodify notrap nopeer noquery 拒绝IPV6用户
restrict 210.72.145.44 授权国家授时中心服务器访问本地NTP
restrict 133.100.11.8 授权133.100.11.8访问本地NTP
restrict 127.0.0.1
restrict -6 ::1
restrict 192.168.188.2 mask 255.255.255.0 nomodify 本地网段授权访问
#=========源服务器===========
server cn.ntp prefer 指定上级更新时间服务器,优先使用这个地址
#=========差异分析===========
driftfile /var/lib/ntp/
7.2.4客户端同步时间
ntpdate 192.168.188.100
8.用户-组-权限
8.1用户
8.1.1新增用户
useradd luckyboy
//会创建同名的组和家目录
8.1.2设置密码
passwd luckyboy
8.1.3删除用户
userdel -r luckyboy
//级联删除家目录和组
8.1.4修改用户信息
usermod -l luckyss luckyls 修改用户名 //家目录和组名称是不会被修改的
usermod -L luckyss 锁定用户名
usermod -U luckyss 解锁用户名
8.1.5常用文件
cat /etc/shadow 用户名和密码
cat /etc/passwd
//用户名,编号,组编号,家目录,命令,目录
6.5系统0-499 普通 500+
7.6系统0-999 普通 1000+
8.1.6切换账户
su luckyboy
8.2组
8.2.1创建组
groupadd lucky
8.2.2删除组
groupdel lucky
8.2.3修改组名字
groupmod -n school lucky
8.2.4查看对应的组
groups
groups schoolboy //当我们创建用户的时候,会默认创建一个同名的主组
8.2.5修改用户的组
usermod -g lucky schoolboy (主组)
usermod -G lucky schoolls (附属组)
8.3权限
8.3.1查看文件的权限
drw-r-xr-x 9 n1 m1 4096 Nov 13 00:30 apache-tomcat-7.0.61
r :读取权限
w :写入权限
x :执行权限
-:没有权限
root :所属用户(属主)
root:所属的组(属组)
8.3.2权限的UGO模型
三组权限
属主的权限:属组的权限:其他的权限
所有说:将来修改文件的权限 可以从rwx和ugo两个方面进行修改
8.3.3修改文件的权限
8.3.3.1修改文件所属
chown n1 /var/lucky1
chown n1:m1 /var/lucky2
chown -R n1:m1 school //修改文件夹时,让子目录迭代修改
chgrp m2 lucky3
当用户的组被修改之后,需要重新登录才能获取新组的权限
8.3.3.2修改文件的rwx
chmod o+w lucky4
chmod ug+rw lucky4
chmod ugo-rw lucky4
(权限RWX分别对应数字 4 2 1 5= 4+0+1 r-x)
chmod 664 lucky4 ->(rw- rw-r--)
8.4权限赋予
我们可以将管理用的权限分配给普通用户
文件位置在 vim /etc/sudoers
但是修改这个文件需要使用命令
visudo
修改 Line 99
n1 ALL=(root) /sbin/useradd
n1 ALL=(root) /sbin/*
如何使用
su n1
sudo chkconfig iptables off
9.管道与重定向
9.1管道
将前面命令的结果作为参数传递给后面的命令
grep–强大的文本搜索工具
cat profile | grep if 对profile进行关键字if查找
ls / | grep ^t 显示/目录查找^t
9.2重定向
改变数据输出的位置,方向
0 in 1 out 2 err
ls / 1> lucky 标准输出
ls / > lucky 标准输出
ls abcd 2>lucky 错误输出
> 替换 >> 追加
ls / 1>> lucky
ls / 1> lucky
结合使用
s /etc /abc > lucky 2>&1
ls /etc /abc >> lucky 2>&1
信息黑洞
ls /etc /abc >> /dev/null 2>&1
10.Linux的系统进程
10.1 进程信息
ps -ef
UID PID PPID C STIME TTY TIME CMD
UID 所属用户
PID 当前进程编号
PPID 当前进程编号的父进程编号
ps -ef | grep redis
ps -aux 所有信息
ps -aux --sort -pcpu
top 当前服务器内存使用率
10.2后台进程
只需要在命令的后面添加一个 & 符号
ping www.baidu >> baidu &
jobs -l
可以查看当前的后台进程
但是只有当前用户界面可以获取到
nohup 可以防止后台进程被挂起
nohup ping www.baidu >> baidu 2>&1 &
10.3杀死进程
kill -9 17599
11Linux的软件安装
11.1环境变量
当我们执行一个命令的时候,默认从当前路径开始查找如果当前径找不到对应的命令文件,从环境变量 P A T H 查 找 PATH查找 PATH查找PATH的配置文件在 /etc/profilewindow 路径与路径之间用;(分号)连接Linux路径与路径之间用:(冒号)连接Linux每次修改完成之后,需要重新加载文件 source /etc/profile
11.2软件安装方式
解压就可以使用
使用安装包安装(window-exe Linux-rpm)
自己下载安装包
使用统一的软件帮助我们安装
通过源码安装
11.3RPM安装
RedHat Package Manager,它属于红帽的一种包管理方式
通过RPM命令安装软件
rpm -ivh jdk-7u67-linux-x64.rpm
可以查询软件
rpm -qa | grep jdk
rpm -q jdk
卸载
rpm -e jdk-1.7.0_67-fcs.x86_64
需要手动配置Java的环境变量
vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.7.0_67
export PATH=$JAVA_HOME/bin:$PATH
重新加载配置文件
source /etc/profile
11.4压缩包解压安装
解压文件
tar -zxf apache-tomcat-7.0.61.tar.gz
拷贝到/opt/school目录下
mkdir -p /opt/lucky
cp -r apache-tomcat-7.0.61 /opt/school
启动tomcat
cd /opt/school/apache-tomcat-7.0.61/bin/
./startup.sh
11.5YUM安装
11.5.1yum的作用
可以帮我们管理RPM包
可以帮我们安装软件,
如果软件有其他依赖,会帮我们安装依赖后在安装软件
类似于Maven
10.5.2. yum命令
search
查询命令或者软件
yum search ifconfig
info
查看包的信息
yum info
list / list jdk
查询安装的rpm包,或者只查询某一周
yum list
11.5.3更换yum源
首先安装wget
yum install wget -y
将系统原始配置文件失效
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
使用Wget获取阿里yum源配置文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun/repo/Centos-6.r
epo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun/repo/Centos-7.r
epo
清空以前yum源的缓存
yum clean all
获取阿里云的缓存
yum makecache
版权声明:本文标题:linux基础操作学习笔记 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1729567184a1206631.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论