Linux【基于CentOS】

Java开发之路

javaSE、MySQL、前端(HTML、CSS、JS)、Javaweb、SSM框架
SpringBoot、Vue、SpringCloud、(MP、Git)
Linux(CentOS 7)
消息队列(Kafka、RabbitMQ、RockeetMQ)、缓存(Redis)、搜索引擎(ES)
集群分布式(需要购买多台服务器,如果没有服务器就只能使用虚拟机)

学习方式

Linux一切皆文件:文件就 读、写、(权限)

  • 认识Linux
  • 基本的命令(重点:Git讲了一些基本的命令(文件操作、目录管理、文件属性、VIM编辑器、账户管理、磁盘优化))
  • 软件的安装和部署!(Java、Tomcat、docker)
    【Linux-Redis-Docker】

入门赘述

Linux在服务器端,在开发领域linux越来越受欢迎。所有的java岗位都需要掌握Linux的基本使用。
Linux内核最初只是由芬兰人林纳斯·拖瓦斯在赫尔辛斯大学上学时出于个人爱好编写的。
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX(可移植操作系统接口)和UNIX得到多用户、多任务、支持多线程和多CPU的操作系统。
Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux集成了UNIX以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Kali Linux:安全渗透测试使用。(补天平台)

环境搭建

Linux的安装,安装步骤比较繁琐(操作系统本身也是一个软件),现在其实云服务器挺普遍的,价格也便宜,如果不想直接搭建,也可以直接买一台学习使用。

安装CentOS

  1. Linux是一个操作系统;
  2. 可以通过镜像进行安装;
  3. 可以使用已经制作好的镜像;
  4. 安装VMware虚拟机,然后打开镜像即可使用。

在虚拟机上安装CentOS7
安装操作系统和安装软件是一样的,注意:Linux磁盘分区的时候需要注意分区名即可! /boot /home

VMware的使用方式

  • 点击屏幕进入虚拟机、Ctrl+Alt 将聚焦退出虚拟机!
  • 登录root用户,点击not listed? ,输入root 123456

Xshell远程连接服务器

云服务器就是一个远程电脑,服务器一般不会关机。
Linux防火墙的端口开完之后,一定还需要再阿里云设置安全组规则!开放端口号,否则外界无法访问。【开端口号,看部署视频】
获取公网IP地址,重置实例密码。
安装xshell【远程连接工具 22端口】
安装Xftp【文件上传 21端口】
登录用户名密码之后就进入Linux系统

1. ctrl + 鼠标滚轮,放大和所辖字体
2. 上传文件使用xftp即可
如果要将本地文件,jar包,安装包等,放在linux下只需要从本地窗口拖过去即可。

走进Linux系统【开关机和基本目录介绍】

开机登录

开机会启动许多程序,它们在windows叫做“服务”(Service),在Linux中叫做“守护进程”(daemon)。
开机成功后,它会显示一个文本登录界面,这个界面就是我们经常看到的登录界面,在这个界面会提示输入用户名,而用户输入的用户将作为参数传给login程序来验证用户的身份,密码是不显示的,输入完成回车即可。

一般情况下,用户登录有三种方式:

  1. 命令行登录
  2. ssh登录
  3. 图形界面登录
    最高权限用户是root,可以操作一切。

关机

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

关机指令:shutdown ;

sync # 将数据由内存同步到硬盘中;
shutdown # 关机指令,你可以man shutdown 来看一下帮助文档。 例如你可以运行如下命令关机:
shutdown -h 10 # 计算机在十分钟后关机
shutdown -h now # 马上关机
shutdown -h 20:25 # 系统在今天20:25关机
shutdown -h +10 # 十分钟后关机
shutdown -r now # 立即重启
shutdown -r +10 # 系统十分钟后重启
reboot # 重启
halt # 关闭系统

Note:不管是充气还是关闭系统,首先要运行sync命令,把内存中的数据写到磁盘中。
没有输出表示没有错误!

系统目录结构

  1. 一切皆文件
  2. 根目录 / ,所有的文件都挂载在这个节点下
    登录系统后,在当前命令窗口下输入命令:
ls /

树状目录结构
在这里插入图片描述
对应目录解释
在这里插入图片描述
在这里插入图片描述
/mut 【我们后面会把一些本地文件挂载到这个目录下】
/etc 【这个目录用来存放所有的系统管理所需要的配置文件和子目录】
/home 【用户的主目录,在Linux中,每个用户都有一个自己的目录,一般改目录名以用户的账号命名】

常用的基本命令

目录管理

绝对路径、相对路径

绝对路径是路径的全称;
相对路径是相对位置。
cd :切换目录命令
./ :当前目录
cd … :返回上一级目录

ls # 列出目录【最常被使用】
-a参数:all 查看全部的文件,包括隐藏文件
-l参数:列出所有的文件,包含文件的属性和权限,没有隐藏文件

