Linux_Study

1.操作系统概述

1.1 操作系统的作用

一个完整的计算机=硬件+软件

  • 操作系统是计算机软件的一种,作为用户和计算机硬件之间的桥梁,负责调度计算机硬件进行工作

操作系统的调度工作包括

  • 调度键盘进行文字输入;
  • 调度显示器显示内容
  • 调度cpu内存供其他软件运行;
  • 调度网卡发送/接受信息;
1.2 常见的操作系统

pc端

  • windows;
  • linux;
  • macOS;

移动端

  • ios
  • HarmonyOS
  • android

2.Linux介绍

2.1 诞生

林纳斯-托瓦丝、1991;

2.2 Linux内核

Linux系统=Linux系统内核+系统级应用程序;

在这里插入图片描述

  • 内核: 提供系统最核心的功能,如:调度CPU、内存、文件系统、网络通讯、IO等;
  • 系统级应用程序: 可以理解为系统自带的出厂程序,帮助用户快速上手操作系统,如:文件管理器、任务管理器、图片查看、音乐播放;

软件分为两大类:系统软件和应用软件。系统软件是指管理、控制和维护计算机及外设,以及提供计算机与用户界面等的软件,如操作系统、各种语言的编译系统、数据库管理系统及网络软件等。应用软件是指能解决某一应用领域问题的软件,如财会软件、通信软件、计算机辅助教学(CAI)软件等。

Linux发行版类别

发行版定义: Linux 发行版是由:Linux内核、GNU 工具、附加软件和软件包管理器组成的一整套完整操作系统,其也可能包括了显示服务器和 Linux桌面环境,通常被运作于服务器或桌面操作系统来使用。

Linux 的发行版说简单点就是将 Linux 内核与应用软件做一个打包(任何人都可以封装linux)

目前市面上Linux发行版本分为:

  • Linux Mint
  • ubuntu
  • debian GUN
  • mageia
  • fedora
  • openSUSE
  • Arch Linux
  • CentOS
  • PCLinuxOS
  • Slackware Linux

3. Linux基础操作

3.1 虚拟机快照

通过快照可以将当前虚拟机的状态保存下来,在以后可以通过快照恢复到虚拟机保存的状态;

步骤:关机->拍摄快照(快照管理器)

3.2 Linux 目录结构

特点:

  • 树形结构;
  • linux没有盘符,只有一个根目录/,所有文件都在它下边;

在这里插入图片描述
linux描述文件路径方式:

/user/local/hello.txt
开头/表示:根目录;
后头/表示:层次关系;

3.3 命令、命令行

概念

  • 命令行 :就是Linux的终端(Terminal),是我们输入命令的界面,以纯字符的形式操作系统,使用字符命令对系统发出操作指令;
  • 命令 :就是Linux程序,一条命令就是一个程序。没有图形化界面,在命令行(终端提供字符反馈)。

命令的格式

command [-options] [parameter]
本体[-选项][参数]

  • command:命令本身;
  • options:命令的选项,控制命令的行为细节;
  • parameter:命令的参数,多用于指向命令的目标;
ls -l/home/study 
#以列表的形式,显示/home/study 目录下的内容
3.4 ls命令(列表命令)

ls命令的作用是列出目录下的内容,语法细节如下:

ls [-a -l -h] [linux 路径]

  • -a、-h、-l都是选项,可以组合展示
  • 路径是命令的可选参数
  • 直接使用ls命令本体,表示以平铺形式列出当前目录的内容;
    //默认是home目录下的文件
    在这里插入图片描述
选项说明
-aall的意思,表示列出全部文件
-l以列表形式展示(平铺–>竖向)展示更多内容
-h以易于阅读的形式展示列表(单位表示等)

在这里插入图片描述

3.5 cd/pwd命令(目录命令)

概念:

  • cd: (Change Directory)更改当前所在的工作目录;

cd [linux 路径]

  • cd无需选项,只需要参数,表示要切换到哪个目录;
  • cd直接执行表示回到用户的home目录;在这里插入图片描述
  • pwd:(Print Work Directory)查看当前的工作目录

没有参数没有选项
在这里插入图片描述

3.6 相对路径、绝对路径、特殊路径表示符

概念

  • 相对路径 :以当前目录为起点,描述一段路径,无需从根目录开始;
    在这里插入图片描述

  • 绝对路径 :以根目录为起点,描述一段路径,路径以/为开头;
    在这里插入图片描述

  • 特殊路径符
    直接cd可以回到home目录;

