目录:
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
?%E3%FCʕ%F1%BC?
%84%A8C#%C0j%A5V%91%8F%FAC%A9{-w
%9EC?L%C4$}ME?%8DGG
%A8%B8%FB%CF%CCl%BE:%B1%F9Wf%AD%9C%C3?%ECp%BEyM$%B3%F1k?%AE?%94???I%B0%C3%F2%8CP%EBn%A8%B4%DEh%ED?۽%A6^%80%BDIS%E1%9F?s%CC?!%D88%B0%921%96?
%ACv%D7%C8%CC%DB%E5x,%C7C0?%CCl%B6{Wf%A7̢݈%C5
%B60%AAh%A1%F0%E9%DF
%BB%AB,fΤc%C9xY
%BD%97%ACYv?,?%93%FCLVF12%92%E4%E4%98C%CA%D1
%C8mS%B2@a%F7%BD%E9%E4%D1?Q%D8%E2h֟?%BBIS
%D89%EFd%BAYz+%B9[%8A
%E3%9A%E0%D6%E0s%8A%F8??%FAn%F09E
%F5k=7?%F3
%FEW%80%FD?2%AB%F4h?%E5
%FF1
*r?
5%C68??=%89E?%8E%F8X%8AE%9B%B2%92%9B%C5?2
Applications
Desktop
Documents
Downloads
F%BB%C6
Library
Movies
Music
Pictures
Public
R{=%CD%D0 %F5?%91%9Aϖ%987H}E%A4%E6%B3??R_?%A9%F9?%88%C5kR%F36%B7%A6 %92:N%A3 ?%A9%83%A4?Q%90%88%D4|^Ƕ7??%91%9A%CFj%D9~M%EA9E%A4?%92:%9FFAR%F3%B9*Kk?5%9F%A9%B3|M%EA%B9D%A4%DER%F3%F97
b?O%B0%9B?X%B2
demo
neoload_projects
oradiag_jinye
quit
v
v9?A%D5??5%B4tJVj++%84%96%8B%ECv%FB=R.+%BD%9A!%D0e%E9%BB^%FB%D0I?e%B7%AA%C2
{э%87M%EB
许可.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.java 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/binjava -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/tcpfirewall-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] <defunct>
第四步:启动tomcat
[html] view plain copy
./startup.sh
第五步:关闭tomcat
[html] view plain copy
./shutdown.sh