)
LinuxLinux是一套免费使用和自由传播的操作系统Linux概述系统安装Linux系统分为内核版和发行版内核版由Linux核心团队开发、维护免费、开源负责控制硬件发行版基于Linux内核版进行扩展由各个Linux厂商开发、维护有收费版本和免费版本Linux系统发行版:Ubuntu:以桌面应用为主免费RedHat:面向企业用户收费CentOS:RedHat的社区版免费Fedora:功能完备、快速更新免费openSUSE:对个人完全免费、图形界面华丽红旗Linux:北京中科红旗软件技术有限公司开发安装方式Linux系统的安装方式物理机安装:直接将操作系统安装到服务器硬件上虚拟机安装:通过虚拟机软件安装虚拟机(VirtualMachine)指通过软件模拟的具有完整硬件系统功能、运行在完全隔离环境中的完整计算机系统。VMWare WorkStationVirtualBoxVMLite WorkStation虚拟机网络配置安装完毕之后需要配置网络才可以在windows系统上连接虚拟机上的linux系统挂载镜像解压CentOS7的镜像压缩包到磁盘目录然后双击 .vmx 文件完成挂载。然后启动服务器 (root/1234)小结1.虚拟网络编辑器-NAT模式-子网IP:设置为192.168.100.02.查看IP地址的命令:ip addr3.如果没有IP地址:执行 ./start-ens33.sh 脚本手动激活ens33网卡4.启动/停止/重启Linux系统:图形化界面/命令(init0:关闭init 6:童启)远程连接远程连接工具常用的SSH(Secure Shell,安全外壳协议)远程连接工具: Putty、SecurecRT、Xshell、FinalShell等.finalshell安装finalshell连接Linux目录介绍Linux目录 VS Windows目录Linux系统中的目录特点:1./是所有目录的顶点2.目录结构像一颗倒挂的树Linux目录结构bin存放二进制可执行文件boot 存放系统引导时使用的各种文件dev 存放设备文件etc 存放系统配置文件home 存放系统用户的文件lib存放程序运行所需的共享库和内核模块opt额外安装的可选应用程序包所放置的位置root 超级用户目录sbin存放二进制可执行文件只有root用户才能访问tmp存放临时文件usr存放系统应用程序var存放运行时需要改变数据的文件例如日志文件小结Linux常用命令Linux命令格式:command[-options][parameter]说明:command:命令名[-options]:选项可用来对命令进行控制也可以省略(可选)[parameter]:参数可以是零个、一个或多个(可选)使用技巧:Tab键自动补全连续两次Tab键给出操作提示使用上下箭头快速调出曾经使用过的命令使用clear命令或Ctrll快捷键实现清屏目录操作命令1.ls作用:显示指定目录下的内容语法:ls[-al][dir]选项:-a:显示所有文件及目录(.开头的隐藏文件也会列出)-1:除文件名称外同时将文件类型(d表示目录-表示文件)、权限、拥有者、文件大小等信息详细列出提示:由于我们使用ls命令时经常需要加入-1选项所以Linux为ls-1命令提供了一种简写方式即ll2.pwd查看当前是什么目录3.cd作用:用于切换当前工作目录即进入指定目录语法:cd [dirName]说明:表示目前所在的目录..表示目前目录位置的上级目录表示用户的home目录举例:cd. 切换到当前目录的上级目录cd~ 切换到用户的home目录cd /usr/local 切换到/usr/local目录cd - 切换到上一次所在目录4.mkdir作用:创建目录语法:mkdir [-p] dirName说明:-p:确保目录名称存在不存在的就创建一个。通过此选项可以实现多层目录同时创建举例:mkdir itcast 在当前目录下建立一个名为itcast的子目录mkdir -p itcast/test 在itcast目录中创建test子目录若itcast目录不存在则建立一个5.rm作用:删除文件或者目录语法:Km[-rf]name说明:-r:将目录及目录中所有文件(目录)逐一删除即递归删除-f:无需确认直接删除举例:rm -r itcast/ 删除名为itcast的目录和目录中所有文件删除前需确认rm -rf itcast/ 无需确认直接删除名为itcast的目录和目录中所有文件rm -fhello.txt 无需确认,直接删除hello.txt文件小结文件操作命令1.cat作用:用于显示文件的所有内容语法:cat [-n]fileName说明:-n:由1开始对所有输出的行数编号举例:cat /etc/profile 查看/etc目录下的profile文件内容2.more作用:以分页的形式显示文件内容语法:more fileNameA操作说明:回车键 向下滚动一行空格键 向下滚动一屏b 返回上一屏q或CtrlC 退出more举例:more /etc/profile 以分页方式显示/etc目录下的profile文件内容3.head作用:查看文件开头的内容语法:head[-n] fileName说明:-n:输出文件开头的n行内容举例:head 1.log 默认显示1.log文件开头的10行内容head -20 1.log 显示1.log文件开头的20行内容4.tail作用:查看文件末尾的内容语法:tail[-nf] fileName说明:-n:输出文件末尾的n行内容-f:动态读取文件末尾内容并显示通常用于日志文件的内容输出举例:tail 1.log 默认显示1.log文件末尾10行的内容tail -20 1.log 显示1.log文件末尾20行的内容tail -f 1.log 动态读取1.log文件末尾内容并显示(实时刷新)5.echo作用:在文件末尾追加内容语法:echo 内容 文件名说明: 重定向举例:echo 11111111111111 tlias.log 向文件tlias.log 后11111小结拷贝移动命令1.cp作用:用于复制文件或目录语法:cp[-r]source dest选项:-r:如果复制的是目录需要使用此选项此时将复制该目录下所有的子目录和文件举例:cp hello.txt itcast/ 将hello.txt复制到itcast目录中cp hello.txt ./hi.txt 将hello.txt复制到当前目录并改名为hi.txtcp -r itcast/./itheima/ 将itcast目录和目录下所有文件复制到itheima目录下cp -r itcast/*./itheima/ 将itcast目录下所有文件复制到itheima目录下2.mv作用:为文件或目录重命名、或将文件或目录移动到其它位置(第二个参数是已存在的目录执行移动)语法:mv source dest举例:mv hello.txt hi.txt 将hello.txt改名为hi.txtmv hi.txt itheima/ 将文件hi.txt移动到itheima目录中mv hi.txt itheima/hello.txt 将hi.txt移动到itheima目录中并改名为hello.txtmv itcast/ itheima/ 如果itheima目录不存在将itcast目录改名为itheimamv itcast/ itheima/ 如果itheima目录存在将itcast目录移动到itheima目录中小结打包压缩命令1.tar作用:对文件进行打包、解包、压缩、解压语法:tar[-zcxvf] fileName [files]说明:. 包文件后缀为.tar表示只是完成了打包并没有压缩包文件后缀为.tar.gz表示打包的同时还进行了压缩选项:·-z: z代表的是gzip通过gzip命令处理文件gzip可以对文件压缩或者解压· -c: c代表的是create即创建新的包文件· -x: x代表的是extract实现从包文件中还原文件· -v: v代表的是verbose显示命令的执行过程-f: f代表的是file用于指定包文件的名称小结文本编辑命令1.vi/vim作用:vi命令是Linux系统提供的一个文本编辑工具可以对文件内容进行编辑类似于Windows中的记事本语法:vi fileName说明:1、vim是从vi发展来的一个功能更加强大的文本编辑工具在编辑文件时可以对文本内容进行着色(更常用)。2、要使用vim命令需要我们自己完成安装。可以使用下面的命令来完成安装:yuminstallvimvim:作用:对文件内容进行编辑vim其实就是一个文本编辑器语法:vim fileName小结查找命令1.find作用:在指定目录下查找文件语法:find dirName -option fileName举例:find . -name *.log 在当前目录及其子目录下查找.log结尾文件find /itcast -name *. log 在/itcast目录及其子目录下查找.log结尾的文件2.grep作用:从指定文件中查找指定的文本内容语法:grep [-inAB] word fileName选项:-i:检索的关键字忽略(ignore)大小写-n:显示关键字所在的这一行的行号-A:输出关键字所在行及之后(After)的几行记录(如:-A5 表示输出关键字所在行之后的5行记录)-B:输出关键字所在行及之前(Before)的几行记录(如:-B5 表示输出关键字所在行之前的5行记录)举例:grep Hello Helloworld.java 查找Helloworld.java文件中出现的Hello字符串的位置grep hello *.java 查找当前目录中所有.java结尾的文件中包含hello字符串的位置小结1.find与grep都是查找命令两者之间的区别是什么?·find命令是根据文件的属性(如:文件名)来查找文件的grep命令是根据指定的关键字来查找文件内容的Linux软件安装安装方式介绍二进制发布包安装软件已经针对具体平台编译打包发布只要解压修改配置即可rpm安装软件已经按照redhat的包管理规范进行打包使用rpm命令进行安装不能自行解决库依赖问题yum安装一种在线软件安装方式本质上还是rpm安装自动下载安装包并安装安装过程中自动解决库依赖问题源码编译安装软件以源码工程的形式发布需要自己编译打包安装JDK操作步骤:1、使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linuxdk-17.0.10_linux-x64_bin.tar.gz上传到root目录下2、解压安装包, 命令为 tar -zxvf jdk-17.0.10_linux-x64_bin.tar.gz -C /usr/localpwd 查看JDK路径3、配置环境变量使用vim命令修改/etc/profile文件 vim /etc/profile在文件末尾加入如下配置export JAVA_HOME/usr/local/jdk-17.0.10export PATH$JAVA_HOME/bin: $PATH4、重新加载profile文件使更改的配置立即生效命令为source /etc/profile5、检查安装是否成功命令为java -version安装MySQL具体方法看讲义https://heuqqdmbyk.feishu.cn/wiki/SE5owqapKiXSySkrHduchs4ynac1.准备工作:卸载Linux系统中自带的mysql/mariadb安装包否则MySQL将安装失败rpm -qa | grep mariadbrpm -e -nodeps mariadb-libs-5.5.60-1.el7_5.x86_642.下载并上传mysql安装包mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz3.解压安装包到当前目录并将解压后的文件夹移动到/usr/local目录下改名为mysqltar -xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz4.配置环境变量(编辑/etc/profile追加内容)export MYsQL_HOME/usr/local/mysqlexport PATH$MYSQL_HOME/bin:$PATH5.注册MySQL为系统服务cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqlchkconfig --add mysql6.初始化数据库groupadd mysqluseradd -r -g mysql -s /bin/false mysqlmysqld --initialize --user-mysql --basedir/usr/local/mysql --datadir/usr/local/mysql/data初始化完毕后日志中会输出mysql的root用户的临时密码记得复制记录下来。7.启动服务登录MySQLsystemctl start mysqlmysql -uroot -pxxxxx8.配置MySQL的root用户的密码授权远程访问ALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY 1234;CREATE USER root% IDENTIFIED BY 1234;GRANT ALL PRIVILEGES ON *.* TO root%;FLUSH PRIVILEGES;防火墙操作防火墙的常用操作如下查看防火墙状态systemctl status firewalld或firewall-cmd --state关闭防火墙systemctl stop firewalld开启防火墙systemctl start firewalld永久关闭防火墙systemctl disable firewalld端口管理操作如下开放指定端口firewall-cmd --zonepublic --add-port8080/tcp --permanent关闭指定端口firewall-cmd --zonepublic --remove-port8080/tcp --permanent使配置立即生效重载firewall-cmd --reload查看已开放的端口firewall-cmd --zonepublic --list-ports注意事项1.systemctl是 Linux 中管理服务的命令可以对服务进行启动、停止、重启、查看状态等操作。2.firewall-cmd是 Linux 中专门用于控制防火墙的命令。3. 为了保证系统安全生产服务器的防火墙不建议关闭。安装Nginx安装nginx运行时需要的依赖:yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel上传nginx的源码包nginx-1.20.2.tar.gz解压源码包到当前目录:tar-zxvf nginx-1.20.2.tar.gz进入到解压目录(cd nginx-1.20.2)后,执行指令:./configure --prefix/usr/local/nginx执行编译nginx的指令:make执行安装nginx的指令,安装到上述指定的/usr/local/nginx 目录:make install进入到nginx安装目录/usr/local/nginx,启动nginx服务:sbin/nginx停掉nginx sbin/nginx -s quit项目部署前端项目部署1.将资料\06.项目部署\前端\页面资源文件夹下的打包好的静态资源上传到nginx的html目录中2.配置nginx的配置文件在conf/nginx.conf 中配置反向代理服务器及路径重写规则。3.在nginx的安装目录中,执行 sbin 目录下的nginx命令启动nginx服务:sbin/nginx或 sbin/nginx -s reload小结1.nginx 启动、停止、重新加载操作?·启动:sbin/nginx停止:sbin/nginx-s quit· 重新加载:sbin/nginx -s reload后端项目部署1.执行maven的父工程中的package生命周期对项目进行打包 [打包之前先连接上服务器数据库先测试通过]。2.在linux服务器的/usr/local目录下创建一个目录tlias-app将jar包上传到服务器的 /usr/7ocal/tlias-app 目录中。3.然后在命令行执行命令运行jar包:java-jarxxxxxx.jar上述执行运行jar包之后会占用前台窗口窗口关闭服务也就停了。可以使用nohup指令后台运行服务执行指令:nohupjava -jar xxxxxx.jar tlias.log查看进程:ps-ef|grepxxxx实时看到文件的日志tail -f tlias.log杀死后台进程kill -9 进程ID小结1.如何让linux中的命令在后台运行不占用前台窗口?nohup.... xxx.log2.查看系统进程的命令?杀死系统进程的命令?ps -efps -ef | grep javakill -9 xxxx