Linux基础

学习目标

  • 了解Linux的简介与安装
  • 掌握Linux常用的命令
  • 掌握Linux系统上JDK、Mysql、Tomcat的安装

1.Linux的基本命令

在这里插入图片描述

目录切换命令

    cd usr		切换到该目录下usr目录
	cd ../		切换到上一层目录
	cd /		切换到系统根目录
	cd ~		切换到用户主目录
	cd -		切换到上一个所在目录
	pwd         显示当前工作目录

目录操作命令

linux的命令遵循结构:命令 -[参数]

增加目录操作(增)

命令:mkdir 目录名称
迭代增加目录:mkdir -p 目录名称
示例:在根目录 / 下 mkdir test,就会在根目录 / 下产生一个test问目录
在这里插入图片描述

查看目录(查)

命令:ls [-al] 父目录
示例:在根目录 / 下使用ls,可以看到该目录下的所有的目录和文件
在这里插入图片描述
示例:在根目录 / 下使用ls -a,可以看到该目录下的所有文件和目录,包括隐藏的
在这里插入图片描述
示例:在根目录 / 下使用ls -l,可以看到该目录下的所有目录和文件的详细信息
在这里插入图片描述
注意:ls -l 可以缩写成ll

搜索目录(查)了解

命令:find 目录 参数 文件名称
示例:find /root -name ‘test*

修改目录的名称(改)

命令:mv 目录名称 新目录名称
示例:test目录下有一个oldTest目录,使用mv oldTest newTest命令修改
在这里插入图片描述
注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行 重命名的操作

移动目录的位置—剪切(改)

命令:mv 目录名称 目录的新位置
示例:在test下将newTest目录剪切到 /usr下面,使用mv newTest /usr
在这里插入图片描述
注意:mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作

拷贝目录(改)

命令:cp -r 目录名称 目录拷贝的目标位置 -----r代表递归
示例:将/usr下的newTest拷贝到根目录下的test中,使用cp -r /usr/newTest /test
在这里插入图片描述
注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不 用写-r递归

删除目录(删)

命令:rm [-rf] 目录
示例:删除/usr下的newTest,进入/usr下使用rm -r newTest
在这里插入图片描述
示例:删除/test下的newTest而不需要询问强制删除,在/test下使用rm -rf newTest
在这里插入图片描述
注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了方便大家的记忆, 无论删除任何目录或文件,都直接使用rm -rf 目录/文件/压缩包

文件的操作命令(增删改查)

文件的创建(增)

命令:touch 文件名称 ----- 空文件
示例:在test目录下创建一个空文件 touch aaa.txt
在这里插入图片描述

文件的查看(查)

命令:cat/more/less/tail 文件
示例:使用cat查看/etc/sudo.conf文件,只能显示最后一屏内容
cat命令不适合查看大文件 把内容读到缓冲区再打印出来
在这里插入图片描述
示例:使用more查看/etc/sudo.conf文件,可以显示百分比,回车可以向下一行, 空格可以向下一页,q可以退出查看 缺点:只能向下,不能向上
在这里插入图片描述
示例:使用less查看/etc/sudo.conf文件,可以使用键盘上的PgUp和PgDn向上 和向下翻页,q结束查看
在这里插入图片描述
示例:使用tail -10 查看/etc/sudo.conf文件的后10行,Ctrl+C结束
在这里插入图片描述
注意:命令 tail -f 文件 可以对某个文件进行动态监控,例如tomcat的日志文件, 会随着程序的运行,日志会变化,可以使用tail -f catalina-2016-11-11.log 监控文件的变化
-f前面加数字 表示倒数第几行

修改文件的内容(改)

命令:vim 文件
示例:编辑/test下的aaa.txt文件,使用vim aaa.txt
在这里插入图片描述
但此时并不能编辑,因为此时处于命令模式,点击键盘i/a/o进入编辑模式,可以 编辑文件
在这里插入图片描述
编辑完成后,按下Esc,退回命令模式
在这里插入图片描述
此时文件虽然已经编辑完成,但是没有保存,需输入冒号:进入底行模式,在底行模 式下输入wq代表写入内容并退出,即保存;输入q!代表强制退出不保存。
shift+zz快捷方式
在这里插入图片描述
关于vim使用过程:
vim 文件-------->命令模式--------->输入i---------->编辑模式----------->编辑文件----------->按下Esc--------->命令模式--------->按下:---------->底行模式----------->输入wq保存并退出/q!强制退出不保存
命令模式 编辑模式 底行模式

压缩文件的操作命令

打包并压缩文件
Windows的压缩文件的扩展名 .zip/.rar
linux中的打包文件:.tar
linux中的压缩文件:.gz
linux中打包并压缩的文件:.tar.gz

