【Linux】Linux中的常用指令和将java程序运行环境部署到Linux

news2025/1/13 7:49:45

目录

一.Linux的常用指令

使用客户端进行登录与退出

我们使用xshell这个客户端进行用户的创建和登录

退出:

快捷键

IS

PWD

cd

touch

echo

cat

mkdir

tree

rm

mv

cp

find

man

less

vim

date

ps

grep

netstat

二.Linux的权限问题

用户操作

三种角色

文件类型和访问权限

修改文件权限

三.搭建java程序运行的环境

yum基本介绍:

git查看 git 安装包命令:

安装 Maven

安装 Tomcat

notes:由于 yum 源上默认的是 Tomcat 7,而下面介绍的是安装 Tomcat 8 的方式,所以将不使用 yum 进行安装


 

一.Linux的常用指令

使用客户端进行登录与退出

我们使用xshell这个客户端进行用户的创建和登录

 弹出这样的提示信息:代表登录成功

退出:

 

直接使用exit指令进行退出即可 

快捷键

我们在使用Linux的客户端进行指令的输入时,经常会使用的快捷键如下:

  • 使用 tab 键补全
  • 使用 Ctrl + c 重新输入
  • 使用 Ctrl + insert 复制
  • 使用 Shift + insert 粘贴

IS

