Linux(新手必会)

在这里插入图片描述

Linux

一. vi的命令

Vi是Linux操作系统中的一个记事本工具,它是完全通过命令来操作的,是无鼠标操作。

命令效果
h、j、k、l光标往左、下、上、右移动
i从命令行模式进入到编辑模式,是到当前光标的前面
a从命令行模式进入到编辑模式,是到当前光标的h后面
I从命令行模式进入到编辑模式,光标到当前行的行首
A从命令行模式进入到编辑模式,光标到当前行的行末尾
:set nu!设置行号
yy、pyy是复制一行、p是将复制的行粘贴到当前行的下面
dd删除一行
u撤销操作
o直接进入当前行的下一行进行编辑
O直接进入当前行的上一行进行编辑
w光标按照单词或者符号往后跳动
b光标按照单词或者符号往前跳动
Esc从编辑模式进入到命令行模式
G光标跳到文件的末尾
gg跳到文件的开头
数字 + G跳到对应的行
:/字符串\c查找对应的字符串,\c表示忽略大小写
n、N和上面的查找搭配使用,n表示跳到写一个找到的位置,N表示跳到上一个找到的位置
d + $0将当前光标到行末的内容删除掉
$将光标跳到当前行的行末
0将光标跳到当前行的行首
:w保存文件
:wq保存文件

二. Linux的目录结构

​ Linux是没有盘符的概念,它的目录的最顶层就是一 个 / 根目录,然后顺着根目录可以找到整个操作系统下所有的文件以及文件夹。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TTUEjEW6-1677580539241)(images/linux-dir.jpg)]

三. 目录的切换

目录切换使用 cd(change directory) 命令,可以通过 Tab 快捷提示。可以通过 pwd(print work directory) 查看当前工作目录的绝对路径

# 切换到根目录下的 etc目录
cd /etc

# 进入到当前目录下的 sysconfig 这个目录
cd sysconfig
cd ./sysconfig

# 回到上一级目录
cd ..

# 还是会到home目录下
cd ../home/../home

# 进入到当前用户的家目录下
cd

# 回到上一次的工作目录
cd -

# 查看当前工作目录的绝对路径
pwd

四. 文件夹内容查看

# 列出文件夹下的非隐藏内容,不是详情
ls

# 列出文件夹下的非隐藏内容详情信息,看第一列,如果是 “-” 表示文件,如果是 "l" 表示快捷方式;如果是 "d" 表示目录
ls -l
ll

# 列出文件夹下的所有的内容,包括隐藏文件(都是以.开头的)
ls -a

五. 文件内容查看的命令

查看文件内容总共6个命令:

  1. cat,查看文件的全部内容;
  2. more,分页查看文件内容,但是只能使用空格键实现向下返回,不能向上翻页
  3. less,分页查看文件内容,可以通过 空格键下箭头PgDn 实现向下翻页;通过 上箭头PgUp 实现向上翻页,最后要使用 q(quit) 来退出
  4. head,默认查看文件的头10行内容,可以通过数字指定查看多少行内容;
  5. tail, 默认查看文件的末尾10行内容,可以通过数字指定查看多少行内容;
  6. vi,通过vi文件编辑器查看文件内容
# 查看 JwtFilter.java 文件的全部内容
cat JwtFilter.java 

# 翻页查看 JwtFilter.java 内容,只能通过 空格键实现向下的翻页
more JwtFilter.java

# 可以向上、向下翻页查看文件的内容;使用 q 退出
less JwtFilter.java

# 查看 JwtFilter.java 头10行内容
head JwtFilter.java
# 查看 JwtFilter.java 头20行内容
head -20 JwtFilter.java

# 查看 JwtFilter.java 末尾10行内容
tail JwtFilter.java
# 查看 JwtFilter.java 末尾20行内容
tail -20 JwtFilter.java

六. 文件和文件夹的操作

6.1 文件和文件夹创建
# 创建 a.txt 文件
touch a.txt
# 创建a.txt b.txt c.txt m.txt 文件
touch a.txt b.txt c.txt m.txt

# 创建 test 目录
mkdir test

# 创建 a b c 目录
mkdir a b c

# 递归创建 /a/b/c/t/m 目录
mkdir -p /a/b/c/t/m
6.2 文件和文件夹删除
# -r recursive(递归) -f是force
rm -rf 文件或者文件夹
6.3 文件和文件夹拷贝

对于文件和文件夹的拷贝,要区别一下,文件不用加 -r,但是文件夹要加 -r

# 将根目录下的 a.txt 拷贝到当前目录下
cp /a.txt ./

# 将根目录下的 a.txt 拷贝到当前目录下,重命名为b.txt
cp /a.txt ./b.txt

