linux 基础

linux 基础

  • 一、linux 系统的文件
    • 1. 文件与文件夹
    • 2.Linux系统文件目录结构
      • /Bin:
      • /dev:
      • /boot :
      • /etc :
      • /etc/xinetd.d/ :
      • /home :
      • /lib:
      • /media:
      • /mnt:
      • /opt:
      • /root:
      • /sbin :
      • /srv:
      • /tmp:
  • 二、Linux 的基本指令
    • 1. 指令与选项
    • 二、基础指令(重点)
    • 查阅命令信息
    • 常用命令分类
    • 1. ls指令
      • ls通配符的使用
    • 2. pwd指令
    • 3.cd指令
    • 4、mkdir指令
    • 5、touch 指令
    • 6、cp指令
    • 7.mv指令
    • tree命令
    • 8、rm命令
    • 9.vim 指令
    • 10、输出重定向
    • 11、 cat指令
    • more
    • grep指令
  • 三、进阶指令(重点)
    • 1、df 指令
    • 2、free指令
    • head命令
    • tail指令
    • 5、less命令
    • 6、wc指令
    • **7、date指令(重点)**
    • 8、cal指令
    • 9、clear /Ctrl+L指令
    • 10、管道(重要)
    • Linux的高级指令
      • 软链接
      • 3、hostname指令
      • 2、ID命令
      • 3、whoami命令
      • 4、ps -ef指令(重点)
    • top退出输入q
      • 5、top指令
      • 6、du -sh指令
      • 7、find指令
      • 8、service指令(重点)
      • 9、kill指令(重点)
      • 10、ifconfig指令(重点)
      • 11、reboot 指令
      • 12、shutdown
      • 13、uptime 指令
      • 14 、uname 指令
    • 15、netstat -tnlp指令
      • 16、man指令
    • 打包、压缩与解压缩
      • 打包/解包
      • 压缩/解压缩
    • 练习题
      • 编辑器之神vim编辑器
      • 二、vim的三大模式(重点)
      • 三、命令模式
      • 1.光标移动
      • 二、复制操作
      • 三、剪切删除
      • 4、撤销/恢复
      • 5、扩展1
    • 四、模式之间的切换
      • 五、末行模式
      • 六、 编辑模式
    • 七、实用功能
      • 二、vim 中 计算器的使用
    • 八、扩展
      • 1、vim的配置(重点)
      • 2、异常退出
      • 3、别名机制(实用)
      • 4、退出方式
    • 九、作业
      • chmod
    • Linux自有服务
      • 一、运行模式
    • 二、用户与用户组管理(重点)
      • 2、用户组管理
    • which(重要)
    • which 命令可以查看命令的所在位置 which ls #输出 #/bin/ls which useradd #输出 #/usr/sbin/useradd
    • 修改用户的主/附加组
    • 修改文件权限
    • 三、网络设置
    • 四、ssh服务(重点)
    • 1.远程终端
      • 2、ssh服务文件传输
      • scp
    • 新的改变
    • 功能快捷键
    • 合理的创建标题,有助于目录的生成
    • 如何改变文本的样式
    • 插入链接与图片
    • 如何插入一段漂亮的代码片
    • 生成一个适合你的列表
    • 创建一个表格
      • 设定内容居中、居左、居右
      • SmartyPants
    • 创建一个自定义列表
    • 如何创建一个注脚
    • 注释也是必不可少的
    • KaTeX数学公式
    • 新的甘特图功能,丰富你的文章
    • UML 图表
    • FLowchart流程图
    • 导出与导入
      • 导出
      • 导入

一、linux 系统的文件

1. 文件与文件夹

什么是文件?

文件一般都是独立的个体,可以用特定的工具打开,是储存在长期储存设备或临时储存设备的一段数据流,并归属与计算机文件系统管理之下。例如:
在这里插入图片描述
什么是文件夹?

文件夹是协助人们管理计算机文件的 ,每一个文件夹对应一块磁盘空间
在这里插入图片描述
为什么先讲文件?

  1. 日常运维工作中,大部分的是见都是对文件的操作。
  2. Linux 是基于文件形式存在的操作系统
  3. Linux 一切皆文件

在日常学习中对文件的操作有:

创建文件、编辑文件、保存文件、关闭文件、重命名文件、删除文件、恢复文件

2.Linux系统文件目录结构

linux 基础_第1张图片

目录结构