特殊路径符说明
.当前目录
表示上一级
~表示home目录
3.7 mkdir命令(创建目录命令)

概念:

  • mkdir:(Make Directory)创建目录

mkdir [-p][parameter]

  • 参数必填,表示路径,即要创建的文件的路径;
  • 选项-p:表示自动创建不存在的父目录,用于连续创建多层级的目录

在这里插入图片描述

3.8 touch/cat/more命令(文件操作命令)

概念

  • touch: 创建文件

touch [parameter]

  • 没有选项,只有参数也就是路径,任何路径都可以使用
    在这里插入图片描述
  • cat: 文件内容查看,显示所有内容;

cat [parameter]

  • 只有参数,没有选项,直接使用
    在这里插入图片描述
    在这里插入图片描述
  • more: 产看文件,区别于cat,more支持翻页,可以一页一页展示(空格翻页,q退出);

more [parameter]

3.9 cp/mv/rm命令(文件操作命令)

概念:

  • cp: copy 复制文件
  • mv: move 移动文件
  • rm: remove 删除文件

cp: copy 复制文件

cp [-r][parameter1][parameter2]

  • -r选项:可选,用于复制文件夹,表示递归(repeat)
    参数1:linux路径,被复制文件地址
    参数2:linux路径,复制去的文件地址
    在这里插入图片描述

mv: move 移动文件

mv [parameter1][parameter2]

  • 没有选项;
    参数分别:被移到地址,移动新地址;
    在这里插入图片描述

rm: remove 删除文件

rm [-r -f] [parameter1、parameter2…]

  • -r:用于删除文件夹
  • -f :force强制删除不会弹出确认信息(root用户特权)
  • 参数:支持同时删除n个问价
    在这里插入图片描述

通配符:

rm命令支持通配符*,表示模糊匹配;

  • *:表示通配符,匹配任意内容
  • test*:匹配test开头的内容
  • *test:匹配test结尾的内容
  • *test * :匹配任意包含test的内容
  • 在这里插入图片描述

root超级管理员用户

  • 通过su -root,并输入密码,可以临时切换到root用户体验
  • 通过exit命令,退出
3.10 grep、wc命令符、管道符(过滤统计命令)
  • grep:过滤文件内容
  • wc:统计内容数量

grep:从文件中通过关键字过滤文件;

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

  • -n:表示在结果中显示匹配行的行号;
    关键字:参数,表示被过滤的关键字,建议使用“”
    文件路径:过滤内容的文件路径;
    在这里插入图片描述

wc统计内容数量

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

  • -c:统计bytes数量;
  • -m:统计字符数量;
  • -l:统计行数量;
  • -w:统计单词数量;
  • 直接wc:行 单词 字符
    在这里插入图片描述

管道符: 竖线符号|,将管道符左边命令的结果作为右边命令的输入;
在这里插入图片描述

3.11 which/find命令(查找命令)

概念:

  • which:查找命令的程序文件;
  • find:查找指定文件;

which:查找所使用的命令的程序文件;

which 要查找的命令
在这里插入图片描述

find:查找指定文件;

find 起始路径 -name “被查找的文件名”
在这里插入图片描述

find按文件大小查找文件

find 起始路径 -size +|-n[KMG]

  • +、-1表示大于或小于
  • n:表示大小数字
  • KMG:表示大小单位

查找小于10KM文件:find / -size -10k
查找大于100MB的问价:find / -size +100M

3.12 echo/tail、重定向符

概念

  • echo:输出指定内容
  • tail:跟踪文件更改
  • 反引号`:被``包围的内容会当作命令执行(配合echo);
  • 重定向符:>,>>

echo:输出指定内容

echo 输出的内容
无需选项,只有一个参数,表示要输出的内容(相当于py中的print)
在这里插入图片描述

tail:跟踪文件更改,可以查看文件尾部的内容,跟踪文件的最新更改

tail [-f -num] linux路径

  • -f:表示持续跟踪
  • -num:查看尾部多少行,不填默认10行
  • 路径:表示被跟踪的文件路径
    在这里插入图片描述

反引号`:被‘包围的内容会当作命令执行;
在这里插入图片描述

重定向符:>,>>

  • :将左侧的命令结果,覆盖写到符号右侧指定文件夹中;

  • :将左侧的命令结果,追加写到符号右侧指定文件夹中;
    在这里插入图片描述

