看完这篇Linux基本的操作就会了

只有光头才能变强

这个学期开了Linux的课程了,授课的老师也是比较负责任的一位。总的来说也算是比较系统地学习了一下Linux了~~~

本文章主要是总结Linux的基础操作以及一些简单的概念~如果不熟悉的同学可下个Linux来玩玩(或者去买一个服务器玩玩【学生版的不是很贵】),对于开发者来说,能使用Linux做一些基本的操作是必要的!

那么接下来就开始吧,当然了我的Linux仅仅是入门水平,如果有错的地方还需请大家多多包涵,并不吝在评论区指出错误~

一、为什么我们要学习Linux

相信大部分人的PC端都是用Windows系统的,那我们为什么要学习Linux这个操作系统呢???Windows图形化界面做得这么好,日常基本使用的话,学习成本几乎为零。

而Linux不一样,可能刚接触Linux的人会认为:Linux好麻烦哦,不好玩,都是字符界面。不直观、这个破系统是用来干嘛的~~

日常用的话Windows是比较顺手的,但是我们要知道的是:我们开发出来的程序一般都是放在Linux下运行的。

那可能就会有人提出疑问了:Windows同样是操作系统,为啥要放在Linux下,而不放在Windows下呢??相信Windows也是可以运行我们写出来的程序的。

我总结了Linux的几个优点

  1. 免费
  2. 很多软件原生是在Linux下运行的,庞大的社区支持,生态环境好
  3. 开源,可被定制,开放,多用户的网络操作系统
  4. 相对安全稳定

参考资料:

  • www.zhihu.com/question/19…

所以开发者选择了Linux来跑我们自己写出来的程序。

二、Linux的基础知识

Linux系统的组成

  1. linux内核(linus 团队管理)
  2. shell:用户与内核交互的接口
  3. 文件系统:ext3、ext4等。windows 有 fat32 、ntfs
  4. 第三方应用软件

2.1Shell的基本知识

除了Shell、其他的都应该挺好懂的,那么Shell是什么东西呢???

Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器)

Shell可以执行:

  • 内部命令
  • 应用程序
  • shell脚本



使用type命令可以区分内部命令和外部命令

于是乎,我们利用Shell就可以干下面这些事了:

  • 命令行解释(这是用得最多的!)
  • 命令的多种执行顺序
  • 通配符( wild-card characters )
  • 命令补全、别名机制、命令历史
  • I/O重定向( Input/output redirection )
  • 管道( pipes )
  • 命令替换( 或$( ) )
  • Shell编程语言( Shell Script )

Shell的主要版本有以下这么多:

  • 我们常用(默认)的就是bash(bourne again shell)



使用ps命令观察正在执行的shell


2.2Linux基本目录结构

在Windows下,会有基本的目录结构的:




Linux下也不例外了,也是有基本的目录结构的:



Linux 文件系统是一个目录树的结构,文件系统结构从一个根目录开始,根目录下可以有任意多个文件和子目录,子目录中又可以有任意多个文件和子目录

  • bin 存放二进制可执行文件(ls,cat,mkdir等)
  • boot 存放用于系统引导时使用的各种文件
  • dev 用于存放设备文件
  • etc 存放系统配置文件
  • home 存放所有用户文件的根目录
  • lib 存放跟文件系统中的程序运行所需要的共享库及内核模块
  • mnt 系统管理员安装临时文件系统的安装点
  • opt 额外安装的可选应用程序包所放置的位置
  • proc 虚拟文件系统,存放当前内存的映射
  • root 超级用户目录
  • sbin 存放二进制可执行文件,只有root才能访问
  • tmp 用于存放各种临时文件
  • usr 用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录
  • var 用于存放运行时需要改变数据的文件

2.3命令基本格式

cmd [options] [arguments],options称为选项,arguments称为参数

选项和参数都作为Shell命令执行时的输入,它们之间用空格分隔开

  • Linux是区分大小写的

一般来说,后面跟的选项如果单字符选项前使用一个减号-单词选项前使用两个减号--

  • 这是一般的情况,有些命令还是不归属这种规律的(相对较少)~~~
  • 例子:ls -als -alla 单个字符使用一个-,一个单词all 使用两个--

