第一周

# 第一周

## 快捷键

* 双击左上角 关闭

* shift+右键打开命令行

* 拖动 +contral    复制

* 拖动 + shift    移动

* 拖动 + contral shift  创建快捷方式

* crtl+enter    下一行

* crtl+shift+enter  上一行

* contral + left / right        向左或向右移动一个词

* contral +  up/ down        向上或向下移动一个段落

* contral+home/end        移动到文本的开头/结尾

* contral backspace  删除鼠标指针左侧的整个词

* contral +y 重新执行最近撤销的命令

* contral +d 删除整行

* shift +f10 显示菜单 效果与单击右键相同。

## 十进制转换进制的原理

a=b\*2^0^+c\*2^1^+d\*2^2^

=b+ 2(c+d\*2^1^)    可以判断b为0或1  小数用乘2

##字

word一般叫做字。word的大小与系统硬件有关,数据总线为16位,则1word为2Byte;32位时,1word为4Byte。

32位cpu和64位cpu代表计算机一次能读取多少位bit(寻址能力)。

## 图片格式

### jpg  jepg

* 以8*8个像素点为单位转换。

* 有损压缩,压缩率高,颜色会变化,一般能压倒原始数据量的十分之一。

* 质量越差,体积越小。

* 多用于现实世界的照片,颜色渐变不突兀。

* 有约1670万种颜色

* R(0-255),G(0-255),B(0-255)  每种颜色256个数字,用8位表示,一个字节。一个像素点用三个字节表示。

###  png  portable network graphic

*  无损 压缩

* 适合存储大片相同颜色的照片,如软件截图

* 支持透明色(Alpha通道)

* 每个点四个字节组成 R  G B Alpha

### gif

* 只有256种颜色,从颜色表种抽取出来。

* 当原始图片颜色不足256时,无损压缩。

* 并没有存储每张图的所有像素点,只存储了变化的点,第一帧存储肯定是完整的。

* 支持透明,但是要么完全透明,要么完全不透明。

### webp

* 有损压缩,支持alpha通道,适合移动端使用,优于jpg。

###  bmp bit map

* 无压缩,无损

* 每个点占三个字节(取决于保存格式:1670万色/24位--rgb,单色/1bit--黑白01,256色/8bit,65536色/16bit)

* 体积巨大,不适合放在网页里

* 16色位图(固定的16种颜色,gif是从颜色表抽取颜色),24位位图,一个像素24位。


  ![image-20191116102432252](%E7%AC%AC%E4%B8%80%E5%91%A8.assets/image-20191116102432252.png)

  ![image-20191116102530199](%E7%AC%AC%E4%B8%80%E5%91%A8.assets/image-20191116102530199.png)

  >  FF FF FF  16进制代表  24个二进制位,        2^8^*2^8^*2^8^ ,(R,G,B)各代表一个点。然后修改 



![image-20191116103145439](%E7%AC%AC%E4%B8%80%E5%91%A8.assets/image-20191116103145439.png)

![image-20191116103155415](%E7%AC%AC%E4%B8%80%E5%91%A8.assets/image-20191116103155415.png)

  >  文件头,存储图片大小长宽高等信息 


![image-20191116103310626](%E7%AC%AC%E4%B8%80%E5%91%A8.assets/image-20191116103310626.png)

## 文件簇——文件占用空间比实际大小要大

* 数据存储在硬盘的时候都是以簇为单位,所以无论文件大小是多少,除非正好是簇大小倍数,否则文件所占用的最后一个簇或多或少都会产生一些剩余的空间,这些剩余空间有不能给其它文件使用,即使这个文件只有0字节,也不允许两个文件或两个以上的文件共用一个簇,不然会数据混乱。

* 簇(cluster),一组扇区,因为扇区的单位太小,把它捆在一起,组成一个更大的单位更方便进行灵活管理。簇的大小是可以变化的,是由操作系统在所谓“(高级)格式化“时规定的,因此i管理更加灵活。

## 命令行

* WSL子系统目录  `C:\Users\荆纬宸\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs`

