linux入门教程

来啦!来啦!

1、Linux

1.0 ps

实际项目开发中,我们的环境分为三种:1.开发环境 2.测试环境 3.生产环境

开发环境:平时大家大多是在Windows或者Mac操作系统下去编写代码进行开发,在开发环境中安装大量的软件,这样会导致环境的稳定性和安全性降低

测试环境:一般克隆一份生产环境,会将开发环境中的程序部署到测试环境中,这个环境的主要目的是去程序进程检测,收集程序中的各种问题,并交给开发人员进行修改

生产环境:是将程序运行在此环境中,供用户去使用。这个环境是有专业的人员去维护,一般人是没有权限去操做生产环境的

项目最终运行在服务器上的。服务器一般都是开机就不再关机·,专门的操作系统运行在服务器

1.1 Linux系统

在Linux操作系统出现之前,还有一个操作系统叫做Minix,Minix操作系统是由Andrew的大学教授研发出来的,当时大学教授是为了给学生上课,买了一套Unix操作系统,参考Unix自己写了一个操作系统,并且命名为Minix。同时将Minix开源,供学校内部的研究和教学,到了2000年,Andrew将Minix操作系统完全对外开源。

Minix由于完全对外开源之后,在互联网上迅速的传播,但是大家在使用时,发展Minix不时很完美,内部存在各种各样问题。用户将问题解决后,编写了一个补丁,将补丁以邮件的方式发给Andrew,但是Andrew教授最初的目的只是为了教学和研究。

于此同时,一位芬兰的大学生出现了,叫Linus,在Minix操作系统基础上,自己添加了一些补丁和插件,并将其命名为Linux操作系统,并且完全对外开源,而且开始维护Linux操作系统。

之前学习的Git也时Linus研发的。

Linus Torvalds 和 Linux

1.2 Linux版本

Linux主要以稳定,可靠,免费的特点成为全球使用最多的服务器操作系统

Linux的版本分为两种:

  • 一种是Linus团队正在维护的开源内核版本Linux的内核版本官网:The Linux Kernel Archives

  • 另一种是一些厂商基于内核版本封装的发行版本

    CentOS是免费的、开源的、可以重新分发的开源操作系统,CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统。

Linux的常见发行版本

1.3 Linux系统特点

Linux中一切皆是文件,没有盘符

Linux是严格区分大小写的

Linux中文件是没有后缀的,但是他有一些约定俗成的后缀

Linux一般都是使用无界面的

1.4 安装

PS:但是电脑不支持的,带不动的,就不要装了,直接白嫖1个月/3个月腾讯云/阿里云服务器

1.5 云服务器

服务器分为2种,第一种:物理机 第二种:云服务器

选择云服务器:阿里云、腾讯云、百度云、京东云、华为云等等

这里不再演示了,大家随便选一个网上白嫖就行了。。。

1.6 远程连接

使用FinalShell工具

FinalShell SSH工具,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux,版本4.0,更新时间2023.6.9 - FinalShell官网 (hostbuf.com)

2、Linux命令(重点来了)

Linux中命令的基本格式:命令 【选项】 【参数】

需要注意,个别命令是不遵循这个格式

当命令中有多个选项时,可以写在一起的,并且选项也是由简写方式的 命令 -选项A选项B

命令大全:Linux 教程 | 菜鸟教程

2.1基础命令(得会 可以背一背)

  • 查看当前系统版本信息: lsb_release -a

  • 查看所在路径:pwd

  • 查看网络是否畅通:ping ip或域名

  • 结束命令:Ctrl+C

  • 查看本机IP地址:ifconfig 或 ip addr

  • 清空屏幕:clear

  • 善用tab键提示

  • 查看当前时间 : date

  • 查看当前用户: who

  • 重启: reboot

  • 关机: shutdown

  • 上下键: 查找历史命令记录

2.2目录和文件

1.切换路径 cd

  • cd / 进入到根路径

  • cd .. 上一级

  • cd - 返回上一次的路径

  • cd ~ 如果是root用户,直接进入/root文件夹

    如果是普通用户,直接进入home文件夹

绝对路径: 路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录。

相对路径: 路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd ../man 这就是相对路径的写法。

2.查目录的内容 ls

  • ls 列出当前目录下的内容

ls /usr 列出usr目录下的内容

Linux的磁盘:没有盘符,以根路径

  • /bin: bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。

  • /boot: 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。

  • /dev : dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。

  • /etc etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。

  • /home: 用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。

  • /lib: lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。

  • /lost+found: 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

  • /media: linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

  • /mnt: 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。

  • /opt: opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

  • /proc: proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。 这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

提示:

Linux中的隐藏文件是以.开头的,当前目录使用.表示,上一级目录使用..表示