在Linux中,可执行的文件也进行了分类:

  • 内置命令:出于效率的考虑,将一些常用命令的解释程序构造在Shell内部
  • 外置命令:存放在/bin、/sbin目录下的命令
  • 实用程序:存放在/usr/bin、/usr/sbin、/usr/share、/usr/local/bin等目录下的实用程序
  • 用户程序:用户程序经过编译生成可执行文件后,可作为Shell命令运行
  • Shell脚本:由Shell语言编写的批处理文件,可作为Shell命令运行

2.4通配符

学过一些正则表达式的或者有点基础的同学对通配符应该就不陌生的了,在Linux也有通配符(在搜索的时候挺有用的)

  • *:匹配任何字符和任何数目的字符
  • ?:匹配单一数目的任何字符
  • [ ]:匹配[ ]之内的任意一个字符
  • [! ]:匹配除了[! ]之外的任意一个字符,!表示非的意思

2.5文件的类型

在Linux下文件的类型有这么多:

  • 普通文件-
  • 目录d
  • 符号链接 l
    • 硬链接: 与普通文件没什么不同,inode 都指向同一个文件在硬盘中的区块
    • 软链接: 保存了其代表的文件的绝对路径,是另外一种文件,在硬盘上有独立的区块,访问时替换自身路径(简单地理解为 Windows 中常见的快捷方式)。
  • 字符设备文件 c
  • 块设备文件b
  • 套接字s
  • 命名管道p

我们常见的就是普通文件,目录和符号链接。其他的了解一下即可~

符号链接参考资料:

  • www.jianshu.com/p/dde6a01c4…

2.5.1用户主目录

可能在网上查阅资料的时候会出现用户主目录这么一个名词,那他是什么呢???

前面已经说了,我们的Linux是多用户的网络系统!所以,我们可以在Linux下创建多个用户,每个用户都会有自己专属的空间

  • 所以,在创建用户时,系统管理员会给每个用户建立一个主目录,通常在/home/目录下
  • 比如:用户osmond的主目录为:/home/osmond

用户对自己主目录的文件拥有所有权,可以在自己的主目录下进行相关操作。

三、常用的命令

上面说了一堆的基础概念,这是给我们敲命令之前打了一点基础,在敲命令的同时也会遇到一些比较重要的知识点的。那就到时候再说说了~~~

3.1常用的文件、目录操作命令

这是我们使用得最多的命令了,Linux最基础的命令

  • 可用 pwd命令查看用户的当前目录
  • 可用 cd 命令来切换目录
  • .表示当前目录
  • .. 表示当前目录的上一级目录(父目录)
  • -表示用 cd 命令切换目录所在的目录
  • ~ 表示用户主目录的绝对路径名

绝对路径:

  • 以斜线(/)开头 ,描述到文件位置的完整说明 ,任何时候你想指定文件名的时候都可以使用

相对路径 :

  • 不以斜线(/)开头 ,指定相对于你的当前工作目录而言的位置 ,可以被用作指定文件名的简捷方式

tips:输入命令的时候要常用tab键来补全

  • ls:显示文件或目录信息
  • mkdir:当前目录下创建一个空目录
  • rmdir:要求目录为空
  • touch:生成一个空文件或更改文件的时间
  • cp:复制文件或目录
  • mv:移动文件或目录、文件或目录改名
  • rm:删除文件或目录
  • ln:建立链接文件
  • find:查找文件
  • file/stat:查看文件类型或文件属性信息
  • cat:查看文本文件内容
  • more:可以分页看
  • less:不仅可以分页,还可以方便地搜索,回翻等操作
  • tail -10: 查看文件的尾部的10行
  • head -20:查看文件的头部20行
  • echo:把内容重定向到指定的文件中 ,有则打开,无则创建
  • 管道命令 | :将前面的结果给后面的命令,例如:ls -la | wc,将ls的结果加油wc命令来统计字数
  • 重定向 > 是覆盖模式,>> 是追加模式,例如:echo "Java3y,zhen de hen xihuan ni" > qingshu.txt把左边的输出放到右边的文件里去

