为什么你会Linux却不会用?一篇文章告诉你


前言

因为本人读的是物联网专业,是基于linux下编写c语言,在初学linux的时候十分枯燥,毕竟就好像背命令一样。现在用linux将jdk、tomcat、mysql等软件传入虚拟机在linux环境中搭建项目,总结了一句话,实践出真知,用虚拟机linux系统搭建的服务器是可以在主机连接的,其前提是需要在虚拟机关闭防火墙,虚拟机ip:端口号,即可访问

举例:这是在虚拟机下搭建的tomcat在这里插入图片描述

这是在主机访问
在这里插入图片描述

1.VMware介绍

VMware是⼀个“虚拟pc”软件公司,提供服务器,桌⾯虚拟化的解决⽅案。它的产品可以实现在⼀台计算
机上同时运⾏两个或者更多Windows,DOS,LINUX系统。与多启动系统相⽐ ,VMware采⽤了完全不
同的概念。多启动系统在⼀个时刻只能运⾏⼀个系统,在系统切换时需要重启计算机。VMware可以实
现真正“同时”运⾏,多个操作系统在主系统平台上可以像标准windows应⽤程序那样切换。每个操作都
可以进⾏虚拟分区,配置,⽽不影响真实硬盘的数据,甚⾄可以通过虚拟⽹卡将⼏台虚拟机连接为⼀个
局域⽹,及其⽅便。安装在VMware⾥⾯的操作系统的性能⽐直接安装在硬盘上的系统性能⾼不少,⽐
较适合学习和测试。

2.Linux介绍

Linux是⼀种⾃由和开放源码的类UNIX操作系统。它能运⾏主要的Unix⼯具软件、应⽤程序和⽹络协
议,⽀持32位和64位硬件。该操作系统的内核由林纳斯·托瓦兹于1991年10⽉5⽇⾸次发布。

Linux最初是作为⽀持英特尔x86架构的个⼈计算机的⼀个⾃由操作系统,现可运⾏在服务器和其他⼤型
平台之上,如⼤型计算机和超级计算机。Linux也⼴泛应⽤在嵌⼊式系统上,如⼿机(Mobile
Phone)、平板电脑(Tablet)、路由器(Router)、电视(TV)和电⼦游戏机等。

开放性,多⽤户,多任务,丰富的⽹络功能,可靠的系统安全,良好的可移植性,具有标准兼容性,良
好的⽤户界⾯(命令界⾯,图形界⾯等),出⾊的速度性能。

发⾏版本:是⼀些⼚商将Linux系统内核与应⽤软件和⽂档包装起来,并提供⼀些安装界⾯和系统设定管
理⼯具的⼀个软件包的集合,例如RedHat Linux,Ubuntu, CentOS(企业社区版)等。

3.VM+Linux安装

自行下载

4.Xshell连接 Linux

⾸先需要查看linux端⼝号:

在linux主界⾯中右键选择“open in Terminal”

输⼊“ifconfig”指令查看ip地址

在这里插入图片描述

打开xshell,输⼊相关信息,建⽴连接

在这里插入图片描述

登录说明:

在这里插入图片描述

路径:~ ⽤户存放数据的根⽬录则显示~

⽤户类型:# 超级⽤户 $普通⽤户

5.Linux系统介绍

linux⽬录结构

在这里插入图片描述

查看⽬录:

在这里插入图片描述

在这里插入图片描述

bin 存放⼆进制可执⾏⽂件(ls,cat,mkdir等)

boot 存放⽤于系统引导时使⽤的各种⽂件

dev ⽤于存放设备⽂件

etc 存放系统配置⽂件

home 存放所有⽤户⽂件的根⽬录

lib 存放跟⽂件系统中的程序运⾏所需要的共享库及内核模块

mnt 系统管理员安装临时⽂件系统的安装点

opt 额外安装的可选应⽤程序包所放置的位置

usr ⽤于存放系统应⽤程序,⽐较重要的⽬录/usr/local 本地管理员软件安装⽬录

开发⼈员关注⽬录:

配置⽬录:软件安装后配置⽂件选择放⼊的地址。

在这里插入图片描述
软件安装⽬录:

在这里插入图片描述

opt⽬录⼀般⽤来安装应⽤程序。部署的API程序⼀般放在这个⽬录。

