Linux高级

本文涉及的产品
云防火墙,500元 1000GB
简介: Linux高级

一:Linux命令

1.文件目录操作命令

1.1 ls

作用: 显示指定目录下的内容 list

语法: ls [-al] [dir]

说明:

   -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)-all

   -l 除文件名称外,同时将文件型态(d表示目录,-表示文件, l表示软件连的文件)、权限、拥有者、文件大小等信息详细列出


注意:

   由于我们使用ls命令时经常需要加入-l选项,所以Linux为ls -l命令提供了一种简写方式,即ll

  常见用法:

   ls -al     查看当前目录的所有文件及目录详细信息

   ls -al /etc   查看/etc目录下所有文件及目录详细信息

   ll      查看当前目录文件及目录的详细信息  

1.2 cd

作用: 用于切换当前工作目录,即进入指定目录

语法: cd [dirName]

 

特殊说明:

   ~    表示用户的home目录

       如果当前用户是root,则切换到root用户下,普通用户则切换到home目录下

   .     表示目前所在的目录

   ..     表示目前目录位置的上级目录

 

举例:

   cd     ..        切换到当前目录的上级目录

   cd     ~        切换到用户的home目录

   cd     /usr/local    切换到/usr/local目录

1.3 more

作用: 以分页的形式显示文件内容

语法: more fileName

特点:独占一个命令终端窗口,并且适合读取大的文件内容,且按照百分比加载展示;

使用场景:读取一些大文件,且从头开始读取的场景

操作说明:

   回车键     向下滚动一行

   空格键     向下滚动一屏

   b         返回上一屏

   q或者Ctrl+C    退出more

 

举例:

   more /etc/profile        以分页方式显示/etc目录下的profile文件内容

1.4 cat

作用: 用于显示文件内容

特点:一次性全量查看文件内容

使用场景:一般用在小文件读取的场景(大文件不适用)

语法: cat [-n] fileName

说明:

   -n: 由1开始对所有输出的行数编号(显示行号-number)


举例:

   cat /etc/profile        查看/etc目录下的profile文件内容

   cat -n /etc/profile

1.5 tail

作用: 查看文件末尾的内容

语法: tail [-f] fileName

使用场景:可以实时查看文件末尾行的动态变化,方便实时追踪

说明:

   -f : 实时的动态读取文件末尾内容并显示,通常用于日志文件的内容输出

 

举例:

tail /etc/profile        显示/etc目录下的profile文件末尾10行的内容

tail -20 /etc/profile    显示/etc目录下的profile文件末尾20行的内容

tail -f /itcast/my.log    动态读取/itcast目录下的my.log文件末尾内容并显示

               一旦使用-f后,命令会独占一个终端窗口;

               使用ctrl+c退出

1.6 mkdir

作用: 创建目录

语法: mkdir [-p] dirName

说明:

   -p: 确保目录名称存在,不存在的就创建一个。通过此选项,可以实现多层目录同时创建


举例:

   mkdir itcast  在当前目录下,建立一个名为itcast的子目录

   mkdir -p itcast/test   在工作目录下的itcast目录中建立一个名为test的子目录,若itcast目录不存在,则建立一个

1.7 rmdir

作用: 删除空目录 (remove directory)

语法: rmdir [-p] dirName

说明:

   -p: 当子目录被删除后使父目录为空目录的话,则一并删除

       反之,如果父目录不为空,则不删除


举例:

   rmdir itcast   删除名为itcast的空目录

   rmdir -p itcast/test   删除itcast目录中名为test的子目录,若test目录删除后itcast目录变为空目录,则也被删除

   rmdir itcast*   删除名称以itcast开始的空目录

2.拷贝移动命令

2.1 cp

作用: 用于复制文件或目录(copy)

语法: cp [-r] source dest

   -r:表示对目录递归复制

   source:源文件/目录

   dest:目的地


说明:

   -r: 如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件