/Bin:

  • 全称binary,含义是二进制,该目录存储的都是二进制文件,文件都是可被运执行。
    (例如:cat、cp、chmod 、df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar

/dev:

  • 该目录主要存放的是外接设备文件,(包括硬盘、分区、键盘、鼠标、USB等) 只要通过存取这个目录下的某个档案,就等于存取某个装置。(例如:/dev/null, /dev/zero, /dev/tty , /dev/lp*, / dev/hd*, /dev/sd*)

/boot :

  • 主要放置开机使用到的文档,包括Linux核心档案以及开机选项与开机所设定的档案Linux kernel常用的档名为:vmlinuz ,如果使用的是grub这个开机管理程式,则还会存在/boot/grub/这个目录。

/etc :

  • 系统的所有设定文档几乎都放在这个目录内,例如人员的账号密码,各种服务的起始档,一般来说这个目录下个档案属性是可以让一般人员查阅的,但是只有root有权利修改

(FHS建议不要放置可执行档(binary)在这个目录中。 比较重要的档案有:/etc/inittab, /etc/init.d/, /etc/modprobe.conf, /etc/X11/, /etc/fstab, /etc/sysconfig/等等。 另外,其下重要的目录有:/etc/init.d/ :所有服务的预设启动script都是放在这里的,例如要启动或者关闭iptables的话: /etc/init.d/iptables start、/etc/init.d/ iptables stop

/etc/xinetd.d/ :

这就是所谓的super daemon管理的各项服务的设定档目录。

/home :

  • 只是系统预设的使用者家目录除了root(home directory)新增一个一般账户时,预设者使用的家目录都会规范到这里,比较重要的是家目录有两种代号:
    ~:代表当前使用者的家目录
    而 ~guest:则代表用户名为guest的家目录。

/lib:

  • 系统的函式库非常的多,而/lib放置的则是在开机时会用到的函式库,以及在/bin或/sbin底下的指令会呼叫的函式库而已 。 什么是函式库呢?妳可以将他想成是外挂,某些指令必须要有这些外挂才能够顺利完成程式的执行之意。 尤其重要的是/lib/modules/这个目录,因为该目录会放置核心相关的模组(驱动程式)。

/media:

  • media是媒体的英文,顾名思义,这个/media底下放置的就是可移除的装置可移除的装置。 包括软碟、光碟、DVD等等装置都暂时挂载于此。 常见的档名有:/media/floppy, /media/cdrom等等。

/mnt:

  • 如果妳想要暂时挂载某些额外的装置,一般建议妳可以放置到这个目录中。在古早时候,这个目录的用途与/media相同啦。 只是有了/media之后,这个目录就用来暂时挂载用了。

/opt:

  • 这个是给第三方协力软体放置的目录第三方协力软体放置的目录 。 什么是第三方协力软体啊?举例来说,KDE这个桌面管理系统是一个独立的计画,不过他可以安装到Linux系统中,因此KDE的软体就建议放置到此目录下了。 另外,如果妳想要自行安装额外的软体(非原本的distribution提供的),那么也能够将你的软体安装到这里来。 不过,以前的Linux系统中,我们还是习惯放置在/usr/local目录下。

/root:

  • 系统管理员(root)的家目录。 之所以放在这里,是因为如果进入单人维护模式而仅挂载根目录时,该目录就能够拥有root的家目录,所以我们会希望root的家目录与根目录放置在同一个分区中.

/sbin :

  • Linux有非常多指令是用来设定系统环境的,这些指令只有root才能够利用来设定系统,其他使用者最多只能用来查询而已。放在/sbin底下的为开机过程中所需要的,里面包括了开机、修复、还原系统所需要的指令。至于某些伺服器软体程式,一般则放置到/usr/sbin/当中。至于本机自行安装的软体所产生的系统执行档(system binary),则放置到/usr/local/sbin/当中了。常见的指令包括:fdisk, fsck, ifconfig, init, mkfs等等。

/srv:

  • srv可以视为service的缩写,是一些网路服务启动之后,这些服务所需要取用的资料目录。 常见的服务例如WWW, FTP等等。 举例来说,WWW伺服器需要的网页资料就可以放置在/srv/www/里面。呵呵,看来平时我们编写的代码应该放到这里了.

/tmp:

  • 这是让一般使用者或者是正在执行的程序暂时放置档案的地方。这个目录是任何人都能够存取的,所以你需要定期的清理一下。当然,重要资料不可放置在此目录啊。 因为FHS甚至建议在开机时,应该要将/tmp下的资料都删除。

/etc:配置文件

/bin:重要执行档

/dev:所需要的装置文件

/lib:执行档所需的函式库与核心所需的模块

/sbin:重要的系统执行文件

这五个目录千万不可与根目录分开在不同的分区

二、Linux 的基本指令

1. 指令与选项

  • 什么是Linux指令?

  • 指对Linux系统管理的命令,Linux命令在系统中有两种类型:内置Shell命令和Linux命令。

  • 如新建一个名字为a的文本文档

在这里插入图片描述

  • 一个完整的指令的标准格式:Linux通用的格式

指令主体(空格)[选项] (空格) [操作对象]

一个指令可以包含多个选项

操作对象也可以是多个

例如:你去超市买瓶娃哈哈水

这个指令中买东西是指令主题,买的是操作对象,娃哈哈是操作的选项

二、基础指令(重点)

command [ -options ] [ parameter ]

  • command:命令名,相应功能的英文单词或单词的缩写
  • [-options]:选项,可以用来对命令进行控制 ,也可以省略
  • [parameter] :传给命令的参数,可以是零个、一个或多个

查阅命令信息

command --help

  • 显示command的命令帮助信息

man command

  • 查阅 command 命令使用手册

常用命令分类

  • 查看目录内文件
    • ls
  • 切换目录
    • cd
  • 创建和删除目录
    • touch
    • rm
    • mkdir
  • 拷贝和移动文件
    • cp
    • mv
  • 查看文件内容
    • cat
    • more
    • grep
  • 其他
  • echo
  • 重定向 >>>
  • 管道 |

1. ls指令

  • 含义lslist
  • 用法一:ls
  • 含义:(列出当前工作目录下的所有文件/文件夹的名称)
参数 含义
-a 显示指定目录下所有目录与文件,包括隐藏文件
-l 以列表方式显示详细文件信息
-h 配合-l使用以更人性化的方式显示文件大小

ls通配符的使用

通配符 含义
* 代表任意多个字符
代表之表示1个字符
[ ] 表示可以匹配字符组中任意个
[abc] 匹配a、b、c中的任意个
a-f 匹配a-f范围的任意个

在这里插入图片描述

  • 用法2ls 路径
  • 列出指定路径的所有文件/文件夹的名称。(重要)

l路径分为绝对路径、相对路径
相对路径:相对路径首先得有个参照物(一般是当前位置)
相对路径的写法:./【表示当前目录】…/【表示上一级目录】
绝对路径写法:不需要参照物从 “/” 开始寻找

在这里插入图片描述
用法3:ls 选项 路径
含义:列出路径下所有文件夹/文件,并以指定格式进行显示。
常见语法:
ls -l:列出各文件的详细信息,如创建者、创建时间、文件的读写权限
linux 基础_第2张图片

ls -a:列出文件下所有文件,包括以“.”开头的隐藏文件(Linux中以"."开头的是隐藏文件,如果存在"…"代表存才父目录
linux 基础_第3张图片
用法4:ls -lh 路径
含义:列出文件指定路径下所有文件,并以可读性较高的形式显示文件大小。
linux 基础_第4张图片

2. pwd指令

用法:打印当前工作目录
在这里插入图片描述

3.cd指令

|

命令 作用
cd 切换到当前用户家目录
cd ~ 切换到当前用户的家目录
cd . 保持在当前文件目录不变
cd … 切换为上级目录
cd - 可以在最近两次工作目录切换

用法:切换当前工作目录
语法:cd 路径
当前如果在“/”下:需要使用绝对路径

如:切换到/ 目录下的usr下的etc目录下
在这里插入图片描述
若在其他目录
如:在/下的sys目录下,想切换到/下的bin目录下
可以使用相随路径:
在这里插入图片描述

补充:
Linux有一个特殊的符号“~”,表示当前用户的家目录
切换的方法为:cd ~
在这里插入图片描述

4、mkdir指令

指令:mkdir (make directory 创建目录)


指令 作用
-p 递归创建文件夹

新建目录下的名称不能与当先目录已有的目录或文件同名

语法一:mkdir 路径 (路径可以是文件夹名称也可是完整的路径)
在当前目录下创建一个目录:
在这里插入图片描述
如:在指定路径建(桌面)一个文件夹:
linux 基础_第5张图片
语法2:mkdir -p

用法:一次性创建多层目录时需要-p,否则会报错。

linux 基础_第6张图片
语法3:mkdir 路径一 路径二 路径三(表示创建多个文件)

在这里插入图片描述

5、touch 指令

作用

  • 如果文件不存在,创建文件
  • 如果文件存在,修改文件的末次修改时间

语法:touch 文件路径(路径可以是直接的文件名也可以是路径)
如:在桌面创建一个文件名为海潮的txt文件

linux 基础_第7张图片

可以用touch 同时创建多个文件
linux 基础_第8张图片

如:指定目标地新建文件
linux 基础_第9张图片

6、cp指令

选项 含义
-i 覆盖文件的话提示
-r 复制的是文件夹的话,如果想递归复制就cp -r

作用:复制文件/文件夹到指定的位置
语法:cp 被复制的文档路径 被复制到的路径
如:用cp命令复制一个txt文档
linux 基础_第10张图片
注意:Linux在复制过程中可以对文件进行重命名
格式: cp 被复制文件路径 被复制到的路径/新文件名

注意复制文件为文件夹时 cp后要加-r【-r表示递归复制】否则目录将被忽略

linux 基础_第11张图片

7.mv指令

作用:移动文档到新的位置
语法:mv 需要移动的文档路径 移动到的文档路径
linux 基础_第12张图片
重命名的语法和移动是一样的

linux 基础_第13张图片

tree命令

如何安装tree命令下载安装tree
linux 基础_第14张图片

选项 含义
-d 只显示目录不显示文件

8、rm命令

选项 含义
-f 强制 删除,忽略不存在的文件。无提示
-r 递归的删除目录/文件,删除文件夹必须加次参数

作用:删除文档/文件
语法:rm 需要移除的文档路径
rm -f :强制删除,不提示是否删除
rm -r:递归删除

删除一个普通的文件
在这里插入图片描述
案例:递归删除文件夹
linux 基础_第15张图片
递归删除会进入文件夹先删除文件夹内的文件再删除外部文件夹,一层一层删除

案例:强制删除一个文件夹
在这里插入图片描述
删除文件夹需要-r,若不想提示直接-rf,不bb直接删除

案例:删除一个目录下有公共特性的文件

linux 基础_第16张图片
Linux中 * 表示通配符,表示任意字符,h * 表示以h开头的文件后续字符不管。

9.vim 指令

指令:vim(vim是一款文档编辑器)
语法:vim 文件路径
作用:打开一个文件(可以存在,也可以不存在)
案例:用vim打开文件
在这里插入图片描述
保存并退出:wq
在这里插入图片描述
强制退出:q!
退出前需要退出编辑模式 ESC 以确保状态为命令模式

10、输出重定向

一般的命令输出都会显示在终端,有时候需要将命令的结果保存到文件中以便于之后的分析、统计,这时候就需要用到输出重定向技术

“>”:覆盖输出:会覆盖原先的文件内容
“>>”:追加输出:不会覆盖原先的内容,会在原先内容后进行追加。
语法:正常的执行命令 >/>> 文件的路径.
案例:使用覆盖重定向保存ls -l 的执行结果到桌面的文档。

注意文件可以不存在,不存在则新建
linux 基础_第17张图片

11、 cat指令

选项 含义
-b 对非空行数去行编号
-n 对输出的所有行进项编号

功能:cat 有直接打开文件的功能
语法1:cat 文件路径
在这里插入图片描述
作用2:合并文件
语法2:cat 待合并的文件1 待合并文件2 >合并后文件路径 文件名
linux 基础_第18张图片

more

  • 适合查看文件内容较多的文件
操作键 功能
空格键 显示文件的下一页
enter 一次滚动一行
b 回滚一屏
f 前滚一屏
q 退出
/word 搜索word字符串

grep指令

  • grep是强大的文本搜索工具
  • 允许对文本进行模式查找
选项 含义
-n 显示匹配行即行号
-v 显示不包含匹配文本的所有行(相当求反)
-i 忽略大小写
  • 常用的两种模式查找
参数 含义
^a 搜索以a开头的行
ke$ 搜索以ke结尾的行

三、进阶指令(重点)

1、df 指令

命令 作用
df-h 显示磁盘的剩余空间
du-h [目录名] 显示目录下的文件大小
tree -h 显示当前目录下以树形图显示且文件大小

作用:查看磁盘的空间
语法:df -h
-h表示 可读性较高的形式显示文件大小
linux 基础_第19张图片

2、free指令

作用:查看内存使用情况
语法:free -m
-m表示以mb单位查看
linux 基础_第20张图片
swap:用于临时内存,当系统真实内存不足时临时使用磁盘空间充当内存

head命令

作用:查看文档的前n行,如果不指定n 默认查看前10行
语法:head -n 文档路径 n表示行数

在这里插入图片描述

tail指令

作用:查看文档的末尾n行 不指定n默认尾10行
语法1:tail -n 文件路径
在这里插入图片描述
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

用法2:可以通过通过tali指令查看文件动态变化内容(变化内容不能是手动改变的)
语法:tail -f 文件路径
该命令一般用于查看系统日志

5、less命令

作用:查看文件 数字+回车:向下看几行 空格:看结尾 回车:下一行
输入:q 退出

6、wc指令

作用:统计文件内容信息(包含行数、单词数、字节)
语法:wc -lwc 需要统计的文件路径
l line 表示行数 以"/n"作为焕行结束标志(其实是统计“/n” 数量
w words 表示单词数 (依照空格来判断单词数 一个空格就是两个单词
c bytes 表示字节数
linux 基础_第21张图片

7、date指令(重点)

作用:表示操作时间日期(读取、设置)
语法一:直接输入date 输出形式:2019年1月1日 星期二 13:24:12

语法二:date +%F 等价于(date +%Y-%m-%d)大小写不可用错
输出形式:2019-01-01

语法三:date “+%F %T” ""表示让年月日时分秒成为不可分割的整体
等价于 date “+Y-%m-%d %H%M%S”
输出形式: 2019-01-01 12:13:24

语法四:获取之前或之后时间(备份使用)
date -d “-2day” “+%Y-%m-%d” %H:%M:%S
在这里插入图片描述

%F: 表示完整的年月日
%T:表示完整的时分秒
%Y:表示4位数年份
%m :表示两位月份
%d:表示日期
%M:表示分钟
%S: 表示秒数

8、cal指令

用来操作日历
语法:cal 等价于 cal -l 直接输出当前月份的日历
linux 基础_第22张图片
语法:cal -3 表示输出上一个月 这个月 下个月的日历

linux 基础_第23张图片

语法4:cal -y 年份 表示输出某一年的日历 (不输默认当年)

9、clear /Ctrl+L指令

作用:清除终端已存在的命令信息(并没有清除只是页面下翻)

10、管道(重要)

管道符:|
作用:管道符一般可用于“过滤”,“特殊“,扩展处理””
语法:管道符一般不可以单独使用,必须搭配前面将的一些指令来做,其主要是辅助作用

过滤案例(100%使用):需要管道符查询出根目录下包含“y”字母的文档名称

命令:ls /| grep y
在这里插入图片描述
针对上面的命令说明:以管道符为分界,将管道符前输出的结果丢给管道符后面,作为后面的输入。
grep 是非常高效的查询工具 多用于过滤

2、特殊用法案例:
通过管道的方法来实现less的等价效果
之前通过less查看文件: less 文件路径
现在可以cat 路径|less

例子:查询一下根下bin目录有多少个文件
在这里插入图片描述

Linux的高级指令

软链接

命令 作用
ln -s 被链接的源文件 链接的文件 建立文件的软链接

注意:
没有-s 建立的是一个硬链接
源文件要使用绝对路径,不能使用相对路径

3、hostname指令

作用:操作服务器的主机名(读取、设置)
语法一:hostname 输出完整的主机名

语法二:hostname -f 输出当前主机的FQDN(全限定域名)
linux 基础_第24张图片

2、ID命令

作用:查询用户的基本信息(包括用户id 组id 附加组id)该指令不指定用户则默认当前用户
语法1:id 默认显示执行当前命令的用户信息
在这里插入图片描述
语法二:id 用户名

在这里插入图片描述

如何验证上述信息是否正确?
验证用户信息:
cat /etc/passwd |grep haichao
在这里插入图片描述

验证组信息:
cat /etc/group |grep haichao
在这里插入图片描述

列的含义:
UID:执行该进程的用户id
PID:进程id
PPID:该进程的父级进程id,如果一个程程序的父级id找不到该程序进程称之为僵尸进程(parent process ID)
C:CPU的占用率,其形式是百分数
STIME:进程的启动时间
TTY:终端设备,发起该进程的设备识别符号,如果显示为? 则表示该进程不是由终端发起的
TIME:进程的执行时间
CMD:该进程名称活着对应的路径

3、whoami命令

作用:“我是谁”显示当前用户名,一本用于shell脚本,用于获取当前用户名方便记录日志。
语法:whoami

4、ps -ef指令(重点)

命令 作用
pa aux 查看进程的详细状况
top 动态显示运行中的进程并且排序
kill [-9]进程代号 种种指定的代号进程。 -9表示强行终止

ps 默认只会显示当前用户通过终端启动的应用程序

  • ps 选项说明
选项 含义
a 显示终端上的所有进程,包括其他用户的进程
x 显示没有终端控制的进程

top退出输入q

指令:ps
作用:主要用于查看服务器的进程信息
选项含义:
-e 等价于:-A ,表示列出全部进程
-f表示列出全部的列(显示全段文字)
执行结果:
linux 基础_第25张图片
例如查看火狐浏览器的进程:
在这里插入图片描述

5、top指令

作用:查看服务器进程占的资源(100%)
语法:top (动态显示)
退出命令:q
linux 基础_第26张图片

PID: 进程id
USER:进程对应的用户
PR:优先级
VIRT:虚拟内存
RES:常驻内存
SHR:共享内存
计算机实际使用内存=常驻内存RES-共享内存SHR
S表示进程的状态status(sleeping s表示睡眠 r表示运行)
%cup:表示cpu的占用率
%mem:表示内存的占用率
TIME:表示执行的时间
COMMAD:进程的名称或者路径

在top运行的时候可以用以下快捷键
M:表示进程按照内存占用率大小排序
P:表示进程按CPU占用率排序
1:当前服务器有多个CPU的时候可以使用1快捷键来切换知否展示各个CPU的详细信息。

6、du -sh指令

作用:查看目录的真实大小
语法:du -sh 目标目录
linux 基础_第27张图片

s:只显示汇总的大小
h:以可读性较高的形式显示

7、find指令

命令 作用
find [路径] -name “*。py” 查找指定路径下扩展名是,py的文件

作用:用于查找文件
语法:find 路径范围 选项 选项的指
选项:
-name:按照文档名称搜索(支持模糊搜索)
-type:按照文档类型进行搜索
文档类型:“-”表示文件(在使用find时要用f来替换)d表示文件夹
案例:用find搜索根下名字为haichao的文件

在这里插入图片描述

案例:搜索e桌面目录下所有后缀名为txt的文件
在这里插入图片描述
**注意在*之前需要有一个转义符\否则会报路径必须在表达式之前的错误。
案例:搜索桌面下所有的文件

linux 基础_第28张图片

案例:搜索桌面下所有的文件夹
在这里插入图片描述

8、service指令(重点)

作用: 用于控制一些软件的服务启动/重启/停止
语法:service 服务名 star/restart/stop
额我也启动不起来
未完——

9、kill指令(重点)

作用:杀死进程(当遇到僵尸进程或者某些原因要关闭进程的时候)
语法:kill 进程pid(语法需要配合ps一起使用)

第一步用ps找到PID
linux 基础_第29张图片
第二部:kill pid

语法二:killall 进程名称
比kill好用
例如杀死火狐进程:
在这里插入图片描述

10、ifconfig指令(重点)

作用:用于操作网卡相关的指令
语法:ifconfig (获取网卡信息)
linux 基础_第30张图片

ens33表示linux的一个网卡,ens33是器名称。
LO(loop,本地回还网卡,其一般地址都是127.0.0.1)也是一个网卡的名称。
linux 基础_第31张图片
注意:inet 就是网卡的ip地址

11、reboot 指令

作用:重启计算机
语法一:reboot
语法二:reboot -w模拟重启计算机 但不重启(只写关机与开机的日志)

12、shutdown

作用:关机
语法一:shutdown -h now 关机提示“” 或者 shutdown -h 时间(时:分)“关机提示”
取消关机:shutdown -c

还有几个关机命令:
init 0
halt
poweroff

13、uptime 指令

作用:输出计算机的持续在线时间(计算机从开机到现在)

在这里插入图片描述

14 、uname 指令

作用:获取与计算机系统相关的信息
语法:uname
在这里插入图片描述
语法二:uname -a (表示获取所有的系统信息)类型、全部主机名、内核版本、发布时间、开源计划
在这里插入图片描述

15、netstat -tnlp指令

作用:查看网络连接状态
语法:netstat -tnlp
linux 基础_第32张图片

-t表示只列出tcp协议的连接
-n表示将地址转换为ip地址,将协议转化为端口号来显示
l:表示过滤出“state”(状态)列中其值为listen(监听)的连接
-p:表示发起进程连接的进程pid名称

16、man指令

作用:manual 手册(包含linux中 全部指令的手册 英文)
语法:man (按q退出)

案例:通过man 查询cp指令的用法


打包、压缩与解压缩

打包/解包

命令 作用
tar -cvf 打包后文件名.tar 被打包的文件 /被打包的文件路径 打包文件(只打包不压缩)
tar -xvf 打包文件.tar 将打包的文件解包到当前路径下

tar 选项说明

选项 含义
c 生成档案文件,创建打包文件
x 解开档案文件
v 列出归档解档的详细过程显示进度
f 指定档案文件名称,f后一定是tar文件,所以一定要放在最后

注意:f 必须放在最后其他随意

压缩/解压缩

  1. gzip
命令 作用
tar -zcvf 打包后的文件名.tar.gz 被压缩的文件或路径 打包并压缩文件
tar -zxvf 打包文件.tar.gz 将文件解包到当前路径
tar -zxvf 打包文件.tar.gz -C 目标路径 解压到指定路径

-C 解压到指定目录,注意:要解压的目录必须存在

  1. bzip2
    bzip2 与 gzip 用法相似
命令 含义
tar -jcvf 打包后的文件名.tar.bz2 被压缩的文件 或 路径 压缩文件
tar -jxvf 打包文件.tar.bz2 解压文件

练习题

1、如何通过命令行重启linux 操作系统
reboot
2、如何在命令行行快速删除光标前/后的内容
前ctrl+u
后:ctrl+k
3、文件备份,如何将/etc/passwd备份到 /tmp目录下

在这里插入图片描述
查看一下有没有成功
在这里插入图片描述
4、查看系统左后创建的3个用户
在这里插入图片描述
5、统计当前系统有多少个用户
在这里插入图片描述
6.如何在桌面创建文件?
linux 基础_第33张图片
如何查看etc所占的磁盘空间
在这里插入图片描述
如何删除/tmp下所有文件
在这里插入图片描述
尝试启动Apache服务 ,并检查是否成功
service httpd start
ps -ef|grep httpd

编辑器之神vim编辑器

重点是光标的移动、模式切换、删除、查找、替换、复制、粘贴、撤销

二、vim的三大模式(重点)

vim三大模式:命令行模式、编辑模式(输入模式)末行模式(尾行模式)

命令行模式:在该模式下是不能对文件直接进行编辑的,可以输入快捷键进行操作(删除、复制、移动光标、粘贴等)【打开vim默认进入的模式】
编辑模式:对文本进行编辑
末尾行模式:可在末尾行输入命令进行操作(搜索、替换、保存、退出、撤销、高亮等)

vim打开文件的方式(4种)
语法一:vim 文件路径
语法二:vim +数字 文件的路径(打开指定的文件并将光标移动到该行)
语法三:vim +/关键词 文件路径(打开指定文件,并将关键词高亮)
语法四:vim 文件路径一 文件路二 … (同时打开多个文件)
重点:先复制出一个/etc/passwd文件,复制到当前的家目录下(不要在原目录下改
**退出方式:q **

三、命令模式

1.光标移动

1.光标移动到行首
按键:shift+6
2.光标移动到行尾
按键:shift+4
3.光标移动到首行
按键:gg
光标移动到尾行:
按键:G
翻屏:
向上:ctrl+b
向下:ctrl+f

二、复制操作

1.复制光标所在行
按键:yy
粘贴在想要位置按下p
2、以光标所在行为准(包含当前行)向下复制指定的行数
按键:数字yy
3.可视化复制
按键:ctrl +v(可视块)
V(可视行)
v(可视)
然后按上下左右进行选择,按下y进行复制,按下p进行粘贴

三、剪切删除

1、剪切删除光标所在行
按键:dd(删除之后下一行上移)
注意:dd是严格意义上的粘贴,如果只剪切不粘贴就是删除
2、剪切删除光标所在行为准(包含当前行)向下删除指定的行
按键:数字dd
3.剪切/删除光标所在行之后的内容,但是删除后下以行不上移
按键;D(删除后当前行编程空白)
4可视化删除
按键:ctrl +v(可视块)
V可视行
v可视
上下左右移动,按下D表示删除选中行,d表示删除选中块

4、撤销/恢复

撤销:输入:(不属于命令模式)
恢复:ctrl +r 恢复之前的撤销操作

5、扩展1

1、快速将光标移动到指定的行
按键:数字G
2.以当前光标为准向上/向下移动n行
按键:数字↑ 数字↓
3.在末行模式下快速移动到指定行
:行数

四、模式之间的切换

linux 基础_第34张图片

五、末行模式

进入方式:由命令模式进入,按下“:”或者“/(表示查找)”
退出方式:
1、按下esc
2、连续按两次esc(删除末行全部字符)

保存操作:
输入“:w” 保存文件
输入:“w 路径”另存为

退出:
输入“:q”退出文件

保存并退出:
输入“:wq”

强制退出:
输入“:q!”表示强制退出,刚才操作不保存

调用外部命令
输入:“:!外部命令”
(外部命令执行完后,按任意键即返回vim)

6.搜索
输入:“/关键词”
例如我想在passwd 文档中搜索haichao关键词
在这里插入图片描述

在搜索结果切换上/下一个结果N/n(next)
如果要取消高亮则输入“:nohl”

7、替换
:s/搜索的关键词/新的内容 (替换光标所在行第一处符合条件的内容)
:s/搜索的关键词/新的内容/g(替换光标所在行符合条件的内容)
** :%s/搜索的关键词/新的内容**替换整个文档中每行第一个符合条件的内容
:%s/搜索的关键词/新的内容/g替换整个文档的符合条件的内容

%表示整个文件
g表示全局(global)

8、显示行号(临时)
输入“:set nu”
如果想取消输入“:set nonu”

扩展2:使用vim打开多个文件 在末行切换文件

查看当时已经打开的文件名称“:files”
在%a a(active)
#:表示上一个打开的文件

切换文件的方式
1、如果要指定切换文件的名称,可以输入“:open”
在这里插入图片描述

2、 可以通过其他命令来切换上一个文件/下一个文件

输入:“:bn”切换到下一个文件(back next)

输入:“:bp”切换到上一个文件(back prev)

六、 编辑模式

linux 基础_第35张图片

七、实用功能

1.代码着色
linux 基础_第36张图片
案例:首先创建简单的c语言
在这里插入图片描述
显示着色:syntax on
不显示着色 :syntax off
注意文件只有在 /etc 目录下才会显示颜色

二、vim 中 计算器的使用

1、进入编辑模式
2、按下ctrl +r,然后输入“=”,此时光标会变到最后一行
3、输入需要输入的内容 按下回车

八、扩展

1、vim的配置(重点)

vim是一款编辑器,编辑器是有配置文件的
vim配置有三种情况
a、文件打开在末输入的配置(临时)
b、个人配置文件(~/.vimrc 如果没有可以新建)
c、全局配置文件(vim自带, /etc/vimrc)

a、

  • 在配置文件中进行配置
  • 比如显示行号 set nu
    在这里插入图片描述
    如果针对同一个配置项,个人配置文件中存在,则以个人配置文件为准,如果个人配置文件中不存在这一项,则以全局配置文件为准

2、异常退出

在你编辑文档时没有:wq退出,而是因为断电等其他因素退出则会显示:

linux 基础_第37张图片
解决办法:将交换文件(在编辑中产生的文件)删除即可

rm -f .passwd.swp

3、别名机制(实用)

作用:相当于创建属于自己的自定义命令
例如:在Windows下有cls命令。在linux没有这个命令但是可以通过别名机制来解决这个问题,创造自己的cls命令
别名机制依靠一个别名映射文件:~/.bashrc

linux 基础_第38张图片
注意:要想让命令生效必须重新登录当前用户

4、退出方式

之前的退出方式有 :q 、:wq
vim还支持一种退出方式“:x”

说明:

  • “:x”在文件没有修改的情况下,表示直接退出,在文件修改的情况下表示保存后退出
  • 如果文件没有被修改但是使用:wq退出的话,文件的修改时间会被更改
  • 如果文件没有被修改使用:x退出的话,文件修改时间不会更改
  • 因此建议使用“:x”,来进行对文件的保存修改
  • 但是不要使用X(大写),X表示蒂对文件进行加密操作

九、作业

  • 使用别名机制,创建一个快捷指令kj,要求按下kj回车之后能实现:统计apache的服务进程数量。
  • ps -ef |grep Apache|wc -l

chmod

chomd可以修改用户/用户组对文件目录的权限
命令格式如下:

	chomd +/-rwx 文件/目录名		

Linux自有服务

自有服务: 不需要用户独立安装的服务,系统自带的服务

一、运行模式

运行模式也可以称为运行级别

在linux存在一个进程init(initialize,初始化)进程id 是1
查看进程init
在这里插入图片描述
该进程存在一个配置文件:inittab(系统运行级别配置文件 位置 /etc/inittab)

文件的主要内容:
linux 基础_第39张图片

0 — 表示关机级别(不要将默认的运行级别设置成这个值)
1 — 单用户模式
2 — 多用户模式,不带NFS(Network File Syetem)
3 — 多用户模式,完全的多用户模式(不带桌面的,纯命令行模式)
4 — 没有被使用的模式(被保留模式)
5 — X11,完整的图形化界面模式
6 — 表示重启级别(不要将默认的运行级别设置成这个值)

与该级别相关的几个命令:

#init 0 表示关机

#init 3 表示切换到不带桌面的模式

#init 5 切换到图形界面

#init 6 重启电脑

注意:init指令需要超级管理员的权限,普通用户无法执行。

这些命令其实都是调用的init进程,将数字(运行级别)传递给进程,进程去读配置文件执行对应的操作

二、用户与用户组管理(重点)

创建用户/设置密码/删除用户

命令 作用 说明
useradd -m -g 组名 添加新用户 -m 自动建立用户的家目录 -g 后跟用户所在的组,否则建立一个与用户名相同的组
passwd 用户名 设置用户的密码 普通用户可以passwd 修改自己的密码
user -r 用户名 删除用户 同时自动删除用户的家目录
cat /etc/passwd grup 用户名 确认用户信息

Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。

每个用户账号都拥有一个惟一的用户名和各自的密码。

用户在登录时键入正确的用户名和密码后,就能够进入系统和自己的主目录。

要想实现用户账号的管理,要完成的工作主要有如下几个方面:
用户账号的添加、删除、修改以及用户密码的管理。用户组的管理

注意三个文件:

/etc/passwd 存储用户的关键信息

/etc/group 存储用户组的关键信息

/etc/shadow 存储用户的密码信息


	修改文件的所属组:
	chgrp -R  组名 文件/目录名

①添加用户

常用语法:#useradd 选项 用户名

常用选项:
-m:创建用户的同时 建立用户的家目录

-g:表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名

-G:表示指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名

-u:uid,用户的id(用户的标识符),系统默认会从500之后按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义

-c comment:添加注释

扩展:认识passwd文件

用户名:密码:用户ID: ID:注释:家目录:解释器shell

linux 基础_第40张图片
用户名:创建新用户名称,后期登录的时候需要输入;

密码:此密码位置一般情况都是“x”,表示密码的占位;

用户ID:用户的识别符;

用户组ID:该用户所属的主组ID;

注释:解释该用户是做什么用的;

家目录:用户登录进入系统之后默认的位置;

解释器shell:等待用户进入系统之后,用户输入指令之后,该解释器会收集用户输入的指令,传递给内核处理;

注意:在不添加选项的时候,执行useradd之后会执行一系列的操作

a. 创建同名的家目录;

b. 创建同名的用户组;

案例:添加选项,创建用户iphonex,让iPhonex属于1001,组,附加组1000,uid666

2、修改用户:
常用语法:usermod 选项 用户名
修改用户名:usermod -l 新用户名 旧的用户名
修改用户登陆shell:usermod -s /bin/bash 用户名

3、设置密码
常用语法:passwd 用户名

切换用户:su 用户名
如果不指定,则切换到root
切换注意事项:
切换后工作路径是不变的

4、删除用户
常用语法:userdel 选项 用户名
常用选项:
-r删除用户同时删除家目录

2、用户组管理

每个用户都有一个用户组,系统可以对一个用户组中所用的用户进行集中管理,不同linux对用户组的规定不同 ,如linux下的用户属于他同名的用户组,这个用户组在用户创建时创建

用户组的管理涉及用户组的添加、修改、删除。组的增加、修改、删除就是对/etc/group 文件的更新

在这里插入图片描述
文件结构:
用户组名:密码:用户组id:组内用户名
组内用户名:表示附加组是该组的用户
密码:x表示占位符,用户组可以设置密码但是一般不设置

1、用户组添加
常用语法:groupadd 选项 用户组名
常用选项:-g表示自己设置一个自定义的用户组id数字
如果自己不指定则从1000 递增

2.用户组编辑
常用语法:groupmod 选项 用户组名
常用选项:
-g:类似修改用户里的“-u”-g表示自定义用户组id
-n:类似于修改“-l”表示设置新的用户组名称

3.用户组删除
常用语法grupdel 用户组名

注意当要删除一个组,但是这个组是用户的主组的话,则不允许被删除,如果一定要删除,则要先移除该组的所用用户

which(重要)

提示

  • /etc/passwd 是用于保存文件信息的文件
  • usr/bin/passwd 是用于修改用户密码的程序

which 命令可以查看命令的所在位置
which ls
#输出
#/bin/ls
which useradd
#输出
#/usr/sbin/useradd

bin 和 sbin

  • 在linux中,绝大多数的可执行文件都是保存在/bin 、/sbin/bin、/usr/bin
  • /bin 是二进制执行文件目录,主要用于具体应用
  • /sbin是系统管理员专用的二进制代码存放目录,主要用于系统管理
  • /usr/bin后期安装的软件
  • usr/sbin/超级用户的一些管理程序

修改用户的主/附加组

usermod
usermod 可以设置用户的主组/附加组,登陆shell命令格式如下:
主组;通常在新建用户时指定,在/etc/passwd 的第四列GID对应的组
附加组:在/etc/group 中的最后一列,用于指定用户的附加权限

提示:设置用户的附加权限之后,需要重新登陆才能生效

	修改用户的主组:(passwd中的GID)
	usermod -g 组 用户名

	修改用户的附加组
	usermod -G 组 用户名

	修改用户的登陆shell
	usermod -s /bin/bash

修改文件权限

命令 作用
chown 修改拥有者
chgrp 修改组
chmod 修改权限

  • 命令格式如下:

      #修改文件|目录的拥有者
      chown 用户名 文件名 |目录名
      
      #递归修改文件|目录的组
      chagrp -R 组名 文件名|目录名
    
      递归修改文件的权限
      chmod -R 755 文件名|目录名
    

linux 基础_第41张图片

三、网络设置

首先要知道网卡的配置文件; /etc/sysconfig/network-scripts
linux 基础_第42张图片
目录中网卡的配置文件格式:
ifcfg-网卡名称

linux 基础_第43张图片
onboot:是否开机启动
bootproto:ip地址分配方式,DHCP表示动态主机分配协议
hwaddr:硬件地址。mac地址

如果需要重启网卡需要怎么操作?
service network restart

在这里插入图片描述
在有的分支版本中可能没有service命令来快速操作服务,但是有一个共性的目录:/etc/init.d

这个目录中放着很对服务的快捷方式。

此处重启网卡命令还可以使用:

#/etc/init.d/network restart

扩展一、如果要修改网卡的配置问价,但是配置文件的目录层次很深,此时可以在较浅的目录中创建一个快捷方式(软连接)去查找

  • ln -s原始文件的路径 快捷方式的路径

在这里插入图片描述在这里插入图片描述
扩展二、如何去重启单个网卡
停止某个网卡:ifdown 网卡名
开启某个网卡:ifup 网卡名
实际工作中不要随意禁网卡

四、ssh服务(重点)

ssh(安全壳外协议)该协议有两个常用的作用:远程连接协议、远程文件传输协议
协议使用端口号:默认22
是可以被修改的,修改的话需要修改ssh服务的服务配置文件:
/etc/ssh/ssh_config
在这里插入图片描述

修改端口注意:
端口范围:0-65535
不能使用别的服务器已经占的端口

服务的 启动 重启 重启
service sshd start/stop/restart
/etc/init.d/sshd start/stop/restart

1.远程终端

终端主要帮助运维的工作人员远程连接服务器,常见的终端工具有:xshell、secureCRT、putty等(以putty为例)
1、获取服务器的ip地址,可以通过ifconfig命令查看,顺手测试ip的连接相通性

linux 基础_第44张图片
在这里插入图片描述

2、ssh服务文件传输

可视化的界面传输工具:Fillezilla、xshell

ssh [-p port] user@remote

user 是远程机器上的用户名,不指定的话默认当前用户
remote 是远程机器的地址,可以是ip/域名,或者是后面会提到的别名
port 是指ssh server 监听的端口 不指定默认22

scp

本地复制到远程
scp [-P port]当前路径文件 user@remote:目标路径

远程复制到本地
scp [-p port] user@remote:远程路径 本地路径

  • scp 就是secure copy 是在linux下用来远程拷贝文件的命令
  • 他的格式与ssh基本相同,需要注意的是,指定端口时是大写P

示例:
1、把当地目录下的01.py复制到 远程家目录 的Desktop/01.py
注意:后面路径如果不是绝对路径,则默认指定为用户家目录为起始路径

scp -P 22 01.py [email protected]:Dedktop/01.py

2、把远程家目录下的Desktop/01.py 复制到当前本地

	scp -P 22  [email protected]:Desktop/01.py 01.py

复制文件夹scp -r

选项 含义
-r 若给出的源文件是目录
-P 若端口号不是22,-P后面加端口号

新的改变

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  1. 全新的界面设计 ,将会带来全新的写作体验;
  2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
  3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
  4. 全新的 KaTeX数学公式 语法;
  5. 增加了支持甘特图的mermaid语法1 功能;
  6. 增加了 多屏幕编辑 Markdown文章功能;
  7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  8. 增加了 检查列表 功能。

功能快捷键

撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G

合理的创建标题,有助于目录的生成

直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

插入链接与图片

链接: link.

图片: linux 基础_第45张图片

带尺寸的图片: linux 基础_第46张图片

居中的图片: linux 基础_第47张图片

居中并且带尺寸的图片: linux 基础_第48张图片

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block
var foo = 'bar';

生成一个适合你的列表

  • 项目
    • 项目
      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目 Value
电脑 $1600
手机 $12
导管 $1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列 第二列 第三列
第一列文本居中 第二列文本居右 第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPE ASCII HTML
Single backticks 'Isn't this fun?' ‘Isn’t this fun?’
Quotes "Isn't this fun?" “Isn’t this fun?”
Dashes -- is en-dash, --- is em-dash – is en-dash, — is em-dash

创建一个自定义列表

Markdown
Text-to- HTML conversion tool
Authors
John
Luke

如何创建一个注脚

一个具有注脚的文本。2

注释也是必不可少的

Markdown将文本转换为 HTML

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n1)!nN 是通过欧拉积分

Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

Mon 06 Mon 13 Mon 20 已完成 进行中 计划一 计划二 现有任务 Adding GANTT diagram functionality to mermaid
  • 关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图::

张三 李四 王五 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了 不适合放在一行. 打量着王五... 很好... 王五, 你怎么样? 张三 李四 王五

这将产生一个流程图。:

链接
长方形
圆角长方形
菱形
  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.2.0 开始 我的操作 确认? 结束 yes no
  • 关于 Flowchart流程图 语法,参考 这儿.

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件或者.html文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. mermaid语法说明 ↩︎

  2. 注脚的解释 ↩︎

你可能感兴趣的:(make)