部署的API放⼊⽤户的⽬录:/home/⽤户名

注意:Linux系统的⽂件系统是以斜杠“/”开始,不是windows中的盘符概念。

Linux系统的⽂件权限

在linux下每个⽤户都有不同的权限,普通⽤户只能在⾃⼰的主⽬录下进⾏写操作.

三种基本权限:R 读权限,W 写权限,X 执⾏权限

⽂件介绍:

-rw-r–r--. 1 root root 26 Oct 16 02:55 yhp.log
在这里插入图片描述
⽂档类型与执⾏权限分为4部分(1,2-4,5-7,8-10)

在这里插入图片描述
**-rw-r–r--**⽂档的类型和权限由4部分内容组成:

在这里插入图片描述

操作权限:在这里插入图片描述

chown 是change owner的意思,主要作⽤就是改变⽂件或者⽬录所有者.

chmod 修改⽂件和⽂件夹读写执⾏属性。使⽤权限 : 所有使⽤者

chown 修改⽂件和⽂件夹的⽤户和⽤户组属性。使⽤权限:root

创建⽂件:
在这里插入图片描述

修改权限的⽅式:

(1)字符设置法

chmod [who] [+ | - | =] ⽂件名

who (u ⽤户user ,g⽤户组group,o其他⽤户,a所有⽤户默认)

操作符号:

	+添加某个权限
	 -取消某个权限
	 =赋予权限

chmod u+x,g+w,o+w test.log //r 读,w 写 x 执⾏

在这里插入图片描述

修改⼀个权限:

-rw-r--r--. 1 root root 0 9⽉ 1 17:10 java.log
chmod g+w java.log
-rw-rw-r--. 1 root root 0 9⽉ 1 17:10 java.log

(2)数字设定法

在这里插入图片描述

0⽆权限,1表可执⾏=x,2表写⼊权限=w,4表可读权限=r

识别:

-rwxr--r--. 1 root root 10 Oct 16 02:55 yhp.log

当前的数字权限:

⽤户权限=rwx=4+2+1=7
所属组权限=r–=4+0+0=4
其他⽤户权限=r–=4+0+0=4
组合:744
修改权限:
都加⼊写⼊权限:+2
给⽤户组加⼊写⼊权限:+2
给其他⽤户加⼊可执⾏权限:+1
chmod 765 yhp.log

结果:
在这里插入图片描述

-rw-rw-r--. 1 root root 0 9⽉ 1 17:10 java.log
chmod 666 java.log
-rw-rw-rw-. 1 root root 0 9⽉ 1 17:10 java.log

6.Linux常⽤指令

6.1. 查看⽬录

ls 查看⽬录内容

ll 查看详细信息

在这里插入图片描述

6.2. 创建⽬录

mkdir :创建⽬录

mkdir -p 创建⽬录以及⼦⽬录,多个⽬录同时创建
在这里插入图片描述
mkdir -p a/b/c

6.3. 切换⽬录

cd 切换⽬录cd … 要加空格cd …/xxx 进⼊上⼀级⽬录的⼦⽬录

在这里插入图片描述

6.4. 创建⽂件

touch :创建⼀个空⽩的普通⽂件

在这里插入图片描述

6.5. 写⼊内容

echo :把内容重定向到指定的⽂件中 ,有则打开,⽆则创建

覆盖模式>: echo “ww”>aa.txt

追加模式>>: echo “ww”>>aa.txt

在这里插入图片描述

追加模式:

在这里插入图片描述

6.6. 查看⽂件内容

cat :查看⽂件内容

在这里插入图片描述
more :分⻚查看⽂件内容,按空格键换⻚

在这里插入图片描述

6.7. 复制

cp :复制

在这里插入图片描述

6.8. 剪切

mv :剪切、重命名(剪切的⽂件 放在同⼀个⽬录中是重命名)

在这里插入图片描述
6.9. 删除

rm :删除⽂件或者⽂件夹 -r :递归删除

rm -fr 直接彻底删除,没有提示。

在这里插入图片描述
6.10. 统计⾏

wc : -l 统计⾏数

在这里插入图片描述

6.11. 当前路径

pwd :查看当前⽬录的绝对路径

在这里插入图片描述

6.12. 显示主机

hostname : 显示主机名
在这里插入图片描述

6.13. 系统信息

uname -a :显示完整的系统信息