命令:tar -zcvf 打包压缩后的文件名 要打包的文件
其中:z:调用gzip压缩命令进行压缩
c:打包文件
v:显示运行过程
f:指定文件名
示例:打包并压缩/test下的所有文件 压缩后的压缩包指定名称为xxx.tar.gz
tar -zcvf xxx.tar.gz aaa.txt bbb.txt ccc.txt
或:tar -zcvf xxx.tar.gz /test/*
在这里插入图片描述
解压压缩包(重点)
命令:tar [-xvf] 压缩文件
其中:x:代表解压
示例:将/test下的xxx.tar.gz解压到当前目录下
tar -xvf xxx.tar.gz
在这里插入图片描述
示例:将/test下的xxx.tar.gz解压到根目录/usr下
tar -xvf xxx.tar.gz -C /usr------C代表指定解压的位置
在这里插入图片描述

其他命令

1.显示工作目录
命令:pwd
2.查看进程
命令:ps -ef —显示所有的进程
3.kill命令
命令:kill -9 pid(pid是进程的id)
4.搜索命令
命令:grep 要搜索的字符串 要搜索的文件
示例:搜索/usr/sudu.conf文件中包含字符串to的行
在这里插入图片描述
示例:搜索/usr/sudu.conf文件中包含字符串to的行 to要高亮显示
在这里插入图片描述

管道命令

命令:| 将前一个命令的输出作为本次目录的输入
示例:查看当前系统中所有的进程中包括system字符串的进程
在这里插入图片描述

网络通信命令

查看当前系统的网卡信息:ifconfig
在这里插入图片描述
查看与某台机器的连接情况:ping
在这里插入图片描述
查看当前系统的端口使用:netstat -an
在这里插入图片描述

关机命令

重启命令:reboot
立即关机:halt

Linux的权限命令

权限是Linux中的重要概念,每个文件/目录等都具有权限,通过ls -l命令我们可以 查看某个目录下的文件或目录的权限
在这里插入图片描述
第一列的内容的信息解释如下:
在这里插入图片描述

文件的类型:
d:代表目录
-:代表文件
l:代表链接(可以认为是window中的快捷方式)
后面的9位分为3组,每3位置一组,分别代表属主的权限,与当前用户同组的	用户的权限,其他用户的权限
r:代表权限是可读,r也可以用数字4表示
w:代表权限是可写,w也可以用数字2表示
x:代表权限是可执行,x也可以用数字1表示

在这里插入图片描述
修改文件/目录的权限的命令:chmod
示例:修改/test下的aaa.txt的权限为属主有全部权限,属主所在的组有读写权限,
其他用户只有读的权限
chmod u=rwx,g=rw,o=r aaa.txt
在这里插入图片描述
上述示例还可以使用数字表示:
chmod 764 aaa.txt
修改三组中的其中一组表示:
chmod o+w readme.txt
修改全部:
chmod u+rwx,g+rwx,o+rwx readme.txt

2.Linux软件安装

JDK安装

注意:rpm与软件相关命令 相当于window下的软件助手 管理软件
1)查看当前Linux系统是否已经安装java
输入 rpm -qa | grep java
在这里插入图片描述
2)卸载两个openJDK
输入rpm -e --nodeps 要卸载的软件
在这里插入图片描述
3)上传jdk到linux
4)解压jdk到/usr/local下 tar –xvf jdk-7u71-linux-i586.tar.gz –C /usr/local
5)配置jdk环境变量,打开/etc/profile配置文件,将下面配置拷贝进去

#set java environment
	JAVA_HOME=/usr/local/jdk
	PATH=$JAVA_HOME/bin:$PATH:.
	export JAVA_HOME PATH 

$PATH点的作用:有可执行脚本,不用写./,
$PATH作用:把JAVA_HOME追加到PATH里面
6)重新加载/etc/profile配置文件 命令:source profile

Tomcat安装

步骤:

		1)上传Tomcat到linux上
		2)解压Tomcat到/usr/local下
		3)开放Linux的对外访问的端口8080
		/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
		/etc/rc.d/init.d/iptables save
		4)启动关闭Tomcat
		进入tomcat的bin下启动:./startup.sh
		进入tomcat的bin下关闭:./shutdown.sh

Mysql安装

步骤:
1)查看CentOS自带的mysql
输入 rpm -qa | grep mysql
在这里插入图片描述
2)将自带的mysql卸载
在这里插入图片描述
3)上传或下载Mysql到linux

wget http://cdn.mysql.com/archives/mysql-5.6/MySQL-server-5.6.13-1.el6.x86_64.rpm
wget http://cdn.mysql.com/archives/mysql-5.6/MySQL-devel-5.6.13-1.el6.x86_64.rpm
wget http://cdn.mysql.com/archives/mysql-5.6/MySQL-client-5.6.13-1.el6.x86_64.rpm

4)解压Mysql到/usr/local/下的mysql目录(mysql目录需要手动创建)内
5)在/usr/local/mysql下安装mysql
安装服务器端:rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm
安装客户端:rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm
6)启动mysql
service mysql start
7)登录mysql
mysql安装好后会生成一个临时随机密码,存储位置在/root/.mysql_secret
在这里插入图片描述
msyql –u root -p
8)修改mysql的密码
set password = password(‘root’);
9)开启mysql的远程登录
默认情况下mysql为安全起见,不支持远程登录mysql,所以需要设置开启 远程登录mysql的权限
登录mysql后输入如下命令:
grant all privileges on *.* to 'root' @'%' identified by 'root';
flush privileges;
*正常来说可以换成对应的库 %正常来说是访问用户ip地址
10)开放Linux的对外访问的端口3306
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save —将修改永久保存到防火墙中

在这里插入图片描述

Redis安装

首先将下载的安装包上传的的Linux下,获取官网的的的Redis的对应版本的链接,使用了wget的命令都可以的。

由于redis的的是由Ç语言开发的,所以要安装一下GCC的编译环境。(使用Yum在线安装)
yum install -y gcc
检查一下是否安装成功了
rpm -qa |grep gcc
然后下载redis并且解压缩
wget http://download.redis.io/releases/redis-3.0.0.tar.gz

tar -zxvf redis-3.0.0.tar.gz
在这里插入图片描述
进入到指定刚才解压的目录里面
然后就是编译了

使用 make命令.
在这里插入图片描述
在src下面尝试启动服务
在这里插入图片描述
把redis下redis.conf放到src下
在这里插入图片描述
设置redis后台执行
在这里插入图片描述
redis后台运行
在这里插入图片描述
在这里插入图片描述

3.部署项目

准备任务

	1.端口开放
	2.配置安全组
	3.前后端项目一定要调好,位置问题,跨域问题,域名和ip也存在跨域问题
	4.mysql服务和redis服务启动
	5.后端war包,名叫ROOT就可以不用输项目名

1.首先在/usr/local下面建两个tomcat
在这里插入图片描述
2.更改两个tomcat/conf/server.xml端口号,两个tomcat的英文带port都不能一样,否则项目启动会出错
示例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.启动两个tomcat,运行成功
4.项目乱码解决方案
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在信号处理领域,DOA(Direction of Arrival)估计是一项关键技术,主要用于确定多个信号源到达接收阵列的方向。本文将详细探讨三种ESPRIT(Estimation of Signal Parameters via Rotational Invariance Techniques)算法在DOA估计中的实现,以及它们在MATLAB环境中的具体应用。 ESPRIT算法是由Paul Kailath等人于1986年提出的,其核心思想是利用阵列数据的旋转不变性来估计信号源的角度。这种算法相比传统的 MUSIC(Multiple Signal Classification)算法具有较低的计算复杂度,且无需进行特征值分解,因此在实际应用中颇具优势。 1. 普通ESPRIT算法 普通ESPRIT算法分为两个主要步骤:构造等效旋转不变系统和估计角度。通过空间平移(如延时)构建两个子阵列,使得它们之间的关系具有旋转不变性。然后,通过对子阵列数据进行最小二乘拟合,可以得到信号源的角频率估计,进一步转换为DOA估计。 2. 常规ESPRIT算法实现 在描述中提到的`common_esprit_method1.m`和`common_esprit_method2.m`是两种不同的普通ESPRIT算法实现。它们可能在实现细节上略有差异,比如选择子阵列的方式、参数估计的策略等。MATLAB代码通常会包含预处理步骤(如数据归一化)、子阵列构造、旋转不变性矩阵的建立、最小二乘估计等部分。通过运行这两个文件,可以比较它们在估计精度和计算效率上的异同。 3. TLS_ESPRIT算法 TLS(Total Least Squares)ESPRIT是对普通ESPRIT的优化,它考虑了数据噪声的影响,提高了估计的稳健性。在TLS_ESPRIT算法中,不假设数据噪声是高斯白噪声,而是采用总最小二乘准则来拟合数据。这使得算法在噪声环境下表现更优。`TLS_esprit.m`文件应该包含了TLS_ESPRIT算法的完整实现,包括TLS估计的步骤和旋转不变性矩阵的改进处理。 在实际应用中,选择合适的ESPRIT变体取决于系统条件,例如噪声水平、信号质量以及计算资源。通过MATLAB实现,研究者和工程师可以方便地比较不同算法的效果,并根据需要进行调整和优化。同时,这些代码也为教学和学习DOA估计提供了一个直观的平台,有助于深入理解ESPRIT算法的工作原理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值