day2

3.13 vi/vim编辑器(文本编辑)

概念
vi/vim(visual interface),是linux经典的文本编辑器,类似于文本编辑器;
vim是vi的加强版本,可以兼容vi的所有内容,并且不仅可以编辑文本.还具有shell程序编辑功能,可以用不同颜色字体来辨别语法的正确性;

三种工作模式:

  • 命令模式: 在此模式下,输入命令执行不同的功能;
  • 输入模式: 也称编辑模式、插入模式,对文件自由编辑;
  • 底线命令模式: 以”:“开始,通常用于文件的保存和退出;

一般步骤:
1.vi/vim|vi/vim [文件路径],进入当前文档,如果文件不存在就创建一个新文件;
2.目前处于命令模式,按下键盘i(insert),进入输入模式可以对文件进行修改;
3.修改完毕 ,按下键盘”esc“,又进入命令模式,按”:“进入底线命令模式,”wq“表示保存并退出;

命令模式的命令

命令描述
i在当前光标位置进入输入模式
esc在任何情况输入esc都能回到命令模式
dd删除当前行
ndd删除当前行及以下n行
yy复制当前行
nyy复制当前行及以下n行
p粘贴
u撤销
ctrl+r反向撤销
gg光标到开始处
G光标到结尾处
dG删除光标行及以下全部行
dgg删除光标行及以上全部行
d$从光标处开始删除到本行结束
d0从光标处删除到本行开始

底线命令模式

命令描述
:wq保存并退出
:q仅退出
:q!强制退出
:w仅保存
:set nu显示行号
:set paste设置粘贴模式

4.Linux的用户

4.1 Linux的root用户

概念
root在linux中是超级管理员,是拥有最大的权限;

su(Switch User):切换用户 su - root
exit:回退到上一个用户
sudo:为普通用户临时授权(需要提前配置sudo认证),以root身份执行;

区别普通用户

  • 可以在根目录下创建文件;
  • 普通用户一旦出了home目录,在大多数地方只有只读和执行操作,无修改权限;

sudo认证的配置

1.切换到root用户,执行vi sudo命令(自动打开文件 /etc/sudoers)
2.在文件的最后添加 用户名 ALL=(ALL) NOPASSWD:ALL
3.通过wq保存

在这里插入图片描述

4.2用户和用户组

概念

Linux系统可以:

  • 配置多个用户(针对用户权限管控);
  • 配置多个用户组(针对某个用户组的权限);
  • 用户可以加入多个用户组;

用户组管理(root用户执行)

用户组的创建

  • groupadd

用户组的删除

  • groupdel

用户的创建

  • useradd[-g -d] 用户名
  • -g:指定用户所在的组,不指定创建同名组;
  • -d:指定所在路径,不指定默认在home目录;

用户的删除

  • userdel [-r] 用户名
  • -r:不使用-r,仅删除用户,home目录保留;

查看用户所在的组

  • id[用户名]

修改用户所属组
usermod -aG 用户组 用户名

在这里插入图片描述

查看系统中的用户和用户组

查看用户
getent passwd
查看用户组
getent group

4.3 查看权限控制

通过 ls -l可以以列表形式查看内容,展示权限细节
在这里插入图片描述

  • 表示文件和文件夹的控制信息
  • 表示文件或文件夹所属用户
  • 表示文件或文件夹所属用户组

在这里插入图片描述

4.4 chmod命令(修改权限命令)

概念

chmod [-R] 权限 文件或文件夹
通过chmod命令,修改文件、文件夹的权限信息(只有文件、文件夹的所属用户或root用户可以修改)

chmod u=rwk,g=rx,o=x hello.txt

#将文件权限修改成:rwxr-x--x
#u:user所属用户权限;
#g:group组权限;
#o:other其他用户权限;

用数字表示权限

  • r:4
  • w:2
  • x:1

751—>rwx(7) r-x(5) --x(1)

4.5 chown命令(修改文件或文件夹的用户和用户组权限)

chown [-R] [用户][:][用户组] 文件或文件夹

  • -R:对文件夹中内容全部应用;
chown root hello.txt #将文件所属用户改为root
chown :root hello.txt#将文件所属用户组改为root

5.Linux的其他操作