* ls 查看当前目录中的文件

  * ls -l 详细

  *  ls -l -h 把字节转换为更大的单位

  * ls-a 显示隐藏文件

  * pwd查看当前工作路径

    ![image-20191116111105826](%E7%AC%AC%E4%B8%80%E5%91%A8.assets/image-20191116111105826.png)

* touch 创建新文件或更新文件修改时间

* rm  删除文件

* mv  a b  移动文件 如果b名字的文件存在,则覆盖,不存在,则改名

* mkdir  rmdir 创建文件夹 删除文件夹

* **==rmdir只能删除空文件夹==**

* `rm-r` 删除文件夹及其内容

![image-20191116114004459](%E7%AC%AC%E4%B8%80%E5%91%A8.assets/image-20191116114004459.png)

* date 显示日期

* cal 显示日历 只有linux可以

  ![image-20191116114619851](%E7%AC%AC%E4%B8%80%E5%91%A8.assets/image-20191116114619851.png)

* top linux 查看进程

* htop linux任务管理器

  ![image-20191116141742500](%E7%AC%AC%E4%B8%80%E5%91%A8.assets/image-20191116141742500.png)

![image-20191116141807721](%E7%AC%AC%E4%B8%80%E5%91%A8.assets/image-20191116141807721.png)

* echo $PATH 显示环境变量

  ![image-20191116142322329](%E7%AC%AC%E4%B8%80%E5%91%A8.assets/image-20191116142322329.png)

* cd ..是回到上一级目录

* cd . 是当前目录

* cd / 是回到根目录

* cd  回到用户主目录(我的文档)  linux里是进入用户主目录

![image-20191116144142170](%E7%AC%AC%E4%B8%80%E5%91%A8.assets/image-20191116144142170.png)

* **cd/mnt/c  访问windows文件系统c盘**

* \>和\>\>

  * \>将命令输出到文件

  * \>>将命令追加到文件


  ![image-20191116150647147](%E7%AC%AC%E4%B8%80%E5%91%A8.assets/image-20191116150647147.png)




  命令创建了haha.txt,并且把ls输入 进去。


* pipe管道运算符 |


  ![image-20191116152055474](%E7%AC%AC%E4%B8%80%E5%91%A8.assets/image-20191116152055474.png)


  ==不是所有命令都支持管道符 rm不可以==

* sudo 超级管理员权限 sudo apt install/ sudo apt update

* cat 显示 拼接

![image-20191116153512770](%E7%AC%AC%E4%B8%80%E5%91%A8.assets/image-20191116153512770.png)

![image-20191116154413051](%E7%AC%AC%E4%B8%80%E5%91%A8.assets/image-20191116154413051.png)

**cat图片和exe成一个png,将png后缀名改为rar,可以解压缩出exe**

* split `$ split -b 256000 cat.mp4`  把cat.mp4分成256000大小的文件

![image-20191116165023779](%E7%AC%AC%E4%B8%80%E5%91%A8.assets/image-20191116165023779.png)

* `$ cat xa* >cat.txt` 合并xa开头的文件

* `cp a.txt b.txt`  如果b存在 覆盖

* `time ping` `time ls` 测试命令的执行时间

* `alias foo=ll` 使foo和ll等效。我的文档创建.bashrc  写入起别名,每次打开gitbash都会执行这个文件的代码。

* `ping http://baidu.com`  测试与目标ip的连通性

* `md5sum`    生成独一无二的码 可以检验内容是否一致

  ![image-20191116172501589](%E7%AC%AC%E4%B8%80%E5%91%A8.assets/image-20191116172501589.png)

*  快捷键

  * control + L =clear    清楚屏幕上的信息 不清空 可以滚轮回去

  * control +a/e 光标跳到开始或结束

  * contral + r  搜索输入过的命令

  * 键盘的上,可以找最近输入的命令

  * 按tab键可以自动补全

  * control +c 强行退出  q退出 esc 退出

  * control +d 读取一段

  * 写一些命令行保存为.sh格式,双击会在工作目录执行

## vi编辑器

* `vi+文件名`

