IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linxu学习 -> 正文阅读

[系统运维]Linxu学习

目录

前言引入

Linux OS和各种发行版的关系

?如何使用云服务器?编辑

Shell

关于Linux的操作方式

命令行的参数

?Linux命令行的复制操作?编辑

Linux文件系统简介

具体的命令

who和whom

ls命令

pwd命令

cd命令

touch命令

cat命令

mkdir命令

rm命令

mv命令

cp命令

man命令

more命令

less命令

?head命令

tail命令

Linux管道

重定向

grep指令

find指令

?ps

netstat

free


前言引入

Linux OS和各种发行版的关系

Linux 严格意义来说只是一个 "操作系统内核".一个完整的操作系统 = 操作系统内核 + 配套的应用程序.由于 Linux 是一个完全开源免费的内核, 因此有些公司/开源组织又基于 Linux 内核, 提供了不同的配套程序. 这就构成了不同的 "发行版".
?

  • LinuxOS主要做的OS内核(进程管理,内存管理,网络管理,驱动管理)——只负责造车的发动机image-20220520185445070
  • 各种各样的Linux发行版(基于LinuxOS的基础上的产品),Ubuntu,Redhat,Arch....,比较有名的就是Centos,但是放弃了支持这个,但是国内云厂商继续支持(TencentOS),基本都是再Centos 8.X继续的
  • 不同的发行版的Linux,使用(80%)上都是一样的,但是有些是不太一样的

?如何使用云服务器

Shell

  • Shell就是操作Linux的一个平台/界面/控制台
  • SSH协议:Secure Shell 安全版的Shell,会默认启动着一个ssh服务器的,进程名一般叫sshd?
  • 我们要操作我们的云服务器的话,需要一个ssh的客户端,我们的客户端软件就是Xshell,也可以使用别的客户端

在自己的电脑操作云服务器需要哪些操作

  1. ssh客户端
  2. 云服务器的公网IP
  3. 云服务器的ssh服务器的监听端口——默认是22端口
  4. 登录系统需要的用户名——root
  5. 登录系统需要的密码

关于Linux的操作方式

两种操作模式

  • 我们的Linux就是基于命令行的操作模式?

命令行的参数

  • 每个参数之间需要空格,空格的数量无所谓
  • 首先类似gcc的是命令名称
  • 后面的三个词,其实都被作为三个字符串的形式的参数,传入第一个参数代表的程序中,进行处理
  • 如何将空格分割的参数当成一个参数(比如aab ccc),按形式是两个参数,如何变成一个参数呢?可以用“aab ccc”或者'aab ccc'
  • Linux中提前写好的很多程序,遵循一些规划,参数在逻辑上被分为选项和输入

?命令行的自动补全

  • ?因为每次输入都很累,所以提供了自动补全功能,使用Tab来进行补全
  • 由于w开头的候选命令很多,一次tab不行,需要两次tab,列出所有候选命令,如果候选命令有一个,使用一个tab就行

?Linux命令行的复制操作

Linux文件系统简介


1、Linux文件系统与Windows有较大的差别

  • 虽然都是使用树形结构组织文件,文件都是分为文件夹和普通文件(文件夹可以作为叶子节点也可以是非叶子节点,普通文件只能是叶子节点)
  • Windows的文件结构是多个并列的树状结构,最顶部的是不同的磁盘(分区),如C、D、E、F等
  • Linux的文件结构是单个的树状结构,根目录(用"/"表示),其他目录都要位于根目录下,/root是用户专属的目录,一般称为该用户的家目录(home),所有的操作在root下进行
  • 在Linux中使用正斜杠(/)而不是反斜杠(\)来划分目录。在Linux中,反斜杠是用来标识转义字符的

2、绝对路径:路径的写法,由根目录/写起

  • 例如: /usr/share/doc 这个目录
  • 绝对路径总是以正斜杠作为起始的,指明文件系统的根目录

3、相对路径:路径的写法,不是由/写起

  • 例如由/usr/share/doc要到/usr/share/man底下时,可以写成:cd ../man这就是相对路径的写法,相对路径表示就是从当前目录开始出发
  • ?.表示当前所在路径,..表示当前所在路径的上一层

