Linux介绍
Posted 正经程序猿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux介绍相关的知识,希望对你有一定的参考价值。
目录
Linux是一个操作系统,和windows是并列的关系.
日常人们使用的,主要是windows,公司服务器,主要使用Linux.
在桌面端,Linux大概落后windows 20年左右的水平(相当于windows xp);
在服务器端,Linux基本占据了绝大部分的市场份额;
在移动端,Linux也是处于主导地位,android 系统本质上就是Linux,ios虽然不算是Linux,但也是表兄弟的关系;
在嵌入式设备方面,Linux也是处于主导地位.
Windows主要操作都是通过图形化界面.Linux主要是通过命令行操作.
为什么使用命令行?
服务器,虽然配置高,但是上面运行的任务的工作量巨大,没有额外的资源运行图形化界面,况且服务器要求要稳定,Linux图形化界面经常会有bug.嵌入式设备,配置比较低,运行图形化界面也比较吃力.
便于批量执行任务: 可以通过一些 "脚本" 代码 (比如 Linux Shell) 来批量执行一些任务, 完成 一些简单的编程工作. (比如定时备份文件, 删除文件等).
所以,通过网络来操作服务器,此时通过命令比较高效.
如何有一个Linux环境
1. 直接安装在物理机上. 但是由于 Linux 桌面使用起来非常不友好. [不推荐].
2. 使用虚拟机软件, 将 Linux 搭建在虚拟机上. 但是由于当前的虚拟机软件(如 VMWare 之类的)存在一 些 bug , 会导致环境上出现各种莫名其妙的问题, 比较折腾. [非常不推荐]
3. 使用 WSL (Windows Subsystem for Linux). 这个是 Windows 近几年开发的新功能, 在 Windows 系统内集成了一个 Linux. 但是目前这个技术还不够成熟. [暂时不推荐].
4. 使用云服务器, 可以直接在 腾讯云, 阿里云或华为云 等服务器厂商处直接购买一个云服务器. [推荐]
使用云服务器不仅环境搭建简单, 避免折腾, 同时还有一个最大的好处, 部署在云服务器上的项目可以直接 被外网访问到, 这个时候就和一个公司发布一个正式的网站没有任何区别. 也就能让我们自己写的程序真 的去给别人去使用.
使用终端工具登录
我们在购买完云服务器之后,首次需要设置密码,在设置完密码之后,我们就有了三个信息:ip,用户名(固定是root),密码.
在清楚了这三个信息之后,我们就可以使用终端工具进行登录了.虽然网页上也有登录入口(网页内置了登录功能),但是不太方便,在这里我们使用终端工具进行登录.终端工具,推荐使用xshell.
在网页下载xshell之后,首次打开,需要手动配置,来连接到我们的云服务器.
ip地址填写到主机,点击连接,弹出对话框,输入用户名(root),勾选记住,又会弹出一个对话框,填写密码,输入密码,勾选记住.配置完一次后,下次在使用,点击打开,就能看到之前创建的连接了.
连接成功!
常见Linux命令
Linux命令是非常多的,但我们平常最常用的命令,不超过20个.当我们掌握了最常用的十几个命令之后,就可以应付工作中的大部分场景了.
操作目录的命令
ls 查看指定目录中的内容
直接输入ls,是查看当前目录下的内容,还可以给ls后面加上一个路径(绝对路径或者相对路径),就可以查看指定目录中的内容了.
/ 是根目录的意思. Linux没有盘符的概念,不分c盘,d盘.
更常用的是ls -l(小写的L),可以简写成ll,可以更详细的查看目录中的文件内容.
pwd 查看目录当前完成的绝对路径
cd 切换目录
cd(change directory)相当于在windows中双击某个目录进去.
cd后面可以跟绝对路径,也可以跟相对路径,绝对路径是以/开头的,相对路径是以 . 或者 .. 开头,其中.有时候可以省略.
使用cd,切换的路径可以使用table键补全,有一个选项,直接补全,多个选项,双击table能列出所有匹配结果.
文件相关的命令
touch 创建空的文件
当前在哪个目录下,文件就创建在哪里,没有提示,说明成功了,如果出错了,会有报错信息.
cat 查看文件内容
echo 写文件
echo 回显的意思,写什么就会显示什么.
往指定文件里写,要加 > 文件名
一个>是覆盖之前内容,>>是拼接.
vim
cat和echo只是简单粗暴的读写文件,读写内容简单,可以使用,但是如果读写内容复杂,就需要使用更强大的编辑器了.vi或者vim就是linux上默认自带的"记事本"程序.(vi和vim是两个程序,vim是vi的升级版本,用法差不多)
在linux中 复制是 ctrl + insert,粘贴是shift + insert.
vim 文件名, 代表打开文件
退出文件:先输入:,此时光标会来到最下面的一行,在输入q,再回车,就退出了.
:q是直接退出,不保存,:wq是保存并退出.
如果输入:光标不再最后一行,多按几次esc,在输入:q就可以了.
vim最关键概念.模式(model).默认进入,是普通模式(normal model),普通模式下,键盘的大部分按键,都是具有特定含义的快捷键.真正进行编辑,要进入插入模式(insert model),输入小写字母i,就能进入插入模式,左下角编程了insert,就进入插入模式了.
按下esc,回到普通模式,然后:wq保存退出即可.
如果vim没有正确关闭,在下次启动的时候,会提示说上次没有正确关闭,可以直接按D删除为保存的内容,R就是恢复之前的编辑内容.
关于我们掌握打开文件,编辑文件,保存退出就可以了.
mkdir 创建目录
make directory
rm 删除文件/目录
rm 文件名,删除文件;rm -r 目录,r代表递归,删除目录,rm -rf 目录,递归不确认删除(f代表不确认,强制删除).
rm -rf /,递归的删除根目录,linux没有回收站,删除了,就没了,这个操作十分危险.
有的系统,即使不加f,也是默认强制删除,没有提示.
mv 移动文件或目录
move 移动 = 剪切 + 粘贴.
mv 源 目标,mv也可以给文件改名.
cp
copy 复制 = 复制 + 粘贴,cp 源 目标.
grep 字符串查找
ps 查看进程
netstat 查看网络信息
部署Java web程序到linux
首先需要把对应的依赖的环境搭建好,安装必要的软件程序.
安装必要软件程序
1.jdk
jdk直接使用包管理器进行安装(基于yum安装).yum类似于手机应用商店.此过程需要联网(云服务器本身就是联网的),yum源是由云服务器厂商提供的.
| 叫做管道,效果就是把第一个命令的输出作为第二个命令的输入.
yum list 本身就是列出所有的可以安装的包,使用grep筛选包含jdk关键字的结果.
在这里我们需要下载:java-1.8.0-openjdk-devel.x86_64
x86_64代表64位系统的版本,.i686是32位的.
安装:
安装的时候.需要管理员权限.
接下来会给出提示,是否确认安装,输入y表示yes.
安装完毕后,我们输入javac看一下是否报错.
这样就表示安装成功了.
2.tomcat
此时可以看到,版本都是7,我们需要的8,所以我们去官网下载8版本的压缩包,下载完成后, 把下载好的.zip压缩包,上传到linux上,就可以使用了.(直接把压缩包拖入xshell)
如果 出现这种情况,点击取消,然后在命令行里输入
yum install lrzsz
拖拽上传,其实是用到了linux上的rz命令,这个命令有的系统自带,不自带需要手动安装.
上传成功后,输入解压缩命令.unzip 压缩报名
如果unzip找不到,就输入 yum install unzip.
解压缩成功后,进入bin目录,需要输入
chomd +x *.sh
给所有的.sh文件赋予可执行权限.
sh startup.sh
启动tomcat.
3.mysql
以下必须是root用户进行操作.
安装
安装 mariadb 服务# yum install -y mariadb-server
安装 mariadb 命令行客户端# yum install -y mariadb
安装 mariadb C library# yum install -y mariadb-libs
安装 mariadb 开发包# yum install -y mariadb-devel
启动
启动服务
# systemctl start mariadb
设置服务开启自启动# systemctl enable mariadb
查看服务状态# systemctl status mariadb
可能的输出为,注意到 Active 状态为 active (running)● mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Active: active (running) since 五 2018-11-09 12:49:23 CST; 19min ago
Main PID: 1510 (mysqld_safe)
CGroup: /system.slice/mariadb.service
├─1510 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
└─2030 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-...11月 09 12:49:15 peixinchen.host systemd[1]: Starting MariaDB database server...
11月 09 12:49:17 peixinchen.host mariadb-prepare-db-dir[1062]: Database MariaDB is probably initialized in /var/lib/m...ne.
11月 09 12:49:19 peixinchen.host mysqld_safe[1510]: 181109 12:49:19 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
11月 09 12:49:19 peixinchen.host mysqld_safe[1510]: 181109 12:49:19 mysqld_safe Starting mysqld daemon with databas...mysql
11月 09 12:49:23 peixinchen.host systemd[1]: Started MariaDB database server.
Hint: Some lines were ellipsized, use -l to show in full.
测试连接
使用命令行客户端尝试连接
# mysql -uroot
可能的输出为Welcome to the MariaDB monitor. Commands end with ; or \\g.
Your MariaDB connection id is 2
Server version: 5.5.60-MariaDB MariaDB ServerCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.
MariaDB [(none)]>
查看 mariadb 版本号MariaDB [(none)]> select version();
+----------------+
| version() |
+----------------+
| 5.5.60-MariaDB |
+----------------+
1 row in set (0.01 sec)
创建数据库时为了支持中文,统一使用 utf8mb4 字符集MariaDB [(none)]> create database demo_db charset utf8mb4;
部署程序
1.在云服务器的mysql中,建库建表
使用 mysql -uroot 命令打开数据库客户端(退出是按 ctrl + d)
把之前写好的db.sql的内容直接复制粘贴到云服务器客户端中,直接执行即可.
2.微调代码
本地的数据库,端口号,用户名,密码和云服务器的数据库可能是不同的.
云服务器的数据库默认是没有密码的.
端口号是3306.
3.打包
使用maven打包即可,需要打成war包.
4.把war包拷贝到云服务器上的webapps目录
进行部署操作,把上述war包进行拷贝,拖入xshell.
要记得启动 tomcat服务器,可以使用netstat来验证tomcat启动成功是否.
正确设置云服务器的防火墙/安全组
部署之后,如果程序还是不能访问
这种情况要么是服务器没有正常启动,要么就是服务器的防火墙/安全组 没有正确打开.
我们需要手动前往云服务器控制台,设置一下.
这里以阿里云的云服务器为例:
进到控制台
点击安全组
创建安全组
根据自己的环境,选择网络和资源组
点击手动添加,填入上述内容.
返回实例页面,点击进入安全组
选择刚才创建的安全组即可.
linux相关知识linux centos 文件目录介绍
在xshell和Linux虚拟机建立连接之后,便可以在xshell中对Linux的文件及目录进行一系列的操作了,但是在操作之前,我觉得有必要先了解一下Linux的文件类型和目录结构,这有助于理解每种文件及目录的用途,以便于以后的命令操作。所以本节只是介绍Linux的文件类型和目录结构。具体的操作将在下一节中详细介绍。一、 linux文件类型
二、 常用目录介绍
以上是关于Linux介绍的主要内容,如果未能解决你的问题,请参考以下文章