Linux命令
ls查看
ls 查看当前目录的所有文件及目录
ls -al 查看当前目录的所有文件及目录详细信
ls -al/目录 查看指定目录的所有文件及目录详细信息 可看隐藏文件
ls -l 查看指定目录的所有文件及目录详细信息
pwd 查看当前所在目录
cd切换
cd .. 切换到当前目录的上级目录
cd ~ 切换到用户的home目录
cd /usr/local 切换到/usr/local目录
cat查看文件
cat /etc/profile 查看/etc目录下的profile文件内容
more(分页查看文件)
more /etc/profile 以分页方式显示/etc目录下的profile文件内容
tail查看日志
tail /etc/profile 显示/etc目录下的profile文件末尾10行的内容
tail -20 /etc/profile 显示/etc目录下的profile文件末尾20行的内容
tail -f /itcast/my.log 动态读取/itcast目录下的my.log文件末尾内容并显示
touch,mkdir(创建 : 文件/目录)
touch 如果文件不存在,创建文件
mkdir itcast 在当前目录下,建立一个名为itcast的子目录
mkdir -p itcast/test 在工作目录下的itcast目录中建立一个名为test的子目录,若itcast目录不存在,则建立一个
rm,rmdir(删除 : 文件/目录)
rm -r itcast/ 删除名为itcast的目录和目录中所有文件,删除前需确认
rm -rf itcast/ 无需确认,直接删除名为itcast的目录和目录中所有文件
rm -f hello.txt 无需确认,直接删除hello.txt文件
rmdir itcast 删除名为itcast的空目录
rmdir -p itcast/test 删除itcast目录中名为test的子目录,若test目录删除后itcast目录变为空目录,则也被删除
rmdir itcast* 删除名称以itcast开始的空目录
cp拷贝移动命令
cp hello.txt itcast/ 将hello.txt复制到itcast目录中
cp hello.txt ./hi.txt 将hello.txt复制到当前目录,并改名为hi.txt
cp -r itcast/ ./itheima/ 将itcast目录和目录下所有文件复制到itheima目录下
cp -r itcast/* ./itheima/ 将itcast目录下所有文件复制到itheima目录下
mv 移动改名
mv hello.txt hi.txt 将hello.txt改名为hi.txt
mv hi.txt itheima/ 将文件hi.txt移动到itheima目录中
mv hi.txt itheima/hello.txt 将hi.txt移动到itheima目录中,并改名为hello.txt
mv itcast/ itheima/ 如果itheima目录不存在,将itcast目录改名为itheima
mv itcast/ itheima/ 如果itheima目录存在,将itcast目录移动到itheima目录中
打包命令
find查找命令
find . –name "*.java" 在当前目录及其子目录下查找.java结尾文件
find /itcast -name "*.java" 在/itcast目录及其子目录下查找.java结尾的文件
查看,杀死进程
ps -ef:当前用户打开的程序进程 (重要
ps -ef | grep system 在ps -ef的结果中,搜索字符串system
kill 进程号: 杀死指定进程
kill -9 进程号:强制杀死指定进程
配合ps -ef 使用
关机重启
poweroff : 关机
reboot : 重启
文编编辑器
三种模式
命令模式 插入模式 底层模式
| 命令模式指令 | 含义 |
| ------------ | --------------------------------- |
| gg | 定位到文本内容的第一行 |
| G | 定位到文本内容的最后一行 |
| dd | 删除光标所在行的数据 |
| ndd | 删除当前光标所在行及之后的n行数据 |
| u | 撤销操作 |
| shift+zz | 保存并退出 |
| i 或 a 或 o | 进入插入模式 |
| /要搜索的内容 | 查询定位内容 |
插入模式
A. 插入模式下可以对文件内容进行编辑
B. 在命令模式下按下[i,a,o]任意一个,可以进入插入模式。进入插入模式后,下方会出现【insert】字样
C. 在插入模式下按下ESC键,回到命令模式
底层模式
A. 底行模式下可以通过命令对文件内容进行查找、显示行号、退出等操作
B. 在命令模式下按下[:,/]任意一个,可以进入底行模式
C. 通过/方式进入底行模式后,可以对文件内容进行查找
D. 通过:方式进入底行模式后,可以输入wq(保存并退出)、q!(不保存退出)、set nu(显示行号)
网络服务
* 查看ip
ifconfig
ip a ddr :CentOS7版本新增
* 修改网卡ip
vim /etc/sysconfig/network-scripts/ifcfg-ens33
* 概要信息如下
DEVICE=ens33 #网卡名称
TYPE=Ethernet #网卡类型 以太网
ONBOOT=yes #是否开机就使用此网卡 在我们安装的时候都已经配置好
BOOTPROTO=dhcp #启动网卡时指定获取IP地址的方式
常用取值:dhcp (自动获取ip地址,网关,子网掩码等信息无需设置)
常用取值:static (静态ip,如需要访问网络,需要自己设置ip地址等信息)
其他取值:none (不指定)
IPADDR=192.168.200.133 #ip地址
GATEWAY=192.168.200.2 #网关
NETMASK=255.255.255.0 #子网掩码
DNS1=8.8.8.8 # Google提供的公用DNS
* 重启网卡服务
systemctl status network 查看网络服务的状态
systemctl stop network 停止网络服务
systemctl start network 启动网络服务
systemctl restart network 重启网络服务
防火墙
操作 | 指令 | 备注 |
---|---|---|
查看防火墙状态 | systemctl status firewalld / firewall-cmd —state | |
暂时关闭防火墙 | systemctl stop firewalld | |
永久关闭防火墙(禁用开机自启) | systemctl disable firewalld | 下次启动,才生效 |
暂时开启防火墙 | systemctl start firewalld | |
永久开启防火墙(启用开机自启) | systemctl enable firewalld | 下次启动,才生效 |
重启防火墙 | systemctl restart firewalld | |
开放指定端口 | firewall-cmd —zone=public —add-port=8080/tcp —permanent | 需要重新加载生效 |
关闭指定端口 | firewall-cmd —zone=public —remove-port=8080/tcp —permanent | 需要重新加载生效 |
立即生效(重新加载) | firewall-cmd —reload | |
查看开放端口 | firewall-cmd —zone=public —list-ports |
注意:
A. systemctl是管理Linux中服务的命令,可以对服务进行启动、停止、重启、查看状态等操作
B. firewall-cmd是Linux中专门用于控制防火墙的命令
C. 为了保证系统安全,服务器的防火墙不建议关闭
基于Shell脚本自动部署
脚本内容
#!/bin/sh
echo =================================
echo 自动化部署脚本启动
echo =================================
echo 停止原来运行中的工程
APP_NAME=helloworld // 结束原来的jar包
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Stop Process...'
kill -15 $tpid
fi
sleep 2
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Kill Process!'
kill -9 $tpid
else
echo 'Stop Success!'
fi
echo 准备从Git仓库拉取最新代码
cd /usr/local/helloworld //git中的项目名
echo 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成
echo 开始打包
output=`mvn clean package -Dmaven.test.skip=true`
cd target
echo 启动项目
nohup java -jar helloworld-1.0-SNAPSHOT.jar &> helloworld.log &
//新的的jar包
echo 项目启动完成
权限
值 | 权限 | rwx |
---|---|---|
7 | 读 + 写 + 执行 | rwx |
6 | 读 + 写 | rw- |
5 | 读 + 执行 | r-x |
4 | 只读 | r— |
3 | 写 + 执行 | -wx |
2 | 只写 | -w- |
1 | 只执行 | —x |
0 | 无 | —- |
举例:
chmod 777 bootStart.sh 为所有用户授予读、写、执行权限
chmod 755 bootStart.sh 为文件拥有者授予读、写、执行权限,同组用户和其他用户授予读、执行权限
chmod 210 bootStart.sh 为文件拥有者授予写权限,同组用户授予执行权限,其他用户没有任何权限
注意:
三个数字分别代表不同用户的权限
- 第1位表示文件拥有者的权限
- 第2位表示同组用户的权限
- 第3位表示其他用户的权限