jy-13-LINUX——Linux
时间:2022-09-01 11:30:00
目录:
1、day01-Linux-什么是Linux
2、day02-Linux-文件管理命令
3、day03-Linux -Windows SSH 客户端工具
4、Linux-下载命令wget
5、在linux下启动tomcat命令
张闹:
1、day01-Linux-什么是Linux
-
是一个OS,是Unix克隆版
-
Linux广泛使用
Linux 命令
命令的基本结构
命令 [选项]... [参数]... ls :当前目录的文件 ls -a :包括以点开头的文件 ls -a / ls -al / ls -a -l / ~ :用户主目录
使用命令操作Linux
pwd 显示当前工作目录 ls 显示文件目录的内容 cd 改变工作目录
文件管理命令
创建、删除、移动、更名等功能
创建文件夹命令:
mkdir 文件夹
创建文件命令
touch 文件名
移动或更名命令
mv 文件 文件夹 新文件 新文件夹 mv 被移动文件 移动文件夹 文件夹已经存在
2、day02-Linux-文件管理命令
复制文件
命令(copy):
cp 源文件 目标文件/文件夹 cp -r 源文件夹 目标文件夹
删除命令
命令(remove):
rm 文件1 文件2 文件2 ... rm -rf 文件夹1 文件夹2... -r:递归删除 -rf:强迫删除
远程连接
SSH 用于进行Linux远程操作, 其原理为:
打包命令 tar
打包命令
tar -czvf 文件名.tar.gz 文件夹1 文件夹2 文件1 文件2 ... -c 选项: create 创建文件包 -z 选项: 将包进行gzip压缩 使用z选项时 应该使用 .gz 结尾 -v 选项: 显示打包的过程,如果不添加V,则不显示包装过程 -f 选项: 指定目标文件名称 后续参数是包装文件或文件夹
案例:
cd tar -czvf tomcat8.tar.gz apache-tomcat-8.0.24 如上命令将 apache-tomcat-8.0.24 文件夹打包成文件 tomcat8.tar.gz
释放文件:
tar -xzvf 文件名.tar.gz -x 选项: 释放文件 -z 选项: 使用gzip算法解压缩 -v 选项: 检查释放过程 -f 选项: 指定发布的文件 > 注意: 将文件发布到当前文件夹中!
案例:
mkdir test1 cd test1 tar -xzvf ../tomcat8.tar.gz
将数据上载到服务器测试:
$ tar -czf demo.tar.gz demo $ sftp soft01@192.168.27.129 sftp> ls sftp> put demo.tar.gz sftp> ls sftp> exit $ ssh soft01@192.168.27.129 服务器$ ls 服务器$ tar -xzf demo.tar.gz 服务器$ ls 服务器$ exit
从服务器下载数据测试:
$ ssh soft01@192.168.27.129 服务器$ ls 服务器$ tar -czf 2048.tar.gz 2048 服务器$ ls 服务器$ exit $ sftp soft01@192.168.27.129 sftp> ls sftp> get 2048.tar.gz sftp> lls sftp> exit $ ls $ tar -zxf 2048.tar.gz $ ls
我访问了这里的学生机:Mac访问Linux
Last login: Wed Mar 21 23:38:01 on ttys000 ////查看所有文件目录 keideMacBook-Pro:~ jinye$ ls ?????? ??C#?j?V???C?{-w ?C?L?$}ME??GG ?????l?:??Wf?????p?yM$??k???????I???P?n???h????^??IS??s??!?8??1?? ?v?????x,?C0??l?{Wf???? ?0?h???? ??,fΤc?xY ???Yv?,???LVF12???C?? ?mS?@a??????Q??h???IS ?9?d?Yz ?[? ????s?????n?9E ?k=7?? ?W???2??h?? ?1 *r? 5?8??=?E???X?E??????2 Applications Desktop Documents Downloads F?? Library Movies Music Pictures Public R{=?? ??????7H}E????R_??????kR?6?? ?:N? ?????Q???|^?7?????j?~M?9E???:?FAR?*Kk?5???|M?D??R??7 b?O???X? demo neoload_projects oradiag_jinye quit v v9?A???5?tJVj ????v?=R. ??!?e?^??I?e??? {э?M? 许可.pdf //选择demo文件 keideMacBook-Pro:~ jinye$ cd demo ///查看里面的文件 keideMacBook-Pro:demo jinye$ ls HelloWord.class TestDemo1.class abc xyz HelloWord.java TestDemo1.java abc.tar.gz //通过ssh访问远程计算机 keideMacBook-Pro:demo jinye$ ssh soft01@176.129.5.3 The authenticity of host '176.129.5.3 (176.129.5.3)' can't be established. RSA key fingerprint is e9:29:a7:10:79:a0:47:a8:65:55:c6:70:f9:9f:e9:d6. //输入yes Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '176.129.5.3' (RSA) to the list of known hosts. //输入对方密码 soft01@176.129.5.3's password: Last login: Thu Mar 22 10:14:25 2018 ////查看远程计算机中的目录 [soft01@bmi37-h01-176-129-5-3 ~]$ ls apache-tomcat-8.5.20 hs_err_pid4203.log 公共 视频 文档 音乐 eclipse-workspace tts 模板 图片 下载 桌面 //创建文件夹在其中:jinye 的文件 [soft01@bmi37-h01-176-129-5-3 ~]$ mkdir jinye //查看 [soft01@bmi37-h01-176-129-5-3 ~]$ ls apache-tomcat-8.5.20 hs_err_pid4203.log tts 模板 图片 下载 桌面 eclipse-workspace jinye 公共 视频 文档 音乐 //退出 [soft01@bmi37-h01-176-129-5-3 ~]$ exit 登出 Connection to 176.129.5.3 closed. ///查看当前目录 keideMacBook-Pro:demo jinye$ ls HelloWord.class TestDemo1.class abc xyz HelloWord.jav TestDemo1.java abc.tar.gz
//通过sftp访问远程电脑
keideMacBook-Pro:demo jinye$ sftp soft01@176.129.5.3
//输入密码
soft01@176.129.5.3's password:
Connected to 176.129.5.3.
//查看远程电脑的目录
sftp> ls
apache-tomcat-8.5.20 eclipse-workspace hs_err_pid4203.log
jinye tts 下载
公共 图片 文档
桌面 模板 视频
音乐
//查看自己的文件目录
sftp> lls
HelloWord.class TestDemo1.class abc xyz
HelloWord.java TestDemo1.java abc.tar.gz
vi 与 vim
字符界面的全屏文本编辑器。
语法
vim [文件名]
例子:
vim HelloWorld.java
小插曲:
用Linux指令运行java程序
1、创建HelloWorld.java 文件
mkdir HelloWorld.java
2、进入HelloWorld.java 文件进行编辑
vim HelloWorld.java
3、写入:
public class HelloWord{
public static void main(String [] args){
System.out.println("hello12345");
}
}
4、退出编辑esc
esc
5、保存
:w
6、退出
:q
7、编译HelloWorld.java文件为HelloWorld.class
javac HelloWorld.java
8、运行HelloWorld.clss
java HelloWorld
VIM的工作状态:
:q! 不保存退出
:wq 保存并退出
clea:清空终端页面
md5sum:计算md5的值,值一样则文件内容一样
利用VIM修改hosts文件解析本地域名
利用hosts文件可以实现本地DNS域名解析:
案例:
su
cd /etc
cp hosts hosts.2018.1.18
vim hosts
192.168.27.33 laowang.com
ping laowang.com //检查 结束 Control + C
ssh soft01@laowang.com
...
配置Java 环境
需要配置3个环境变量:
Last login: Thu Mar 22 14:23:55 on ttys000
//通过ssh访问远程电脑
keideMacBook-Pro:~ jinye$ ssh soft01@176.129.5.3
//输入密码
soft01@176.129.5.3's password:
Last login: Thu Mar 22 10:16:16 2018 from 168.18.26.231
//查看目录
[soft01@bmi37-h01-176-129-5-3 ~]$ ls
apache-tomcat-8.5.20 jinye 公共 图片 音乐
eclipse-workspace TestDemo1.class 模板 文档 桌面
hs_err_pid4203.log tts 视频 下载
//到jdk的目录下
[soft01@bmi37-h01-176-129-5-3 ~]$ cd /usr/local/java/
//查看目录
[soft01@bmi37-h01-176-129-5-3 java]$ ls
eclipse jdk1.8.0_144 maven
//配置环境变量
[soft01@bmi37-h01-176-129-5-3 java]$ export JAVA_HOME=/usr/local/java/jdk1.8.0_144
[soft01@bmi37-h01-176-129-5-3 java]$ export CLASSPATH=.
[soft01@bmi37-h01-176-129-5-3 java]$ export PATH=$PATH:$JAVA_HOME/bin
//验证环境变量
[soft01@bmi37-h01-176-129-5-3 java]$ java -version
openjdk version "1.8.0_102"
OpenJDK Runtime Environment (build 1.8.0_102-b14)
OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)
[soft01@bmi37-h01-176-129-5-3 java]$ javac -version
javac 1.8.0_144
[soft01@bmi37-h01-176-129-5-3 java]$
JAVA_HOME=JDK的安装目录
CLASSPATH=.
PATH=$PATH:JDK的安装目录/bin
命令
export JAVA_HOME=/usr/local/java/jdk1.8.0_144
export CLASSPATH=.
export PATH=$PATH:$JAVA_HOME/bin
java -version
3、day03-Linux -Windows SSH 客户端工具
-
pytty
-
单纯的是SSH客户端
-
-
Bitvise Tunnelier
-
SSH + SFTP
-
-
MobaXterm
-
SSH + SFTP
-
Linux 上Java环境的配置
-
下载jdk-8u161-linux-x64.tar.gz
-
释放: tar -zxf jdk-8u161-linux-x64.tar.gz
-
mv jdk1.8.0_161 /usr/local
-
设置环境变量
export JAVA_HOME=/usr/local/jdk1.8.0_161 export CLASSPATH=. export PATH=$JAVA_HOME/bin:$PATH
注意:/usr/local/jdk1.8.0161是JDK的安装位置,不同服务器可以不同! centos6.5: /home/soft01/tts9/jdk1.8.0144 centos7: /usr/local/java/jdk1.8.0_144
-
验证:
java -version javac -version
Profile 文件
Linux 启动时候按照次序加载启动脚本文件
-
先加载系统级别脚本 /etc/profile
-
对当前系统的所有用户有效
-
-
再开启命令窗口时候执行脚本 ~/.bash_profile
-
仅仅对当前用户有效
-
3. ~ 代表当前用户的 Home 文件夹
修改系统级别profile文件:
su
cd /etc
cp profile profile.2018.1.19
ls
vim profile //编辑文件
export JAVA_HOME=/usr/local/java/jdk1.8.0_161
export CLASSPATH=.
export PATH=$JAVA_HOME/bin:$PATH
java -version
source profile //临时执行 profile
java -version
reboot //重启服务器
PATH 环境变量
操作系统的命令搜索路径,操作系统在执行命令时候,首先搜索系统内核命令,然后再搜索PATH变量中设置的目录,如果搜索到就执行命令,否则出现“命令没有找到”错误。
案例:
# whoami
root
# who
root pts/0 2018-01-19 10:37 (218.247.142.21 6)
# whoru
-bash: whoru: command not found
# echo $PATH
/usr/local/jdk1.8.0_161/bin:/usr/local/sbin:/usr/local /bin:/usr/sbin:/usr/bin:/root/bin
# which whoami
/usr/bin/whoami
# which who
/usr/bin/who
# which whoru
/usr/bin/which: no whoru in (/usr/local/jdk1.8.0_161/bin)
关于PATH变量
-
操作系统命令可以扩展,只需要将程序的位置添加到PATH变量即可。
-
PATH变量在搜索时候是由次序的!排在前面的目录优先搜索
-
如: /usr/local/jdk1.7.016/bin:/usr/local/jdk1.8.0161/bin时候优先执行 jdk1.7 的java命令
-
-
设置PATH变量时候,务必将原来的系统PATH带上!!!
-
export PATH=$JAVA_HOME/bin:$PATH
-
-
Linux 系统PATH的分隔符是冒号 :
-
Windows系统的PATH的分隔符是分号 ;
-
echo 命令-回显
echo $PATH 回显变量 PATH 的值。
文件权限管理,文件拥有者
修改文件、文件夹权限命令:
d: 是一个目录文件
r: 可读
w: 可写
x: 可执行
从左至右,1-3位数字代表文件所有者的权限,4-6位数字代表同组用户的权限,7-9数字代表其他用户的权限。
chmod 权限规则 文件夹/文件
rwx 421
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
chmod 700 demo
drwx------ demo
修改文件的拥有者
-R:递归
chown -R root:root jdk1.8.1_161
Shell 脚本
Shell脚本就是指一般文本文件,其包含一组能够在控制台执行命令集合。在给执行权限以后可以执行。
有时候也称Shell脚本为批处理命令。
试验步骤:
-
vim backup.sh
cd cd tts9 tar -czf jdk.tar.gz jdk1.8.0_144 mv jdk.tar.gz .. cd echo 备份完成!
-
chmod +x backup.sh
-
cat backup.sh
-
./backup.sh
查找文件
查找命令
find / -name jdk
more
用于分屏显示文本的内容
more 文本文件
more /etc/profile
经常与其他命令联合使用,将第一个命令的结果进行分屏显示
|:管道符号,第一个命令执行完成后将结果交给第二个命令执行
ls /etc | more
grep
筛选一个命令的运行结果
ls /etc | grep 正则
ls /etc | grep ^pr.*
ps
查看当前正在运行的进程
ps -A
ps -A | grep mysql
ps -A | grep ssh
kill
结束进
kill 进程号
yum
CentOS Linux上用于管理官方发布软件包的工具。 相当于Linux的软件市场。
Linux MySQL 安装步骤:
-
利用yum 安装MySQL
yum install -y mariadb mariadb-server
-
配置UTF-8支持中文 vim /etc/my.cnf, 添加
[mysqld] character-set-server=utf8
-
MySQL服务
//启动 service mariadb start systemctl start mariadb.service //关闭 service mariadb stop systemctl stop mariadb.service //重启 service mariadb restart systemctl restart mariadb.service
-
可以利用 ps -A|grep my 检查服务是否启动
-
设置MySQL为自动启动
systemctl enable mariadb
-
mysql 客户端连接到服务器验证一下即可
mysql -uroot -p
-
验证编码
show variables like 'char%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+
Linux MySQL 卸载步骤:
1、分屏显示yum命令
yum --help|more
2、删除一个包(卸载)
yum erase mariadb mariadb-server
3、真的删吗
y
安装 Tomcat
yum 安装
yum install tomcat
Tomcat 安装位置
/use/share/tomcat
配置文件位置
/use/share/tomcat/conf
启动
systemctl start tomcat.sevice
停止
systemctl stop tomcat.sevice
确认tomcat是否启动:
ps -ef|grep tomcat
部署Tomcat WEB 程序:
将WEB应用复制到 /use/share/tomcat/webapps 文件夹
将你的应用程序文件夹 授权给 tomcat:tomcat 用户
关于Tomcat不能使用80端口原因: tomcat 服务的默认启动用户是 tomcat 用户,不是root用户。CentOS7 Linux 中,只有root用户启动的服务才能占用80端口。 如果将Tomcat配置文件改成80端口时,启动会出现错误(在日志文件)没有权限绑定80端口。
阿里云的防火墙只开放了 80 和 22端口。
http://1708.canglaoshi.org:8080
可以利用Nginx进行转发来解决80端口问题。
4、Linux-下载命令wget
如果没有安装wget命令, 则利用YUM安装wget
yum install wget
语法:
wget URL
案例,下载tomcat:
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.0.48/bin/apache-tomcat-8.0.48.tar.gz
手工安装Tomcat
步骤:
-
下载Tomcat
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.0.48/bin/apache-tomcat-8.0.48.tar.gz
URL 地址来自 Apache Tomcat® - Apache Tomcat 8 Software Downloads
-
释放到 /usr/local
cd /usr/local tar -zxvf ~/apache-tomcat-8.0.48.tar.gz
-
执行:
cd apache-tomcat-8.0.48/bin ./startup.sh
-
用浏览器访问 8080 端口
请注意:检查防火墙是否关闭了8080端口
-
打开防火墙命令(centos 7)
firewall-cmd --permanent --add-port=8080/tcp firewall-cmd --reload
ping命令 检查服务器
语法:
ping ip/域名
服务器上必须开启 ICMP 服务,ICMP服务收到ping数据包会反馈一个接收消息。
案例:
ping tmooc.cn
正在 Ping tmooc.cn [123.59.57.97] 具有 32 字节的数据:
来自 123.59.57.97 的回复: 字节=32 时间=2ms TTL=48
来自 123.59.57.97 的回复: 字节=32 时间=3ms TTL=48
来自 123.59.57.97 的回复: 字节=32 时间=2ms TTL=48
来自 123.59.57.97 的回复: 字节=32 时间=3ms TTL=48
说明:
时间=2ms 表示网络延迟时间
TTL=48 用于表示跳数,用一个64(或128)减去这个数得出:16跳
每经过一个路由器TTL数字减一,如果最后一个路由器减到0时候就丢弃ICMP包。
检查服务Tomcat服务端口
命令
netstat -utnalp | grep 8080
显示结果:
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 12380/java
说明 Java 进程 12380 正在监听 8080 端口
利用Telnet命令检查服务器端口:Telnet本身是进行远程登录的命令,已经废弃,替代是SSH命令。
安装:
yum install telnet
使用:
telnet localhost 8080
表示连接到本机的TCP8080端口
返回如下结果表示连接成功
80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.
返回如下结果表示连接失败
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
Trying ::1...
telnet: connect to address ::1: No route to host
在linux下启动tomcat命令
操作步骤:
第一步:进入tomcat的bin目录
cd /usr/local/tomcat/bin
第二步:使用tomcat关闭命令
[html] view plain copy
./shutdown.sh
第三步:查看tomcat是否关闭
[html] view plain copy
ps -ef|grep java
如果显示以下信息,则说明没有关闭:
[html] view plain copy
root 7010 1 0 Apr19 ? 00:30:13 /usr/local/java/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties
[html] view plain copy
-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX
[html] view plain copy
:+DisableExplicitGC -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/local/tomcat/endorsed -classpath /usr/local/
[html] view plain copy
tomcat/bin/bootstrap.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.start
[html] view plain copy
up.Bootstrap start
如果想直接结束tomcat进程,可以使用kill命令
[html] view plain copy
kill -9 7010
基于查看tomcat是否关闭
[html] view plain copy
ps -ef|grep java
如果出现以下信息,则说明已经关闭
[html] view plain copy
root 7010 1 0 Apr19 ? 00:30:30 [java]
第四步:启动tomcat
[html] view plain copy
./startup.sh
第五步:关闭tomcat
[html] view plain copy
./shutdown.sh