* 按i进入编辑模式,esc退出进入标准模式。:w保存q退出,!强行退出。

* :q!不保存退出

* 删除一行dd,复制一行yyp

* hjkl上下左右

* vimtour看教程

##  ascii与unicode

* ascii 美国编码,Unicode 涵盖全球语言

* linux下输入 `man ascii`可以查看 ascii码表

* 空格32,0是48,A65,a97

* 不同操作系统的回车

  * Windows 0D0A


* Linux 0A


* Mac 0D


* 切黄金

  ​        ![img](%E7%AC%AC%E4%B8%80%E5%91%A8.assets/clip_image002.jpg) 

​        ![img](%E7%AC%AC%E4%B8%80%E5%91%A8.assets/clip_image002.png) 

## git

* `git config --global user.name`

* `git config --global user.email`

* `git config --global alias.st status` 起别名

* 以上信息存储在.gitconfig

* `git init` 初始化 建立.git 文件夹

* `git add xxx.xx`  添加要记录的文件到缓冲区

* `git status`    查看状态

* `git commit -m"描述信息"` 把刚刚添加的文件存成固定的版本

* `git diff` 查看工作目录和暂存区的差别,如果还没add进缓存区,查看文件自身修改前后的差别。

* ` git diff --cached` 比较暂存区尚未commit的内容同最新一次内容的差异

* `git add.` 添加文件夹内所有文件

* `git log` 查看版本记录

* `git  checkout xxxxxxx` 查看以前版本

  ​        ![img](%E7%AC%AC%E4%B8%80%E5%91%A8.assets/clip_image002-1573901750451.png) 

* `git commit -a -m` 不需要add,直接commit。

* 查看软件Source tree

​          ![img](%E7%AC%AC%E4%B8%80%E5%91%A8.assets/clip_image002-1573901901661.jpg) 

* 工作区修改 add到暂存区 暂存区Commit 后 暂存区的内容生成版本二

* `git remote add origin [[email protected]:Post-90sRaccoon/testmarkdown.git]` 操作远程仓库

* `git push -u origin master`      把master分支和远程origin关联起来

* `git remote`  查看远程仓库

* `git remote -v` 多显示一些信息

* `git commit` 没加m 会进入vi编辑器

* 文件名里的 - 要用\\-\来写

* git 删除文件后git add被删除的文件名或者直接add.

* git密码配置 `ssh-keygen` 然后一直回车.我的文档.ssh文件里id_rsa.pub内容复制到网页github的settings->ssh and gpg keys

  ![img](%E7%AC%AC%E4%B8%80%E5%91%A8.assets/clip_image002-1573904426726.jpg)

## VScode 的配置

* control shift + p 搜索format 找自动缩进

* 搜space 找到空格加点        !

* tab 2缩进

* trim 多余空格

## HTML介绍

* HTML Hyper Text Markup Language

* html5中,不需要给自闭和标签打结束符。但不推荐。

* 缩进,非**块级元素**在内容不多的情况下可以选择不缩进。如

  ``` html

 

   

点击打开京东

 

  ```

* 语义化:有助于构架良好的html结构,有利于搜索引擎的建立索引、抓取;另外,亦有利于页面在不同的设备上显示尽可能相同;此外,有利于构建清晰的机构,有利于团队的开发、维护。(合适的内容用合适的标签)

### 属性

* 属性可以有值,也可以没有。

* 属性名不区分大小写,属性值区分大小写。

* 属性值一般用双引号括起来,也可以使用单引号。属性值没有空格,引号等特殊字符,属性值可以不用引号包起来

* id属性,不以数字开头,没有空格。

* name属性,标签的名字,主要用在表单类标签上面。可以重复。

* title属性,鼠标在上面时显示的tooltip文本

* alt属性,主要用在img标签,图片加载失败时替换文本。

* style属性,给标签指定内联样式

* `class="foo bar"` 类别,空格分隔的单词列表

* tabindex 按tab 跳转的顺序 从小到大 大小如果相同 按照源代码出现的顺序 不可交互元素加上 可交互 如div