cd命令 切换目录

cd目录名(绝对路径【都是以 / 开头的】、相对路径【对于当前目录该如何寻找 …/…/】)
在这里插入图片描述

pwd显示当前用户所在的目录!
在这里插入图片描述
mkdir 创建一个目录 【白色表示文件,蓝色表示文件夹】
在这里插入图片描述
递归创建文件夹 -p

rmdir 删除目录
在这里插入图片描述
rmdir仅能删除空的目录,如果下面存在文件,需要先删除文件,递归删除多个目录 -p 参数即可。

cp 【复制文件或者目录】
cp 原来的地方 新的地方!
在这里插入图片描述
拷贝文件至目录,如果文件重复,就选择覆盖或放弃。

rm 【移除文件或目录】

-f 忽略不存在的文件,不会出现警告,强制删除!
-r 递归删除目录!
-i 互动,删除询问是否删除!

rm -rf /   # 系统中的所有文件都被删除了,删库跑路。。。

mv 【移动文件或者目录】【还可以重命名文件】

-f 强制
-u 只替换已经更新过的文件
在这里插入图片描述

基本属性

看懂文件属性 root kaungshen

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

在linux中我们可以使用 ll 和 ls -l 命令来显示一个文件的属性以及文件所属的用户和组,如:

boot文件的第一个属性用“d”表示。“d”在linux中代表该文件是一个目录文件。
在Linux中得一个字符代表这个文件是目录、文件或链接文件等等:

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

接下来的字符中,以三个为一组,且均为 【rwx】的三个参数的组合;
其中 【r】代表可读,【w】代表可写,【x】代表可执行(execute)。
要注意的是,这三个权限的位置不会改变,如果没有权限,会出现【-】而已。
每个文件的属性由左边第一部分的10个字符来确定。
在这里插入图片描述
属主和属组

修改文件属性

  1. chgrp【更改文件属组】
chgrp [-R] 属组名 文件名
# -R: 递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R参数,那么该目录下的所有文件的属组都会更改。
  1. chown:更改文件属主,也可以同时更改文件属组
