Linux命令

ls查看

  1. ls 查看当前目录的所有文件及目录
  2. ls -al 查看当前目录的所有文件及目录详细信
  3. ls -al/目录 查看指定目录的所有文件及目录详细信息 可看隐藏文件
  4. ls -l 查看指定目录的所有文件及目录详细信息
  5. pwd 查看当前所在目录

cd切换

  1. cd .. 切换到当前目录的上级目录
  2. cd ~ 切换到用户的home目录
  3. cd /usr/local 切换到/usr/local目录

cat查看文件

  1. cat /etc/profile 查看/etc目录下的profile文件内容

more(分页查看文件)

  1. more /etc/profile 以分页方式显示/etc目录下的profile文件内容

tail查看日志

  1. tail /etc/profile 显示/etc目录下的profile文件末尾10行的内容
  2. tail -20 /etc/profile 显示/etc目录下的profile文件末尾20行的内容
  3. tail -f /itcast/my.log 动态读取/itcast目录下的my.log文件末尾内容并显示

touch,mkdir(创建 : 文件/目录)

  1. touch 如果文件不存在,创建文件
  2. mkdir itcast 在当前目录下,建立一个名为itcast的子目录
  3. mkdir -p itcast/test 在工作目录下的itcast目录中建立一个名为test的子目录,若itcast目录不存在,则建立一个

rm,rmdir(删除 : 文件/目录)

  1. rm -r itcast/ 删除名为itcast的目录和目录中所有文件,删除前需确认
  2. rm -rf itcast/ 无需确认,直接删除名为itcast的目录和目录中所有文件
  3. rm -f hello.txt 无需确认,直接删除hello.txt文件
  4. rmdir itcast 删除名为itcast的空目录
  5. rmdir -p itcast/test 删除itcast目录中名为test的子目录,若test目录删除后itcast目录变为空目录,则也被删除
  6. rmdir itcast* 删除名称以itcast开始的空目录

