Linux

Linux基础

  • 使用的是CentOS7.7版本

1.1 Linux 简介

  • Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。

  • Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX(可移植操作系统接口) 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。

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

Linux 发行版

  • Linux 的发行版说简单点就是将 Linux 内核与应用软件做一个打包。

图片

目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。

图片

Linux 应用领域

  • 今天各种场合都有使用各种 Linux 发行版,从嵌入式设备到超级计算机,并且在服务器领域确定了地位,通常服务器使用 LAMP(Linux + Apache + MySQL + PHP)或 LNMP(Linux + Nginx+ MySQL + PHP)组合。

Linux vs Windows
图片

1.2 Linux环境搭建

使用云服务器

  1. 阿里云购买服务器

  2. 购买完毕后,获取服务器的ip地址,重置服务器密码,就可以远程登录了

  3. 下载 xShell 工具,进行远程连接使用!(22端口)

  4. 下载xftp,文件上传使用(21端口)

在这里插入图片描述

  • 输入账号root和密码
# 表示连接成功
Welcome to Alibaba Cloud Elastic Compute Service 

注意事项:

  • 如果要打开端口,需要在阿里云的安全组面板中开启对应的出入规则,不然的话会被阿里拦截!

在这里插入图片描述

如果前期不好操作,可以推荐安装宝塔面板,傻瓜式管理服务器

  • 安装教程:https://www.bt.cn/bbs/thread-19376-1-1.html
  1. 开启对应的端口

  2. 一键安装

  3. 安装完毕后会得到远程面板的地址,账号,密码,就可以登录了

  4. 登录之后就可以可视化的安装环境和部署网站!

关于域名

  • 如果自己的网站想要上线,就一定要购买一个域名然后进行备案;

  • 备案的话需要一些认证和时间,备完完毕后,就可以解析到自己的网站了,这个时候就可以使用域名来进行服务器的访问!

xftp
在这里插入图片描述
安装Linux版本的JDK和Tomcat
在这里插入图片描述

解压命令

tar -zxvf 压缩包名

1.3 了解Linux系统

Linux中一切皆文件

(文件∶读写执行(查看,创建,删除,移动,复制,编辑),权限(用户、用户组)。系统︰(磁盘,进程))

1.3.1 开机

开机会启动许多程序。它们在Windows叫做"服务" ( service ),在Linux就叫做"“守护进程” ( daemon )。

开机成功后,它会显示一个文本登录界面,这个界面就是我们经常看到的登录界面,在这个登录界面中会提示用户输入用户名,而用户输入的用户将作为参数传给login程序来验证用户的身份,密码是不显示的,输完回车即可
一般来说,用户的登录方式有三种︰

  • 命令行登录
  • ssh登录
  • 图形界面登录

最高权限账户为root,可以操作一切!

1.3.2 关机

在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。

  • 建议先执行同步再关机 sync

  • 在Linux中没有错误就代表命令执行成功

-----和关机有关的指令-----

sync #将数据由内存同步到硬盘中。

shutdown #关机指令,你可以man shutdown来看一下帮助文档。例如你可以运行如下命令关机:

shutdown -h 10 # 这个命令告诉大家,计算机将在10分钟后关机

shutdown -h now #立马关机

shutdown -h 20:25 #系统会在今天20:25关机

shutdown -h +10 #十分钟后关机

shutdown -r now # 系统立马重启

shutdown -r +10 #系统十分钟后重启

reboot # 就是重启,等同于shutdown -r now

halt #关闭系统,等同于shutdown -h now和poweroff

1.3.3 系统目录结构

  1. 一切皆文件
  2. 根目录/,所有的文件都挂载在这个节点下

登录系统后,在当前命令窗口下输入命令︰

ls  /
ls代表查看的意思,ls /表示查看根目录下的所有文件夹