在这里插入图片描述
6.14. 查看进程耗时与占⽤

top :显示当前耗时的进程信息 ,每3秒刷新⼀次 cltr+c 中断

top确认CPU和内存的占⽤情况

在这里插入图片描述

6.15. 查看进程快照

ps : - axu 显示当前进程的快照

不过滤:

在这里插入图片描述

查看java进程

在这里插入图片描述
查看 mysql进程

在这里插入图片描述
6.16. ⽂件⼤⼩

du :-sh 显示⽂件的⼤⼩信息

在这里插入图片描述
6.17. 磁盘占⽤

df :-lh磁盘使⽤情况
在这里插入图片描述

6.18. ⽹卡

ifconfig :查看或者配置⽹卡信息(ip addr)

在这里插入图片描述

6.19. 强制结束

kill pid :杀死进程

Kill -9 强制杀死

在这里插入图片描述

6.20. 查看端⼝
netstat
常⽤参数:
-a或–all:显示所有连线中的Socket;
-l或–listening:显示监控中的服务器的Socket;
-n或–numeric:直接使⽤ip地址,⽽不通过域名服务器;
-p或–programs:显示正在使⽤Socket的程序识别码和程序名称;
-t或–tcp:显示TCP传输协议的连线状况;
netstat -tlnp

在这里插入图片描述

找出运⾏在指定端⼝的进程:
netstat -tlnp | grep ‘:22’

6.21 打包与拆包

tar - cxzjvf <打包后的⽂件> <欲打包的⽬录>

  1. c :创建的⼀个归档⽂件
  2. x :拆包
  3. z :以gzip 格式压缩 j :以bzip2格式压缩
  4. v :显示打包或者拆包的⽂件信息
  5. f : 后⾯紧接⼀个 归档⽂件
  6. 打包及压缩:tar -czvf yhp.tar.gz ./yhp/
  7. 拆包及解压缩: tar -xzvf yhp.tar.gz

unzip解压:(windows中软件等)
unzip rocketmq.zip -d rocketmq(-d到指定⽬录可选)
打包:
在这里插入图片描述
拆包:
在这里插入图片描述
在这里插入图片描述

6.22 ⽂本编辑器
指令:VIM
操作模式:
⼀般模式 ,默认⽅式,该模式不能编辑
按 i(insert) 进⼊ 插⼊模式
编辑模式
该模式可以编辑⽂档,按esc 退出插⼊模式
命令模式
⼀般模式中按:进⼊命令模式[yy复制⼀⾏, dd剪切⼀⾏,p粘贴]
:q 安全退出,当没有操作该⽂档
:q!修改了内容,但不想保存,强制退出
:wq 保存退出
:set number 显示⾏号set nonumber 取消⾏号显示行:

在这里插入图片描述

在这里插入图片描述

7.SecureFXPortable上传⽂件到Linux

建⽴连接:

在这里插入图片描述

将左侧window系统下的压缩包直接拖拽到右侧linux系统即可

8.安装JDK

1.上传jdk⽂件到linux
使⽤SecureFX连linux后,可以直接新建⽂件夹到linux。例如创建soft放置压缩包。

2.创建保存解压后的jdk的⽂件夹
在这里插入图片描述

3.解压jdk压缩包

在这里插入图片描述

4.将解压后的jar包放在jdkhome下
在这里插入图片描述

5.测试jdk是否安装成功
在这里插入图片描述

注意:这⾥实在jdk的bin⽬录下运⾏的。并且java命令前有“./”

6.配置环境变量
在这里插入图片描述

(1)先切换到root⽤户:su root

(2)修改profile⽂件的操作权限:

在这里插入图片描述
(3)编辑profile⽂件:

在这里插入图片描述

(4)添加JAVA_HOME变量:

在这里插入图片描述

(5)使环境变量及时⽣效

在这里插入图片描述

(6)查看变量是否更新成功:

在这里插入图片描述

(7)在任意⽬录下测试环境是否配置成功
在这里插入图片描述
Admin⽤户也是如此:

在这里插入图片描述

定义java⽂件做测试:
在这里插入图片描述

注意:这⾥将java⽂件保存到了soft⽂件夹

9.安装web服务器

Tomcat(依赖jdk)

上传:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

10. 防⽕墙

Linux系统中默认有防⽕墙Iptables管理所有的端⼝,只启⽤默认远程连接22端⼝其他都关闭

