Linux操作系统
一、Linux介绍
1. 引言
在学习Lnux之前,大家先了解开发环境,生产,测试环境。
1.开发环境:平时大家大多是在Windows
或者Mac
操作系统下去编写代码进行开发,在开发环境中安装大量的软件,这样会导致环境的稳定性和安全性降低。
2.生产环境:是将程序运行在此环境中,供用户去使用。这个环境是有专业的人员去维护,一般人是没有权限去操做生产环境的。
3.测试环境:一般克隆—份生产环境,会将开发环境中的程序部署到测试环境中,这个环境的主要目的是去程序进程检测,收集程序中的各种问题,并交给开发人员进行修改。
生产环境中,常用的操作系统比如有Windows2003 service
,Linux
,Unix
等等。
Linux
操作系统,在生产环境中占据了大量的市场份额,Linux
主要以稳定,可靠,免费的特点成为全球使用最多的服务器操作系统。
2. Linux介绍
在 Linux操作系统出现之前,还有一个操作系统叫做
Minⅸ
,Minⅸ
操作系统是由Andrew
的大学教授研发出来的,当时大学教授是为了给学生上课,买了一套Unⅸ
操作系统,参考Unⅸ
自己写了—个操作系统,并且命名为Minⅸ
。同时将Minⅸ
开源,供学校内部的硏究和教学,到了2000年,Andrew
将Minⅸ
操作系统完全对外开源。Minⅸ
由于完全对外开源之后,在互联网上迅速的传播,但是大家在使用时,发展Minⅸ
不时很完美,内部存在各种各样问题。用户将问题解决后,编写了一个补丁,将补丁以邮件的方式发给Andrew
,但是Andrew
教授最初的目的只是为了教学和研究。
于此同时,一位芬兰的大学生岀现了,叫linus
,在Minⅸ
操作系统基础上,自己添加了一些补丁和插件,并将其命名为Lnux
操作系统,并且完全对外开源,而且开始维护Linux
操作系统。
之前学习的Git
时Linus
研发的。
3. Linux的版本
1.
Linux
的内核版本。https://www.kernel.org/
2.Linux
的发行版。
4. Linux和Windows区别
1.
Linux
是严格区分大小写的,Windows
无所谓。
2.Linux
中一切皆是文件。
3.Linux
中文件是没有后缀的,但是他有一些约定俗成的后缀。
4.Windows
下的软件一般是无法直接运行的Linux
中。
二、Linux安装
1.安装
Linux
,我们需要-个虛拟机,为了安装虚拟环境:VMware
或者Virtual box
(采用VMware
)。
https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
2.为了安装Linux
,需要一个Linux
的镜像文件:Centos7
版本。
http://mirrors.163.com/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso
3.安装一个连接Linux
的图形化界面:Xterm
,SSH
,XShell
!
https://download.mobatek.net/2052020102712115/MobaXterm_Portable_v20.5.zip
三、Linux的基本操作
1. Linux的基本目录
Windows
的目录结构是带有盘符的。D
:E
:C
:
输入ls /
查看Linux
的顶级目录
[root@f7f62e0b071d /]# ls
bin etc lib lost+found mnt proc run srv tmp var
dev home lib64 media opt root sbin sys usr
Linux
目录树状图:
1.
root
:该目录为系统管理员HOME
目录。
2.bin
:这个目录下放着经常使用的命令。
3.boot
:这里存放的是启动Lnux
时的一些核心文件。
4.etc
:存放系统管理所需要的配置文件和子目录。
5.home
:普通用户的HOME
目录。
6.usr
:默认安装软件的目录,类似Windows
中的Program Files
目录。
7.opt
:是主机额外安装软件拜访的目录。
2. 获取Linux中的信息
#我是谁
[root@iz2ze0j4s19xhxuqg75l0zz ~]# who am i
root pts/0 2020-11-19 13:36 (182.150.27.130)
#我在哪儿
[root@iz2ze0j4s19xhxuqg75l0zz ~]# pwd
/root
#ip地址 ip a | ip address
[root@iz2ze0j4s19xhxuqg75l0zz ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:16:3e:16:f8:c4 brd ff:ff:ff:ff:ff:ff
inet 172.24.5.85/18 brd 172.24.63.255 scope global dynamic eth0
valid_lft 314479270sec preferred_lft 314479270sec
#清屏
clear
#ping 域名或ip
[root@iz2ze0j4s19xhxuqg75l0zz ~]# ping www.baidu.com
PING www.a.shifen.com (220.181.38.150) 56(84) bytes of data.
64 bytes from 220.181.38.150 (220.181.38.150): icmp_seq=1 ttl=53 time=4.50 ms
64 bytes from 220.181.38.150 (220.181.38.150): icmp_seq=2 ttl=53 time=4.52 ms
64 bytes from 220.181.38.150 (220.181.38.150): icmp_seq=3 ttl=53 time=4.53 ms
#强制停止
Ctrl+C
四、Linux命令
inux中命令的基本格式:命令【选项】【参数】。
需要注意,个别命令是不遵循这个格式。
当命令中有多个选项时,可以写在一起的,并且选项也是由简写方式的命令选项A
选项B
。
1. 目录命令
-
列出命令
1s【-ald】【目录名】 #目录名不填写,默认为当前目录 #-a:列出的全部的文件,包括隐臧文件 #-1:列举出全部的信息 #-d:仅查看目录本身
-
切换目录
#切换目录 cd 路径 符号 #路径可以填写的内容
符号 表达的路径 . 当前目录 … 上一级目录 / 当前目录 ~ 当前登录用户的HOME目录 - 返回 -
创建目录
#创建目录 mkdir [-p] 目录名 # -p:代表创建多级目录时,使用
-
删除目录
rmdir 目录名 #只能删除空目录 rm [-rf] 目录名 # 删除非空目录 #-r:代表递归删除目录下的全部内容 #-f:不询问,直接删除
-
复制目录
cp -r 来源目录 目标目录 #-r:递归复制全部内容
-
移动或重命名功
mv 目录名 新目录名 mv 目录名 路径 #如果第二个参数不存在,就是重命名,如果第二个参数的路径存在,就是移动
2. 文件的命令
-
创建文件
touch文件名 touch文件名1 文件名2
-
编辑文件
vi 文件名 #查看文件 (查看模式) i |a |o #进入编辑模式。(编辑模式) # i:在当前光标处,进入编辑模式。a:在当前光标后一格,进入编辑模式。o:在当前光标下一行,进入编辑模式 esc #退出编辑模式,回到查看模式 : #从査看模式进入到底行命令模式。(底行命名模式) #在底行命令模式下,输入wq:保存并退出。输入q!:不保存并退出 #在査看模式下,摁ZZ,可以快速保存并退出。
-
在编辑文件时的其它操作
#在底行命令模式下,可以输入的内容 set nu #查看文件的行号 to 行号 #快速的跳转到指定 set nonu #取消行号 #直接在查看模式下输入 /具体内容 #类似 Windows的Ctr1+F搜索文件中的具体内容所在位置,查看下一个可以输入字母n
-
查看文件
cat 文件名 #从第一行开始查看文件内容,展示全部 tac 文件名 #从最后一行开始展示 nl 文件名 #显示文件的时候,展示行号 more 文件名 #查看大文件时,可以一页一页的向下翻 嗯 space向下翻页,退出时摁q 1ess 文件名 #查看大文件时,可以任意的向上或者向下翻 向上或向下翻页摁 PageUp和 PageDown,一行一行査看,摁光标的↑↓ head 文件名 #只查看前几行 tail 文件名 #只查看后几行 #tail-f日志监控日志
-
移动或文件名
mv 文件名 新文件名 mv 文件名 目录
-
赋值文件
cp 文件 目录
-
删除文件
rm [-f] 文件名 #-f:是否询问
3. 针对压缩包的操作
Linux
中常用的压缩包,大多是tar
,tar.gz
,tgz
的。
但是Linux
不仅仅针对tar
类型的压缩包,也支持zip
,rar
这种Windows
下的压缩包。
1. 针对tar命令
-
解压压缩包。
tar [-zxvf] 压缩包名称 -C 路径 #-z:代表压缩包后缀是.gz的 #-x:代表解压 #-v:解压时,打印详细信息 #-f:-f选项必须放在所有选项的最后,代表指定文件名称 #-C路径:代表将压缩包内容解压到指定路径
-
打包压包。
tar [-zcvf] 压缩包名称 文件1 文件2 目录1 目录2 # -c:代表打包
2. 针对zip压缩包
Linux
默认不支持zip
压缩包格式的。
安装两个软件:zip
,unzip
yum -y install zip
yum -y install unzip
# 解压
unzip 压缩包名称
# 打包
zip 压缩包名称 文件1 文件2 目录1 目录2
4. 用户和用户组的操作
Linux是一个多用户的操作系统,任何一个用户想要操作
Linux
操作系统,必须向系统管理员申请一个账号才可以,以这个账号的身份去操作Linux
。
用户的账号一方面可以帮助系统管理员追踪当前用户的操作。另一方面可以控制当前用户对系统资源访问。
1. 用户的操作
-
创建用户
useradd 用户名
-
设置密码
passwd 用户名
-
切换用户
su 用户名 [root@localhost ~]# #root用户在本地登录,并且当前在目录下,#代表是超级管理员 [canying@localhost ~]$ #canying用户在本地登录,并且当前在目录下,$代表是普通用户
-
删除用户
userdel [-f] 用户名 #-f:代表删除用户的同时,删除该用户的H0ME目录
-
修改用户
usermod [-cgd] [选项指定内容] 用户名 # -c:代表 comment,给用户添加一段注释 # -g:代表 group,可以修改用户的所在组 # -d:代表指定用户的HOME目录
2. 用户组的操作
-
创建用户组
groupadd 用户组名
-
修改用户组
groupmod [-n] [选项指定的具体内容] 用户组名 # -n 修改用户组名称
-
删除用户组
groupdel 用户组名 #只能删除不存在用户的用户组
5. 文件权限的修改
在
Linux
中输入ls -l
或者ll
查看文件和目录的详细信息。
[root@iz2ze0j4s19xhxuqg75l0zz aaa]# ll
total 24
drwxr-xr-x 2 root root 4096 Nov 19 15:44 a
drwxr-xr-x 2 root root 4096 Nov 19 15:44 b
drwxr-xr-x 2 root root 4096 Nov 19 14:50 bbb
drwxr-xr-x 2 root root 4096 Nov 19 15:44 c
-rw-r--r-- 1 root root 259 Nov 19 15:45 test.tar.gz
-rw-r--r-- 1 root root 91 Nov 19 15:06 xxx
-rw-r--r-- 1 root root 0 Nov 19 14:49 yyy
-rw-r--r-- 1 root root 0 Nov 19 14:49 zzz
实例中,
a
目录的第一个属性用“d”
标识这个a
是一个目录。
xxx
第一个属性用"-"
标识他是一个文件。
在Linux
文件详情的后面属性需要分为三组査看:
rwx
:代表文件拥有者的权限。
rwx
:代表文件所属组用户的权限。
rwx
:代表其他用户对当前文件的操作权限。
r
:代表read
,读的权限。
w
代表write
,写的权限。
x
:代表execute
,代表执行权限。
后续的第一个root
:代表当前文件的拥有者。
后续的第二个root
:代表当前文件的所属组。
后续分别为:文件的大小和最后修改时间。
1. 对文件权限的修改
使用
chmod
对文件的权限进行修改,一种使用数字,一种使用符号。
-
数字方式
chmod [-R] 777 文件目录 # rwx在这三个权限中r:4,w:2,x:1 # -R:当修改一个目录权限时,可以添加-R,将目录下的全部内容,都修改权限。
-
符号方式
user: u, group: g, other: o, all: a t read: r, write: w, execute: x #赋予权限的方式 #添加:+,减掉:一,设定:= chmod[-R] a=rw 文件目录
2. 对文件的拥有者和所属组修改
#修改文件的拥有者和所属组
chown [-R] 拥有者:所属组文件|目录
#修改文件的拥有者
chown [-R] 抽有者文件|目录
#修改文件的所属组
chgrp [-R] 所属组文件|目录
5. 其他操作命令
-
进程的操作
ps -ef #查看全部正在运行的进程 ps- ef | grep 搜索的内容 kill -9 pid #杀死进程
-
服务的操作
#针对服务的启动,停止,重启,开机自动启动,禁止开机自动启动,查看服务状态 systemc1 start|stop|restart|enable|disable|status服务名称
-
查看端口号占用情况
# 向使用指定的命令需要实现下载 netstat yum -y install net-tools #查看端口号占用情况 netstat -naop | grep 端口号
-
访问地址
curl 访问地址
-
查找文件
find 路径 -type f | grep profile
五、Linux下安装软件
1. 安装JDK
#1.下载jdk的压缩包
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
#2.将下载好的jdk压缩包拉取到 Linux操作系统中
#通过 Xterm携带的Sftp将jdk压缩包拖拽到Linux操作系统
#3.将jdk的压缩包解压到 /usr/loca1
tar -zxvf jdk-8u271-linux-x64.tar.gz -C /usr/local
#4.将jdk的目录名修改一下
cd /usr/local
mv jdk1.8.0_271/ jdk8/
#5.配置环境变量
# Linux提供了两种环境变量的文件
# 第一个是用户级别的环境变量,存放在: ~/.bashrc
# 第二个是系统级别的环境变量,存通在: /etc/profile
# 如果想运行当前目录下的可执行文件,需要输入: ./可执行文件名