4、为了便于定位和查找,Linux中的每个目录一般都存放特定类型的文件,下表列出了各种Linux发行版本的常见目录

  • bin?是?Binary?的缩写,存放着可执行文件或可执行文件的链接(类似快捷方式)与?/bin?类似的是?/sbin?目录,System Binary 的缩写,这里存放的命令可以对系统配置进行操作。普通用户可能可以使用这里的命令查看某些系统状态,但是如果想更改配置,就需要?sudo?授权或者切换成超级用户。
  • 这里是系统启动需要的文件,你可以看到?grub?文件夹,它是常见的开机引导程序。我们不应该乱动这里的文件。
  • dev?是?device?的缩写,这里存放这所有的设备文件。在 Linux 中,所有东西都是以文件的形式存在的,包括硬件设备。比如说,sda,?sdb?就是我电脑上的两块硬盘,后面的数字是硬盘分区:

  • etc这个目录经常使用,存放很多程序的配置信息,比如包管理工具 apt:

  • tmp?是?temporary?的缩写,存储一些程序的临时文件。

  • var?是?variable?的缩写,这个名字是历史遗留的,现在该目录最主要的作用是存储日志(log)信息,比如说程序崩溃,防火墙检测到异常等等信息都会记录在这里。

注:
1、Linux是以树的结构存储文件的。不管你的电脑中有几块硬盘(即便没有),也不管硬盘分了几个区,Linux都会给你整出来个根目录,也就是上图中最顶层的“/”

  • 一旦你安装了Linux,它就会在根目录下创建几个文件夹,这些文件夹的名字是“root”、“home”、“dev”等等。路径分别是“/root”、“/home”、“/dev”等

2、众所周知,存储文件需要硬盘。Linux这波操作光搞了个目录,但是与硬盘和分区没有任何关系,那么这些文件夹和之后要写入的文件存在哪里啊?这就引入了Linux下“挂载”的概念

挂载即把一个分区或磁盘放在一个目录里

  • ? ? 挂载点就是一个特定的目录
  • ? ? 挂载的本质就是为设备提供一个访问入口,例如将光盘挂载到/mnt/cdrom的话,就可以通过访问/mnt/cdrom这个目录来访问光盘

具体的命令

首先进入Linux我们要知道的就是我是谁,我在哪,我的周围有什么,我是谁

who和whom

  • who表示当前登录系统的所有用户
  • whoami 我们是以哪个用户登录上了的

ls命令


1、作用:列出目标目录中所有的子目录和文件

  • 如果ls指定其他目录,那么就会显示指定目录下的文件和目录,也就是知道我的周围有什么的功能
  • 通过ls命令不仅可以查看linux文件夹包含的文件而且可以查看文件权限(包括目录、文件夹、文件权限)、查看目录信息等等

2、命令格式:ls [选项] [目录名]

3、常用参数:

  • -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
  • -d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
  • -k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
  • -l 列出文件的详细信息。
  • -r 对目录反向排序。
  • -t 以时间排序。
  • -R 列出所有子目录下的文件。(递归)
  • 可以写成 ls -la,等价于 ls -l -a

注:

  • 默认情况下,ls命令会输出目录下所有非隐藏文件,有时候这个输出会很多。因此可以使用过滤器来决定输出那些文件信息

? ? ⑴这个过滤器就是一个简单文本匹配的字符串

2、ls命令能够识别标准通配符,可以在过滤器中用它们进行模式匹配

  • ? ? 问号(?):代表一个字符,代表任意位置的单个字符
  • ? ? 星号(*):代表零个或多个字符

3、ls -l命令的输出跟ll命令的输出是一样的(ll是ls -l的别名)

4、在操作文件或目录时可以直接使用文件名或目录名、也可以使用绝对路径+文件名或目录名

  • 直接使用目录名或文件名的话:需要保证文件或目录在当前工作目录下
  • 使用绝对路径则没有要求

pwd命令

1、命令功能:查看当前工作目录的完整路径

2、命令格式:pwd [选项]

3、常用参数:一般情况下不带任何参数

  • ? ? 如果目录是链接时:pwd -P显示出实际路径,而非使用连接(link)路径