* data-*  自定义属性,让标签记录额外的信息 data-sku 最小库存单位

* contenteditable (html5)加上可编辑

## 转义 escape

* html中叫实体,html entity

* 可以用unicode ascii码表达

* \&#number; 十进制数,我 \我

* \&#xHHHH; 十六进制数(Hexdecimal),我 \我

*  常见具名html实体:

    * \  non-breaking space 160号空格

    * \& &符

    * \© 版权符

    * \< 小于号

    * \> 大于号

    * \" 双引号 quote

    * \' 单引号

    * \™ TM 符号

      ![image-20191116212512529](%E7%AC%AC%E4%B8%80%E5%91%A8.assets/image-20191116212512529.png)


* \ (Non Breaking Space) ascii 160 和空格不一样,多于一个空格,换行符会被全部忽略。

*

pre标签,不会合并空格,里面的内容都是等宽字体。

## HTML 标签介绍

* html 根元素

* head 头部标签,放一些与页面相关的原信息。比如页面编码方式。

 

    * 页面的标题,即为title标签

    * 页面标题栏左边显示的小图标

      ```html

     

      ```

  * 浏览器会取网址第一个斜杠 https://www.baidu.com/拼接favicon.ico来显示小图标

  * 可以取页面的样式表 ``

  * 国产很多双核浏览器支持这种模式``edge是最新版的意思

  * 在移动端,还可以定义页面以多宽的尺寸渲染等 edge 最新版本的意思``

  * head内容不会显示在页面上,不存在也会自动添加。

* body 没有html和body标签,浏览器会自动添加。浏览器同时也会将必须放在head里的标签放进head里面,比如title标签。如果在body或者html标签之后又出现了其他的标签,则之前的标签就会被认为无效,浏览器自动添加结束标签。

* title  页面标题,仅支持纯文本,不支持嵌套其他标签。出现多个,仅第一个生效。

* base 基准 

  * 一定要以/即目录结尾

    ``

  ​      ``相当于``不会追加abc

  * 写在base里的target属性表示页面中**所有链接**的打开位置。当然,可以在页内的a标签中用它自己的target属性覆盖用base标签设置的全局打开位置


* H标签

  * 默认情况下,标题上下有一定的空白,传统观点认为一个页面不能出现超过1个h1标签,原因是为了SEO。

  * seo:关键字,页面被引用次数——反向链接数量。使用https,使页面的html更符合语义。

  * html5 hgroup标签,放一组不同级别的h标签。

* p标签  段落,默认有上下边距。

* a标签 anchor。


    * 绝对网址,fullpath  `京东`


*  页内特定位置跳转地址 ``

* 其它页特定位置跳转地址 ``

* 相对路径  ``

* 链接到电子邮件

* 链接到电话号码

* QQ/taobao 临时会话

* 空的href页面刷新(对应当前地址),类似的,如果一个img标签的src属性为空,也将对应当前页面地址

* `href=.`  会拼接到上一个斜杠之前的内容

![image-20191117145720510](%E7%AC%AC%E4%B8%80%E5%91%A8.assets/image-20191117145720510.png)

![image-20191117145735958](%E7%AC%AC%E4%B8%80%E5%91%A8.assets/image-20191117145735958.png)

* target 属性

  * _blank 打开新窗口显示

  * _self  是默认值 在当前窗体打开

  * _parent 父窗体显示

  * _top  链接在顶层窗体显示

* html5中,还有一个download属性。点击这个链接将下载对应的文件,下载的文件名以download属性的值来命名。不适用与所有格式文件。

* image 标签

  ```html

 

 

  不同分辨率的屏幕

  ```

* 可支持的文件格式:jpg/jpeg,png,bmp,gif,webp,svg,ico

*  用width和height图片的宽和高,只写一个另一个会根据图片原始比例计算出来。图片加载需要时间,而图片在加载完成之前浏览器是不知道其宽高的,所以页面抖动。所以一般会在标签上把宽高写出来,这样图片加载过程中页面就不会抖动了

* span 行内标签

* div

你可能感兴趣的:(第一周)