10.1. ⽅案⼀:修改防⽕墙配置

将开启的端⼝加⼊防⽕墙⽩名单中:

vim /etc/sysconfig/iptables

增加下⾯代码

-A INPUT -p tcp -m state -- state NEW -m tcp --dport 8080 -j ACCEPT
-A INPUT -p tcp -m state -- state NEW -m tcp --dport 3306 -j ACCEPT

保存退出,重启防⽕墙

在这里插入图片描述

在这里插入图片描述

测试:

在这里插入图片描述

10.2. ⽅案⼆:关闭防⽕墙

关闭防⽕墙 service iptables stop

关闭防⽕墙⾃动启动 chkconfig iptables off

在这里插入图片描述

公司⼀般有硬件防⽕墙,软件防⽕墙可以直接关闭。

11. 安装MySQL

补充: CentOS6 停⽌维护更新⽇期2020年11⽉30⽇

MySql安装:

YUM( Yellow dog Updater, Modified)是⼀个在Fedora和RedHat以及CentOS中的Shell前端软
件包管理器。
它基于RPM包管理,能够从指定的服务器⾃动下载RPM包并且安装,可以⾃动处理依赖性关系,⽆须繁琐地⼀
次次下载、安装.

步骤1: 检测系统是否⾃带安装mysql
[root@localhost /]# yum list installed | grep mysql

步骤2: 删除系统⾃带的mysql及其依赖(防⽌后⾯安装发⽣冲突)
[root@localhost /]# yum -y remove mysql-libs.x86_64

步骤3: 给CentOS添加rpm源,并且选择较新的源,RPM软件包管理器缩写
[root@localhost /]# wget --no-check-certificate dev.mysql.com/get/mysqlcommunity-release-el6-5.noarch.rpm

步骤4: 安装第⼀步下载的rpm⽂件
[root@localhost /]# yum install mysql-community-release-el6-5.noarch.rpm
此处需要输⼊"y"
[root@localhost /]# yum repolist enabled | grep mysql //列出你所有的yum repo⽂件

步骤5: 使⽤yum安装mysql
[root@localhost /]# yum install mysql-community-server
此处输⼊3次“y”
注意在测试时,要关闭防⽕墙

步骤6: 启动mysql服务
[root@localhost /]# service mysqld start

步骤7: 查看mysql是否⾃启动,并且设置开启⾃启动
[root@localhost /]# chkconfig --list | grep mysqld
0 1 2 3 4 5 6 代表centOS启动状态
[root@localhost /]# chkconfig mysqld on

步骤8: 修改字符集为UTF-8
[root@localhost /]# vim /etc/my.cnf
在[mysqld]部分添加:
character-set-server=utf8
在⽂件末尾新增[client]段,并在[client]段添加:
default-character-set=utf8
esc退出编辑 :wq保存退出
修改完成后保存重启服务
[root@localhost /]# service mysqld restart

步骤9: 修改默认配置
[root@localhost /]# mysql_secure_installation
按照提示进⾏配置,这⾥默认root⽤户的密码空,直接回⻋即可。此处输⼊内容:"y","y","n","y","y"

步骤10:授权远程登录
⽅案1:实现远程连接(授权法)- 将权限改为ALL PRIVILEGES
[root@localhost /]# mysql -uroot -p
mysql> use mysql;
Database changed
mysql> flush privileges;
//mysql 新设置⽤户或更改密码后需⽤flush privileges刷新MySQL的系统权限相关表,否则会出现拒
绝访问
mysql> select host,user,password from user;
这样机器就可以以⽤户名root密码root远程访问该机器上的MySql.
⽅案2:实现远程连接(改表法)
use mysql;
update user set host = '%' where user = 'root';
fiush privileges
这样在远端就可以通过root⽤户访问Mysql

注意在测试时,要关闭防⽕墙

12.修改主机名(默认是localhost)

(1)切换到root⽤户

su root

(2)修改⽂件:

在这里插入图片描述

注意:该⽂件是只读⽂件,退出时使⽤:wq退出

重新连接后显示修改后的服务器名

在这里插入图片描述

13.修改ip地址

(1)切换root

su root

(2) 运⾏setup命令

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

14.局域⽹内设置通过主机名访问任意主机

(1)切换root

在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值