chown [-R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

3. chmod:更改文件的9个属性

chmod [-R] xyz 文件或目录
# linux文件属性有两种设置方法,一种是数字(常用),一种是符号。
r:4 w:2 x:1  chmod 777【最高权限】

文件内容查看【经常使用】

Linux系统重使用以下命令来查看文件的内容:

  • cat 由第一行开始显示文件内容【用来读取文章或者配置文件】
  • tac 从最后一行开始显示,可以看到tac是cat的倒着写。
  • nl 显示的时候,顺道输出行号【看代码时,希望显示行号】(常用)
  • more 一页一页的显示文件内容【空格代表翻页,enter代表向下看一行, :f 行号】
  • less 与more 类似,但是more更好的是,它可以往前翻页。【空格翻页,上下键代表翻动页面 退出使用 q 命令 查找字符串 /set (向下查询) ?set(向上查询) n基序搜寻下一个,N 搜寻上一个】
  • head只看头几行
  • tail只看末尾几行
    可以使用 man [命令] 来查看各个命令的使用文档,如:man cp

网络配置目录: cd /etc/sysconfig/newtwork-scripts
在这里插入图片描述
ifcfg-eth0 默认的网络配置文件

ifconfig 命令查看网络配置

Linux链接的概念

Linux的链接分为硬链接和软链接。
硬链接:A–B,假设B是A的硬链接,那么他们两个指向了同一个文件;允许一个文件拥有多个路径,用户可以通过这个机制建立硬链接到一些重要文件上,防止误删。
软链接[符号链接]:类似windows下的快捷方式,删除源文件,快捷方式也访问不了。
创建链接 ln 命令。

touch 创建链接。
echo 输入字符串,也可以输入到文件中。

torch f1
ln f1 f2
ln -s f1 f3
echo "i love you" >>f1
cat f1
cat f2
cat f3

删除f1之后,查看f2和f3的区别:f2硬链接还在,软链接失效。

Vim编辑器

vim通过一些插件可以实现和IDE一样的功能。
Vim是从vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。尤其是Linux中,必须会使用Vim(查看内容、编辑内容、保存内容)!
http://www.vim.org(官网自己也说vim是一个程序开发工具,不是文字处理软件)
在这里插入图片描述

三种使用模式

【vim wenjianming】如果这个文件存在,那就是修改这个文件;如果这个文件不存在,就会新建这个文件。

基本上vi/vim共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。这三种模式的作用分别是:
命令模式
用户刚刚启动vi、vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:

  • i切换到输入模式,以输入字符
  • x删除当前光标所在处的字符
  • **😗*切换到底线命令模式,以在最底一行输入命令。【如果是编辑模式,需要先退出编辑模式 ESC 】
    若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
    命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
    输入模式
    在命令模式下按下i就进入了输入模式。
    在输入模式中,可以使用一下按键:
  • 字符按键以及Shift组合,输入字符
  • ENTER 回车换行
  • BACK SPACE 退格键,删除光标前一个字符
  • DEL 删除键,删除光标后一个字符
  • 方向键 在文本中移动光标
  • HOME、END 移动光标到行首/行尾
  • Page Up、Page Down 上下翻页
  • Insert 切换光标为输入、替换模式,光标将变成竖线、下划线
  • ESC 退出输入模式,切换到命令模式
    底线命令模式
    在命令模式下按下:(英文冒号)就进入了底线命令模式,光标就移动到了最底下,就可以在这里输入一些底线命令了。
    底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
    在帝乡命令模式中,基本的命令有:
  • q退出程序
  • w保存文件
  • 【:wq】
    按ESC可随时退出底线命令模式。
    完整的演示说明
    新建或者编辑文件,按i进入编辑模式,编写内容,编写完成后退出编辑模式,esc,退出之后进入底线命令模式 :wq 保存退出。

账号管理

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

简介

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

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

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

用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
实现用户账号的管理,要完成的工作有如下几个方面:

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

用户账号的管理

用户账号的管理工作主要设计用户账号的添加、修改和删除。
添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。
属组 属主

创建用户命令

useradd -选项 用户名 【创建一个用户】
-m :自动创建这个用户的主目录 /home/laomao
在这里插入图片描述

删除用户命令

userdel -r laomao 删除用户的时候将他的目录页一并删掉。

修改用户

usermod 对应修改的内容, 修改哪个用户。
在这里插入图片描述
usermod -d /home/233 laomao
修改完毕之后查看配置文件即可!

切换用户

root用户

  1. 切换用户的命令,su username
  2. 从普通用户切换到root用户,还可以使用 sudo su
  3. 在终端输入exit或logout或使用快捷方式ctrl + d,可以退回到原来用户,其实ctrl+d也是执行的exit命令
  4. 在切换用户时,如果想在切换用户之后使用新用户的工作环境,可以在su和username之间加 - 例如 【su - root】
    $ 表示普通用户 # 表示超级用户root
    更改主机名
    hostname # 查看主机名
    hostname laomao # 修改主机名,修改完毕后重新连接即可
用户的密码设置问题

我们一般通过root创建用户时,要配置密码!
在公司中,你们一般拿不到公司服务器的root权限,都是一些分配的账号。

超级用户
passwd username :
new password:
re password:

普通用户
passwd
(current) UNIX password:
new password:
re password:

锁定账户
root 比如张三辞职了,冻结这个账号,一旦冻结,这个人就登录不上系统了。
passwd -l laomao # 锁定之后这个用户就不能登录了
passwd -d laomao # 没有密码也不能登录

用户组管理

属组、属主

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理(开发、测试、运维、root)。不同Linux系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理设计用户组的添加、删除和修改。
组的增加、删除和修改实际上就是对、etc/group文件的更新。

创建一个用户组 groupadd
创建完用户组后可以得到一个组的id,这个id是可以指定的。
-g 520 如果不指定就是自增。
-G 给用户分配组

删除一个用户组 groupdel
修改用户组的权限信息和名字 groupmod -g [666] -n [new name]

用户如果要切换用户组怎么办?

# 登录当前用户 laomao
$ newgrp root

拓展:文件的查看。
/etc/passwd

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

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

磁盘管理

df(列出文件系统整体的磁盘使用量)【默认使用字节表示】 du(检查磁盘空间)
df -h # 按Mb表示

du -sm /* # 检查根目录下每个目录所占用的容量

Mac 或者想使用Linux挂载我们的一些本地磁盘或者文件!

挂载:mount

mount /dev/laomao /mnt/laomao
# 将外部设备laomao  挂载到mnt目录下,来实现访问。

卸载:umount -f [挂载位置] 强制卸载

除了这个之外,以后我们安装了JDK,其实可以使用Java中的一些命令来查看信息。

进程管理

对于我们开发人员来说,其实Linux更多偏向于使用即可。

什么是进程

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

命令

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

  • -a 显示当前终端运行的所有的进程信息
  • -u 以用户的信息显示进程
  • -x 显示后台运行进程的参数。
ps -aux|grep mysql
ps -aux|grep redis

# | 在Linux这个叫管道符  A|B
# grep 查找文件中符合条件的字符串

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

ps -ef|grep mysql
# 看父进程我们一般通过目录树结构来查看
pstree -pu
	-p 显示父id
	-u 显示用户组

结束进程:杀掉进程,等价于windows结束任务

kill -9 进程的id

但是,我们平时写的java代码死循环了,可以选择结束进程。杀进程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值