5.1 快捷键
操作说明
ctrl+c强制停止程序运行
ctrl+d退出当前账户(同exit)
history查看历史命令 +grep 过滤查找某个历史命令
ctrl+r输入内容去匹配历史命令
ctrl+l清屏(clear)

光标移动快捷键

操作说明
ctrl+a跳到开头
ctrl+e跳到结尾
ctrl+ ->向右跳一个单词
ctrl+ <-向左跳一个单词
5.2 安装软件(yum->CentOS、apt->Ubuntu)

下载软件的方法

  • 下载安装包
  • 系统应用商店安装

yum:RPM包软件管理器,用于自动化安装配置Linux软件;

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

  • -y:自动确认,无需手动安装或卸载;
  • install:安装;
  • remove:卸载;
  • search:搜索;

下载文件之前需要先下载编译器

sudo yum install gcc

如果是下载外部的压缩包

要下载lrzsz
lrzsz是一个在Linux和UNIX系统中可用的程序,用于代替ftp上传和下载。它提供了在本地文件系统和远程系统之间复制文件的功能

yum install lrzsz

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
解压缩文件

tar -zxvf redis-X.X.X.tar.gz

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.3 systemctl命令(控制软件命令)

概念
通过systemctl命令可以控制软件(包括内置的或第三方软件),能够被systemctl控制的软件一般称为:服务

内置服务说明
NetworkManager主网络服务
network副网络服务
firewalld防火墙服务
sshdssh服务

systemctl [start |stop |status |enable |disable] 服务名

  • start :起动
  • stop:关闭
  • status:查看状态
  • enable:开启开机自启
  • disable:关闭开机自启

在这里插入图片描述

5.4 软连接(ln命令创建)

概念
软链接类似于windows中的创建(桌面)快捷方式,可以将文件或文件夹链接到其他地方;

ln -s 参数1 参数2

  • -s:创建软件姐
  • 参数1:被链接的文件或文件夹
  • 参数2:链接去的目的地
5.5 data命令(时间命令)

概念
查看系统的时间;

data [- d] [+格式化字符串]

  • -d:按照给定的字符串显示日期,用于日期计算
  • 格式化字符串:通过特定的格式化字符串标记,来控制显示的日期格式;
字符串日期格式
%Y
%y年分后两个数字
%m
%d
%H
%M
%S
%s自1970-01-01到现在的秒数

日期显示格式
在这里插入图片描述
在这里插入图片描述

日期修改

在这里插入图片描述

显示时区

校准时间
在这里插入图片描述

ntp程序校准时间
在这里插入图片描述

5.6 Ip地址、主机名、域名解析

Ip地址:
通过ifconfig命令查看本机ip地址;

  • 127.0.0.1 代指本机在这里插入图片描述

主机名

除了ip地址,可以有一个主机名
通过hostname查看当前主机名
在这里插入图片描述

修改主机名

在这里插入图片描述

域名解析

通过主机名或代替的字符去代替ip地址寻找主机

eg:baidu.com
通过映射打开网页
在这里插入图片描述

  • 先看本机的记录(私人地址本)
    window看:C:\Windows\System32\drivers\etc\hosts
    Linux看:/etc/hosts
  • 再联网去DNS服务器(如:114.114.114.114,8.8.8.8)

自行配置

通过管理员打开记事本找到hosts
在这里插入图片描述
配置linux ip地址和主机名
在这里插入图片描述

5.7 固定IP地址

原因
当我们使用虚拟机操作系统时,其ip地址是通过DHCP动态获取的,可能会导致ip地址频繁变更

5.8 网络传输(ping wget curl)

ping命令检查网络是否连通

ping [- c num] [ip地址或主机名]

  • -c:设置检查的次数
  • 参数:被检查的对象
    在这里插入图片描述

使用wget命令下载文件

wget [- b] url

  • -b:设置后台下载
  • url:下载链接

tail -f wget-log 可以监督后台进度

使用curl命令发起网络请求

curl [- O] url

  • -O:用于下载文件,当url是下载链接时,通过此选项保存文件
  • url:下载链接
    在这里插入图片描述
5.9 端口(nmap,netstat)

端口

端口是设备与外界通讯交流的出入口,可以分为物理端口和虚拟端口两类;

  • 物理端口也称接口
  • 虚拟端口:是计算机内部的端口,不可见,用于操作系统和外部进行交互使用(锁定具体的程序)
    在这里插入图片描述

