banner
NEWS LETTER

Linux指令

Scroll down

Linux指令

目录操作

认识linux目录结构

/:根目录标志

image-20221230163149165

image-20221230163757788

列出文件列表

1
2
3
4
5
6
7
8
9
#查看当前目录下的所有文件夹
ls

#查看当前目录下扥所有文件(包括隐藏文件)
ls -a
#以点开头的蓝色文件就是隐藏文件

#查看所有目录下非隐藏文件及其详细信息
ll

进入文件目录

1
2
3
4
5
6
7
8
9
10
11
#进入指定目录
cd 文件名

#返回上一级目录
cd ..

#返回用户目录
cd ~

#返回上一行的目录
cd -

创建和删除目录

1
2
3
4
5
6
7
8
9
10
11
#创建一个文件夹
mkdir 文件夹名称

#创建一个空文件
touch a.txt

#删除一个空文件夹
redir 文件夹名称

#直接创建多级文件夹
mkdir -p 父文件夹名/子文件夹

文件操作

查看文件内容

1
2
3
4
5
6
7
8
9
#查看文件所有内容
cat 文件名
more 文件名 #只显示一屏按回车显示一行 按空格显示一屏 按q退出

#查看文件最后10行的内容
tail -10 文件名

#动态查看
tail -f 文件名

删除、复制和剪切

复制

1
2
3
4
5
#在指定文件夹下将file1复制为file2
cp file1 aaa/file2

#将file1复制到上一级文件夹
cp file1 ../

剪切

1
2
3
4
5
#将file1剪切到指定文件夹
mv file1 aaa/

#将file1剪切到上一级文件夹
cp file1 ../

删除

1
2
3
4
5
6
7
8
9
10
11
#在询问后删除文件
rm bb

#删除目录
rm -r bb

#不询问删除
rm -rf bb