你会看到如下图所示∶
在这里插入图片描述
树状目录结构
在这里插入图片描述
以下是对这些目录的解释:

  • /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:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
  • /root:该目录为系统管理员,也称作超级权限者的用户主目录。
  • /sbin : s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
  • /srv:该目录存放一些服务启动之后需要提取的数据。
  • /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs。
  • /tmp:这个目录是用来存放一些临时文件的。用完即丢的文件,可以放在这个目录下,安装包!
  • /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。.
  • /usr/bin:系统用户使用的应用程序。
  • /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。Super
  • /usr/src :内核源代码默认的放置目录。
  • /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
  • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。
  • /www:存放服务器网站相关的资源,环境,网站的项目

在这里插入图片描述

1.4 目录管理命令

1.4.1 ls命令

  • 该命令的含义是列出所有目录
  • 在Linux中可能ls命令是最常被使用的

参数

  • -a参数:查看所有文件,包括隐藏文件。ls -a
  • -l参数:列出所有的文件,包含文件的属性和权限,没有隐藏文件。ls -l
  • -al参数:查看所有文件的属性和权限,包括隐藏文件。ls -al

1.4.2 cd命令

  • 该命令的含义是进入目录
cd ~      #进入当前用户目录,如果当前用户是root,相当于 cd /root
cd /      #进入主目录
cd ./     #进入当前目录
cd ../    #进入到上级目录
cd ..     #进入到上级目录

在这里插入图片描述

1.4.3 pwd命令

  • 该命令含义是显示当前所在的目录

1.4.4 mkdir命令

  • 该命令含义是创建一个目录

参数

  • -p参数:单次创建层级目录mkdir -p aa/bb/cc

1.4.5 rmdir命令

  • 该命令含义是删除一个为空的目录
  • 如果目录中存在文件,需先删除文件

参数

  • -p参数:单次删除层级目录rmdir -p aa/bb/cc

1.5 文件操作命令

1.5.1 touch命令

  • 该命令的含义是创建一个文件。
  • 创建一个名为rm_log.txt的空文件。touch rm_log.txt

1.5.2 cp命令

  • 该命令含义是复制文件或者目录
  • cp 文件名 需要复制到的目录 (如果文件名重复,会询问是否覆盖)cp a.txt /home/rm

参数

  • -a参数:用来复制文件夹时使用。将rm文件夹复制到/home文件夹下:cp -a rm /home

1.5.3 rm命令

  • 该命令含义是删除文件或者目录
  • 如果直接使用rm命令删除文件夹,会提示无法删除,需要使用rm -rf 文件夹名进行删除。

参数

  • -f参数: 如果要删除的文件不存在,不会出现警告,强制删除。 rm -f a.txt
  • -r参数:递归删除目录。bb目录下存在cc目录。rm -r bb
  • -i参数:互动,删除询问是否删除。rm -i a.txt
  • -rf参数:递归删除aa目录下的所有文件和文件夹。rm -rf aa

在这里插入图片描述

1.5.4 mv命令

  • 该命令含义是移动文件或者文件夹。
  • 如果需要移动文件夹中的隐藏文件,需要先查看并显示出隐藏文件。

参数

  • -f参数: 强制移动
  • -u参数: 只替换已经更新过的文件