ls [-ald] [目录名]
# 目录名不填写,默认为当前目录。
# -a:列出的全部的文件,包括隐藏文件
# -l:列举出全部的信息
# -d:仅查看目录本身

3.查看目录的详细内容 ll

ll 列出当前目录下的详细内容

结果说明:

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

  • 当为 d 则是目录

  • 当为 - 则是文件;

  • 若是 l 则表示为链接文档(link file);

  • 若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);

  • 若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

接下来的字符中,以三个为一组,且均为 rwx 的三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 而已。

4.创建目录 mkdir

mkdir /a在根路径下创建文件夹

mkdir ==-p== /b/c在根路径下创建2个文件夹

5.删除目录 rmdir 目录需要为空

rmdir /a 删除目录,要求目录为空

6.删除目录或文件 rm

rm 文件名 , 删除文件,不能删除文件夹

rm -r 文件名,递归删除文件夹,ps: 有确认提示,需要输入y

rm -rf qfedu 强制删除,非空也可以 r表示递归,f表示强制

rm -rf /* 自杀,不用!!!给以让其他人用,会挨打

7.创建或编辑文件 vi|vim

Vim a.txt 如果文件存在就是编辑,文件不存在就是创建

使用步骤:

1.执行命令 vim a.txt

2.按下 i(插入) o(换行) a(追加) 任意其一即可进入到编辑模式

3.输入文件内容

4.按下 esc键

5.输入 :wq

# 在vi文件时,在底行命令模式下可以输入以下常用内容
# 行号操作
:set nu              # 查看文件的行号
to rownum           # 快速的跳转到指定行
set nonu            # 取消行号
# 搜索操作
/word               # 类似Windows的Ctrl + F搜索文件中的具体内容所在位置,查看下一个可以输入字母n
# 快速定位
G                   # 快速跳转到最后一行
gg                  # 快速跳转到第一行
dd                 # 删除行

8.查看文件的内容 cat

cat a.txt 查看文件的全部内容, tac命令式倒着看的

9.分页查看文件内容 less

less /etc/wgetrc 分页查看文件内容,退出 :q

10.复制文件或目录 cp

cp /etc/wgetrc /tm/egetrc 复制,产生新文件

11.移动文件或目录 mv

mv /tm/a.txt /a.txt 移动

12.创建空文件 touch

touch test.txt

2.3 压缩文件相关

1.解压或生成压缩文件 gz格式 tar

  • tar -czvf tm.tar.gz /tm 把tm目录生成压缩文件

tar [-zcvf] 压缩包名称 文件1 文件2 目录1 目录2 ...
# -c: 代表打包
# 其他参数同上

  • tar -zxvf tm.tar.gz 解压文件

tar [-zxvf] 压缩包名称 [-C 路径]
# -z: 代表压缩包后缀是.gz的
# -x: 代表解压
# -v: 解压时,打印详细信息
# -f: -f选项必须放在所有选项的最后,代表指定文件名称
# -C 路径: 代表将压缩包内容解压到指定路径

2.解压或 生成压缩文件 zip格式 zip

默认没有zip命令,需要先按照

yum install zip 安装zip命令

zip tm.zip /tm 把tm生成为压缩文件

yum install unzip 安装unzip命令

unzip tm.zip 解压

2.4 用户和用户组

Linux系统是一个多用户多任务的操作系统,任何一个用户想要操作Linux操作系统,必须向系统管理员申请一个账号才可以,并且以这个账号的身份去操作Linux。

用户的账号一方面可以帮助系统管理员追踪当前用户的操作。另一方面可以控制当前用户对系统资源访问。

用户信息在 /etc/shadow 文件

用户组信息在 /etc/group 文件

1.新增用户 useradd

# 新增用户,用户名为s001,且会在home目录下生成一个该名字的文件夹
useradd s001

2.删除用户 userdel

# 删除用户名和对应的目录 -r 删除对应的目录(home下的目录)
userdel -r s001 

3.修改用户信息 usermod

# 把s003用户名改为student
usermod -l student s003  

4.设置用户的密码 passwd

#设置student用户的密码,按提示进行
passwd student  

5.切换登录用户 su

# 根据提示输入密码
su root 

6.新增用户组 groupadd

# 新建用户组
groupadd java01 

7.修改用户组 groupmod

 # 把用户名名称为java01的改为java168
groupmod -n java168 java01 

8.删除用户组 groupdel

# 删除用户组
groupdel  java168 

2.5 权限

首先我们要清楚Linux文件的权限信息

在Linux中输入ls -l 或者 ll查看文件和目录的详细信息

目录的第一个属性用“d”标识这是一个目录。

在Linux文件详情的后面属性需要分为三组查看

  • rwx: 代表文件拥有者(ower)的权限

  • rwx: 代表文件所属组用户(group)的权限

  • rwx: 代表其他用户(other)对当前文件的操作权限

    • r: 代表read,读的权限

    • w: 代表write,写的权限

    • x: 代表execute,代表执行权限

其余信息

  • 后续的第一个root或者s1:代表当前文件的拥有者(属主)

  • 后续的第二个root或者qiushiju: 代表当前文件的所属组(属组)

  • 后续分别为:文件的大小和最后修改时间等信息

权限修改

1.数字方式

chmod [-R] 777 文件|目录
# rwx在这三个权限中r:4,w:2,x:1
# -R: 当修改一个目录权限时,可以添加-R,将目录下的全部内容,都修改权限。

2.符号方式

chmod [-R] u=rw 文件|目录
# user:u,group:g,other:o,all:a
# read:r,write:w,execute:x
# 赋予权限的方式 , 添加:+,减掉:-,设定:=
# -R: 当修改一个目录权限时,可以添加-R,将目录下的全部内容,都修改权限。

拥有者及所属组修改

3.修改属主和属组

# 修改文件的拥有者和所属组
chown [-R] 拥有者:所属组 文件|目录
# 修改文件的拥有者
chown [-R] 拥有者 文件|目录
# 修改文件的所属组
chgrp [-R] 所属组 文件|目录

chown root /u         将 /u 的属主更改为"root"。
chown root:staff /u   和上面类似,但同时也将其属组更改为"staff"。
chown -R root /u     将 /u 及其子目录下所有文件的属主更改为"root"。

  -- help

2.6、系统命令

1.查看进程 ps

ps 查看运行的进程

ps -ef | grep mysql 

查看mysql的进程有没有启动

2.关闭进程 kill

kill -9 1673 

关闭指定进程id的进程

3.查找 find

find / -name “m*” 

从根路径开始查找,名称有m的

4.开启服务器监控top

top 开启服务器的实时状态(cpu、内存、磁盘等信息)

5.防火墙

firewall-cmd --state          #查看默认防火墙状态
systemctl stop firewalld     #临时停止firewall
systemctl disable firewalld #开机禁用
systemctl enable firewalld 	#开机启用

三、Linux搭建环境

安装的路径都在/usr/local/

3.1 Linux配置Jdk

1.下载jdk

2.上传到服务器/usr/local

3.解压

cd /usr/local

tar -zxf jdk-8u161-linux-x64.tar.gz

4.配置环境变量

vim /etc/profile

在文件的末尾输入一下内容:然后保存退出

JAVA_HOME=/usr/local/jdk1.8.0_161
JRE_HOME=/usr/local/jdk1.8.0_161/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

按ESC退出编辑,:wq保存退出

注意记得把jdk的路径改为自己的

再执行命令,刷新配置文件,让配置生效

source /etc/profile

5.验证是否配置成功

java -version

3.2 Linux配置Tomcat

1.下载tomcat

2.上传到服务器

3.解压

执行命令,实现解压:

tar -zxf apache-tomcat-8.5.28.tar.gz

4.进入tomcat的bin目录下

5.启动测试

执行命令: ./startup.sh

访问测试:http://121.41.33.14:8080/

注意,第一次的使用的需要开放端口号

ps: 修改完不需要重启服务器,自动生效,只需要刷新浏览器继续访问即可

3.3 Linux搭建Mysql

1.设置下载源,提高下载速度

vim /etc/yum.repos.d/mysql-community.repo

输入以下内容:

[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=https://mirrors.cloud.tencent.com/mysql/yum/mysql-5.7-community-el7-x86_64/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

2.执行命令,下载Mysql

yum -y install mysql-community-server

下载之后,会自动安装Mysql

3.启动Mysql

  • 执行启动命令:

    • systemctl start mysqld

  • 查看Mysql运行状态:

    • systemctl status mysqld

  • 停止Mysql:

    • systemctl stop mysqld

4.初始化连接

第一次需要连接并重置密码

执行命令查询mysql的初始的随机密码:

grep "password" /var/log/mysqld.log

执行命令,连接mysql

mysql -u root -p

执行sql语句,修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Sss666..';

ps: 默认有密码校验策略,要求不能太简单,要求首字母大写,包含小写数字特殊符号

修改连接的ip为%,可以远程连接

update mysql.user set Host='%' where User='root';

退出mysql的连接 exit

执行命令,重启Mysql

systemctl restart mysqld

5.远程连接

打开本地连接工具,实现Mysql连接

ip: 121.41.33.14

账号:root

密码:Zyj666..

将本地项目的数据库同步到云服务器的mysql上

本地导出

云服务器导入

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值