配置信息

Linux镜像:CentOS-7-x86_64-DVD-2009.iso

FinalShell:4.0.1 官网地址

VMware 17 Pro:仅做个人学习使用

本文主要根据黑马笔记,做了一定增删

前言

前段时间一直在学习EEdeeplearning(没什么成效),今天开始换换口味学习一下Linux常用的命令,本文只对Linux部分常用的命令和指令进行记录,不涉及开发环境和软件的安装(建议移步CSDN)

配置VM固定IP

修改子网IPNAT设置中的网关IP

image-20230709134201007

image-20230709134247748

修改文件:vi /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"			# 改为static,固定IP
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="1b0011cb-0d2e-4eaa-8a11-af7d50ebc876"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.88.188"		# IP地址,自己设置,要匹配网络范围
NETMASK="255.255.255.0"		# 子网掩码,固定写法255.255.255.0
GATEWAY="192.168.88.2"		# 网关,要和VMware中配置的一致
DNS1="192.168.88.2"			# DNS1服务器,和网关一致即可

虚拟机快照

利用VM的快照功能保存虚拟机的状态

image-20230708232353826

系统目录结构

目录说明

/bin :存放常用命令(即二进制可执行程序)

/etc :存放系统配置文件

/home :所有普通用户的家目录

/root :管理员用户的家目录

/usr :存放系统应用程序及文档

/proc :虚拟文件系统目录,以进程为单位存储内存的映射

/dev :存放设备文件

/mnt :临时挂载点

/lib :存放库文件

/boot :系统内核及启动有关的文件

/tmp :存放各种临时文件,是所有用户均可访问的地点

/var :存放系统运行中常改变的文件,如系统日志

路径描述方式

Windows中路径之间的层级关系使用:\来表示

Linux中路径之间的层级关系使用:/来表示

命令基础

ls命令

功能:列出文件夹信息

语法:ls [-l -h -a] [参数]

  • 参数:被查看的文件夹,不提供参数,表示查看当前工作目录

  • -l,以列表形式查看

  • -h,配合-l,以更加人性化的方式显示文件大小

  • -a,显示隐藏文件

    • Linux中以.开头都是隐藏文件、文件夹

    • 默认不显示出来,需要-a选项才可查看到

pwd命令

pwd:展示当前工作目录(路径)

cd命令

非常熟悉的命令,切换工作目录

参数不提供默认切换到当前登录用户HOME目录

HOME目录

每一个用户在Linux系统中都有自己的专属工作目录,称之为HOME目录

  • 普通用户的HOME目录,默认在:/home/用户名

  • root用户的HOME目录,在:/root

相对路径、绝对路径

概念不说了,看一下特殊路径符

  • .:表示当前,比如./a.txt,表示当前文件夹内的a.txt文件
  • ..:表示上级目录,比如../表示上级目录,../../表示上级的上级目录
  • ~:表示用户的HOME目录,比如cd ~,即可切回用户HOME目录

mkdir命令

创建文件夹

语法:mkdir [-p] 参数

  • 参数:被创建文件夹的路径
  • 选项:-p,一次性创建多层目录

touch命令

创建文件

语法:touch 参数

  • 参数:被创建的文件路径,可以用特殊路径符

cat命令

查看文件内容

语法:cat 参数

  • 参数:被查看的文件路径

more命令

查看文件,可以支持翻页查看

语法:more 参数

  • 参数:被查看的文件路径
  • 在查看过程中:
    • 空格键翻页
    • q退出查看

cp命令

复制文件、文件夹

语法:cp [-r] 参数1 参数2

  • 参数1,被复制的
  • 参数2,要复制去的地方
  • 选项:-r,可选,复制文件夹使用

示例:

  • cp a.txt b.txt,复制当前目录下a.txtb.txt
  • cp a.txt test/,复制当前目录a.txttest文件夹内
  • cp -r test test2,复制文件夹test到当前文件夹内为test2

mv命令

移动文件、文件夹

语法:mv 参数1 参数2

  • 参数1:被移动的
  • 参数2:要移动去的地方,参数2如果不存在,则会进行改名

rm命令

删除文件、文件夹

语法:rm [-r -f] 参数...参数

  • 参数:支持多个,每一个表示被删除的,空格进行分隔
  • 选项:-r,删除文件夹使用
  • 选项:-f,强制删除,不会给出确认提示,一般root用户会用到

which命令