cd命令

  • 1、作用:切换当前目录至指定目录
  • 2、命令格式:cd [目录名]
  • 3? ? 路径可以是绝对路径也可以是相对路径
  • 4? ? ..表示父目录,.表示当前目录

注意

  • 1、未切换目录时显示的是波浪号(~):表示当前位于主目录中(为用户目录,不是根目录)
  • 2、当前用户主目录和系统根目录是两个不同的概念
  • 3? ?cd-表示返回上一次的目录

touch命令

  • 语法:touch [选项]… 文件…
  • 功能:1如果一个文件不存在,创建一个新文件(普通文件),文件内容是空的 2如果一个文件存在,修改这个文件的last modified(上一次的修改时间/最后修改时间)

常用选项:

  • -a 或–time=atime或–time=access或–time=use只更改存取时间。
  • -c 或–no-create 不建立任何文档。
  • -d 使用指定的日期时间,而非现在的时间。
  • -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
  • -m 或–time=mtime或–time=modify 只更改变动时间。
  • -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
  • -t 使用指定的日期时间,而非现在的时间

cat命令


1、作用:cat主要有三大功能

  • 一次显示整个文件:cat filename
  • ?从键盘创建一个文件:cat > filename只能创建新文件,不能编辑已有文件
  • 将几个文件合并为一个文件:cat file1 file2 > file

2、命令格式:cat [选项] [文件]...

3、命令参数: ? ?

  • -n:对输出的所有行编号,由1开始对所有输出的行数编号
  • -b:对非空输出行编号
  • ?-s 不输出多行空行

4、cat命令是一次性显示整个文件内容(不能编辑),一般用于查看不会实时变更的文件内容
? ? 而tail命令一般用于查看会实时变更的文件内容,如日志文件等
? ??

mkdir命令

  • 语法:mkdir [选项] dirname…
  • 功能:在当前目录下创建一个名为 “dirname”的目录

常用选项:

  • -p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立 好那些尚不存在的目录,即一次可以建立多个目录;

rm命令

  • 1、作用:删除一个目录中的一个或多个文件或目录

  • ? 如果没有使用-r选项,则rm不会删除目录。如果使用rm来删除文件,通常仍可以将该文件恢复原状

  • 2、命令格式:rm [选项] 文件1 文件2...?

3、命令参数:

  • -f 即使文件属性为只读(即写保护),亦直接删除
  • -i 删除前逐一询问确认(交互式)
  • -r 删除目录及其下所有文件

rm是一个危险的命令,使用的时候要特别当心,否则整个系统就会毁在这个命令。比如在/(根目录)下执行rm -rf *

  • ?所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑

5、 删除目录下的一类文件:find 目录 -name "*.类型" | xargs rm -f

  • 通过find命令,查找指定目录下的某一类型的文件。并通过管道传递给xargs,执行后面的rm -f命令
  • 例如:find . -name "*.txt" ?|xargs rm -rfv 。命令中的'.'表示当前目录下
  • rm -r *和rm ./*是删除当前目录下的所有文件。*是通配符。

mv命令

  • mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命 令,经常用来备份文件或者目录。

语法: mv [选项] 源文件或目录 目标文件或目录

功能:

  • 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中(相当于WIn中的剪切功能)。
  • 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。 (相当于Win中的重命名)
  • 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至 目标目录中。

常用选项:

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
    ?

4、移动一个文件或目录时,指令最后一个参数肯定是一个路径;而重命名时,指令最后一个参数就不是路径了,而应该是一个文件名或目录名

cp命令

  • 语法:cp [选项] 源文件或目录 目标文件或目录
  • 功能: 复制文件或目录(类似Win中的复制粘贴功能)
  • cp/mv 关于询问,不是询问要不要复制/移动,而是询问是否覆盖原有的文件

?


常用选项:

  • -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
  • -i 或 --interactive 覆盖文件之前先询问用户
  • -r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
  • R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理

man命令

  • Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是
  • man 语法: man [选项] 命令

常用选项:

  • -k 根据关键字搜索联机帮助
  • -num 只在第num章节找
  • -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按 下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。

解释一下,面手册分为8章

  • 1 是普通的命令
  • 2 是系统调用,是由操作系统提供的,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文 件)
  • 3 是库函数,一般都是与C如printf,fread注意:这个库函数手册是需要安装的,命令如下:(root下执行)yum install -y man-pages1
  • 4 是特殊文件,也就是/dev下的各种设备文件
  • 5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
  • 6 是给游戏留的,由各个游戏自己定义
  • 7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
  • 8 是系统管理用的命令,这些命令只能由root使用,如ifconfig
    ?

more命令

  • 语法:more [选项][文件]
  • 功能:more命令,功能类似 cat

常用选项:

  • -n 对输出的所有行编号
  • q 退出more

注意:在使用more的过程中,只能使用回车键进行向下查看,同时也可以使用/内容来搜索并查看相关的内容。

less命令

  • less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。
  • less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看
  • 但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!
  • 除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

语法: less [参数] 文件

功能: less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前 不会加载整个文件。

选项:

  • -i 忽略搜索时的大小写
  • -N 显示每行的行号 /字符串:向下搜索“字符串”的功能
  • ?字符串:向上搜索“字符串”的功能
  • n:重复前一个搜索(与 / 或 ? 有关)
  • N:反向重复前一个搜索(与 / 或 ? 有关)
  • q:quit
    ?

?head命令

  • head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的 开头至标准输出中,而 tail 想当然尔就是看档案的结尾。

语法: head [参数]… [文件]…

功能: head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。

选项:

  • -n<行数> 显示的行数

tail命令

  • tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail - f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容.

语法: tail[必要参数][选择参数][文件]

功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

选项:

  • -f 循环读取
  • -n<行数> 显示行数

Linux管道

?进程之间通信的方式

  • 1信号量
  • 2管道
  • 3信号
  • 4共享内存
  • 5文件
  • 6网络

image-20220527175739266

  • ?Linux中使用|来表示使用管道

举几个例子

获得一个文件的8 9 10行

  • ?先获得有编号的所有内容,然后获得前10行,在获得前十行中的后三行

获得前20行中含有name的行

用来查看日志

统计日志中有多少个请求

Get有多少个?

访问/name的请求有多少个?

统计不同的URL的访问次数是多少?

?统计不同的方法请求的个数

重定向


输出重定向

  • 语法:> 文件
  • 功能:本来应该写入到显示器的内容,修改进程的标准输出

特征:

  • 会清空原始文件的内容,进行重新写入。
  • 如果文件不存在,就会自动创建文件并写入


?追加输出重定向?

  • 语法:>> 文件
  • 功能:将本来应该写入到显示器的内容,把它追加到文件的后面

特征:

  • 不会清空原始文件中的内容,会在原来文件内容的末尾进行追加
  • 如果文件不存在,就会自动创建

?输入重定向
语法:< 文件

功能:把本来应该i从键盘文件中读取数据的方式,修改进程的标准输入

grep指令

语法: grep [选项] 搜寻字符串文件

功能: 在文件中搜索字符串,将找到的行打印出来

常用选项

  • -i :忽略大小写的不同,所以大小写视为相同
  • -n :顺便输出行号
  • -v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行

?

find指令

  • Linux下find命令在目录结构中搜索文件,并执行指定的操作。
  • Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很 多,其中大部分选项都值得我们花时间来了解一下。

在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系 统可能会花费很长的时间(这里是指30G字节以上的文件系统)


语法: find pathname -options

功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)

?ps

  • 语法:ps [参数]...
  • 功能:用于查看当前系统上运行的进程? ps -aux ps -elf

选项:

  • a 显示一个终端的所有进程
  • u 以用户为主的格式来显示程序状况
  • x 显示所有程序,不以终端机来区分

举例:

netstat

  • 语法:netstat [参数]...
  • 功能:查看系统上的网络状态.

选项:

  • -a 显示所有正在或不在侦听的套接字
  • -n 显示数字形式地址而不是去解析主机、端口或用户名
  • -p 显示套接字所属进程的PID和名称

举例:
?

?

free

  • 查看内存用了多少
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 11:56:35  更:2022-09-13 12:00:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 9:41:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码