【Linux】Linux 常用基操和 Java 环境的部署
文章目录
- 1. Linux 常用命令
- 快捷键
- ls
- pwd
- cd
- touch
- echo
- cat
- mkdir
- tree
- rm
- mv
- cp
- find
- man
- less
- vim
- date
- ps
- grep
- netstat
- 2. Linux 权限
- 用户介绍及操作
- Linux 中用户的三个类别
- 文件类型和访问权限
- 修改文件权限
- 3. 搭建 Java 部署环境
- yum
- git
- 安装 JDK
- 安装 Maven
- 安装 Tomcat
- 安装 MySQL
1. Linux 常用命令
快捷键
- 使用
tab
键补全 - 使用
Ctrl + c
重新输入 - 使用
Ctrl + insert
复制 - 使用
Shift + insert
粘贴
ls
语法: ls [选项] [目录或文件]
功能: 对于目录,该命令就是列出该目录下的所有目录和文件;对于文件,该命令就是列出文件名及相关信息
常用选项:
选项 | 描述 |
---|---|
-a
|
列出目录下的所有文件,包括以 . 开头的隐藏文件
|
-l
|
列出文件的详细信息(ls -l 可以简写为 ll )
|
-t
|
以时间排序 |
-R
|
列出所有子目录下的文件(递归) |
示例: 列出根目录下的所有文件和目录的详细信息
在 Linux 中,白色市普通文件、蓝色是目录、绿色是可执行文件、红色是压缩文件
pwd
语法: pwd
功能: 显示当前用户所在目录的绝对路径
示例: 进入 bin 目录后,我们来查看当前目录所在的路径
cd
语法: cd 目录名
功能: 切换当前目录到指定的目录,指定的目录可以是相对路径,也可以是绝对路径
绝对路径: 以 /
开头的就是绝对路径,表示从根目录到该目录的完整路径
相对路径: 以 .
或者 ..
开头的就是相对路径,表示从当前目录或者上级目录开始往下级目录找,指定目录不是完整路径
示例1: 从根目录切到 bin 目录
示例2: 从 bin 目录切到根目录
touch
语法: touch 文件名
功能: 创建一个新的文件,文件名可以是绝对路径,也可以是相对路径
示例: 在 home 目录下创建一个 test.txt 文件
echo
语法: echo > 文件名
功能: 给文件写入简单的数据
示例: 在 test.txt 文件中写入 text 字符串
cat
语法: cat 文件名
功能: 查看文件里面的内容
示例: 查看 test.txt 文件中的内容
mkdir
语法: mkdir 目录名
功能: 创建出一个新目录,目录名可以是绝对路径也可以是相对路径
示例: 在 home 目录下创建 111、222、333 三个目录
tree
语法: tree 目录名
功能: 通过树形结构,更直观的显示该目录下的所有目录和文件
注意: tree 命令不是 Linux 自带的,需要通过 yum install tree -y
命令来安装 tree 命令才能使用
示例: 查看 home 目录下的所有目录和文件
rm
语法: rm [选项] 目录或文件
功能: 删除文件或者目录
注意: 删除目录时由于目录下面还有子目录或文件,所以需要带上 -r 选项来删除目录
常用选项:
选项 | 描述 |
---|---|
-f
|
强制删除,不询问 |
-r
|
删除目录及其下所有文件或子目录(递归) |
-i
|
删除前逐一询问确认(输入 y 确认删除,输入其它取消删除) |
示例: 删除 home 目录下的 test.txt 文件
mv
语法: mv [选项] 源文件或目录 目标文件或目录
功能: 可以将源目录或文件移动到新的目录中,并且能够边移动边修改文件或者目录名(可以使用 mv 对文件或者目录进行重命名)
常用选项:
选项 | 描述 |
---|---|
-f | 如果文件已经存在,不会询问而直接覆盖 |
-i | 如果文件已经存在,会询问是否覆盖 |
示例1: 将 home 目录的 111 目录中的 aaa.txt 移动到 home 目录的 222 目录中
示例1: 将 home 目录的 222 目录中的 aaa.txt 移动到 home 目录的 111 目录中,并且重命名为 a.txt
示例3: 在 home 目录中创建 444 目录,将其移动到 111 目录中,并重命名为 555
cp
语法: cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录,并且能够一边拷贝,并重命名。
注意: cp 不能将某个文件进行重命名;cp 不能直接拷贝目录,必须要加上 -r 选项
常用选项:
选项 | 描述 |
---|---|
-f
|
强行复制文件或目录,布伦目标文件或目录是否存在 |
-i
|
如果文件存在,会询问是否覆盖 |
-r
|
将指定目录下的文件与子目录一起处理 |
示例1: 将 home 目录的 111 目录中的 a.txt 拷贝到 222 目录中,并重命名为 aaa.txt
示例2: 将 home 目录中的 111 目录中的 555 目录拷贝到 333 目录中,并且重命名为 666
find
语法: find 目录 -name 文件名或目录名
功能: 在该目录下查找带关键名字的文件或目录
示例: 在根目录中搜索带 bin 关键字的文件或目录
man
语法: man 命令
功能: 查看该命令的相关内容(q 退出,上下左右键移动页面)
示例: 查看 cd 命令的相关内容
less
语法: less 文件名
功能: 查看文件内容,能够秒开大文件,但是不是直接将所有文件内容加载到内存中,而是显示多少加载多少(q 退出,上下左右键移动显示页面)
示例: 查看 etc 目录中 virc 文件的内容
vim
语法: vim 文件名
功能: vim 是一个文本编辑器,可以创建或编辑文件
三种模式: 用 vim 打开一个文件后,会有三种模式
- 普通模式:一进去就显示的模式是普通模式,该模式不能进行编辑,键盘上的每个键在这个模式下都表示一些特殊的快捷键,如输入 i 键表示进入插入模式、输入 : 键表示进入底行模式
- 插入模式:该模式是用来编辑文件内容的,编辑好了之后,使用 esc 键退回到普通模式
- 底行模式: 该模式下用于保存、退出 vim,w 表示保存,q 表示退出,wq 表示保存退出,q! 表示强制退出
示例: 在 home 目录下的 111 目录中使用 vim 编辑 aaa.txt 文件,输入 aaa 字符串
date
语法: date [OPTION] [FORMAt]
功能:
在显示时间方面,可以设定预显示的格式,格式设定为:date +“数个标记”
标记 含义 %H
小时 %M
分钟 %S
秒 %X
相当于 %H:%M:%S
%d
日 %m
月 %Y
年 %F
相当于 %Y-%m-%d
将当前时间转换成时间戳:
date +%s
将时间戳转换成时间:
date -d@时间戳
示例1: 将当前时间按照 年-月-日 时:分:秒
的格式显示
示例2: 显示当前时间的时间戳
示例3: 将示例2的时间戳转变成时间
ps
语法: ps aux
功能: 查看当前系统上运行的进程
示例: 显示当前系统上运行的进程
grep
语法: grep [查找的内容]
功能: 用于对输出结果进行筛选(常与 | 管道进行连用,| 用于把前一个命令的输出,当作后一个命令的输入)
示例: 我们新开一个终端,打开 vim,我们在这个终端中使用 ps 并且加上 grep 指令来查看当前进程中是否有 vim
netstat
语法: netstat -anp
功能: 查看系统上的网络状态
示例1: 查看当前系统上的所有网络状态
示例2: 查看服务器的 8080 端口是否被占用(没有搜索出结果说明没有被占用,搜多到了结果说明已被占用)
2. Linux 权限
用户介绍及操作
Linux 下有两种用户:超级用户和普通用户
- 超级用户:就是管理员,拥有最高级别的权限,在 Linux 中做任何事情都不受限制。命令提示符为
#
- 普通用户:对 Linux 的权限有限的用户,不能实现没有权限的事情。命令提示符为
$
创建用户
- **语法: **
useradd 用户名
- 功能: 创建新的用户
- 示例: 创建一个用户名叫 test1 的用户
配置密码
- 语法:
passwd 用户名
- 功能: 设置或者修改用户密码
- 示例: 将 test1 用户设置一个密码
切换用户
- 语法:
su 用户名
- 功能: 切换用户
- 示例: 从 root 用户切换到普通用户 test1
Linux 中用户的三个类别
访问一个文件的用户在 Linux 分成了三个类别:
- 文件和文件目录的所有者
- 和文件和文件目录的所有者所在的同组的用户
- 其它用户
文件类型和访问权限
在根目录下,通过 ll
命令,我们可以看到下面的结果
以下 dev 目录显示的详情介绍下具体参数的含义
修改文件权限
语法: chmod [选项] 权限 文件名
功能: 设置文件的访问权限,只有文件的拥有者或 root 用户才能修改文件权限
注意: 修改目录权限时要加上选项 R
,递归的修改目录文件的权限
方式一: +、-、= 变更权限
u:表示所有者、g:表示所在组、o:表示其他组、a:表示所有人(u、g、o 的总和)
chmod u=rwx,g=rx,o=x
文件名/目录名- 将其他组赋予写的权限的指令:
chmod o+w
文件名/目录名 - 将所有人的执行的权限都去掉的指令:chmod a-x 文件/目录名
方式二: 通过数字变更权限
r=4、w=2、x=1、rwx=4+2+1(可以组合,如3=wx)
指令:
chmod 751
文件名/目录 等价于chmod u=rwx,g=rx,o=x
文件名/目录名
3. 搭建 Java 部署环境
yum
基本介绍:
yum(Yellow dog Updater Modified)是 Linux 下常用的一种包管理器(就好比手机的应用商店或者依赖的中央仓库),主要应用在 Centos、RedHat 和 Fedora 等发行版上。
yum 的常用命令: yum 的所有命令必须保证服务器的网络是联通的
查看软件包列表命令:
yum list | grep 软件包关键字
安装软件包命令(需要 root 权限):
yum install 软件包名字
卸载软件包命令(需要 root 权限):
yum remove 软件包名字
git
查看 git 安装包命令:
yum list | grep git -w
-w 参数表示全字符匹配
安装 git 命令:
yum install git.x86_64
git 的基本使用:
# 克隆
git clone# 新增
git add# 提交
git commit# 推送
git push
安装 JDK
查看 JDK 安装包命令:
yum list | grep jdk
安装 JDK 命令:
yum install java-1.8.0-openjdk-devel.x86_64
通过 yum 可以很方便的安装 OpenJDK,这是一个开源的 JDK,和官方的 JDK 略有差别,但是差别很小。
选择后缀为 devel(表示软件开发包)和与自己系统相匹配的 JDK 版本,安装好后,可以通过 javac
来验证是否安装成功。如果安装成功,结果如下
安装 Maven
查看 Maven 安装包命令:
yum list | grep maven -w
安装 Maven 命令:
yum install maven.noarch
验证 Maven 命令:
mvn -v
如果安装成功,通过验证可以得到如下结果
安装 Tomcat
由于 yum 源上默认的是 Tomcat 7,而下面介绍的是安装 Tomcat 8 的方式,所以将不使用 yum 进行安装
安装步骤:
下载 Tomcat 压缩包(Tomcat 官网下载地址为:https://tomcat.apache.org/download-80.cgi)
wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.77/bin/apache-tomcat-8.5.77.zip
通过
wget Tomcat具体的下载链接地址
就可以进行下载压缩包(亲试,下载速度有点慢,建议直接将压缩包下载到本地,然后直接拖拽到服务器中,拖拽需要安装如下命令yum install lrzsz
解压缩 Tomcat
unzip apache-tomcat-8.5.77.zip
如果 unzip 命令找不到,则需要使用
yum install unzip
进行安装修改可执行权限
# 进入 Tomcat 的 bin 目录 cd apache-tomcat-8.5.77/bin# 将所有 .sh 后缀的文件加上可执行权限 chmod a+x *.sh
*.sh
表示该目录下所有后缀为 .sh 的文件启动 Tomcat(下面命令是在 Tomcat 的 bin 目录中进行的)
sh startup.sh
验证 Tomcat
# 方式一:查看 Tomcat 进程是否存在 ps aux | grep tomcat# 方式二:查看端口 8080 是否被绑定 nestat -anp | grep 8080# 方法三:使用 curl 命令访问默认 demo curl 127.0.0.1:8080
注意: 当你使用的是云服务器,那么你第一次完成了上述操纵可能不发在浏览器成功打开 Tomcat,那是因为云服务器的安全组或者防火墙没有开启 8080 端口。因此你需要进入你的云服务器的控制台去开启 8080 端口。
安装 MySQL
MySQL 也可以使用 yum 进行安装,但是要修改的配置会比较复杂,为此这里介绍 MariaDB 的安装,这是一个和 MySQL 及其类似的数据库,是在 MySQL 被收购后,MySQL 的作者通过同一个源码创建的数据库,两者是可以兼容的。
注意: 如果你要安装 MariaDB 数据库,那么你要保证你的云服务器中没有安装 MySQL,不然以下安装步骤可能会出错,这是个人的亲测!
安装步骤:
安装 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
更改配置:
更改
/etc/my.cnf.d/client.cnf
文件,在 [client] 下加如下配置default-character-set=utf8
更改
/etc/my.cnf.d/mysql-clients.cnf
文件,在 [mysql] 下加如下配置default-character-set=utf8
更改
/etc/my.cnf.d/server.cnf
文件,在 [mysqld] 下加如下配置collation-server = utf8_general_ciinit-connect='SET NAMES utf8'character-set-server = utf8sql-mode = TRADITIONAL
启动数据库:
启动服务
systemctl start mariadb
设置服务开启自启动
systemctl enable mariadb
查看服务状态
systemctl status mariadb
测试连接:
使用命令行客户端尝试连接
mysql -uroot
结果如下,说明安装的数据库就可以正常运行了
目前的 mariadb 用户是没有密码的,默认密码就是空字符。如需更改数据库密码,可以通过以下操作
mysql_secure_installation
更改完毕后,下次启动数据库时,通过
mysql -uroot -p
命令就可以带密码的连接数据库
【Linux】Linux 常用基操和 Java 环境的部署相关推荐
- Docker安装java环境并部署jar包运行
Docker安装java环境并部署jar包运行 作为一个前端,了解后端部署jar包也是有必要的,在这里就我学习的,做一个简单的笔记,这里可以结合我的商品的增删改查的java文章一起看. java实现商 ...
- Linux常识与基操
文章目录 Linux 一.常识与基操: 注:查看内部命令: 1.切换用户 2.查看当前主机的完整名称 3.永久设置主机名 4.查看当前系统版本信息 5.查看当前版本内核 6.永久修改网卡IP 7.重启 ...
- C++ 对文件的最常用基操之对 ASCII 文件(文本文件、字符文件)的操作
C++ 对文件的最常用操作 ☆ 基本概念 根据文件中数据的组织方式,可以将文件分为 ASCII 文件 和 二进制文件. 前者又称为文本文件或字符文件,后者又称为内部格式文件或字节文件. 本文讲解针对 ...
- linux iptables常用命令之配置生产环境iptables及优化
在了解iptables的详细原理之前,我们先来看下如何使用iptables,以终为始,有可能会让你对iptables了解更深 所以接下来我们以配置一个生产环境下的iptables为例来讲讲它的常用命令 ...
- 海思linux中编译,基于海思开发环境,交叉编译,安装tslib库
环境:Ubuntu-18.04 64位 交叉编译器:arm-hisiv600-linux tslib版本:tslib-1.4 一.安装交叉编译器 [注意]本文中使用 Hi3531D 的 V600 编译 ...
- Linux服务器下搭建JDK、Tomcat环境和部署web应用
1.下载JDK和Tomcat jdk下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-188026 ...
- 宝塔搭建javaweb_宝塔Linux面板助手安装并配置JavaWeb环境并且部署项目
宝塔 @宝塔官网 是一款较为优秀的可视化管理服务器的工具 可以管理 Windows服务器和Linux服务器 宝塔主界面 首先要使用宝塔,必须要有自己的云服务器或者自己的虚拟机 这里我使用我的腾讯云Li ...
- linux mysql 端口配置文件_Linux配置测试环境,部署项目(指定端口,数据库连接)...
一,必备工具.文件. windows连接linux的工具 1.用xftp上传jdk,tomcat,项目包,连接数据库的jdbc 2.用Xshell使用命令建包解压 新建java目录,tomcat目录, ...
- ThinkPHP6项目基操(1.环境搭建及ThinkPHP6的安装)
环境搭建及ThinkPHP6.0的安装 一.环境搭建 二.安装ThinkPHP6.0 一.环境搭建 服务器:Nginx1.16.1 端口:80 数据库:MySQL5.7.26 端口:3307 PHP版 ...
最新文章
- Selenium-js弹窗浮层
- R语言ggplot2可视化:ggplot2使用geom_mark_ellipse函数进行椭圆形圈定(注释)特定的数据簇或组
- java typeof_js中typeof的用法汇总
- 产品中心和用户中心的视角摘抄
- Delphi中拖动无边框窗口的5种方法
- 虚拟服务器放2个网站,如何一个虚拟主机空间放两个网站的基本原理
- 详解.NET Core 依赖注入生命周期
- android activity透明主题,Android应用的全透明效果--Activity及Dialog的全透明
- 网络(6)-TCP/IP对拥塞控制、滑动窗口如何实现可靠性?
- mysql select call_MySQL的SQL语句 - 数据操作语句(1)- CALL 语句
- 可视化折线圆形统计图_统计图表的优雅变换:Altair|可视化系列06
- java重载能否发生多次,java - 在Java中重载和多次调度 - SO中文参考 - www.soinside.com...
- python内存池机制,python基础—12python内存管理机制
- [论文阅读] Active Image Segmentation Propagation
- 在k8s中将文件通过configmap添加为pod的文件
- 开课吧:什么是排序算法
- 火灾报警(烟雾火焰检测)-STM8L
- 电商运营是什么意思,主要做什么?
- mysql中的广播是什么意思_Android中的广播、服务、数据库、通知、包等术语的原理和介绍(图解)...
- BurpSuite安装与浏览器导入证书