# 将根目录下的 test目录 拷贝到当前目录下
cp -r  /test ./

# 将根目录下的 test目录下的内容拷贝到当前目录下
cp -r  /test/* ./
6.4 文件的移动
# 将根目录下的 datas 移动到当前目录
mv /datas ./

# 将根目录下的 datas目录下的内容移动到当前目录
mv /datas/* ./

# 将根目录下的 datas目录下移动到当前目录, 重命名为 abc 目录
mv /datas ./abc

# 将a.txt文件改名为m.txt
mv a.txt m.txt

## 将根目录下的 a.txt 移动到 /datas/ 目录目录下并重命名为 b.txt
mv /a.txt /datas/b.txt

七. 文件内容的过滤

​ 内容过滤使用 grep 命令,会将查找内容行展示出来。内容过滤没有单独使用的价值,一般要搭配管道操作使用。

# 将 Jwt.java 文件中所有包含有 String 的行都展示出来
grep String JwtFilter.java

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tmJ88hZB-1677580539242)(images/gep.jpg)]

# 在多个文件中过滤出所有包含有 import 的行
grep javax JwtFilter.java MenuService.java

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BCvQLKWA-1677580539243)(images/gep-2.jpg)]

八. 管道操作

管道操作:将上一个命令操作的结果作为下一个操作的数据源。

# 查看 Jwt.java 文件的第6到第10行内容
head Jwt.Java | tail -5

# 找到 /etc 文件夹下,名字中包含有 sys 的文件或者文件夹
ll | grep sys

九. 软件的压缩与解压

软件解压之前,一定要看其压缩方式

9.1 查看文件的压缩方式

在 linux 操作系统,文件的压缩方式三种:gzipXZZIP

file 压缩的文件名

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zd3afdME-1677580539243)(images/archive-type.jpg)]

9.2 gzip文件的压缩与解压
# -z表示解压 gzip 文件; -x表示解压;f表示文件
tar -zxf jdk-8u60-linux-x64.tar.gz

# -v是打印解压日志;在实际的工作中不要加 -v,因为它是一个 IO操作,非常耗性能
tar -zxvf jdk-8u60-linux-x64.tar.gz

# 表示将文件解压到 /test 目录下
tar -zxf jdk-8u60-linux-x64.tar.gz -C /test
# -c是创建的意思;
# 整个命令的意思是将 jdk1.8.0_60 目录压缩成 jdk.tar.gz 文件
tar -zcf jdk.tar.gz jdk1.8.0_60
9.3 XZ文件的压缩与解压

XZ这种压缩方式是使用全平台(所有的Linux操作系统都是通用的)

#  -x表示解压;f表示文件
tar -xf jdk-8u60-linux-x64.tar.gz

# -v是打印解压日志;在实际的工作中不要加 -v,因为它是一个 IO操作,非常耗性能
tar -xvf jdk-8u60-linux-x64.tar.gz

# 表示将文件解压到 /test 目录下
tar -xf jdk-8u60-linux-x64.tar.gz -C /test
# -c是创建的意思;
# 整个命令的意思是将 jdk1.8.0_60 目录压缩成 jdk.tar.gz 文件
tar -cf jdk.tar.gz jdk1.8.0_60
9.4 ZIP文件的压缩与解压

对于ZIP文件的解压使用 unzip 命令;要将文件压缩成 zip 文件,需要使用 zip 命令,但是需要安装。

# 安装zip
yum install -y zip
yum install -y unzip
# 解压 vue.zip 文件
unzip vue.zip

# 将 vue.zip 文件解压都 /test目录下
unzip vue.zip -d /test
# 将js文件夹压缩成 vue.zip 文件,一定要加 -r
zip -r vue.zip js

十. JDK的安装

  1. 解压
  1. 拷贝jdk的家目录
  1. 配置环境变量,环境变量的配置文件是 /etc/profile,在文件的末尾加上如下的内容
# 对外暴露 Jdk的家目录
export JAVA_HOME=/datas/jdk1.8.0_60
# 配置 path
export PATH=$JAVA_HOME/bin:$PATH
  1. 刷新环境变量的配置文件,让配置生效
# 刷新配置文件,让环境变量生效
source /etc/profile

十一. 文件大小的查看

# 查看文件的大小
# -h 表示 human, 表示人类可读的方式展示文件的大小
du -h jdk-8u60-linux-x64.tar.gz
# 查看文件夹的大小。-d 0 表示查看文件夹的深度(因为文件夹存在递归问题)
du -h -d 0 jdk1.8.0_60

十二. 服务管理

# 查看防火墙服务的状态
systemctl status firewalld

# 关闭防火墙服务
systemctl stop firewalld

# 启动防火墙服务
systemctl start firewalld

# 重启防火墙服务
systemctl restart firewalld
# 查看防火墙服务的状态
systemctl status network

# 关闭防火墙服务
systemctl stop network

# 启动防火墙服务
systemctl start network

# 重启防火墙服务
systemctl restart network

如果使用阿里云,要想访问某个服务,不用关闭防火墙,需要配置安全组规则,开放端口;如果使用腾讯云也不用关闭防火墙,需要配置防火墙,开放端口

十三. 进程管理

# 查看tomcat进程
ps -ef | grep tomcat

# 查看tomcat进程
ps -aux | grep tomcat

杀死一个进程总共有64种方式,用的最多的方式式第9种,就是直接杀死

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-htDIoxxr-1677580539244)(images/kill-list.jpg)]

# 使用第九种方式杀死进程,3124是进程的编号
kill -9 3124

# 使用第九种方式杀死进程,3124是进程的编号
kill -kill 3124

十四. 软件的安装

# 安装vim, 但是在安装的过程有交互,需要输入 y
yum install vim 

# 安装lsof 这个软件,不用输入 y
yum install -y lsof

十五. 查看端口的命令

操作系统本身自带的一个命令 netstat

# 查看系统中所有的端口占用情况
netstat -tnpl

借助于第三方软件查看端口 lsof,需要先安装 lsof 软件,安装命令见 十四. 软件的安装

# 查看8080端口是否被占用
ls -i:8080

十六. 用户的添加(了解)

# 添加 qf 这样一个用户
useradd  qf

# 给qf这个用户设置密码
passwd qf

十七. 文件与文件夹的权限

文件和文件夹的权限表示用户或者用户组对于文件或者文件夹的操作能力。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8G6sS1rh-1677580539244)(images/pemission.jpg)]

17.1 文件权限

读权限:就是用户是否查看文件的内容。

写权限:用户是否可以修改文件中的内容;

操作权限:指的是shell脚本,表示是否可以执行改shell脚本

#!/bin/bash
while true
do
# 类似于 Java中的 System.out.println("Hello world");
echo "Hello world";
#  类似于 Java中的 Thread.sleep(2000);
sleep 2;
done;

/bin/bash 是表示linux执行命令使用的方式。

17.2 文件夹的权限

读权限:是否可以通过 ls 查看文件夹下的内容。

写权限:是否可以在文件夹下创建和删除文件或者文件夹。

操作权限:能够进入到文件夹中。

17.3 修改文件、文件夹的权限
# u+x 给用户加上执行权限
# u-r 撤销用户的读权限
# g+w 给用户组添加写权限
# g-r 撤销用户组读权限
# o-r 给其他人撤销读权限
chmod u+x,u-r,g+w,g-r,o-r /tests

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WSzud35D-1677580539245)(images/permission-number.jpg)]

# rwxr-xr-x
chmod 755 /tests
17.4 将文件夹的拥有权赋予某个用户
# 将 /datas 以及递归子目录和文件的拥有者改为 qf 用户
chown -R qf /datas

十八. 动态查看日志信息

# 动态查看日志的增量变化数据
tail -f catalina.out

十九. 查看系统资源消耗

使用的命令是 top

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xd4e4kQF-1677580539245)(images/top.jpg)]

load average: 0.00 0.01 0.05 , load average 表示系统负载, 三个值依次表示系统在最近一分钟、5分钟、15分钟内的系统负载,超过1要关注。

Tasks: 110 total 1, 1 running 109 sleeping 表示系统总共110个任务,1个正在运行,109个正在睡眠。

%Cpu(s): 0.0 us 0.2 sy,表示cpu的消耗,us是表示用户进程对于cpu的消耗;sy表示系统进程对于cpu的消耗。

Kib Mem: 表示内存的情况。

Kib Swap: 表示交换分区的使用情况。

列表中列出了所有的进程,密切关注 %CPU%MEM

其他

  1. 配置ip地址
cd /etc/sysconfig/network-scripts
# 使用vi来编辑 ifcfg-ens33 这个文件
vi ifcfg-ens33

# 将onboot的值从no改为yes, 改完之后,保存并推出
onboot=yes

# 将网络重启
systemctl restart network

d average 表示系统负载, 三个值依次表示系统在最近一分钟、5分钟、15分钟内的系统负载,超过1要关注。

Tasks: 110 total 1, 1 running 109 sleeping 表示系统总共110个任务,1个正在运行,109个正在睡眠。

%Cpu(s): 0.0 us 0.2 sy,表示cpu的消耗,us是表示用户进程对于cpu的消耗;sy表示系统进程对于cpu的消耗。

Kib Mem: 表示内存的情况。

Kib Swap: 表示交换分区的使用情况。

列表中列出了所有的进程,密切关注 %CPU%MEM

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值