学了这些命令我们能干嘛?其实就是在Windows下复制文件、粘贴文件、创建文件、查看文件这几种~~~

3.1.1常用的文件、目录操作练习题

巩固一下基础,来做做题目:

  • (1)Linux的shell程序默认是bash 程序
  • (2)Linux命令格式包含三个部分,分别是: 命令选项参数
  • (3)Linux命令选项前为单个减号(-),后面一般为 单字符 ,选项前为双减号(--),后面一般为 单词
  • (4)Linux命令中使用的通配符有 ? * []
  • (5)命令 ls /usr/bin/w* 的效果是 列出指定目录下的所有以w开头的文件或目录
  • (6)命令 ls /usr/bin/w?? 的效果是 列出指定目录下的以w开头名称长度为3的所有文件或目录
  • (7)命令 ls /usr/bin/[xyz]* 的效果是 列出指定目录下的文件名以x或y或z开头的所有文件或目录
  • (8)命令 ls /usr/bin/[!a-h]* 的效果是 列出指定目录下的文件名不以a到h区间字母开头的所有文件或目录
  • (9)目录操作时,“.” 表示 当前目录
  • (10)目录操作时,“..” 表示 上一级目录
  • (11)目录操作时,“-” 表示 上一次工作目录
  • (12)目录操作时,“~” 表示 用户主目录
  • (13)命令ln可以建立文件链接,这种链接分为: 硬链接软链接
  • (14)命令touch可以改变文件的三种时间,分别是: access timemodify timechange time
进入/tmp目录,建立一个文件,goldXX(XX为学号的末两位),查看文件的时间



在账户的主目录中,建立一个dog目录,进入dog目录后,建立一个catXX(XX为学号的末两位)目录,进入catXX目录,显示当前目录;然后返回上一级目录,删除catXX目录;


复制/etc/passwd文件到账户主目录,修改账户主目录下passwd为passwdXX(XX为学号的末两位)


查找文件名叫做zcat的文件;复制该文件到/tmp目录;用长格式列出该文件;然后删除/tmp目录下的所有文件,并检查文件是否已被删除


复制/etc/hosts文件到账户主目录下;在账户主目录中建立一个硬链接文件(文件名为hostsYYY(YYY为学生姓名拼音缩写)),链接到主目录下的hosts文件;分别查看hosts和hostsYYY的文件的inode信息



复制/usr/bin/vdir文件到账户主目录下;在账户主目录中建立一个软链接文件(文件名为newdir),链接到主目录下的vdir文件;分别查看vdir和newdir的文件的inode信息



用长格式列出目录/usr/bin目录下的所有文件,输出重新定向到文件outXX(XX为学生学号末两位),检查结果;用长格式列出目录/etc目录下的所有文件,输出结果补充到文件outXX末尾



用长格式列出/usr/bin目录下的所有文件,通过管道与more命令连接,实现对文件列表的浏览



>和>>有何区别?

答:>覆盖方式重定向到新的文件;>>是以补充方式,添加到原文件的末尾。

通过管道和more命令,浏览文件列表方便在哪里?

答:对于文件列表超出一个屏幕显示的情况,这种方式可以分屏浏览,比较方便

3.2文件打包和压缩命令

在Windows操作系统下,我们会使用WinRAR或者快压等等的压缩软件来进行压缩或者解压。

在Linux下当然也存在压缩或解压的操作咯,下面我们就来学习一下在Linux下是怎么压缩和解压的!





压缩的方式也是有好几种,我们常用的有下面这三种:

  • gzip
  • bzip2
  • tar

常用的压缩的命令就有:

  • gzip filename
  • bzip2 filename
  • tar -czvf filename

常用的解压命令有:

  • gzip -d filename.gz
  • bzip2 -d filename.bz2
  • tar -xzvf filename.tar.gz

3.3正则表达式+grep

上面我们已经学过了cat、more、less、tail这些查看文本文件的命令了,但是我想快速查看这个文本文件下的某些关键字是否存在,那怎么办???

在Windows下就比较简单的,几乎所有的文本编辑器(记事本)都支持CTRL+F,往里面输入关键字就可查找出来:



