一. Linux 常用指令
1.1 [root@device ~]#
• root 是当前用户名
• device 是当前主机名,每个用户的用户名是不同的
• ~ 表示当前所在的目录 ,~ 在 linux 中有特定的含义,表示 home(用户数据存放的目录里) 目录
• # 表示当前权限是管理员, $表示当前权限是普通用户
1.2 ls
语法 : ls [选项] [目录或文件]
功能: 列出当前目录/指定目录 中都有哪些文件,相当于,双击了某个目录,查看里面的内容
常用选项:
• -a 列出目录下的所有文件,包括以 . 开头的隐含文件
• -d 将目录像文件一样展示, 而不是显示其下的文件. 如: ls -d 指定目录
• -k 以k 字节的形式表示文件的大小. ls -alk 指定文件
• -l 列出文件的详细信息
• -r对目录返乡排序
• -t 以时间排序
• -R列出所有子目录下的文件(递归,包含孙子文件等..)
举例:
ls -l
注:白色的是文件, 蓝色的是目录 , 红色的是安装包,绿色的是可执行程序
拓:
• ls / : /表示 linux 的"根目录", 对标 windows 中的"此电脑", 云服务器上任何一个文件,都是从属于 / 目录的
• ls /root 这个指令的效果和直接敲 ls 是一样的, 因为 root 的用户的 home 目录就是 /root,也就是当以 root 身份登录后,默认所在的目录, /root 就是 root 用户的 ~目录
1.3 cd
change directory
Linux 系统中 ,磁盘的文件 和目录被组成一颗目录树,每个节点都是目录或文件
语法: cd 目录名
功能: 改变工作目录. 将当前工作目录改变到指定的目录下
举例:
• cd . . : 返回上级目录
• cd ~ :进入用户目录
• cd - : 返回最近访问目录
cd 后面跟上你想要切换的目录路径(路径,可以是绝对路径,也可以是相对路径 )
• 绝对路径是以 / 开头的
• . 成为当前目录
• .. 成为当前目录的上级目录
• cd 后面不加任何选项/路径,此时就会回到 home 路径
1.3 pwd
语法: pwd
功能: 显示用户当前所在的目录的完整路径
1.4 touch
语法: touch [选项]... 文件...
功能: touch 命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件
举例:
touch test.txt
1.5 cat
语法: cat [选项] [文件]
功能: 查看目标文件的内容(针对短小的文件还好,如果文件很大,很长,就力不从心了)
常用选项:
-n 对输出的所有行编号
举例:
cat test.txt
1.6 man
语法: man linux命令
功能: 查看linux 的命令是干什么的
举例:
man cat
1.7 echo
echo "...": 用于把内容打印到控制台上
echo "..." > text.txt 把内容写入到指定文件中(但是每次进行 echo + 重定向,会清空原有内容)
">" 大于号 在linux中相当于重定向
1.8 vim
vim 相当于 Windows 的记事本,只不过功能比记事本强大一些.
1) 创建文件/打开文件
vim [文件名]
2)进入插入模式
vim 打开文件后默认是普通模式. 普通模式下键盘的按键表示一些特殊通能的快捷键.(例如按下 j 并不是输入字母 "j" .而是表示光标往下移动一行)需要进入插入模式才能进行文本编辑.
使用 i 键 可以进入到插入模式(左下角提示 --INSERT --)然后就可以像记事本一样正常编辑了
3) 保存
在插入模式下不能保存文件,需要先回到 普通模式,按下 Esc 回到普通模式
在普通模式下输入: w , 再按下回车,即可保存文件
4) 退出
在插入模式下不能退出,需要先回到 普通模式
在普通模式输入: q, 再按下回车,即可退出.
也可以直接使用 wq 同时保存和退出
注:可以直接在终端输入 vimtutor 进入官方教程.
1.8 mkdir
语法: mkdir [选项] dirname...
功能: 在当前目录下创建一个名为"dirname" 的目录
常用选项:
-p ,--parents 可以是一个路径名称.此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多级目录
举例: mkdir
mkdir -p test/test1 : 递归建立多个目录
1.9 rm
语法: rm [选项] [dirName/dir]
功能: 删除文件或目录
常用选项:
• -f 即使文件属性为只读(即写保护),亦直接删除
• -i 删除前注意询问确认
• -r 删除目录即其下所有文件
举例:
rm text.txt
rm -r : 删除目录即目录中的子目录
rm -rf * : 删除 目录中的所有内容,且不递归询问
重要注意事项:
千万不要运行 rm -rf / , 尤其是在公司的生产服务器上. 这个目录直接将根目录删除了
1.10 cp
语法: cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录
说明: cp 指令用于复制文件或目录, 如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中. 若同时指定多个文件或目录,且最后的目的地并非一个已存在的目录,则会出现错误信息.如果指定一个文件或目录,且最后的目的地是一个并不存在的目录,则会创建该目录,并重命名为给定的目录
常用选项:
• -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
• -i 或 --interactive 覆盖文件之前先询问用户
• -r 递归处理, 将指定目录下的文件与子目录一并处理. 若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
• -R 或 --recursive 递归处理,将指定目录下的文件及子目录一并处理
举例:
cp test1.txt test2.txt
1.11 mv
语法: mv [选项] 源文件或目录 目标文件或目录
功能:
1. 视mv 命令中的第二个参数类型的不同(是文件还是目录), mv命令文件重命名或将其移至一个新的目录中
2. 当第二个参数类型是文件时, mv 命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名文为给定的目标文件名
3 当第二个参数是已经存在的目录名时,源文件或目录参数有多个,mv命令将各参数指定的源文件均移至目标目录中
常用选项:
• -f : force 强制的意思, 如果目标文件已经存在,不会询问而直接覆盖
• -i : 若目标文件已经存在时,就会询问是否覆盖
对比 mv 和 cp ,cp 是比较慢的~~,尤其是 cp 比较大的目录或者文件~~ 需要大规模读写硬盘.mv 则是非常快的~~ ,即使mv 移动的目标很大,也是瞬间完成.对于文件系统中,每个文件的"路径"就是一个简单的属性.mv 就只是修改了这个路径属性而已.
注:由于linux 中没有回收站,通常会创建一个目录,用来当做回收站,使用mv 来模拟回收站
1.12 grep
语法: grep [参数]... [文件]...
功能: 用于查找文件中是否包含指定字符串, 并显示对应的行
选项:
• -n <行数> 显示的行数
• -w 全字匹配, 要求整个单词都完全相同的结果才能匹配出来,而不仅仅是一个单词的一部分
• -r 递归查找. 可以搜索多级目录下的所有文件.
• --color 高亮查找到的结果
• --include 指定查找某些文件
• --exclude 指定排除某些文件
举例:
grep "hello" text.txt
1.13 ps
语法: psi[参数]...
功能: 用于查看当前操作系统上运行的进程
选项:
• a 显示一个终端的所有进程
• u 一用户为主的格式显示程序状况
• x 显示所有程序, 不以终端机来区分
举例:
ps aux # 显示系统上所有的进程
ps aux | grep "进程名"
ps aux | grep "进程id"
1.14 netstat
语法: netstat [参数]...
功能: 查看系统上的网络状态
选项:
• -a 显示所有正在或不在侦听的套接字
• -n 显示数字形式地址而不是去解析主机, 端口或用户名
• -p 显示套接字所属进程的 PID和名称
举例:
netstat -anp
netstat -anp | grep "进程名"
netstat -anp | grep "端口号"
二 web 程序部署
2.1 linux安装jdk
yum 相当于我们手机上的应用商店,不同的是此处我们是通过命令行的方式进行安装的
常用命令:
yum list :查看当前的软件包有哪些,使用时一定要搭配grep 使用,否则加载时间会特别长
yum install : 安装指定的软件包.
yum list | grep jdk
就会出现下面的很多版本的jkd.
yum install java-1.8.0-openjdk-devel.x86_64
执行上述命令行就能够安装了
安装完毕后可以通过 javac 命令来查看是否安装成功
2.2 linux 下安装 Tomcat
1. 下载压缩包:
• 注意: 一定要先安装号jdk 后再安装 Tomcat,因为Tomcat是java写的程序,需要jdk运行
• 下载 Tomcat 首先去官网下载对应的Tomcat 压缩包,然后直接往linux中要下在的目录拖过去就行了
• 注意:有的可能会失败,需要 yum install lrzsz.
• rz 是把文件从 windows 上传到linux,sz 是把文件从linux传给 windows.
• 直接往上拖,其实就是自动指定了 rz
2. 解压缩压缩包
• 完成上述操作后,我们只需要解压缩就行了
• 注意: 当我们执行 unzip apache-tomcat-8.5.91.zip时,可能会报错:unzip: command not found
• 此时我们只需要安装unzip 就行了: yum install -y unzip
3. 赋予权限
• 我们解压缩后的Tomcat是没有执行权限的,需要我们在bin目录下运行: chmod +x *.sh
• 当我们运行ll 后,会发现所有的.sh 为后缀的文件都变绿了,证明权限赋予成功了
4. 启动 tomcat
• 先检查下 tomcat 的端口是否已经被占用了.(新的机器一般不涉及)
当我们执行命令后,发现是上述结果,说明两个端口是空闲的.
• 在bin 目录中,使用 sh startup.sh 启动tomcat
• 检查 tomcat 的运行状态: netstat -anp | grep 8080
• 查看进程: ps aux |grep tomcat
• 也可以通过在浏览器 通过访问tomcat欢迎页面来查看是否运行成功
但是新的服务器,在浏览器可能会访问不到,因为 8080 这个端口默认情况下是被防火墙给保护起来了! 需要我们打卡云服务器的防火墙~~, 把8080 端口开放出去.不同的云服务器厂商配置方式不一样,以下以阿里云服务器为例:
1) 首先找到我们的服务器设备:
2) 点击相应的设备查看更多
3)点击安全组进行配置(轻量应用服务器中是防火墙,而ECS中是安全组)
4)手动添加,然后进行保存就行了
2.3 linux 下安装 mysql
CentOS 7 通过 yum 安装 MariaDB - 知乎 (zhihu.com)
三 linux 下部署web程序
3.1 微调代码,保证代码能够连得上云服务器上的数据库
3.2 建库建表
通过 mysql -uroot 进入数据库
3.3 打war包,将打好的war 包拖到tomcat中
将打好的war包拖到webapps中,linux会自动解压缩,通过在浏览器上输入地址就可以访问到了