算法工程师18——Linux从入门到熟练

linux把下面这个教程和后面的参考课程里面的视频看了就行了,linux比较简单,主要就是一些命令

Linux

  • 1 简介
    • 1.1 什么是Linux,为什么要学Linux
    • 1.2 Linux系统安装
    • 1.3 操作系统
    • 1.4 服务器
  • 2 Linux辅助软件3个足够
    • 2.1 Xshell
    • 2.2 Xftp
    • 2.3 FileZilla Client
  • 3 Linux操作(命令)
    • 3.1 基本规则
    • 3.2 掌握常见的增删改查命令就可以了
  • 4 一切都是文件
    • 4.1 文件操作(增删改查文件)
      • 4.1.1 移除文件大全
    • 4.2 vi编辑器(编辑文件)
      • 4.2.1 3种模式(编辑,输入,命令行)
      • 4.2.2 VIM
      • 4.2.3 文件传输
    • 4.3 文本文件、链接、文件夹
  • 5 网络命令
  • 6 用户和组权限
    • 6.1 root
    • 6.2 组
  • 7 三种安装软件方式
    • 7.1 yum管理软件
  • 8 Linux三剑客(对文本操作的6个命令)
  • 9 后台运行程序(前台运行你不能执行其它命令,后台隐藏在后台)
  • 9 shell编程(shell就是一门编程语言)
    • 9.1 shell就是做命令集合的程序文件
    • 9.2 linux开机启动特定服务
  • 10 shell概述
    • 10.1 shell理解
    • 10.2 创建shell脚本
    • 10.3 执行shell脚本
    • 10.4 深入理解绝对路径和相对路径
    • 11 shell的局部变量和全局变量
    • 11.1 自定义变量
    • 11.2 变量之间的运算
  • 12 流程语句
    • 12.1 判断
    • 12.2 if then
    • 12.3 case
    • 12.4 for
    • 12.5 while
    • 13 函数
    • 13.1 系统函数(系统内置的一些函数)
    • 13.2 自定义函数
  • 参考课程
    • linux命令大全
    • linux常用文件(面试知道下面的就足够了)

1 简介

1.1 什么是Linux,为什么要学Linux

答:(1)Linux作为3大操作系统之一,在服务器市场占据重要地位,我们要进行服务器端开发,必须要学会Linux,它的重要特点就是快,几乎没有图形界面,因为用不到,让服务器能跑就行。
(2)Linux的操作就好像我们windows打开cmd命令一样,只需要用命令就可以实现电脑的各种操作,文件的保存删除修改等,不需要界面。所以学Linux主要就是学命令。
Linux基本特点
1、没有文件扩展名,windows中利用后缀名找到相应的打开软件
2、所有东西都是文件,包括硬件在Linux中也是文件。Linux没有盘符,硬盘对应一个文件夹。
3、多用户使用

算法工程师18——Linux从入门到熟练_第1张图片

1.2 Linux系统安装

我们一般一个电脑安装一个系统,我们电脑安了windows操作系统了,如果要安Linux需要再用一台电脑,为了方便,我们就直接在本机的电脑上创建一个虚拟机。以下两步:
(1)虚拟机就是一台独立的电脑,我们先按虚拟机VMware;
(2)有了电脑以后,就需要安操作系统了,我们再安装CentOS操作系统,这样就可以学习Linux。就相当于有了一台服务器了,自己的电脑把屏幕撤了就是服务器,撤了屏幕鼠标啥的主机里的程序照样可以继续跑。

1.3 操作系统

算法工程师18——Linux从入门到熟练_第2张图片
算法工程师18——Linux从入门到熟练_第3张图片

咱们自己的电脑去掉鼠标、键盘、显示器它也是运行的了,比如放个电影,你插显示器它也在播放,不插显示器它也在播放。

1.4 服务器

我们说的云服务器就是购买阿里腾讯的服务器,然后使用,它们有很多服务器,专门来出租,比如张北县的大数据中心就放了很多服务器。

服务器:
(1)稳定
(2)安全
(3)快速
(4)不能关机

敲黑板!
敲黑板!
敲黑板!

服务器(电脑)用Linux操作系统不用windows的,最重要的一点就是因为免费,服务器要求稳定安全,你搞个烂界面占了一堆内存。所以就不要界面了,通过命令进行交互就行了。
和python编程一个道理,可以让程序有界面,界面下操作,也可以直接在命令窗口用命令行进行操作。

定位不同,Linux本来就是用来给服务器的,而不是给客户端用,所以基本不需要图形界面。