#删除所有东西
rm -rf /* #慎用

打包或解压

1
2
3
4
5
6
7
8
压缩成a.tar
tar -cvf a.tar 文件夹名/
-c:创建一个新的tar文件
-v:显示运行的过程信息
-f:指定文件名
-z:调用gzip压缩命令进行压缩
-t:查看压缩文件的内容
-x:解开tar文件

查找文件、查找内容

1
2
3
4
5
6
7
8
#按文件名称查找
find / -name 文件名

#不太清楚名字的查找方法
find / -name cont*.log

#在aaa文件中查找字符串Address
grep Address 文件路径 --color

Vi和Vim编辑器

在linux下一般使用vi编辑器来编辑文件。vi即可以查看文件也可以编辑文件。

三种模式:命令行、插入、底行模式。

切换到命令行模式:按Esc键

切换到插入模式:按i、o、a键

​ i 在当前位置前插入

​ I 在当前行首插入

​ a 在当前位置后插入

​ A 在当前行尾插入

​ o 在当前行之后插入一行

​ O 在当前行之前插入一行

切换到底行模式:按冒号

1
2
3
4
5
6
7
8
9
打开文件: vim file

退出:esc->:q

修改文件:输入i进入插入模式

保存并退出:esc->:wq

不保存退出

重定向输出

重定向就是将本文件中的内容复制到别的文件中

1
2
3
4
5
#将aaa.txt中的文字复制到bbb.txt中
cat aaa.txt > bbb.txt

#将aaa.txt中的文字追加到bbb.txt中
cat aaa.txt >> bbb.txt

管道

管道是linux命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入

1
2
ls --help | more 	#分页查询帮助信息
ps -ef | grep java #查询名称中包含java的进程

Linux权限命令

文件权限

— ——— ——— ———

第一个“—”表示文件的类型

​ -:表示文件

​ d:表示文件夹

​ l:表示快捷方式

第二个表示当前文件或文件夹的权限

​ r:可读

​ w:可写

​ x:可运行

第三个表示当前组内其他用户具有该文件的权限

第四个表示其他组的用户具有该文件的权限

文件权限管理

1
2
3
4
5
6
7
chmod u=rwx,g=rx,o=rx a.txt
#u代表当前用户 g代表当前组的其他用户 o代表其他组的用户


#也可以用数字的形式
#可读是4 可写是2 可运行是1
#最高权限就变成了chmod 777

linux上常见的网络操作

主机名配置

1
2
3
hostname 		#查看主机名
hostname XXX #修改主机名 重启后失效
#如果要是永久生效,可以修改/erc/sysconfig/netword文件

网卡设置

修改网络初始化配置,设定网卡在系统启动时初始化

1
2
3
4
5
cd /		#进入根目录
cd etc
cd sysconfig
cd network-scripts
vi ifcfg-ens33 #编辑ifcfg-ens33文件

IP地址配置

1
2
3
4
5
6
7
8
9
10
11
12
13
ifconfig #查看(修改)ip地址重启后无效
ifconfig etho 192.168.12.22

#如果想要永久生效修改/etc/sysconfig/network-scripts/ifcfg-eth0文件

DEVICE=eth0 #网卡名称
BOOTPROTO=static #获取ip的方式(static/dhcp/bootp/none)
HWADDR-00:0c:29:B5:B2:69 .MAC地址
IPADDR=192.168.177.129 #IP地址
NETMASK=255.255.255.0 #子网掩码
NETWORK=192.168.177.0 #网络地址
BROADCAST=192.168.0.255 #广播地址
NBOOT=yes #系统启动时是否设置此网络接口

linux域名映射

可以通过更改linux下的/etc/hosts

1
2
#修改域名映射
vim /etc/hosts

网络服务管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
service network status	#查看指定服务的状态
service network stop #停止指定服务
service network start #启动指定服务
service network restart #重启指定服务
service --status-al1 #查看系统中所有后台服务
netstat -nltp #查看系统中网络进程的端口监听情况


#防火墙设置
#防火墙根据配置文件/etc/sysconfig/iptables来控制本机的“出”、“入网络访问行为
systemctl status firewalld serviceiptablesstatus #查看防火墙状态
systemctl disable firewalld #关闭防火墙
systemctl start firewalld #启动防火墙
chkconfig iptables off #禁止防火墙自启

linux上的软件安装

  • linux上软件安装有以下几种常用的方式介绍

    1. 二进制发布包

      软件已经针对具体平台编译打包发布只要解压修改配置即可

linux上安装jdk

  1. 首先下载jdk:Java Downloads | Oracle

  2. 下载完之后可以通过finalshell自带的文件上传工具将jdk-8u361-linux-x64.tar.gz上传

  3. 上传之后使用命令,将文件解压到usr下的local文件夹:

​ tar -zxvf jdk-8u361-linux-x64.tar.gz -C /usr/local

  1. 配置环境变量

    1. 编辑配置文件:

      ​ vim /etc/profile

    2. image-20230417161524550

    1
    2
    JAVA_HOME=/usr/local/jdk1.8.0_361
    PATH=$JAVA_HOME/bin:$PATH

    :wq保存

  2. 使修改生效:

    1
    source /etc/profile
  3. 验证JDK是否正确安装:

    1
    java -version

linux上安装tomcat

  1. 下载Apache Tomcat:https://tomcat.apache.org/download-90.cgi

  2. 将文件上传至linux

  3. 解压

    tar -zxvf apache-tomcat-7.0.x.tar.gz -C /usr/local

  4. 进入tomcat的bin目录启动服务,命令为sh startup.sh

  5. 查看启动日志
    more /usr/local/ apache-tomcat-7.0.57/logs/catalina.outtail -50 /usr/local/apache-tomcat-7.0.57/logs/catalina.out

  6. 查看进程ps -ef | grep tomcat

  7. windows上运行192.168.136.131:8080

    注意:如果运行不了,尝试关掉防火墙

  8. 停止服务的脚本文件

    sh shutdown.sh

linux安装mysql

注意:如果当前系统中已经安装有mysql数据库,安装将失败。centos7自带mariadb,与mysql数据库冲突必须卸载

检查当前系统中是否安装mysql数据库

rpm -qa 查询当前系统中安装的所有软件

rpm -qa | grep mysql 查询当前系统中安装的名称带mysql的软件

rpm -qa | grep mariadb 查询当前系统中安装的名称带mariadb的软件

rpm -e –nodeps 软件名 卸载软件

  1. 创建文件夹

    mkdir /usr/local/mysql

  2. 将安装包上传解压

    tar -xvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar -C /usr/local/mysql

  3. 按照顺序安装rpm软件包

    1
    2
    3
    4
    5
    6
    7
    rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
    rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
    rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm
    rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
    rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
    yum install net-tools
    rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm

    可以通过指令升级现有软件及系统内核

    yum update

  4. 启动mysql

    1
    2
    systemctl status mysqld			#查看mysql服务状态
    systemctl start mysqld #启动mysql服务

    可以设置开机时启动mysql服务

    1
    2
    3
    systemctl enable mysqld			#开机启动mysql服务
    netstart -tunlp | grep mysql #查看已经启动的服务
    ps -ef | grep mysql #查看mysql进程
  5. 登录mysql数据库,查阅临时密码

    cat /var/log/mysqld.log | grep password

  6. 登录mysql,修改密码,开放访问权限

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    #登录mysql(使用临时密码登录)
    mysql -uroot -p;

    #设置密码长度最低位数
    set global validate_password_length=6;

    #设置密码安全等级低,便于密码可以修改
    set global validate_password_policy=LOW;

    #设置密码为root
    set password = password('510609');

    #查看mysql全局策略
    SHOW VARIABLES LIKE 'validate_password%';

    #开启访问权限
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '510609';
    flush privileges;

区别于windows,在linux中对mysql数据库的大小写有严格区分因此为了避免此类情况发生应该在etc/my.cnf中添加lower_case_table_names=1

linux安装lrzsz

  1. 搜索lrzsz安装包,命名为yum list lrzsz

  2. 使用yum命令在线安装,命名为yum install lrzsz.x86_64

    Yum(全称为Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

部署项目

手动部署

  1. 将java项目打包成jar包
  2. 将jar包放在/usr/local/app
  3. 通过java -jar jar包名称运行项目即可通过windows浏览器访问
  4. 目前程序运行存在的问题:
    • 线上程序霸屏不能退出也不能关闭
    • 线上程序的输出日志显示在屏幕上

​ 解决方法:

nohup命令:用于不挂断的运行指定命令,退出终端不会影响

1
2
#后台运行且输出日志到reggie.log
nohup java -jar reggie_take_out-1.0-SNAPSHOT.jar &> reggie.log

使用shell脚本自动部署

  1. 在linux中安装Git

    yum list git 列出git安装包

    yum install git 在线安装git

  2. 使用Git克隆代码

    cd /usr/local/

    git clone gitee地址

  3. 上传安装maven软件包

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local
    vim /etc/profile
    #修改配置文件,加入如下内容
    export MAVEN_HOME=/usr/local/apache-maven-3.5.4
    export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

    source /etc/profile
    mvn -version
    vim /usr/local/apache-maven-3.5.4/conf/settings.xml
    #修改配置文件内容如下
    <localRepository>/usr/local/repo</localRepository>
Other Articles
cover
Mybatis-Plus
  • 23/09/18
  • 18:15
  • 3.1k
  • 13
cover
js编程指南
  • 23/09/18
  • 18:15
  • 3.3k
  • 13