语法ls [选项] [目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

常用选项:

  • -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
  • -d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
  • -k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
  • -l 列出文件的详细信息。由于这个指令相对比较常用,有快捷的输入方式,我们直接输入 ll(两个L)即可
  • -r 对目录反向排序。
  • -t 以时间排序。
  • -R 列出所有子目录下的文件。(递归) 

在 Linux 中,白色是普通文件、蓝色是目录、绿色是可执行文件、红色是压缩文件

PWD

语法: pwd
功能:显示用户当前所在的目录
举例:显示当前用户所在的目录

cd

Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。
语法: cd 目录名
功能: 改变工作目录。将当前工作目录改变到指定的目录下. 

常用的几个关于对cd的指令:
cd .. : 返回上级目录
cd ~:进入用户家目
cd -:返回最近访问目录

/:代表的是根目录

~:代表的是当前的工作目录

示例:进入java01的文件夹

几个特殊的目录:
/ 称为根目录
. 称为当前目录
.. 称为当前目录的上级目录 

touch

语法: touch 文件名

功能: 创建一个新的文件,文件名可以是绝对路径,也可以是相对路径

示例:创建一个文件(text.txt)

echo

语法: echo > 文件名

功能: 给文件写入简单的数据

示例: 在 text.txt 文件中写入 hello 字符串(并且使用cat查看文件中的内容)

cat

语法:cat [选项] [文件]
功能: 查看目标文件的内容
常用选项:-n 对输出的所有行编号

示例:

mkdir

语法:mkdir [选项] dirname...
功能:在当前目录下创建一个名为 “dirname”的目录
常用选项:
-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统
将自动建立好那些尚不存在的目录,即一次可以建立多级目录
举例:在java001这个目录下创建多级目录

tree

语法: tree 目录名

功能: 通过树形结构,更直观的显示该目录下的所有目录和文件

注意: tree 命令不是 Linux 自带的,需要通过 yum install tree -y 命令来安装 tree 命令才能使用

示例: 查看 java01目录下的所有目录和文件

rm

语法:rm [-f-i-r-v] [dirName/dir]
功能:删除文件或目录
常用选项:

  • -f 不给出提示直接删除
  • -i 删除前逐一询问确认(默认)
  • -r递归删除目录下的子目录或者子文件
  • -rf  删除指定的目录,且不给出提示(谨慎使用)

举例:删除java01目录下的java001子目录和blog.sql的文件

mv

语法: mv [选项] 源文件或目录 目标文件或目录
功能: 
1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
常用选项

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!(默认)

示例:将java01目录下的java002子目录移动到root目录下

cp

语法:cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录
说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息

常用选项:

  • -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
  • -i 或 --interactive 覆盖文件之前先询问用户(默认)
  • -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录
  • 或符号链接,则一律视为普通文件处理
  • -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理

举例: 将java01目录下的text.txt 和blog.sql移动至java003的子目录下

find

语法: find 目录 -name 文件名或目录名

功能: 在该目录下查找带关键名字的文件或目录

示例: 在根目录中搜索带 bin 关键字的文件或目录

man

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。
语法: man [选项] 命令
常用选项

  • -k 根据关键字搜索联机帮助
  • num 只在第num章节找
  • man man 能够看到 man 手册中的若干个章节及其含义. 

示例:使用man指令查看ls指令的相关释义

 

less

语法: less [参数] 文件
功能:查看文件内容. 不会立刻把所有文件内容加载到内存中. 也能进行查找.
选项:
j k / 方向键: 向上向下滚动屏幕.
-N  显示每行的行号
/字符串:向下搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
q: 退出

示例:查看blog.sql里的内容

vim

语法: vim 文件名

功能: vim 是一个文本编辑器,可以创建或编辑文件

三种模式: 用 vim 打开一个文件后,会有三种模式

  • 普通模式:一进去就显示的模式是普通模式,该模式不能进行编辑,键盘上的每个键在这个模式下都表示一些特殊的快捷键,如输入 i 键表示进入插入模式、输入 : 键表示进入底行模式
  • 插入模式:该模式是用来编辑文件内容的,编辑好了之后,使用 esc 键退回到普通模式
  • 底行模式: 该模式下用于保存、退出 vim,w 表示保存,q 表示退出,wq 表示保存退出,q! 表示强制退出

示例: 在 home 目录下的 111 目录中使用 vim 编辑 blog.sql文件,输入 aaa 字符串

date

  • 语法: date [OPTION] [FORMAt]
  • 功能:按照特定的格式显示需要显示的时间
  • 在显示时间方面,可以设定预显示的格式,格式设定为:date +“数个标记”

  • %H : 小时(00..23)
  • %M : 分钟(00..59)
  • %S : 秒(00..61)
  • %X : 相当于 %H:%M:%S
  • %d : 日 (01..31)
  • %m : 月份 (01..12) 
  • %Y : 完整年份 (0000..9999)
  • %F : 相当于 %Y-%m-%d
  • 将当前时间转换成时间戳:date +%s

  • 将时间戳转换成时间:date -d@时间戳

示例:按照规定的格式打印时间并将时间转化为时间戳,将特定的时间戳转化为时间

ps

语法: ps aux

功能: 查看当前系统上运行的进程

示例: 显示当前系统上运行的进程

grep

语法: grep [查找的内容]

功能: 用于对输出结果进行筛选(常与 | 管道进行连用,| 用于把前一个命令的输出,当作后一个命令的输入)

示例:我们在查询具体某个线程的运行情况

netstat

语法: netstat -anp

功能: 查看系统上的网络状态

示例:使用netstat查看系统上的网络状态

二.Linux的权限问题

用户操作


Linux下有两种用户:超级用户(root)、普通用户。
超级用户:可以再linux系统下做任何事情,不受限制
普通用户:在linux下做有限的事情。
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。

我们的服务器买好了, 默认是 root 用户. 但是 root 用户权力比较大, 一旦使用不当可能会造成严重后果
(例如 rm -rf /). 因此我们真正在公司中不会直接使用 root 用户来操作服务器. 
1. 创建用户
命令 useradd [用户名]
功能 :创建新的用户

示例:创建名字为ct的用户

2.  配置密码

  • 语法: passwd 用户名
  • 功能: 设置或者修改用户密码
  • 示例: 将 ct用户设置一个密码

 

3.切换用户

  • 语法: su 用户名
  • 功能: 切换用户
  • 示例: 从 root 用户切换到普通用户 ct

 

三种角色

访问一个文件的人可能分成三种类别.
文件和文件目录的所有者:u---User
文件和文件目录的所有者所在的组的用户:g---Group
其它用户:o---Others

文件类型和访问权限

我们使用ll指令显示所有文件的详细信息:

以下 root目录显示的详情介绍下具体参数的含义

 

修改文件权限

语法: 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 文件名/目录名

三.搭建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

notes:由于 yum 源上默认的是 Tomcat 7,而下面介绍的是安装 Tomcat 8 的方式,所以将不使用 yum 进行安装

安装步骤:

下载 Tomcat 压缩包(Tomcat 官网下载地址为:Apache Tomcat® - Apache Tomcat 8 Software Downloads)

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_ci

init-connect='SET NAMES utf8'

character-set-server = utf8

sql-mode = TRADITIONAL

启动数据库:

启动服务

systemctl start mariadb

设置服务开启自启动

systemctl enable mariadb

查看服务状态

systemctl status mariadb

测试连接:

使用命令行客户端尝试连接

mysql -uroot
结果如下,说明安装的数据库就可以正常运行了

目前的 mariadb 用户是没有密码的,默认密码就是空字符。如需更改数据库密码,可以通过以下操作

mysql_secure_installation


 

更改完毕后,下次启动数据库时,通过 mysql -uroot -p 命令就可以带密码的连接数据库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/444212.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C 语言与嵌入汇编

文章目录 一、cmake构建汇编语言二、实例三、补充知识1、enable_language2、 汇编 四、AT&T汇编1、GNUC C 语言嵌入汇编2、GNUC 汇编 一、cmake构建汇编语言 Linux下在CMakeLists中加入 ENABLE_LANGUAGE(ASM) # GAS(AT&T) 或 ENABLE_LANGUAGE(ASM_NASM) # NASM(Intel) …

Windows逆向安全(一)之基础知识(十四)

指针 什么是指针 一般关于指针的解释都离不开地址。这里先暂且忘记这个概念 指针其实也是一种数据类型,和先前学习的int float等数据类型没有实质上的区别,只不过这个数据类型是在先前学习的所有数据类型后面加上若干个*号,如char *&#…

数字化时代,如何推动实体经济和数字经济的融合

实体经济是一国经济的立身之本和命脉所在,数字经济是当今世界科技革命和产业变革的阵地前沿,推动数字经济和实体经济融合发展,已经成为新形势下主动把握新机遇、打造新引擎、实现经济高质量发展的必然选择。 领域融合 真正能够成为现代社会…

Pyhon实现多线程 —— threading(含源码)

作者主页:爱笑的男孩。的博客_CSDN博客-深度学习,YOLO,活动领域博主爱笑的男孩。擅长深度学习,YOLO,活动,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typecollect个人…

LRU扩展LRU-K、2Q算法实现分析

LRU算法的缓存污染如何解决? 一、LRU-K算法 1、算法思想 LRU-K中的K代表最近使用的次数,因此LRU可以认为是LRU-1。LRU-K的主要目的是为了解决LRU算法“缓存污染”的问题,其核心思想是将“最近使用过1次”的判断标准扩展为“最近使用过K次”…

【CocosCreator入门】CocosCreator组件 | PageView(页面视图)组件

Cocos Creator 是一款流行的游戏开发引擎,具有丰富的组件和工具,其中的PageView组件是一种用于实现分页视图效果的重要组件。它可以让我们在游戏中实现各种分页视图效果,例如引导页、轮播图等。 目录 一、组件介绍 二、组件属性 三、组件使…

OpenCV算法加速的一些学习总结

一、概述 算法加速在实际软件层面应用来说 大数据和复杂计算的过程中 算法优化,指降低算法计算复杂度,设计新算法快速求解,比如Hungarian匹配算法。或牺牲一些内存,预计算一些重复计算的过程,减少程序层面的复杂度。 …

c语言实例练习笔记

本博文参考题目的地址看右边----》C 语言实例 | 菜鸟教程 以下为个人边练习边敲记录(解法不一定和官方一样,会自己扩展一些,练习嘛,肯定是学到的都用上,算检验之前的学进去的是不是对的。) C 语言实例 - …

【项目管理】ubuntu2204 图片合成视频

ubuntu 22.04 多张图片合成视频,多个视频合成一个大视频 环境: ubuntu 22.04 LTS 工具: ffmpeg ffmpeg 多张图片合成视频 在 ubuntu 下全选目录下的所有文件,右键 rename, 选择 1,2,3,4 即可;当然也可以使用其他命名方…

uni-app 中模拟器真机运行app

之前打包过app,调试方式是用usb连接电脑和手机,过程中也遇到了很多问题,忘记了怎么解决的,今天又遇到了打包app的项目,因为在开发app这方面经验不足,所以踩了很多坑,花了好几个小时才研究好app在…

学系统集成项目管理工程师(中项)系列06a_信息系统安全管理(上)

1. 信息安全 1.1. 保护信息的保密性、完整性、可用性 1.2. 另外也包括其他属性,如:真实性、可核查性、不可抵赖性和可靠性 2. 信息安全属性及目标 2.1. 保密性(Confidentiality) 2.1.1. 信息不被泄露给未授权的个人、实体和过程或不被其…

【python】统计代码行数 | 统计当前文件夹里所有代码文件的行数

背景 写了一堆.cs文件 想看看一共写了多少行 代码 import os import chardet# Check if a file has the given extension def has_extension(file, extension):return os.path.splitext(file)[1] extension# Count the number of non-empty lines in a file def count_line…

拍照时脸背光怎么办?拍摄的逆光人像照如何修复才能更好看?

拍摄逆光人像会产生迷人的轮廓光,发丝看起来会很美丽,并可能拍到好看的星芒,但是!直接拍摄很可能经常会对不上焦,或者会拍出大黑脸,这时就需要很多技巧啦。 完成一张好的逆光照片需要前期拍摄和后期修图相…

生成式模型与辨别式模型

分类模型可以分为两大类:生成式模型与辨别式模型。本文解释了这两种模型类型之间的区别,并讨论了每种方法的优缺点。 辨别式模型 辨别式模型是一种能够学习输入数据和输出标签之间关系的模型,它通过学习输入数据的特征来预测输出标签。在分类问题中&…

Revit相关问题:符号线,转转问题,生成三维视图

一、Revit符号线如何画粗一些?如何自定义符号线子类别? 1、Revit在族里面符号线的粗细、显示颜色、显示线型为符号线的子类别控制! 你可以通过,管理选项卡新建子类别,然后在画符号线的时候应用该子类别! 新建符号线对象样式 应用子类别 二、Revit三维模…

YOLOv7+单目跟踪

YOLOv7单目跟踪 1. 目标跟踪2. 测距模块2.1 设置测距模块2.2 添加测距 3. 实验效果 相关链接 1. YOLOv5单目测距(python) 2. YOLOv7单目测距(python) 3. 具体效果已在Bilibili发布,点击跳转 1. 目标跟踪 用yolov7实现…

Moviepy模块之视频添加图片水印

文章目录 前言视频添加图片水印1.引入库2.加载视频文件3.加载水印图片4.缩放水印图片大小5.设置水印的位置5.1 相对于视频的左上角5.2 相对于视频的左下角5.3 相对于视频的右上角5.4 相对于视频的右下角5.5 相对于视频的左中位置5.6 相对于视频的正中位置5.7 相对于视频的右中位…

【设计模式】23种设计模式之结构型模式

一、适配器设计模式 1、是什么? 1、适配器模式将某个类的接口转换成客户端期望的另一个接口表示,主要的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作 2、适配器模式属于结构型模式 3、主要分为三类:类适配…

【机器学习】EM原理和K-mean聚类

一、教程说明 EM算法就是expect maxmise算法,就是“期望最大化”的缩写。本篇首先提出:1 什么是期望? 2 期望最大化是个啥意思?k-mean聚类中如何用EM算法? 所涉及的概念: 期望 期望的加权平均理解 概率…

工业网关开发:IxCahriot测试吞吐量

吞吐量测试可以确定被测试设备或被测试系统在不丢弃包的情况下,设备或系统能够接受并转发的最大有效数据。在测试中以一定的速率发送一定数量的帧,并计算待测设备接收的帧,如果发送的帧与接受的帧数量相等,那么就将发送速率提高并…