那在Linux下,没有图形界面,没有CTRL+F的情况下,如果不懂一些命令的话,那还真是难找对应的字符出来。下面我就来说说如何快速查找一个文本文件下的某些字符

3.3.1正则表达式

首先我们就来说说正则表达式,如果接触过的同学就知道:这玩意并不好记。一旦不用就很容易就忘记了,所以只能在用的时候查查了~~~所以下面我就直接给出一些规则了,不多说啦。





3.3.2grep命令

grep(global search regular expression)是一个强大的文本搜索工具。grep 使用正则表达式搜索文本,并把匹配的行打印出来。

格式:grep [options] PATTERN [FILE...]

  • PATTERN 是查找条件:可以是普通字符串、可以是正则表达式,通常用单引号将RE括起来。
  • FILE 是要查找的文件,可以是用空格间隔的多个文件,也可是使用Shell的通配符在多个文件中查找PATTERN,省略时表示在标准输入中查找。
  • grep命令不会对输入文件进行任何修改或影响,可以使用输出重定向将结果存为文件

例子:

  • 在文件 myfile 中查找包含字符串 mystr的行
    • grep -n mystr myfile
  • 显示 myfile 中第一个字符为字母的所有行
    • grep '^[a-zA-Z]' myfile
  • 在文件 myfile 中查找首字符不是 # 的行(即过滤掉注释行
    • grep -v '^#' myfile
  • 列出/etc目录(包括子目录)下所有文件内容中包含字符串“root”的文件名
    • grep -lr root /etc/*


用grep查找/etc/passwd文件中以a开头的行,要求显示行号;查找/etc/passwd文件中以login结束的行;



3.4几种提高工作效率的方法

  • 自动补全命令
    • TAB键
  • 历史命令
    • 上下箭头键
  • 别名alias

这里感觉要说说的就只有别名alias了,我们下面看看例子就懂了!

显示shell当前已经定义的别名;执行其中的两个定义别名的命令;定义一个别名grep,要求其采用彩色方式显示结果




3.5Shell变量 和 Shell环境

在Windows下有用户的环境变量,系统的环境变量。在Linux一样也是有的。



Shell 变量大致可以分为三类

  • 内部变量:由系统提供,用户只能使用不能修改。
    • ?
    • GROUPS
  • 环境变量:这些变量决定了用户工作的环境,它们不需要用户去定义,可以直接在 shell 中使用,其中某些变量用户可以修改。
  • 用户变量:由用户建立和修改,在 shell 脚本编写中会经常用到。
    • 变量赋值(定义变量)
      • varName=Value
      • export varName=Value
    • 引用变量$varName

Shell变量的作用域

  • 局部变量的作用范围仅仅限制在其命令行所在的Shell或Shell脚本文件中
  • 全局变量的作用范围则包括本Shell进程及其所有子进程
  • 局部变量与全局变量互换:可以使用 export 内置命令将局部变量设置为全局变量。 可以使用 export 内置命令将全局变量设置为局部变量。

export命令

  • 显示当前Shell可见的全局变量
    • export [-p]
  • 定义变量值的同时声明为全局变量
    • export <变量名1=值1> [<变量名2=值2> ...]
  • 声明已经赋值的某个(些)局部变量为全局变量
    • export <变量名1> [<变量名2> ...]
  • 声明已经赋值的某个(些)全局变量为局部变量
    • export -n <变量名1> [<变量名2> ...]

Shell环境变量:

  • 环境变量定义 Shell 的运行环境,保证 Shell 命令的正确执行。
  • Shell用环境变量来确定查找路径、注册目录、终端类型、终端名称、用户名等。
  • 所有环境变量都是全局变量(即可以传递给 Shell 的子进程),并可以由用户重新设置。



Shell变量:查询、显示和取消

  • 显示当前已经定义的所有变量
    • 所有环境变量env
    • 所有变量和函数(包括环境变量) :set
  • 显示某(些)个变量的值
    • echo $NAME1 [$NAME2 ……]
  • 取消变量的声明或赋值
    • unset <NAME>


3.5.1Shell变量 和 Shell环境练习题

定义Shell变量stuXX(XX为学生学号末两位),初值为学生姓名全拼,用echo命令显示stuXX变量的值;用unset命令取消stuXX变量,检查结果;用env命令观察当前有哪些已经定义好的shell环境变量




Shell环境变量的值是否可以修改?为什么?

答:环境变量的值一般情况下,可以修改。但一定要慎重修改,因为一旦修改错误,对shell正常运行造成严重影响,甚至导致shell无法运行。

四、VI编辑器

相信没有用过Linux的同学在看一些段子的时候都会看到过两个编辑器:

  • vim
  • emacs

下面我们学习如何简单使用vi。vi 是 “Visual interface” 的简称,它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的

  • vi可以看做成我们Windows下的记事本
  • vim 即 Vi IMproved,vi 克隆版本之一

使用Vi来编辑文件:


Vi有三种模式:




4.1普通模式

  • G用于直接跳转到文件尾
  • ZZ用于存盘退出Vi
  • ZQ用于不存盘退出Vi
  • /和?用于查找字符串
  • n继续查找下一个
  • yy复制一行
  • p粘帖在下一行,P粘贴在前一行
  • dd删除一行文本
  • x删除光标所在的字符
  • u取消上一次编辑操作(undo)

4.2插入模式

在 Normal 模式下输入插入命令 i、 a 、 o进入insert模式。用户输入的任何字符都被vim当做文件内容保存起来,并将其显示在屏幕上。

  • 在文本输入过程中,若想回到Normal模式下,按 Esc 键即可。

4.3命令行模式

Normal 模式下,用户按冒号 :即可进入 Command 模式,此时 vim 会在显示窗口的最后一行 (屏幕的最后一行) 显示一个 “:” 作为 Command 模式的提示符,等待输入命令。

  • :w 保存当前编辑文件,但并不退出
  • :w newfile 存为另外一个名为 “newfile” 的文件
  • :wq 用于存盘退出Vi
  • :q! 用于不存盘退出Vi
  • :q用于直接退出Vi (未做修改)

设置Vi环境:

  • :set autoindent 缩进,常用于程序的编写
  • :set noautoindent 取消缩进
  • :set number 在编辑文件时显示行号
  • :set nonumber 不显示行号
  • :set tabstop=value 设置显示制表符的空格字符个数
  • :set 显示设置的所有选项
  • :set all 显示所有可以设置的选项

4.4Vi练习题

在用户主目录下,执行vi程序,编辑文件install.log;移动光标到第10行,第五个字符;按大写字母G,达到文件末尾;不存盘退出;





在用户主目录下,执行vi程序,编辑文件install.log;用/命令查找字符串sudo,复制包含字符串sudo的行



在用户主目录下,执行vi程序,编辑文件install.log;进入命令模式,设置显示行号;用?命令查找字符串openssh,用命令n查找下一个





四、总结

本文主要讲解了Linux的最基础的知识,可以简单地操作Linux了。命令可以说是学不完的,只能是记住Linux是有这个功能,到时候去网上查查也很方便。

主要是多练、多玩就可以记住一些常用的Linux命令了~~~~

下面我就花点时间画个Linux命令的脑图(当然了,命令仅限于是本文章的知识点,等写到用户、网络等知识点的时候再继续补充上去!)



如果文章有错的地方欢迎指正,大家互相交流。习惯在微信看技术文章,想要获取更多的Java资源的同学,可以关注微信公众号:Java3y

文章的目录导航

  • zhongfucheng.bitcron.com/post/shou-j…
发布于 2018-05-13
「真诚赞赏,手留余香」
赞赏

12 人已赞赏

赞赏用户赞赏用户赞赏用户赞赏用户赞赏用户
Linux
Java
CentOS
赞同 2.3K​39 条评论
分享
收藏
赞同 2.3K
分享

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/480708.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文浅尝 | 基于知识图的问答变分推理

Zhang Y, Dai H, Kozareva Z, et al. Variational Reasoning for Question Answering with Knowledge Graph. Proceedings of 32th AAAI 2018动机传统的知识图谱问答主要是基语义解析的方法&#xff0c;这种方法通常是将问题映射到一个形式化的逻辑表达式&#xff0c;然后将这个…

阿里P8架构师谈:分布式架构设计(文章合集)

Docker容器 阿里P8架构师谈&#xff1a;Docker简介、组成架构、使用步骤、以及生态产品 阿里P8架构师谈:Docker容器的原理、特征、基本架构、与应用场景 消息中间件 阿里P8架构师谈&#xff1a;消息中间件介绍、典型使用场景、以及使用原则 阿里P8架构师谈&#xff1a;分布…

NLP史上最全预训练模型汇总

本文转载自公众号“夕小瑶的卖萌屋”&#xff0c;专业带逛互联网算法圈的神操作 -----》我是传送门 关注后&#xff0c;回复以下口令&#xff1a; 回复【789】 &#xff1a;领取深度学习全栈手册&#xff08;含NLP、CV海量综述、必刷论文解读&#xff09; 回复【入群】&…

论文浅尝 | 基于迭代的概率规则约束的知识图谱分布式表示

Citation:Shu Guo, Quan Wang, Lihong Wang, Bin Wang, Li Guo.Knowledge Graph Embeddingwith Iterative Guidance from Soft Rules. AAAI 2018. 动机知识图谱的分布式表示旨在将知识图谱中的实体和关系表示到连续的向量空间中&#xff0c;本文考虑的问题是如何将知识库的分布…

笔记:毫米波雷达传感器,优势、应用和产业规模

信息来源&#xff1a;https://www.sohu.com/a/314806539_465219 优势 非接触式传感&#xff0c;可检测物体的距离、速度和角度信息&#xff0c;唯一可以“全天候全天时”工作的传感器系统组件(比如天线)的尺寸可以做到很小穿透性&#xff1a;穿透塑料、墙板和衣服等特殊材料高…

「优知学院」淘宝架构的前世今生(下)

“ 淘宝技术架构前世今生就是一部架构活教材&#xff0c;今天仍然由陈睿mikechen为大家解读淘宝架构。 我稍微把前面淘宝架构的三个阶段简短总结&#xff1a; 淘宝1.0 采用LAMP mysql读写操作 淘宝2.0 把mysql替换为oracle,为了使用oracle的连接池&#xff0c;php采用代理连…

学习排序 Learning to Rank:从 pointwise 和 pairwise 到 listwise,经典模型与优缺点

Ranking 是信息检索领域的基本问题&#xff0c;也是搜索引擎背后的重要组成模块。本文将对结合机器学习的 ranking 技术——learning2rank——做个系统整理&#xff0c;包括 pointwise、pairwise、listwise 三大类型&#xff0c;它们的经典模型&#xff0c;解决了什么问题&…

论文浅尝 | 从 6 篇顶会论文看「知识图谱」领域最新研究进展 | 解读 代码

本文内容源自往期「论文浅尝」&#xff0c;由 PaperWeekly 精选并重新排版整理&#xff0c;感谢 PaperWeekly。ISWC 2018■ 链接 | http://www.paperweekly.site/papers/1912■ 源码 | https://github.com/quyingqi/kbqa-ar-smcnn■ 解读 | 吴桐桐&#xff0c;东南大学博士生&a…

互联网(IT)大厂面试技巧(面经)

目录 前言 面试的正确姿势 实战 最后的总结 前言 虽然资历尚浅&#xff0c;但是也面过不少试&#xff0c;有Google、微软等外企大佬&#xff0c;也有BAT等国内巨头&#xff0c;工作的这几年也有幸当过几次面试官&#xff0c;小鹿这里呢就结合自己的亲身经历&#xff0c;聊…

「优知学院」淘宝技术架构的前世今生(上)

“ 淘宝技术架构经历从最初的LAMP架构&#xff0c;到IOE架构&#xff0c;再到分布式架构&#xff0c;再到去IOE&#xff0c;最后到现在的云计算平台架构这一变化过程在不断解决上面的技术问题&#xff0c;可以说淘宝技术架构的演变就是活生生的一本架构教科书。 这次为大家带…

十大双跨平台整体发展情况盘点

在2019年国家级双跨平台发布一年之际和新一轮遴选开场之前&#xff0c;相关媒体“从战略演进、平台发展、资源汇聚及行业应用四个维度九个细分指标”&#xff0c;对十大双跨平台整体发展情况通过“一张图”的形式做了一次盘点&#xff08;图略&#xff09;。 我们通过对图中指…

机器学习中的范数规则化之(一)L0、L1与L2范数

机器学习中的范数规则化之&#xff08;一&#xff09;L0、L1与L2范数 zouxy09qq.com http://blog.csdn.net/zouxy09今天我们聊聊机器学习中出现的非常频繁的问题&#xff1a;过拟合与规则化。我们先简单的来理解下常用的L0、L1、L2和核范数规则化。最后聊下规则化项参数的选择问…

模型训练慢和显存不够怎么办?GPU加速混合精度训练

目录 混合精度训练 理论原理 三大深度学习框架的打开方式 Pytorch Tensorflow PaddlePaddle 混合精度训练 一切还要从2018年ICLR的一篇论文说起。。。 《MIXED PRECISION TRAINING》 这篇论文是百度&Nvidia研究院一起发表的&#xff0c;结合N卡底层计算优化&#x…

陈睿:架构设计之数据库拆分六大原则

架构设计之数据库拆分原则 数据拆分前其实是要首先做准备工作的&#xff0c;然后才是开始数据拆分&#xff0c;我先讲拆分前需要做的事情&#xff1a; 第一步&#xff1a;采用分布式缓存redis、memcached等降低对数据库的读操作。 第二步&#xff1a;如果缓存使用过后&#xf…

模式识别之特征提取算法

说明&#xff1a;此处暂时简单介绍下各种特征提取算法&#xff0c;后续完善。 前言&#xff1a;模式识别中进行匹配识别或者分类器分类识别时&#xff0c;判断的依据就是图像特征。用提取的特征表示整幅图像内容&#xff0c;根据特征匹配或者分类图像目标。常见的特征提取算法…

ACL2020 | 对话数据集Mutual:论对话逻辑,BERT还差的很远

一只小狐狸带你解锁 炼丹术&NLP 秘籍本文为MuTual论文作者的特别约稿编辑&#xff1a;rumor酱、夕小瑶前言自然语言处理是人工智能领域的掌上明珠&#xff0c;而人机对话则是自然语言处理领域的最终极一环。以BERT为代表的预训练模型为自然语言处理领域带来了新的春天&…

大型网站系统的特点和架构设计

分布式架构 阿里P8架构师谈&#xff1a;淘宝技术架构从1.0到4.0的架构变迁 优知学院」淘宝技术架构的前世今生&#xff08;上&#xff09; 优知学院」淘宝架构的前世今生&#xff08;下&#xff09; 揭秘&#xff1a;一位亲历者眼中的淘宝技术架构发展之路 淘宝发展历程最具…

IDC 和浪潮联合发布了《2020-2021 中国人工智能计算力发展评估报告 》

近日&#xff0c;IDC 和浪潮联合发布了《2020-2021 中国人工智能计算力发展评估报告 》&#xff08;以下简称《报告》&#xff09;。《报告》指出&#xff0c;中国 AI 基础设施市场规模在 2020 年达到了 39.3 亿美元&#xff0c;到 2024 年预计达到 172. 2 亿美元。 《报告中》…

Linux系统中Oracle数据库使用SELECT语句检索数据(1)实例应用

Linux系统中Oracle数据库使用SELECT语句检索数据(1)实例应用 1&#xff0c;首先切换到Oracle用户&#xff0c;并进入数据库#sql / as sysdba2&#xff0c;启动数据库&#xff0c;并连接样例及表格&#xff0c;启动命令#startup&#xff0c;连接样例#conn scott/tiger3&#xff…

知乎搜索框背后的Query理解和语义召回技术

一只小狐狸带你解锁 炼丹术&NLP 秘籍前言随着用户规模和产品的发展&#xff0c; 知乎搜索面临着越来越大的 query 长尾化挑战&#xff0c;query 理解是提升搜索召回质量的关键。本次分享将介绍知乎搜索在 query term weighting&#xff0c;同义词扩展&#xff0c;query 改写…