查看命令的程序本体文件路径(我的评价是感觉没什么用

语法:which 参数

  • 参数:被查看的命令

find命令

搜索文件

语法:按文件名搜索:find 路径 -name 参数

  • 路径,搜索的起始路径
  • 参数,搜索的关键字,支持通配符*, 比如:*test表示搜索任意以test结尾的文件

grep命令

过滤关键字

语法:grep [-n] 关键字 文件路径

  • 选项-n,可选,表示在结果中显示匹配的行的行号。
  • 参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用””将关键字包围起来
  • 参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口

wc命令

统计

语法:wc [-c -m -l -w] 文件路径

  • 选项,-c,统计bytes数量
  • 选项,-m,统计字符数量
  • 选项,-l,统计行数
  • 选项,-w,统计单词数量
  • 参数,文件路径,被统计的文件,可作为内容输入端口

管道符|

写法:|

将符号左边的结果,作为符号右边的输入

示例:

cat a.txt | grep itheima,将cat a.txt的结果,作为grep命令的输入,用来过滤itheima关键字

可以支持嵌套:

cat a.txt | grep itheima | grep itcast

echo命令

输出内容

语法:echo 参数

  • 参数:被输出的内容

`反引号

功能:被两个反引号包围的内容,会作为命令执行

示例:

  • echo `pwd`,会输出当前工作目录

tail命令

查看文件尾部内容

语法:tail [-f] 参数

  • 参数:被查看的文件
  • 选项:-f,持续跟踪文件修改

head命令

查看文件头部内容

语法:head [-n] 参数

  • 参数:被查看的文件
  • 选项:-n,查看的行数

重定向符

将符号左边的结果,输出到右边指定的文件中去

  • >,表示覆盖输出
  • >>,表示追加输出

vi编辑器

命令模式快捷键

image-20230709123542408

image-20230709123546900

image-20230709123551094

底线命令模式快捷键

image-20230709123609443

软件安装

CentOS系统使用

yum [install remove search] [-y] 软件名称

  • install 安装
  • remove 卸载
  • search 搜索
  • -y,自动确认

Ubuntu系统使用

apt [install remove search] [-y] 软件名称

  • install 安装
  • remove 卸载
  • search 搜索
  • -y,自动确认

注意:yumapt 均需要root权限

常用操作

systemctl

控制系统服务的启动关闭等

语法:systemctl start | stop | restart | disable | enable | status 服务名

  • start,启动
  • stop,停止
  • status,查看状态
  • disable,关闭开机自启
  • enable,开启开机自启
  • restart,重启

软链接

功能:创建文件、文件夹软链接(快捷方式)

语法:ln -s 参数1 参数2

  • 参数1:被链接的
  • 参数2:要链接去的地方(快捷方式的名称和存放位置)

ntp

同步时间

安装:yum install -y ntp

启动管理:systemctl start | stop | restart | status | disable | enable ntpd

手动校准时间:ntpdate -u ntp.aliyun.com

ip地址

特殊IP

  • 127.0.0.1,表示本机
  • 0.0.0.0
    • 可以表示本机
    • 也可以表示任意IP(看使用场景)

查看ipifconfigip addr(新)

ps命令

查看进程信息

语法:ps -ef,查看全部进程信息,可以搭配grep做过滤:ps -ef | grep xxx

kill命令

kill [-9] 进程ID

-9:表示强制关闭进程

nmap命令

查看端口占用情况

需要先安装:yum -y install nmap

22端口是SSH远程连接端口

netstat命令

查看指定端口占用

用法:netstat -anp | grep xxx

wget命令

wget [-b] url

  • -b:后台下载,将日志写入当前目录的wget-log文件
  • url:下载链接

curl命令

可以发送http网络请求,下载文件、获取信息

curl [-O] url

  • -O:用于下载文件,用此选项保存文件
  • url:网络地址

环境变量

  • 临时设置:export 变量名=变量值
  • 永久设置:
    • 针对用户,设置用户HOME目录内:.bashrc文件
    • 针对全局,设置/etc/profile

PATH变量

记录了执行程序的搜索路径

可以将自定义路径加入PATH内,实现自定义命令在任意地方均可执行的效果

$符号

可以取出指定的环境变量的值

语法:$变量名

示例:

echo $PATH,输出PATH环境变量的值

echo ${PATH}ABC,输出PATH环境变量的值以及ABC

如果变量名和其它内容混淆在一起,可以使用${}