举例:

   cp hello.txt itcast/            将hello.txt复制到itcast目录中

   cp hello.txt ./hi.txt           将hello.txt复制到当前目录,并改名为hi.txt

   cp -r itcast/ ./itheima/        将itcast目录和目录下所有文件复制到itheima目录下

   cp -r itcast/* ./itheima/          将itcast目录下所有文件复制到itheima目录下

2.2 mv

作用: 为文件或目录改名、或将文件或目录移动到其它位置(move)

语法: mv source dest

举例:

   mv hello.txt hi.txt                 将hello.txt改名为hi.txt(移动hello.txt到当前位置,并重命名=重命名)

   mv hi.txt itheima/                  将文件hi.txt移动到itheima目录中

   mv hi.txt itheima/hello.txt           将hi.txt移动到itheima目录中,并改名为hello.txt

   mv itcast/ itheima/                 如果itheima目录不存在,将itcast目录改名为itheima

   mv itcast/ itheima/                 如果itheima目录存在,将itcast目录移动到itheima目录中

3.打包压缩命令

tar

作用对文件进行打包、解包、压缩、解压

语法: tar  [-zcxvf]  fileName  [files]

   约定:

       包文件后缀为.tar表示只是完成了打包,并没有压缩

       包文件后缀为.tar.gz表示打包的同时还进行了压缩

说明:

   -z: z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压

   -c: c代表的是create,即创建新的包文件(打包)--》(如果c与z参数配合,则表示打包并压缩)

   -x: x代表的是extract,实现从包文件中还原文件(拆包)-->(如果x与z参数配合,则表示解压并拆包)

   -v: v代表的是verbose,显示命令的执行过程

   -f: f代表的是file,用于指定包文件的名称

   注意点:命令中x与c二选一,如果z配合c一块使用,表示打包并压缩

           如果z配合x一块使用,表示解压并拆包

注意:指令f一定放到最后

4.文本编辑命令

4.1 vi

作用: vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于Windows中的记事本

语法: vi fileName

说明: 1). vim是从vi发展来的一个功能更加强大的文本编辑工具,编辑文件时可以对文本内容进行着色,方便我们对文件进行编辑处理,所以实际工作中vim更加常用。 2). 对于vim命令,如果在你的linux系统上没有安装,需要我们自己安装。可以使用下面的命令来完成安装:yum install vim

4.2 vim

作用: 对文件内容进行编辑,vim其实就是一个文本编辑器 语法: vim fileName 说明: 1). 在使用vim命令编辑文件时,如果指定的文件存在则直接打开此文件。如果指定的文件不存在则新建文件。 2). vim在进行文本编辑时共分为三种模式,分别是 命令模式(Command mode),编辑模式(Insert mode)和底行模式(Last line mode)。这三种模式之间可以相互切换。我们在使用vim时一定要注意我们当前所处的是哪种模式。  

1)在命令模式下进入编辑模式的按键
命令 描述
i 在光标的前面插入字符
a 在光标的后面添加入字符
o 在光标下一行插入字符
2)命令模式下常用的编辑命令
命令 描述
yy 复制当前行
p 粘贴
dd 删除当前行
u 撤销
/字符串 搜索字符串的内容 n: 查找下一个 N:查找前一个
3)在命令模式下进入底行模式的按键
命令 描述
:wq write quit 保存退出
:q! 强制退出,不保存
:wq! 强制保存退出,用于只读文件

5.查找命令

grep

使用字符串搜索文本,并把匹配的行和行号打印出来。


grep 参数 搜索的字符串 搜索的文件

说明:

   1.在文件外部就可以进行字符串的搜索行

   2.参数:

       i:忽略大小写

       n:行号

       v:不匹配

   3.搜索的内容所属的文件必须存在当前目录中

二:在Linux上安装Jdk

前言:其实在实际的开发中,安装软件并不是后端开发人员所掌握的,而是由运维人员去实现的,但作为一个后端开发人员,我么也要去了解一下其Linux安装软件的运作方式。

在Linux系统中,安装软件的方式主要有四种,这四种安装方式的特点如下:

安装方式 特点
二进制发布包安装 软件已经针对具体平台编译打包发布,只要解压,修改配置即可。例如tomcat
rpm(redhat package manager)安装 软件已经按照redhat的包管理规范进行打包,使用rpm命令进行安装,==但是包之间有可能具有依赖关系,因此不能自行解决库依赖问题,比较麻烦。==
yum安装 一种在线软件安装方式,本质上还是rpm安装,自动下载安装包并安装,安装过程中自动解决库依赖问题(安装过程需要联网)
源码编译安装 软件以源码工程的形式发布,需要自己编译打包。类似.java文件需要编译成.class文件安装方式。第一个二进制发布包安装相当于直接拿到.class文件直接安装。

在linux操作系统下,我们常将软件安装在自定义的目录下,例如soft文件下

操作步骤:

1、在/usr/local目录下创建自定义soft目录

2、使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux

3、切换到soft目录下

4、解压安装包,命令为tar -zxvf jdk-8u171-linux-x64.tar.gz(有关的jdk8的安装包可以关注博主私信)

5、配置环境变量,使用vim命令修改/etc/profile文件,在文件末尾加入如下配置 按字母G跳转到文件尾部

   # 注意:/usr/local/soft/jdk1.8.0_171 路径不固定,是你的jdk路径位置,复制下面的路径到配置文件/etc/profile

   JAVA_HOME=/usr/local/soft/jdk1.8.0_171

   CLASSPATH=.:$JAVA_HOME/lib

   PATH=$JAVA_HOME/bin:$PATH

   export JAVA_HOME CLASSPATH PATH

6、重新加载profile文件,使更改的配置立即生效,命令为source /etc/profile

7、检查安装是否成功,命令为java -version ,若出现了java的版本号,即安装成功!

三:在Linux上安装Tomcat

1、使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux

2、切换到soft目录下

3、解压安装包,命令为tar -zxvf apache-tomcat-8.5.27.tar.gz(有关的tomcat的安装包可以关注博主私信)

4.启动tomcat,进入相应目录(tomcat的bin目录),在Linux操作系统下,启动tomcat为:startup.sh

5.查看linux的所有进程命令为:ps -aux | grep tomcat

(**注意:"|" 为linux的管道符)若出现 tommcat.start 即表示启动成功,如下图

安装好tomcat后,我们可以在windows访问tomcat会出现访问失败,这是因为linux系统本身的防火墙原因,解决方法有两个,第一为:关闭防火墙(不安全) 第二为:暴露端口号

以下为操作防火墙的命令

操作 指令 备注
查看防火墙状态 ==systemctl status firewalld== / firewall-cmd --state
关闭防火墙 systemctl stop firewalld
永久关闭防火墙(禁用开机自启) systemctl disable firewalld ==下次启动,才生效==
暂时开启防火墙 systemctl start firewalld
永久开启防火墙(启用开机自启) systemctl enable firewalld ==下次启动,才生效==
重启防火墙 systemctl restart firewalld
开放指定端口 firewall-cmd --zone=public --add-port=8080/tcp --permanent ==需要重新加载生效==
关闭指定端口 firewall-cmd --zone=public --remove-port=8080/tcp --permanent ==需要重新加载生效==
立即生效(重新加载) firewall-cmd --reload
查看开放端口 firewall-cmd --zone=public --list-ports

注意:

A. systemctl是管理Linux中服务的命令,可以对服务进行启动、停止、重启、查看状态等操作

B. firewall-cmd是Linux中专门用于控制防火墙的命令

C. 为了保证系统安全,服务器的防火墙不建议关闭

因此采用关闭防火墙为:

systemctl stop firewalld

采用暴露端口号为:

①. 先开启系统防火墙

systemctl start firewalld

②. 再开放8080端口号

firewall-cmd --zone=public --add-port=8080/tcp --permanent

③. 重新加载防火墙

firewall-cmd --reload

关闭tomcat也有两种方法

一为:在tomcat的bin目录下有一个为shutdown.sh的命令,二是:使用ps -aux | grep tomcat 查看tomcat的进程号,在使用 kill -9 进程号 强制杀死进程

相关文章
|
Web App开发 缓存 JavaScript
Node.js安装教程(图文版)
Node.js安装教程(图文版)
1780 0
Node.js安装教程(图文版)
|
12月前
|
缓存 负载均衡 监控
微服务架构下的接口性能优化策略####
在当今快速迭代的软件开发领域,微服务架构以其灵活性和可扩展性成为众多企业的首选。然而,随着系统复杂性的增加,接口性能问题日益凸显,成为制约用户体验与系统稳定性的关键因素。本文旨在探讨微服务架构下接口性能优化的有效策略,通过具体案例分析,揭示从代码层面到系统架构层面的全方位优化路径,为开发者提供实战指南。 ####
|
Java 数据库
异步&线程池 CompletableFuture 异步编排 实战应用 【终结篇】
这篇文章通过一个电商商品详情页的实战案例,展示了如何使用`CompletableFuture`进行异步编排,以解决在不同数据库表中查询商品信息的问题,并提供了详细的代码实现和遇到问题(如图片未显示)的解决方案。
异步&线程池 CompletableFuture 异步编排 实战应用 【终结篇】
|
存储 运维 Linux
运维系列.在Docker中使用Grafana(一)
运维系列.在Docker中使用Grafana(一)
1810 5
|
缓存 算法 Java
Go语言性能调优:核心策略与技巧
【2月更文挑战第18天】本文详细探讨了Go语言性能调优的核心策略和技巧。我们将从代码层面、内存管理、并发控制等多个维度出发,介绍如何通过优化代码结构、减少内存分配、提高并发效率等手段来提升Go程序的性能。通过本文的学习,将能够掌握一套实用的Go语言性能调优方法,为提升程序性能提供有力支持。
|
安全 物联网 数据安全/隐私保护
ensp中PPPOE (点对点协议)原理和配置命令
ensp中PPPOE (点对点协议)原理和配置命令
570 0
|
SQL 数据采集 分布式计算
Dataphin功能大图(三)研发:设计即研发,规范建模保障数据模型与代码的一致性
在《Dataphin核心功能: 规划功能》一文中, 讲到过Dataphin的OneModel方法论将数据建设分为四层, 分别为主题域模型(建模), 概念模型, 逻辑模型和分析模型。本文将继续展开逻辑模型和分析模型的讲解。
Dataphin功能大图(三)研发:设计即研发,规范建模保障数据模型与代码的一致性
|
存储 运维 算法
PolarDB-X 一致性共识协议 (X-Paxos)
近几年NewSQL和云原生数据库的不断兴起,极大地推动了关系数据库和一致性协议的结合,PolarDB-X也是在这样的背景下应运而生。
2222 0
PolarDB-X 一致性共识协议 (X-Paxos)
|
Android开发 网络架构
【Android App】检查手机连接WiFi信息以及扫描周围WiFi的讲解及实战(附源码和演示 超详细必看)
【Android App】检查手机连接WiFi信息以及扫描周围WiFi的讲解及实战(附源码和演示 超详细必看)
1761 1
|
SQL 分布式计算 Hadoop
数据治理的王者——Apache Atlas
数据治理的王者——Apache Atlas
2262 0
数据治理的王者——Apache Atlas
下一篇
开通oss服务