mv a.txt b.txt          #将a.txt重命名为b.txt
mv /home/rm/* /root/rm  #将/home/rm/目录下的所有文件移动到/root/rm目录。此时/home/rm变为空文件夹。

1.5.5 文件内容查看命令

Linux系统中使用以下命令来查看文件的内容∶.

  • cat命令:由第一行开始显示文件内容
  • tac命令:从最后一行开始显示,可以看出tac是cat的倒着写!
  • nl命令:显示的时候,顺道输出行号!
  • more命令:一页一页的显示文件内容(空格代表翻页,enter代表翻一行 :f查看当前在第几行)
    向下查找字符串:/字符串 N继续向下查找 n继续向上查找
  • less命令:与more类似,但是比more更好的是,他可以往前翻页!.(上下键翻行,空格翻页)q退出,向上查询:?字符串
  • head命令:只看头几行(head -n 20 文件名)只查看前20行
  • tail命令:只看尾巴几行(用来查看日志)

在这里插入图片描述

你可以使用man [命令]来查看各个命令的使用文档,如: man cp。
网络配置目录: cd /etc/sysconfig/network-scripts

查看网络配置:ifconfig

Linux基本属性

2.1 文件属性

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。

2.1.1 文件属性类型

  • 在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。

在Linux中第一个字符代表这个文件是目录文件链接文件

  • 当为[ d ]则是目录
  • 当为[ - ]则是文件;
  • 若是[ l ]则表示为链接文档( link file ) ;
  • 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

在这里插入图片描述

2.1.2 文件可操作类型

  • 第一个字符后,以三个为一组,且均为『rwx』的三个参数的组合。(读,写,执行)

  • 其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。

  • 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现[ - ]

  • 每个文件的属性由左边第一部分的10个字符来确定(如下图):

在这里插入图片描述
属主:文件的主人,谁创建的,具体到一个人的权限。
属组:文件的主人所在的组,该组的所有成员的权限都相同。

2.1.3 修改文件属性

chgrp命令:更改文件属组

chgrp [-R]属组名文件名

-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。

  1. chown :更改文件属主,也可以同时更改文件属组
chown [-R]属主名文件名
chown [-R]属主名:属组名文件名
  1. chmod:更改文件9个属性
chmod [-R] xyz文件或目录

Linux文件属性有两种设置方法,一种是数字,一种是符号。

Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。

文件的权限字符为︰『-rwx rwx rwx』,这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:

  • r:4
  • w : 2
  • x :1

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的
例如当权限为︰[-rwx rwx ---]分数则是︰.

 owner = rwx = 4+2+1=7
 group = rwx = 4+2+1=7
 others= --- = O+0+0=0

修改文件的权限

chmod 770 filename

拓展:Linux链接的概念(了解即可!)

硬链接∶A—B,假设B是A的硬链接,那么他们两个指向了同一个文件!允许一个文件拥有多个路径,用户可以通过这种机制建立硬链接到一些重要文件上,防止误删!
硬链接和复制的不同之处在于,你改变了源文件的内容,硬链接的文件内容也会跟着改变

软链接︰类似Window下的快捷方式,删除的源文件,快捷方式也访问不了!

  • 创建连接In命令!
  • touch命令创建文件!
  • echo输入字符串

在这里插入图片描述

在这里插入图片描述

Vim编辑器

三种使用模式

基本上vi/vim 共分为三种模式,分别是命令模式(Command mode ),输入模式( Insert mode)和底线命令模式(Lastline mode )。这三种模式的作用分别是︰
命令模式︰

  • 用户刚刚启动vi/vim,便进入了命令模式。
  • 此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。以下是常用的几个命令︰
  • i 切换到输入模式,以输入字符。
  • × 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。如果是编辑模式,需要先退出编辑模式 esc键

若想要编辑文本∶启动Vim,进入了命令模式,按下i,切换到输入模式。命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

在这里插入图片描述

输入模式∶
在命令模式下按下 i 就进入了输入模式。
在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合,输入字符。
  • ENTER,回车键,换行
  • BACKSPACE,退格键,删除光标前一个字符.
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾.
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线.
  • ESC,退出输入模式,切换到命令模式

底线命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。在底线命令模式中,基本的命令有(已经省略了冒号) ︰

  • q退出程序
  • w保存文件
  • wq:保存并退出文件
  • wq!:强制保存并退出文件
    按ESC键可随时退出底线命令模式。
    简单的说,我们可以将这三个模式想成底下的图标来表示∶
    在这里插入图片描述
set nu #编写代码时常用(设置行号)

账号管理

你一般在公司中,用的应该都不是root账户!

简介

  • Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

  • 用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。

  • 每个用户账号都拥有一个唯一的用户名和各自的口令。

  • 用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。

实现用户账号的管理,要完成的工作主要有如下几个方面:

  • 用户账号的添加、删除与修改。
  • 用户口令的管理。
  • 用户组的管理。

用户账号的管理

用户账号的管理工作主要涉及到用户账号的添加、修改和删除。

添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。

添加账号useradd

useradd 选项 用户名
  • 一般创建用户的时候就给该用户分配组
# 创建一个名为rm2的用户,并分配给test1组
useradd -G test1 rm2

参数说明:
选项:

  • -c comment指定一段注释性描述。
  • -d目录指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
  • -g用户组指定用户所属的用户组。
  • -G用户组,用户组指定用户所属的附加组。
  • -m使用者目录如不存在则自动建立。
  • -s Shell文件指定用户的登录Shell。
  • -u用户号指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

用户名︰

  • 指定新账号的登录名。

测试:

#此命令创建了一个用户kuangshen,其中-m选项用来为登录名kuangshen产生一个主目录/home/kuangshen
[root@kuangshen home]# useradd -m kuangshen

增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow,/etc/group等。

Linux下如何切换用户

  • 切换用户的命令为: su username 【username是你的用户名】
  • 从普通用户切换到root用户,还可以使用命令:sudo su
  • 在终端输入exit或logout或使用快捷方式ctrl+d,可以退回到原来用户,其实ctrl+d也是执行的exit命令
  • 在切换用户时,如果想在切换用户之后使用新用户的工作环境,可以在su和username之间加-,例如:【su - root )
  • $表示普通用户
  • #表示超级用户,也就是root用户

su切换用户,最好使用su-用户名, 不加 - ,默认登录之后进入的目录和当前用户所在目录一样 。加-,切换用户会进入到现在用户的家目录
在这里插入图片描述

  • 查看主机名
hostname
  • 修改主机名
hostname 主机名

修改之后重新连接就能看到修改成功

删除帐号

如果一个用户的账号不再使用,可以从系统中删除。

删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。
删除一个已有的用户账号使用userdel命令,其格式如下:

userdel 选项 用户名

常用的选项是-r,它的作用是把用户的主目录一起删除。

[root@kuangshen home]# userdel -r kuangshen

此命令删除用户kuangshen在系统文件中(主要是/etc/passwd,/etc/shadow,/etcl/group等)的记录,同时删除用户的主目录。

修改帐号

修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。
修改已有用户的信息使用usermod命令,其格式如下:

usermod 选项 用户名

常用的选项包括-c,-d,-m, -g,-G, -s,-u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。
例如:

# usermod -s /bin/ksh -d /home/z -g developer kuangshen

此命令将用户kuangshen的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。

用户密码的设置

Linux上输入密码是不会显示的

用户管理的一项重要内容是用户密码的管理。用户账号刚创建时没有密码,但是被系统锁定,无法使用,必须为其指定密码后才可以使用,即使是指定空密码。

指定和修改用户密码的Shell命令是passwd。超级用户可以为自己和其他用户指定密码,普通用户只能用它修改自己的密码。

命令的格式为:

passwd 选项 用户名 

可使用的选项:

  • -I锁定口令,即禁用账号。
  • -u口令解锁。
  • -d 使账号无口令。
  • -f强迫用户下次登录时修改口令。

如果默认用户名,则修改当前用户的密码。

  • 假设当前用户是kuangshen,则下面的命令修改该用户自己的口令:
$ passwd
Old password:*****
New password:*******
Re-enter new password·*******
  • 如果是超级用户,可以用下列形式指定任何用户的口令:
# passwd kuangshen
New password:*******
Re-enter new password·******

普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口令。

为了系统安全起见,用户应该选择比较复杂的口令,例如最好使用8位长的口令,口令中包含有大写、小写字母和数字,并且应该与姓名、生日等不相同。

  • 为用户指定空口令时,执行下列形式的命令:
# passwd -d kuangshen

此命令将用户 kuangshen的口令删除,这样用户 kuangshen下一次登录时,系统就不再允许该用户登录了。

  • passwd命令还可以用-l(lock)选项锁定某一用户,使其不能登录,例如:
# passwd -l kuangshen

用户组管理

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同(开发组,运维组,测试组,root组),如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。

用户组的管理涉及用户组的添加、删除和修改。
组的增加、删除和修改实际上就是对/etc/group文件的更新。

增加一个新的用户组使用groupadd命令

groupadd 选项 用户组

在这里插入图片描述
创建完用户组后,可以得到一个组的id,这个id可以指定

在这里插入图片描述
可以使用的选项有:

  • -g GID 指定新用户组的组标识号(GID)。
  • -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

实例1:

# groupadd group1

此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1。

实例2:

# groupadd -g 101 group2

此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。

如果要删除一个已有的用户组,使用groupdel命令

groupdel 用户组

例如:

# groupdel group1

此命令从系统中删除组group1。

修改用户组的属性使用groupmod命令

groupmod 选项 用户组

常用的选项有:

  • -g GID 为用户组指定新的组标识号。
  • -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
  • -n新用户组 将用户组的名字改为新名字
# 此命令将组group2的组标识号修改为102。
groupmod -g 102 group2

# 将组group2的标识号改为10000,组名修改为group3。
groupmod –g 10000 -n group3 group2

切换组

  • 如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。

  • 用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。例如:

$ newgrp root

这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。

/etc/passwd

完成用户管理的工作有许多种方法,但是每一种方法实际上都是对有关的系统文件进行修改。

与用户和用户组相关的信息都存放在一些系统文件中,这些文件包括/etc/passwd, /etc/shadow, /etc/group等。

下面分别介绍这些文件的内容。

/etc/passwd文件是用户管理工作涉及的最重要的一个文件。

Linux系统中的每个用户都在/etc/passwd文件中有一个对应的记录行,它记录了这个用户的一些基本属性。

这个文件对所有用户都是可读的。它的内容类似下面的例子:

cat /etc/passwd

root:x:0:0:Superuser:/:
daemon:x:1:1:System daemons:/etc:
bin:x:2:2:Owner of system commands:/bin:
sys:x:3:3:Owner of system files:/usr/sys:
adm:x:4:4:System accounting:/usr/adm:
uucp:x:5:5:UUCP administrator:/usr/lib/uucp:
auth:x:7:21:Authentication administrator:/tcb/files/auth:
cron:x:9:16:Cron daemon:/usr/spool/cron:
listen:x:37:4:Network daemon:/usr/net/nls:
lp:x:71:18:Printer administrator:/usr/spool/lp:

从上面的例子我们可以看到,/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下:

用户名:口令(密码,不可见):用户标识号:组标识号:注释性描述:主目录:登录Shell

这个文件中的每一行都代表这一个用户,我们可以从这里看出这个用户的主目录在那里,可以看到属于哪一个组!
登录口令∶把真正的加密后的用户口令字存放到/etc/shadow文件中,保证我们密码的安全性!
用户组的所有信息都存放在/etc/group文件中。

Linux磁盘管理

概述

Linux磁盘管理好坏直接关系到整个系统的性能问题。
Linux磁盘管理常用命令为df、du。

  • df :列出文件系统的整体磁盘使用量.
  • du:检查磁盘空间使用量

df

df命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
语法:

df [-ahikHTm][目录或文件名]

选项与参数:

-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;

-k :以 KBytes 的容量显示各文件系统;

-m :以 MBytes 的容量显示各文件系统;

-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;

-H :以 M=1000K 取代 M=1024K 的进位方式;

-T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;

-i :不用硬盘容量,而以 inode 的数量来显示

Linux进程管理

后台运行jar包程序

nohup命令

# 将rm_blog.jar程序后台运行,并将日志输入到rm_blog_log.txt文件中。
nohup java -jar rm_blog.jar > rm_blog_log.txt &

基本概念

1、在Linux中,每一个程序都是有自己的一个进程,每一个进程都有一个id号!
2、每一个进程,都会有一个父进程!
3、进程可以有两种存在方式:前台!后台运行!
4、一般的话 服务都是后台运行的,基本的程序都是前台运行的!

命令

ps :查看当前系统中正在执行的各种进程的信息!

ps -Xx :

  • -a显示当前终端运行的所有的进程信息(当前的进程一个)· -u以用户的信息显示进程
  • -×显示后台运行进程的参数!
# ps -aux查看所有的进程
ps -auxlgrep mysql
# | 在Linux这个叫做管道符 A|B 
# grep 查找文件中符合条件的字符串!

对于我们来说,这里目前只需要记住一个命令即可ps -xx|grep进程名字!过滤进程信息!

ps -ef : 可以查看到父进程的信息

ps -ef|grep mysql # 看父进程我们一般可以通过目录树结构来查看!

#进程树!

pstree -pu
	-p 显示父id
	-u显示用户组

在这里插入图片描述
结束进程∶杀掉进程,等价于window结束任务!
kill -9 进程的id

我们平时写的一个Java代码死循环了,可以选择结束进程!杀进程

kill -9 进程的id

表示强制结束该进程!

环境安装

安装软件一般有三种方式:

  • rpm(JDK,在线发布一个springboot项目)
  • 解压缩(tomcat,启动并通过外网访问,发布网站)
  • yum在线安装(docker)!

JDK安装

1.下载JDK rpm。去oralce官网下载即可!
2. 安装java环境

#检测当前系统是否存在java环境! 
java -version 

#如果有的话就需要卸载
rpm -qa|grep jdk #检测JDK版本信息
rpm -e --nodeps jdk_xxxx #后面的参数是查询出来的JDK版本

#卸载完毕后即可安装jdk
rpm -ivh rpm包
#配置环境变量!
  • 卸载JDK
    在这里插入图片描述
  • 安装JDK
    在这里插入图片描述

配置环境变量

npm方式安装的JDK不需要配置环境变量
tar.gz解压缩方式安装的需要配置环境变量

/etc/profile

  • 找到JDK安装位置
    在这里插入图片描述
  • 找到配置环境变量的文件
    在这里插入图片描述
  • 在末尾输入以下内容
#java environment
export JAVA_HOME=/usr/src/jdk1.8.0_221-amd64
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
  • wq保存退出vim
  • 使配置文件生效
source /etc/profile

我们来发布一个项目试试!

#开启防火墙端口
firewall-cmd --zone=public --add-port=9000/tcp --permanent
#重启防火墙
systemctl restart firewalld.service
#查看所有开启的端口,如果是阿里云,需要配置安全组规则!
firewall-cmd --list-ports

在这里插入图片描述
在阿里云服务器配置安全组规则,开放9000端口
项目运行成功

ctrl+c 结束正在运行的项目

Tomcat安装

  • SSM项目是war包,需要配置Tomcat
  • SpringBoot是jar包,内置Tomcat,不需要配置

下载

  • 官方下载Linux版9.0

解压

tar -zxvf apache-tomcat-9.0.20.tar.gz

在这里插入图片描述

启动Tomcat

# ./后面加可执行文件
./startup.sh

在这里插入图片描述

tomcat启动成功,可以进行访问

在这里插入图片描述

防火墙设置

# 查看firewall服务状态
systemctl status firewalld

# 开启、重启、关闭、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   #永久生效,没有此参数重启后失效

Docker安装(yum在线安装)

基于 CentOS 7 安装

  1. 官网安装参考手册:https://docs.docker.com/install/linux/docker-ce/centos/

  2. 确定你是CentOS7及以上版本

[root@192 Desktop]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
  1. yum安装gcc相关(需要确保 虚拟机可以上外网 )
# -y表示自动确定所有的提示都为y
yum -y install gcc
yum -y install gcc-c++
  1. 卸载旧版本
yum -y remove docker docker-common docker-selinux docker-engine

# 官网版本
yum remove docker \
          docker-client \
          docker-client-latest \
          docker-common \
          docker-latest \
          docker-latest-logrotate \
          docker-logrotate \
          docker-engine
  1. 安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 设置stable镜像仓库
# 错误
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
## 报错
[Errno 14] curl#35 - TCP connection reset by peer
[Errno 12] curl#35 - Timeout

# 正确推荐使用国内的
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. 更新yum软件包索引
yum makecache fast
  1. 安装Docker CE
yum -y install docker-ce docker-ce-cli containerd.io
  1. 启动docker
systemctl start docker
  1. 测试
docker version

docker run hello-world

docker images

Mysql数据库安装

在这里插入图片描述

在这里插入图片描述

  • 使用sqlyog连接数据库之前记得配置防火墙
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值