运维就是维护服务器,我们平时整理自己的电脑就是运维。只不过是运维自己的。

嵌入式和普通电脑的区别:
https://jingyan.baidu.com/article/9faa7231f9d671473d28cb57.html

2 Linux辅助软件3个足够

我们如果要使用Linux,第一步的就是开机了。开机以后我们要用的话,就直接在上面敲命令,让它执行就可以了。但是我们打开虚拟机在里面操作比较麻烦。能不能用外面的电脑控制了,当然可以了。
比如我们在张北阿里巴巴大数据中心安了100万台服务器,就是100万台电脑。我们控制的时候不可能到了大数据中心去控制它们。我们在北京的个人电脑上敲命令让它传到服务器执行就行了。
这里就用到了远程控制软件,主要是下面两个:

2.1 Xshell

这个软件安到我们普通的电脑上,我们做运维做部署直接操作用它操作远程服务器就行了。
(1)首先需要输入我们要控制的服务器的ip,登上账号和密码,我们就连接到远程服务器了,就可以发送命令了。
(2)操作起来和直接在Linux上操作是一样的,都是输入命令,这样通过这个软件就起到了远程操作的作用了。

算法工程师18——Linux从入门到熟练_第4张图片

2.2 Xftp

这个软件主要用来进行文件的操作,直接用手拖放文件就行了,省的我们敲命令了。

2.3 FileZilla Client

这个软件和上面的Xftp一样,用这个就行了,这个更好用一些

3 Linux操作(命令)

主要就是文件的增删改查,另外可能涉及一些管理的命令,命令和编程是一个道理。

算法工程师18——Linux从入门到熟练_第5张图片
出来黑乎乎的界面就已经进去了
不要界面,界面占内存,服务器不需要这些东西

算法工程师18——Linux从入门到熟练_第6张图片

3.1 基本规则

(1)命令和参数一定要用空格隔开,多个空格等于一个空格;
(2)区分大小写;
(3)有些命令是自带的(内置命令),有些命令是我们安装的,有些命令是关键字,有些是脚本,有些是文件;
(4)help查看内部命令, man

3.2 掌握常见的增删改查命令就可以了

算法工程师18——Linux从入门到熟练_第7张图片
算法工程师18——Linux从入门到熟练_第8张图片
算法工程师18——Linux从入门到熟练_第9张图片

4 一切都是文件

万事万物皆文件
wiindows分盘,mac和linux不分盘,不要更改二级目录,从3级目录开始更改,因为2级目录都有自己的默认含义。
算法工程师18——Linux从入门到熟练_第10张图片
算法工程师18——Linux从入门到熟练_第11张图片

4.1 文件操作(增删改查文件)

一切皆文件
算法工程师18——Linux从入门到熟练_第12张图片
(1)cd … 就是到当前目录的上一文件夹
(2)cd / 就是到根目录
(3)ll /etc 就是展开etc文件夹下的文件
(4)./是当前文件夹下
(5)cd 就是返回到用户的目录
(6)rm -f install.log 强制删除,不出现提示信息, 其中-f ,另外还有-a,-p等都是参数,有特定意义,比如删除文件夹,删除文件等

算法工程师18——Linux从入门到熟练_第13张图片
算法工程师18——Linux从入门到熟练_第14张图片
ls或者ll后出现的total代表文件占用资源总量
算法工程师18——Linux从入门到熟练_第15张图片

4.1.1 移除文件大全

Linux中删除文件的命令叫移除。bash shell中删除文件的命令是rm
(1)删除空目录 rmdir deleteEmptyFolder
(2)rm -i filename删除文件,使用-i命令参数会在删除前提示你是不是要真的删除该文件,因为文件一旦删除就无法找回
(3)rm filename或rm -f filename直接删除文件,该命令会直接删除文件,不会给出提示
(4)删除文件夹 rm -ir filedir命令,该命令需要缺每个文件是否要被删除,如果文件过多会非常繁琐
(5)rm -rf filedir 该命令会直接删除文件夹,不会给出警告信息和提示,之间把文件夹以及里面的附属文件和文件夹都删除了
(6)只删除文件或文件夹
算法工程师18——Linux从入门到熟练_第16张图片
(7)批量删除文件
算法工程师18——Linux从入门到熟练_第17张图片

4.2 vi编辑器(编辑文件)

vi 就类似于记事本,但是功能比记事本强,VIM
用于在工程中编辑配置文件啥的

4.2.1 3种模式(编辑,输入,命令行)