cp拷贝移动命令

  1. cp hello.txt itcast/ hello.txt复制到itcast目录中
  2. cp hello.txt ./hi.txt hello.txt复制到当前目录,并改名为hi.txt
  3. cp -r itcast/ ./itheima/ itcast目录和目录下所有文件复制到itheima目录下
  4. cp -r itcast/* ./itheima/ 将itcast目录下所有文件复制到itheima目录下

mv 移动改名

  1. mv hello.txt hi.txt hello.txt改名为hi.txt
  2. mv hi.txt itheima/ 将文件hi.txt移动到itheima目录中
  3. mv hi.txt itheima/hello.txt hi.txt移动到itheima目录中,并改名为hello.txt
  4. mv itcast/ itheima/ 如果itheima目录不存在,将itcast目录改名为itheima
  5. mv itcast/ itheima/ 如果itheima目录存在,将itcast目录移动到itheima目录中

打包命令

find查找命令

  1. find . name "*.java" 在当前目录及其子目录下查找.java结尾文件
  2. find /itcast -name "*.java" 在/itcast目录及其子目录下查找.java结尾的文件

查看,杀死进程

  1. ps -ef:当前用户打开的程序进程 (重要
  2. ps -ef | grep system ps -ef的结果中,搜索字符串system
  3. kill 进程号: 杀死指定进程
  4. kill -9 进程号:强制杀死指定进程
  5. 配合ps -ef 使用

关机重启

  1. poweroff : 关机
  2. reboot : 重启

文编编辑器

  1. 三种模式
  2. 命令模式 插入模式 底层模式
  3. | 命令模式指令 | 含义 |
  4. | ------------ | --------------------------------- |
  5. | gg | 定位到文本内容的第一行 |
  6. | G | 定位到文本内容的最后一行 |
  7. | dd | 删除光标所在行的数据 |
  8. | ndd | 删除当前光标所在行及之后的n行数据 |
  9. | u | 撤销操作 |
  10. | shift+zz | 保存并退出 |
  11. | i a o | 进入插入模式 |
  12. | /要搜索的内容 | 查询定位内容 |
  13. 插入模式
  14. A. 插入模式下可以对文件内容进行编辑
  15. B. 在命令模式下按下[i,a,o]任意一个,可以进入插入模式。进入插入模式后,下方会出现【insert】字样
  16. C. 在插入模式下按下ESC键,回到命令模式
  17. 底层模式
  18. A. 底行模式下可以通过命令对文件内容进行查找、显示行号、退出等操作
  19. B. 在命令模式下按下[:,/]任意一个,可以进入底行模式
  20. C. 通过/方式进入底行模式后,可以对文件内容进行查找
  21. D. 通过:方式进入底行模式后,可以输入wq(保存并退出)、q!(不保存退出)、set nu(显示行号)

网络服务

  1. * 查看ip
  2. ifconfig
  3. ip a ddr CentOS7版本新增
  4. * 修改网卡ip
  5. vim /etc/sysconfig/network-scripts/ifcfg-ens33
  6. * 概要信息如下
  7. DEVICE=ens33 #网卡名称
  8. TYPE=Ethernet #网卡类型 以太网
  9. ONBOOT=yes #是否开机就使用此网卡 在我们安装的时候都已经配置好
  10. BOOTPROTO=dhcp #启动网卡时指定获取IP地址的方式
  11. 常用取值:dhcp (自动获取ip地址,网关,子网掩码等信息无需设置)
  12. 常用取值:static (静态ip,如需要访问网络,需要自己设置ip地址等信息)
  13. 其他取值:none (不指定)
  14. IPADDR=192.168.200.133 #ip地址
  15. GATEWAY=192.168.200.2 #网关
  16. NETMASK=255.255.255.0 #子网掩码
  17. DNS1=8.8.8.8 # Google提供的公用DNS
  18. * 重启网卡服务
  19. systemctl status network 查看网络服务的状态
  20. systemctl stop network 停止网络服务
  21. systemctl start network 启动网络服务
  22. 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

注意:

  1. A. systemctl是管理Linux中服务的命令,可以对服务进行启动、停止、重启、查看状态等操作
  2. B. firewall-cmdLinux中专门用于控制防火墙的命令
  3. C. 为了保证系统安全,服务器的防火墙不建议关闭

基于Shell脚本自动部署

  1. 脚本内容
  2. #!/bin/sh
  3. echo =================================
  4. echo 自动化部署脚本启动
  5. echo =================================
  6. echo 停止原来运行中的工程
  7. APP_NAME=helloworld // 结束原来的jar包
  8. tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
  9. if [ ${tpid} ]; then
  10. echo 'Stop Process...'
  11. kill -15 $tpid
  12. fi
  13. sleep 2
  14. tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
  15. if [ ${tpid} ]; then
  16. echo 'Kill Process!'
  17. kill -9 $tpid
  18. else
  19. echo 'Stop Success!'
  20. fi
  21. echo 准备从Git仓库拉取最新代码
  22. cd /usr/local/helloworld //git中的项目名
  23. echo 开始从Git仓库拉取最新代码
  24. git pull
  25. echo 代码拉取完成
  26. echo 开始打包
  27. output=`mvn clean package -Dmaven.test.skip=true`
  28. cd target
  29. echo 启动项目
  30. nohup java -jar helloworld-1.0-SNAPSHOT.jar &> helloworld.log &
  31. //新的的jar包
  32. echo 项目启动完成

权限

权限 rwx
7 读 + 写 + 执行 rwx
6 读 + 写 rw-
5 读 + 执行 r-x
4 只读 r—
3 写 + 执行 -wx
2 只写 -w-
1 只执行 —x
0 —-

举例:

  1. chmod 777 bootStart.sh 为所有用户授予读、写、执行权限
  2. chmod 755 bootStart.sh 为文件拥有者授予读、写、执行权限,同组用户和其他用户授予读、执行权限
  3. chmod 210 bootStart.sh 为文件拥有者授予写权限,同组用户授予执行权限,其他用户没有任何权限

注意:

三个数字分别代表不同用户的权限

  • 第1位表示文件拥有者的权限
  • 第2位表示同组用户的权限
  • 第3位表示其他用户的权限