nmap命令查看端口
在这里插入图片描述
netstat命令查看端口的占用情况

netstat -anp | grep 端口号

  • -anp|grep:过滤一个指定的端口号
    在这里插入图片描述
5.10 进程管理

概念
简单来说程序运行起来了,在系统中用一个独立的id标签去标识这个程序;

ps -ef:查看当前系统进程
在这里插入图片描述

  • uid:进程所属用户
  • pid:进程id
  • ppid:进程父id
  • c:进程占cpu的占用率
  • stime:进程启动时间
  • time:进程占用cpu的时间
  • cmd:启动路径

查看指定进程信息
在这里插入图片描述

关闭进程

kill [-9] 进程id

  • -9:强制关闭
5.11 主机状态监控(top、df、iostat、sar)

top查看cpu、内存的使用情况,每隔5秒刷新
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
df磁盘信息监控

df [-h]

  • -h:以更人性化的单位显示

在这里插入图片描述
iostat查看cpu、磁盘相关信息
iostat [-x][nums][nums]

  • -x:显示更多信息
  • nums1:刷新间隔
  • nums2:刷新几次
    在这里插入图片描述

sar命令查看网络的相关统计

sar -n DEV num1 num2

  • -n:查看网络 ,DEV标识网络接口
  • num:刷新间隔 查看次数
    在这里插入图片描述
5.12 环境变量(env、$符号、export)

概念

命令的本质就是一个个的可执行程序
eg:cd命令的本体就是:/usr/bin/cd这个文件
但是无论当前工作目录在哪,都可以执行/usr/bin/cd这个程序

env查看系统中的环境

env | grep PATH
在这里插入图片描述
PATH中记录系统中的默认路径,使用冒号隔开

$符号
$在Linux中取到环境变量
在这里插入图片描述
自行设置环境变量

  • 临时设置 ,语法:export 变量名=变量值;
    在这里插入图片描述
  • 永久生效
  • 针对当前用户生效,配置在当前用户的 :~/bashrc文件中;
    在这里插入图片描述
  • 针对所有用户,/etc/profile;
  • 通过语法:source配置文件,进行立刻生效,或重新登陆FinalShell生效;

编写简单的脚本小程序
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.13 Linux文件上传和下载(rz、sz)

rz上传
直接rz选择文件

sz下载
在这里插入图片描述

5.14 缩和解压(tar、gzip;zip、unzip )

概念
Linux和MAC系统常用的两种压缩格式,后缀名分别是:

  • .tar:归档文件,简单的将文件租封装到.tar文件中,并没有太多的体积减少;
  • .gz:使用gzip压缩算法将文件压缩到一个文件中,可以极大的减少压缩后的体积;

tar [-c -v -x -f -z -C] 参数1 参数1 参数n

  • -c:创建压缩模式
  • -v:显示压缩进程
  • -x:解压模式
  • -f:要创建或解压的文件
  • -z:gzip模式
  • -C:选择解压目的地
#tar的常用组合为:
tar -cvf test.tar 1.txt 2.txt 3.txt
#将1.txt2txt 3txt压缩到test.tar文件内

tar -zcvf test.tar.gz 1.txt 2txt 3txt
#将1txt2txt3txt压缩到testtar.gz文件内使用gzip模式
#常用的tar解压组合有
tar -xvf testtar
#解压test.tar,将文件解压至当前目录

tar -xvf test.tar -C/home/itheima
#解压testtar将文件解压至指定目录(/home/itheima)

tar -zxvf test.tar.gz -C/home/itheima
#以Gzip模式解压testtar.gz,将文件解压至指定目录(/home/itheima)

可以使用zip命令压缩文件为zip压缩包

zip[-r]参数1参数2…参数N

  • -r,被压缩的包含文件夹的时候,需要使用-r选项,和rm、cp等命令的-r效果一致;
zip test.zip a.txt btxt c.txt.
#将a.txtbtxtctxt压缩到test.zip文件内

zip -r test.zip test itheima a.txt
#将testitheima两个文件夹和atxt文件压缩到test.zip文件内

使用unzip命令,可以方便的解压zip压缩包
unzip[-d]参数

  • -d指定要解压去的位置同tar的-C选项 参数,被解压的zip压缩包文件

示例:

· unziptest.zip
#将test.zip解压到当前目录

· unzip test.zip-d /home/itheima
#将test.zip解压到指定文件夹内(/home/itheima)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值