编辑模式全是快捷键
输入直接输入就行

4.2.2 VIM

(4条消息) vim编辑器里面一些不为人知的操作_乐猿-CSDN博客
https://blog.csdn.net/MrDing991124/article/details/78483731

4.2.3 文件传输

(1)电脑和虚拟机
直接用xfps
用rz.sz命令

(2)虚拟机和虚拟机

4.3 文本文件、链接、文件夹

它们的标记不一样,

5 网络命令

6 用户和组权限

linux文件权限常用操作

文件分为组权限,用户权限和其它用户权限3种
算法工程师18——Linux从入门到熟练_第18张图片
算法工程师18——Linux从入门到熟练_第19张图片

6.1 root

root用户是最牛逼的一个用户,拥有所有权限,是个超级管理员。

6.2 组

把用户分成几个组,方便管理,比如1组的学生去打篮球,2组的学生去跑步,就不用一个一个点名字,张三李四王五去看球了

用户和组是多对多的关系

7 三种安装软件方式

安装包安装,解压安装(直接解压就行),源码安装

7.1 yum管理软件

yum和anaconda里的conda是一个道理

8 Linux三剑客(对文本操作的6个命令)

awk一般不用
算法工程师18——Linux从入门到熟练_第20张图片

sed语法格式
在这里插入图片描述

9 后台运行程序(前台运行你不能执行其它命令,后台隐藏在后台)

算法工程师18——Linux从入门到熟练_第21张图片

9 shell编程(shell就是一门编程语言)

shell命令和linux命令有什么区别

算法工程师18——Linux从入门到熟练_第22张图片

我们输入电脑的abcd等ascii码通过shell翻译成机器代码,供内核使用,调用硬件执行。

我们在linux中输入命令的时候,计算机怎么理解,那就需要shell解释器,把我们的命令翻译成机器能识别的二进制代码,然后得到输出再翻译成我们能理解的字符。

算法工程师18——Linux从入门到熟练_第23张图片

算法工程师18——Linux从入门到熟练_第24张图片
操作系统有一些服务程序,一般都是没有界面的,维护电脑运行,比如网络连接,接口监视等。

算法工程师18——Linux从入门到熟练_第25张图片

为什么用shell,他就是为了操作linux操作系统,进行增删改查等,就这么简单,而不是为了识别图像,不是为了做网站,就是为了执行一些命令操作linux系统。

shell就是一个程序文件,或者叫脚本,和python一样,不过linux内核可以运行它

Linux内核主要来操作硬件,如果我们要操作硬件就去操作Linux内核

9.1 shell就是做命令集合的程序文件

(和python一样,只不过shell程序可以直接用linux安的环境来执行)
(1) shell和python一样,不过shell的作用是为了操作linux内核,就是操作操作系统,来执行不同的事情。python一般文件结尾是.py,shell结尾一般是.sh,但是在linux中一切都是文件,加不加.sh都一样,只不过加了以后让我们好理解这是一个shell文件,对于程序执行没有任何影响。

(2) 在一个文件里写好多个命令,然后统一去执行,就这么简单,只不过把多个命令放到了一起。写好shell文件,linux内核可以直接用

(3)在一个shell里执行的文件,你拿出来直接用都能用,shell文件就是把他们放到了一起,就这么简单。

学程序无非4个步骤
(1)变量(数组,字符串,日期时间)
(2)逻辑处理结构运算符
(3)函数
(4)代码间的调用执行

9.2 linux开机启动特定服务

linux开机启动流程图
算法工程师18——Linux从入门到熟练_第26张图片

我们要做的就是把shell脚本文件放到开机启动的服务里面,让它也运行我们的脚本文件。

10 shell概述

10.1 shell理解

算法工程师18——Linux从入门到熟练_第27张图片

  • 1 命令行就是shell语言,但是有时候需要做一些定制化的操作,我们就把每一个命令行放到1个文件中,这样多个命令统一执行,这个文件就叫做脚本。
  • 2 脚本文件就是可以直接翻译执行的文件,能写脚本文件的语言叫脚本语言,比如python和shell,java不行,因为java文件需要先编程,用javac编译成.class文件,而python不用。
  • 3 linux系统分为两大派别,红帽和乌班图,它们使用的linux内核一样,shell不一样,但是shell不一样的地方很少,红帽系统和乌班图系统的区别就类似于win8和win10,红帽执行的时候是用bash软件,乌班图是dash软件。
  • 4 不同linux系统用的软件也有所区别,centos属于红帽分支,按装基于乌班图的软件可能会无法正常运行。
  • 5 启动linux时候,会自动执行bash软件,出来那个命令行界面,我们在里面写命令;
  • 6 sh的命令是一个软连接,它指向了bash

