目录
Linux账号管理
用户组管理
磁盘管理
进程管理
Linux环境安装(三种软件安装方式)
扩展:VMware使用
Linux账号管理
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
用户账号的管理(添加,删除,修改)
1,添加用户账号:就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源
useradd 选项 用户名 //添加用户操作需要在root用户下执行,其他用户下没有权限
参数说明:
【注意:Linux中一切皆文件,添加用户本质上就是在 etc/passwd 文件中写入用户的信息 ,同时更新其他系统文件如/etc/shadow, /etc/group等。】
2,删除用户:删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。
userdel 选项 用户名
常用的选项是 -r,它的作用是把用户的主目录一起删除。
此命令删除用户kuangshen在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。
3,修改用户:修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。
usermod 选项 用户名
常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。
4,切换用户:
- 切换用户的命令为:su username 【username是存在的用户名】
- 从普通用户切换到root用户,还可以使用命令:sudo su
- 在终端输入exit或logout或使用快捷方式ctrl+d,可以退回到原来用户,其实ctrl+d也是执行的exit命令
- 在切换用户时,如果想在切换用户之后使用新用户的工作环境,可以在su和username之间加-,例如:【su - root】
【$表示普通用户;#表示超级用户,也就是root用户】
用户口令管理
用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。
指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。
passwd 选项 用户名
对应参数选项:
-
-l 锁定口令,即禁用账号。
-
-u 口令解锁。
-
-d 使账号无口令。
-
-f 强迫用户下次登录时修改口令
例:passwd -l xxx —— 锁定账户(锁定(冻结)之后,此用户就不能登录);
passwd -d xxx ——为用户指定空口令(此命令将用户的口令删除,这样用户下一次登录时,系统就不再允许该用户登录了)
用户组管理
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
1,新增一个用户组:【groupadd 选项 用户组】
对应参数选项:
2,删除一个已有用户组:【groupdel 用户组】
3,修改用户组:【groupmod 选项 用户组】
常用的选项有:
4,切换用户组:如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。
例如:$ newgrp root —— 将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。
【拓展:文件的查看 】
1,/etc/passwd
/etc/passwd文件是用户管理工作涉及的最重要的一个文件。Linux系统中的每个用户都在/etc/passwd文件中有一个对应的记录行,它记录了这个用户的一些基本属性。且这个文件对所有用户都是可读的。
/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,具体格式:
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
1)"用户名"是代表用户账号的字符串。
2)“口令”一些系统中,存放着加密后的用户口令字。
3)“用户标识号”是一个整数,系统内部用它来标识用户。
4)“组标识号”字段记录的是用户所属的用户组。
5) “注释性描述”字段记录着用户的一些个人情况。
6) “主目录”,也就是用户的起始工作目录。
7) 用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。
8) 系统中有一类用户称为伪用户(pseudo users)。这些用户在/etc/passwd文件中也占有一条记录,但是不能登录,因为它们的登录Shell为空。它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求。
2,/etc/shadow
/etc/shadow中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生。它的文件格式与/etc/passwd类似,由若干个字段组成,字段之间用":"隔开。
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
3,/etc/group
用户组的所有信息都存放在/etc/group文件中。将用户分组是Linux 系统中对用户进行管理及控制访问权限的一种手段。
每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不同的组。当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。用户要访问属于附加组的文件时,必须首先使用newgrp命令使自己成为所要访问的组中的成员。用户组的所有信息都存放在/etc/group文件中。
组名:口令:组标识号:组内用户列表
磁盘管理
Linux磁盘管理好坏直接关系到整个系统的性能问题。Linux磁盘管理常用命令为 df、du。
1,磁盘管理
df [-ahikHTm] [目录或文件名]:列出文件系统的整体磁盘使用量 【 /* —— 通配符 * 来代表每个目录】
选项与参数:
-
-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
-
-k :以 KBytes 的容量显示各文件系统;
-
-m :以 MBytes 的容量显示各文件系统;
-
-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
-
-H :以 M=1000K 取代 M=1024K 的进位方式;
-
-T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
-
-i :不用硬盘容量,而以 inode 的数量来显示
du [-ahskm] 文件或目录名称: 检查磁盘空间使用量
Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看。与 df 不一样的是,du 这个命令其实会直接到文件系统内去搜寻所有的文件数据。
选项与参数:
-
-a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
-
-h :以人们较易读的容量格式 (G/M) 显示;
-
-s :列出总量而已,而不列出每个各别的目录占用容量;
-
-S :不包括子目录下的总计,与 -s 有点差别。
-
-k :以 KBytes 列出容量显示;
-
-m :以 MBytes 列出容量显示;
2,磁盘挂载与卸除
根文件系统之外的其他文件要想能够被访问,都必须通过“关联”至根文件系统上的某个目录来实现,此关联操作即为“挂载”,此目录即为“挂载点”,解除此关联关系的过程称之为“卸载”
1)挂载命令:mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n] 装置文件名 挂载点
2)卸载命令:umount [-fn] 装置文件名或挂载点
选项与参数:
进程管理
Linux中,每个程序都有一个自己的进程;每一个进程都有一个id号;每一个进程都会有一个父进程;进程存在方式有前台和后台运行;一般服务都是后台运行的,基本的程序都是前台运行。
命令
-
ps -xxx 查看当前系统中正在执行的各种进程信息
选项与参数:
-a 显示当前终端运行的所有进程信息
-u 以用户的信息显示进程
-x 显示后台运行进程的参数
// '|'在Linux中表示管道符;grep表示查找文件中符合条件的字符串
ps -aux | grep mysql //查看mysql的进程信息
ps -ef | grep mysql //查看mysql的父进程信息
- pstree -xx 查看父进程信息的其他方法(树结构目录)
-p 显示父进程id
-u 显示用户组
【结束进程:kill -9 进程id (等同于Windows中的结束任务),强制结束该进程。】
Linux环境安装(三种软件安装方式)
rpm安装——jdk(在线发布项目操作)
1,下载 jdk rpm ,通过终端登录软件上传到服务器,准备安装。
2,先查看当前系统下是否存在java环境。查看命令:java -version;查看jdk版本信息:rpm -qa | grep jdk
若存在就需先卸载,命令:rpm -e --nodeps jdk
3,卸载完成后直接安装,通过命令:rpm -ivh rpm包
4,配置环境变量:/etc/profile 文件的最后面加入:
JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME
使配置文件生效:source /etc/profile 至此,jdk在Linux中就安装好了,可以发布一个项目了:
1)将需要发布的已经打包的 jar包 或 war包上传到Linux中(打包成war包需要将war包部署到tomcat服务器上才能运行。而打包成jar包可以直接使用java命令执行)。
2)linux系统中运行jar包主要有以下几种方式:① java -jar XXX.jar (这是最基本的jar包执行方式,但是当我们用ctrl+c中断或者关闭窗口时,程序也会中断执行);② java -jar XXX.jar &(&代表在后台运行,使用ctrl+c不会中断程序的运行,但是关闭窗口会中断程序的运行);③ nohup java -jar XXX.jar &(使用这种方式运行的程序日志会输出到当前目录下的nohup.out文件,使用ctrl+c中断或者关闭窗口都不会中断程序的执行,nohup 以后台方式执行);④ nohup java -jar -server.port=9000 XXX.jar >log.log &( >log.log &的意思是将日志输出重定向到log.log文件;-server.port 指定启动端口为9090。使用ctrl+c中断或者关闭窗口都不会中断程序的执行)。【在运行jar包之前要先查看端口是否已经开启,否则不能访问】
// 开启防火墙端口9000
firewall-cmd --zone=public --add-port=9000/tcp --permanent
// 重启防火墙
systemctl restart firewalld.service
// 查看所有开启的端口 (如果是阿里云需要配置安全组规则)
firewall-cmd --list-ports
解压缩安装 —— tomcat(启动并通过外网访问,发布网站)
1,准备好Tomcat的安装包 ,以 .tar.gz 结尾的安装包:apache-tomcat-9.0.22.tar.gz
2,解压tomcat命令:tar -zxvf apache-tomcat-9.0.22.tar.gz (tomcat不分window和Linux版本,将tomcat在Linux中解压,如果是Zip格式的解压命令:unzip apache-tomcat-9.0.22.zip)
3,启动tomcat:./startup.sh (启动) ./shutdown.sh (关闭)
4,确保Linux的防火墙端口是开启的,如果是阿里云,需要保证阿里云的安全组策略是开放的
# 查看firewall服务状态
systemctl status firewalld 或 firewall-cmd --state
# 开启、重启、关闭、firewalld.service服务
service firewalld start
service firewalld restart
service firewalld stop
# 查看防火墙规则
firewall-cmd --list-all # 查看全部信息
firewall-cmd --list-ports # 只看端口信息
# 开启端口
开端口命令:firewall-cmd --zone=public --add-port=80/tcp --permanent
开启端口后必须重启防火墙:systemctl restart firewalld.service
命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
yum在线安装 —— docker
1,确定Linux是CentOS7及以上版本:cat /etc/redhat-release
2,yum安装gcc相关(需要确保 虚拟机可以上外网 ):yum -y install gcc ; yum -y install gcc-c++
3,卸载系统可能自带的旧版本:yum -y remove docker docker-common docker-selinux docker-engine
4,安装需要的软件包:yum install -y yum-utils device-mapper-persistent-data lvm2
5,设置stable镜像仓库(推荐国内镜像阿里云):yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
6,更新yum软件包索引:yum makecache fast
7,安装Docker CE:yum -y install docker-ce docker-ce-cli containerd.io
8,启动docker:systemctl start docker(systemctl start docker 开机时启动)
9,最后测试即可(可选):docker run hello-world 会自动从官网上拉取helloWord镜像并启动,当看到输出 Hello from Docker!时则表示你的docker已经安装成功了!
扩展:VMware使用
快照
保留当前系统信息为快照,随时可以恢复,以防未来系统出现重大问题,就好比游戏中的归档!当我们每配置一个软件环境就可以拍摄一个快照,保留信息。
操作:点击 虚拟机选项 ---> 快照 ---> 拍摄快照 选项,设置一个名字即可。
点击 虚拟机选项 ---> 快照 ----> 快照管理器中可以看到添加的快照,点击转到即可回到指定的快照区位置。
本地网络配置
需要保证Linux虚拟机和本机处在同一网段。
1,查看本机Windows的IP配置:ipconfig ,若Windows的网断是 192.168.1.1
2,Linux也必须配置到对应的网段 192.168.1.110
配置过程: vi /etc/sysconfig/network-script/ifcfg-eno167777736 修改 BOOTPROTO=dhcp
dhcp:动态地址,设置此模式的前提是 虚拟机的网络连接为桥接模式。
none:静态地址,设置此模式还需在文件中添加IP地址: IPADDR=192.168.1.110 和 GATEWAY=192.168.1.1
配置完成后就可以上网了,可以用 ping 百度的操作测试是否已经连上网络!
~~ps:本篇文章是通过B站狂神说up主的Linux教学视频所总结的,非常感谢(手动比心)。大家可以去B站搜索其教学视频,讲的很好哦!