10.2 创建shell脚本

后缀.sh可以加也可以不加
算法工程师18——Linux从入门到熟练_第28张图片

10.3 执行shell脚本

算法工程师18——Linux从入门到熟练_第29张图片
算法工程师18——Linux从入门到熟练_第30张图片

  1. 相对路径直接就是文件必须加./
  2. sh 可以执行shell脚本,因为它是软连接,直接指向了bash,实际上调用的还是bash。
  3. 可以不加bash或者sh,直接指向.sh文件,原因是我们打开的这个命令行界面,本身就是bash软件,可以在里面直接执行。
  4. 当用bash执行的时候不用考虑权限,是因为它后面的文件只是bash命令的一个参数。

10.4 深入理解绝对路径和相对路径

(1)绝对路径加/
(2)相对路径1,相对路径下右文件夹目录可以直接用,./可加可不加。
(3)相对路径2,如果相对路径下直接就是文件,必须要./ 。
算法工程师18——Linux从入门到熟练_第31张图片

11 shell的局部变量和全局变量

算法工程师18——Linux从入门到熟练_第32张图片

11.1 自定义变量

赋值的时候不加$,使用的时候要加,这是一个很重要的问题,很多时候都是因为它出一些问题
算法工程师18——Linux从入门到熟练_第33张图片
export将局部变量转为全局变量;

11.2 变量之间的运算

算法工程师18——Linux从入门到熟练_第34张图片

12 流程语句

12.1 判断

算法工程师18——Linux从入门到熟练_第35张图片

12.2 if then

算法工程师18——Linux从入门到熟练_第36张图片
算法工程师18——Linux从入门到熟练_第37张图片

12.3 case

12.4 for

12.5 while

13 函数

13.1 系统函数(系统内置的一些函数)

实际上linux中的一些命令就是函数,命令都放在系统环境变量中,我们每执行一个命令,相当于就调用这个工具或者叫函数。

13.2 自定义函数

自定义函数可以用return,,但是return只能返回0-255的数,我们基本上不用。
算法工程师18——Linux从入门到熟练_第38张图片

算法工程师18——Linux从入门到熟练_第39张图片

参考课程

下面两个足够了
[1] 太厉害了 已跪!终于有人能把Linux讲的这么通俗易懂了,现在分享给大家(操作系统、Linux运维、全套教程,从入门到精通)linux看这个,shell看下面的

对应的pdf文件:linux介绍https://download.csdn.net/download/xiaotiig/63805105
对应的课程资料:https://pan.baidu.com/s/1suRiI7ikcW3gLjJNXpU3Ug 提取码:lzj8
就是下面这门课
算法工程师18——Linux从入门到熟练_第40张图片
[2]3天搞定Linux,1天搞定Shell,这个shell讲的不错()

这个视频带的shell的pdf文件,把这个看了shell就懂了,自己电脑也有

[3] 这个感觉太深入了,最好的课程【小白入门 通俗易懂】2021韩顺平 一周学会Linux_哔哩哔哩_bilibili

linux命令大全

[1] Linux 命令大全 | 菜鸟教程
https://www.runoob.com/linux/linux-command-manual.html

[2] Linux命令大全(手册) – 真正好用的Linux命令在线查询网站
https://www.linuxcool.com/

[3] shell在线编程

linux常用文件(面试知道下面的就足够了)

  1. 文件增删改查;
  2. 用户组操作;
  3. 文件权限操作;chmod
  4. 后台程序控制
  5. 软件安装yum;
  6. 文件编辑vim

(1)linux面试常问命令 - USTC丶ZCC - 博客园
https://www.cnblogs.com/USTC-ZCC/p/13686351.html
(2)程序员必备:46个Linux面试常见问题!收藏! - 知乎
https://zhuanlan.zhihu.com/p/86075753

(3)Linux常用操作指令(面试专用) - ccy1106 - 博客园
https://www.cnblogs.com/ccy1106/p/6637661.html

(4)(22条消息) Linux命令面试常考的简单汇总_别说话写代码的博客-CSDN博客
https://blog.csdn.net/qq_21997625/article/details/84071344?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-0.pc_relevant_paycolumn_v3&spm=1001.2101.3001.4242.1&utm_relevant_index=3

(5)shell常见命令

你可能感兴趣的:(计算机视觉算法工程师,linux,服务器,算法)