XShell下的复制/粘贴 复制:ctrl(配合Fn) + insert 粘贴:shift(配合Fn)+ insert 初步接触Linux – 黑框命令行的操作 --稍微不适 --坚持一段时间 --就会用的很爽(各种快捷键)
为了便于学习和记忆,对命令进行分类(在总结的部分)
命令的实用格式:命令名称 [操作选项] [操作对象](注意命令名称与操作选项之间以空格“ ”分割,操作选项和操作对象也是空格分割,用[]括起来是指该选项可能没有,或者不需要表示,例如:ls -al 用来查看当前路径下的文件详细信息 ,并不需要操作对象, pwd 查看当前所处路径,操作选项和操作对象均没有)
Linux下基本指令
对于目录的命令:
01.ls 指令
ls – 默认浏览当前目录下的文件信息(目录 —在windows下常叫文件夹),也就是浏览文件夹下的文件信息 ls英文全称:list file 将文件以清单的形式列出来 类似于Window下的文件列表(如下图)
问题:ls默认的情况下到底浏览的是哪个目录呢? 当前用户(默认为当前主机的登陆用户)的家目录(home) 当前用户:登陆的用户 家目录:Linux是一个多用户操作系统–同时可以有多个用户登陆linux进行操作 家目录是操作系统为每一个用户创建的受保护目录 ls 特定目录 --浏览特定目录下的文件信息 ls -a :浏览目录下的所有文件,包括隐藏文件(linux下文件名以 . 开头的文件默认不显示,是隐藏文件) ls -l :查看目录下文件的详细信息 这些详细信息 linux下有一句名言:一切皆文件(linux下所有东西都是文件,都可以通过操作文件进行访问) 目录也是文件,只是文件类型是目录类型,Linux下并不以文件后缀名来区分文件类型,后缀名只是为了方便我们的使用。(linux关注的是文件的内容,也就是文件内的数据,并不关注文件的后缀名) ls -al 选项可以组合使用(选项的组合不区分先后顺序) 例如也可以 ls -la 显示的颜色不同,表示的文件类型不同,文件功能不同,例如:蓝色的表示目录类型文件夹,可以进入对应的目录路径中 输入 env :可以大致查看各种文件类型对于的颜色代码 ll 相当于 ls -l ls 只能浏览已经存在的文件夹,不存在的文件夹不能浏览,如果没有文件夹,需要先创建文件夹
02.pwd 指令
pwd — 查看当前所在路径 (pwd英文全称:print working directory 打印当前工作路径) /home/zw — 绝对路径,多层级路径的表达方式,而其中最前边的斜杠叫根目录,其余的斜杠是路径分隔符,/home/zw表示我当前在home目录,zw目录下 路径有两种:绝对路径和相对路径(后续会详细介绍) windows下,磁盘分了多个分区,就可以有多少盘符(C盘、D盘….),每个盘符都是一个大目录,这个目录下的文件使用的磁盘空间就是这个分区的 windows下的目录结构可以随着分区多少而改变(比如从二个分区C、D,变成四个分区C、D、E、F,目录结构就发生改变了) linux下有所不同,目录结构是唯一的,不会随着分区多少而改变(结合下图理解) pwd查看当前所在路径,或者打印当前工作路径,打印出来的是一个绝对路径 绝对路径:是一个唯一路径,指的是以根目录作为起始表达的路径 ,例如:/home/zw 相对路径:多种多样的路径,指的是以某个路径作为参照路径,通常说的是以当前路径作为起始的路径 为什么说相对路径是多种多样的呢? 对于同一个路径,使用相对路径可以选择不同的起始路径,相对路径的表达也会不同。
03 cd 指令
cd — 改变工作路径,改变当前所在路径,进入某个路径(英文全拼:change directory)
cd ~ 表示当前用户的家目录 cd - 返回最近的目录(也就是上一个使用过的目录) 怎么样来表达相对路径呢? 在linux下有 . 和 … . 表示当前路径,目录自身 … 表示上一级路径,目录的上一级路径 此时用 **cd ./…/…**表示是根目录 也就是 .zw/…home/…root
04.mkdir 指令
mkdir –- 创建一个空目录,也就是一个文件夹(英文全拼:make directory) mkdir -p file2/file3 递归创建多层级目录,从外往内,哪层不存在就创建哪一层,一次创建多级目录 Linux下如何区分文件? -:普通文件(文本文件、可执行文件、各种库文件) d:目录文件(directory) l:链接文件(linker,一个文件指向另外一个文件,相当于Windows下的快捷方式) p:管道文件(pipe,用于进程间通信,管道通信,是一个共享缓冲区) c:字符文件(character,字符设备,键盘,显示器) b:块设备(block,磁盘) Linux下一切皆文件,像字符设备,键盘,显示器等硬件设备都被抽象为文件。 Windows下区分文件是通过文件名的后缀,如.txt、.docs、.exe、.c、.h等等 Linux下区分文件是通过文件属性列的第一个字符。 Linux区分文件不通过后缀,不代表我们不能使用后缀,实际上为了方便,我们经常会使用这些后缀来快速区分文件类型。另外Linux操作系统本身不关心后缀,并不代表Linux上面运行的所有的应用程序都不关心后缀,比如说Linux下的gcc编译器在编译c语言源文件时,如果源文件名的后缀不是.c,那么gcc编译器将不能正常编译该源文件 vim工具 nano工具
05.rmdir 指令
rmdir — 删除目录(英文全拼:remove directory),只能删除空目录(个人感觉只能删除空目录的功能有点鸡肋!)
rmdir -p 递归删除空目录,从内往外,哪一层为空目录就删除哪一层
06.rm 指令
rm — 删除文件(英文全拼:remove),只能直接删除普通文件,不能直接删除目录文件 rm -r 递归删除目录下的所有文件,包括目录文件 rm -f 强制删除(不再询问) rm -i 删除前逐—询问确认 rm -rf 递归并强制删除(非常强力,非常危险的指令,会导致网上所流传的笑话“删库跑路”) whoami : 查看当前用户名 who:查看有哪些用户正在登录
07.tree 指令
我们可以使用tree指令来查看目录的结构树
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lq77XCP1-1649577253533)(https://s2.loli.net/2022/04/03/RBTUFbMojIhdJYD.png)]
1)如果我们之前没有安装tree指令,这个时候就会报错,需要我们安装一下 2)使用:yum install -y tree进行安装,这个时候系统会提示你需要用root权限(超级用户)来执行这条命令。 3)可以使用:su 切换到root用户,需要你输入root用户的密码(注意:输入密码期间,屏幕是不会显示任何东西的,输入好了后直接按回车键enter,如果密码正确就切换成功,密码错误需要重新输入) 4)再次使用 yum install -y tree安装即可 再次使用tree指令,结果如下:
建议安装好指令后,就将用户切换回普通用户,使用su username(用户名)直接切换,不需要输入密码(因为root的权限很高,从低权限切换到高权限需要密码,从高权限切换到低权限不需要密码) 使用rm -r 递归删除文件,可以加上 -i 来增加提示信息(y代表yes,n代表no) rm -ir 有的时候提示信息太多,一一选择比较烦,我们可以使用 rm -f 直接进行操作,不要进行提示(有些文件删除会提示“是否真的要删除?”) 可以搭配 -r使用,rm -rf (谨慎使用)
08.cp 指令
cp — 将一个文件向另一个位置拷贝一份(copy),默认只能拷贝文件不能拷贝目录,要拷贝目录可以加上 -r 使用格式:cp [选项] 源文件或目录 目标文件或目录 cp -r 递归将一个目录及其内部的文件全部拷贝到指定位置 如果我们拷贝文件过去后不想叫原来的名称,想要换一个名称,怎么办呢? 在拷贝的时候给其命名
09.move 指令
mv — 移动一个文件到另一个位置,也就是剪切(move) 这里的touch是创建一个文件,后续会详细讲解 mv 在剪切的时候也是可以改名的,常用mv来完成改名 当然也可以用rename来给文件改名
小技巧
自动补全:输入前几个字母后,直接按一下tab键,就会自动补全 **快速切换到前面使用过的指令:**按向上(向下)方向键可以切换到之前(后面)使用过的指令
10.touch 指令
对于普通文件的命令: touch — touch 命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件(若文件存在,刷新文件的时间属性,若不存在,则创建新文件)
touch -d 使用指定的时间刷新时间属性,时间属性要用双引号“”引起来,不然touch会以为我们要创建文件 touch -d “2021-08-01 12:12:12” me.txt 文件的时间属性有三种: 1)最后一次访问 2)最后一次修改 3)最后一次状态 -a或–time=atime或–time=access或–time=use只更改存取时间 -m或–time=mtime或–time=modify只更改变动时间 使用 stat 文件名 可以查看文件的状态信息
Access:文件访问时间 Modify:文件修改时间 Change:文件改变时间(Modify和Change的区别?)
11.cat 指令
cat 文件名 查看/打印文件内容 cd etc/ 进入etc目录,这个目录下面有很多文件 我们可以将etc下的passwd拷贝到当前家目录下面 然后用cat将passwd中的内容打印出来 cat -n 文件名 可以打印行号 tac:反向打印(cat反过来写)
12.more 指令
当文件内容很多的时候,我们需要翻页 more 文件名 分页显示文件内容 按回车enter向下走一行,按空格,向下滚动一页,按q退出显示,额外按b,可以向上滚动(但是这个查看的效果不好)
count=0; while [ $count -le 10000 ]; do echo "hello $count"; let count++; done > you.txt
more you.txt
脚本:生成多个字符串行
dmesg(英文全称:display message)命令用于显示开机信息 dmesg | more ls | grep myfile :将ls显示的东西通过关系过滤,找到关键字为myfile,然后打印
13.less 指令
less 文件 分页显示文件内容 方向向上键↑ 向上滚动 方向向下键↓ 向下滚动,按enter也可以向下滚动,按空格键 按页滚动 (less与more相比较,更推荐使用less) 匹配查找字符串: /string 向下匹配 ?string 向上匹配
14.head 指令
head — 默认显示文件前10行内容 -n 指定显示n行数 head -3 passwd
15.tail 指令
tail — 默认显示文件末尾10行内容 -n 指定显示n行数
dmesg | head -59 | tail -10
16.echo 指令
echo 打印字符串 — 将数据写入到标准输出 — 显示器设备文件 什么是打印字符串? 有的同学会认为打印字符串就是把字符串显示到界面上,实际上数据打印实际上是操作系统控制,从键盘读取数据,再把数据再写入显示器,linux下一切皆文件,对显示器操作也就是对文件操作,将数据写入显示器文件 echo后面常跟 > 或 >>,这两个符号叫做重定向符号:进行数据流的重定向–文件重定向 将要操作的数据,不再写入原本文件,而是写入到新的文件中。 > 是覆盖重定向(也就是输出的内容会覆盖原来的内容,原来的内容会被清空) >> 是追加重定向(输出的内容追加到原内容的后面,不会覆盖) echo “hello linux” >> test.txt | 管道符,可以用于打印指定行号的内容,先将前一部分内容送入管道,然后再从管道中取数据
|–连接两个命令,将前面命令的输出结果,当做后面命令的输出数据,让后面的命令进行处理 快速清空文件 > hello.txt 输出重定向
17.shotdown 指令
关机命令: shutdown -h now 立即关机
18.压缩指令
压缩命令: 压缩命令的效果类似于windows下面的压缩 压缩:将一个文件按照一些压缩算法,将文件数据从多变少(让文件的大小变小了) zip(windows常用)、gzip、bzip2(gzip、bzip2是linux下常用) 打包:将多个文件合成一个文件 解压:跟压缩相对应,将压缩的文件还原回去 解包:跟打包相对应,将打包的文件还原回去
ls /dev/ (dev–device设备,下面这些都是设备文件,root目录下的各个目录都有对应的功能)
zip指令 zip : zip格式的压缩命令,后缀名.zip 格式:zip 压缩后文件名称 进行压缩的文件名称 unzip: zip格式的解压命令 格式:unzip 进行解压的文件名称 ls -hl 或者 ls -lh(人性化显示)
gzip – linux下常用的压缩命令,后缀名.gz gunzip – 对应的解压命令
linux下文件格式并不以后缀名区分,后缀名只是便于用户区分文件功能性质的功能 bzip2/bunzip2:bzip2格式的压缩解压缩,后缀名
liunx下的的命令信息查找工具 man 手册(可以查看命令信息,函数信息等等) man 命令名称 按q退出man显示界面,回到原来的命令行位置
tar指令 tar linux下使用频率最高的打包解包工具,将多个文件打包成文一个文件,提供解包功能,并且打包解包的同时可以进行压缩解压 -c:建立一个压缩文件的参数指令(create的意思); 打包 -x︰解开一个压缩文件的参数指令! 解包 -t:查看tarfile里面的文件! -z︰是否同时具有gzip的属性?亦即是否需要用gzip压缩? -j︰是否同时具有bzip2的属性?亦即是否需要用bzip2压缩? -v∶压缩的过程中显示文件!这个常用,但不建议用在背景执行过程! -f :使用档名,请留意,在f之后要立即接档名喔!不要再加参数! 通常各种选项会搭配使用 tar -czvf .tar.gz/.txt 打包 tar -xzvf ***.tar.gz 解包 tar -cvf 仅打包,不进行压缩 tar -xvf 不选定格式解压,系统会自动选择格式来解压 默认解压的文件会在当前所在目录下,不一定会在压缩包所在目录下
19.grep 指令
匹配查找命令: grep – 从文件内容中匹配包含某个字符串的行,常用于某个文件中找函数(行过滤)
-i:忽略大小写的不同,所以大小写视为相同(ignore) -n :顺便输出行号 -v︰反向选择,亦即显示出没有’搜寻字符串’内容的那一行 -R 递归 对指定目录下的文件递归逐个进行内容匹配 在终端中执行命令,单引号 ’ ’ 和双引号 " " 的区别是什么? 在大多数情况下,意义相同,都是为了括起一串数据,表示这是一个整体,单引号会消除括起数据中的特殊字符的特殊含义,双引号不会。 -E 并行查找(条件或) which 用于查找指令所在路径的指令 alias 给指令起别名
20.find 指令
find — 从指定目录中查找指定名称/大小/时间/类型 find -name *表示进行模糊匹配,表示可以为任意字符串,如果不加,因为目录中此时没有test文件,所以会查找不到
find ./ -type d 通过文件类型找文件–(f -普通文件、d-目录文件、c-字符设备、b-块设备、p-管道文件、|-符号链接文件、s-套接字文件) 字符设备:最典型的就是键盘 符号链接文件:类似于快捷方式 套接字文件:网络通信文件 find ./ -size +1k 通过文件大小找文件,在当前路径下查找文件大小大于1k的文件
find ./ -size -1k 在当前路径下查找文件大小小于1k的文件 find ./ -mmin -10 通过文件时间找文件 – cmin、mmin、amin 单位为分钟,ctime、mtime、atime 单位为天
21.bc 指令
bc —计算器命令 按ctrl + c结束
22.date 指令
date —打印或设置系统时间
date +%Y-%m-%d +表示按照指定格式查看 %H:小时(O0…23) %M:分钟(O0…59) %S∶秒(O0…61) %X:相当于%H:%M:%S %d:日(01…31) %m :月份(01…12) %Y:完整年份(O000…9999) %F:相当于%Y-%m-%d 时间->时间戳: date +%s 时间戳->时间: date -d@1508749502
23.cal 指令
cal — 查看日历 cal -y 查看当前年份的日历
24.su 指令
su — 切换用户 su username(建议:平常尽量避免直接使用root用户,因为root用户是超级用户,可以在系统中为所欲为,因此很容易造成无法挽回的错误,比如在root用户时使用命令 rm -rf /*,会将root根目录下所有文件删除,系统就会崩溃,而普通用户在执行这条命令的时候,是没有权限的,删除不了)
补充
tab —文件名自动补全,补不出来就代表没有这个文件 ctrl+c — 中断当前的操作 man指令(查看命令手册) man printf /man man(如果我们有什么指令不了解,可以问一下linux系统中的这个男人man) top指令:linux下查看cpu占用 netstat 查看网络连接状态 free 查看内存资源状态 df 查看磁盘分区资源状态 uname 用来获取电脑和操作系统的相关信息。 uname -a:详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
系统命令:
shell的理解:
为什么在终端中输入一串字符串+回车,会被当做命令执行,完成某个功能? 操作系统内核(kernel)与用户之间的桥梁 — 命令行解释器(也被称为外壳) 规定:用户不能直接访问系统内核,直接访问内核太危险 shell会捕捉用户的标准输入,得到字符串,通过字符串判断用户想要干什么 用户不能直接访问内核,操作系统会提供一些接口,通过调用接口,完成内核某个特定功能的访问 像浏览目录这种功能会涉及到很多系统调用接口的使用,为了便于用户使用,大佬们使用系统调用接口封装了一些直接完成常用功能的程序。 用户输入ls字符串,shell捕捉到了之后,就会执行ls这个命令程序完成浏览目录的功能
类比:王婆、媒婆、村花如花的故事、班级小黑,喜欢班里小桃红,找小明搭桥 终端为什么能够执行命令,就是因为终端打开之后默认就运行了一个程序—shell–命令行解释程序 shell程序多种多样 bash、dash、csh
我们执行的命令都是一个个的程序,我们在终端输入什么字符串,shell就会捕捉到后,就会执行什么程序,完成对应的功能。 通过以上内容,我们要理解shell是什么?与用户、内核、终端之间的关系是什么? shell是用户与内核的沟通桥梁,在linux下就是一个命令行解释器,在windows下就是图形化界面,早期的操作系统都是没有界面的,图形化界面的出现是为了更好的人机交互,但这种更好的“人机交互”实际上就是封装的很多底层内容,把用户与底层隔绝开来。让小白用户都能顺利的使用计算机。但是对于程序员来说,这并不是好事,在后续的学习中我们将更能体会这一点。
权限:限制用户权力
为什么要有权限? 如果每一个用户都能干任何事情,则秩序就会混乱 操作系统中的操作权限: 在linux系统中,将用户分为两类: 1)普通用户:只能进行受限制的操作 2)超级用户(root):可以进行任意的操作,不受限制 使用su 命令进行用户切换,目的就是为了获取这个用户的操作权限 root用户下: useradd username 添加用户 userdel username 删除用户 上面所说的都是用户的权限,其实除了用户有权限之分外,linux下的文件也有权限 文件权限的认识: 文件访问对用户的分类: ①文件所有者-u(user) ②文件所属组-g(group) ③其他用户-o(other) 文件访问对操作的分类: ①是否可读-r(read) ②是否可写 -w(write)③是否可执行-x (execute) 三三为一组 分别对应到u,g,o -:表示没有权限 rwx: 表示可读可写可执行 —: 表示不可读不可写不可执行 r-x 表示可读不可写可执行 在系统中权限的存储:使用二进制比特位图,二进制比特位只有0/1 rw-rw-rw- 二进制表示就是 110 110 110 占用空间更小,操作更加简便,为了便于表示和记忆,可以使用三个八进制数字分别表示三类用户的权限 rw-rw-rw- ----> 110 110 110 —> 6 6 6 再例如: 753 —> 111 101 011 —> rwx r-x -wx 所有者具有可读可写可执行权限,所属组具有可读不可写可执行权限,其他人具有不可读可写可执行权限(如果是目录的话,就是可浏览 -r,可在目录下删除创建文件 -w ,可进入-x) 总结:
权限符号 | 含义 | 八进制 | 二进制 |
---|
— | 不可读不可写不可执行 | 0 | 000 | –x | 不可读不可写可执行 | 1 | 001 | -w- | 不可读可写不可执行 | 2 | 010 | -wx | 不可读可写可执行 | 3 | 011 | r– | 可读不可写不可执行 | 4 | 100 | r-x | 可读不可写可执行 | 5 | 101 | rw- | 可读可写不可执行 | 6 | 110 | rwx | 可读可写可执行 | 7 | 111 |
假设你有一台电脑,学校组织上机实验,你将自己的电脑提供给自己的小组使用 文件访问权限指令: 创建一个文件的默认权限 umask 查看或设置文件创建权限掩码,也就是说掩码决定了一个文件的创建的默认权限 umask -S 人性化显示
0002 是一个八进制的显示(最前面的0表示八进制显示格式) 002 是 000 000 010 跟 111 111 111(满权限)是在shell创建文件默认给定的权限 将111 111 111 - 000 000 010 错误计算方法:777 满权限 - 八进制掩码 正规计算方法:给定权限 & (~掩码) 比如:777 & (~002) ~002: 111 111 101 (二进制位取反) 777 & (~002): 111 111 111 & 111 111 101 = 111 111 101 也就是rwx rwx r-x(775)
创建好的文件的权限修改 chmod 777 you.txt :直接使用八进制数字进行修改,给you.txt文件设置 777 的权限 chmod a-x you.txt 所有用户减去(取消)-x(可执行)权限 chmod u+x you.txt 给所有者加上x权限
①用户表示符+/权限字符 | |
---|
+ | 向权限范围增加权限代号所表示的权限 | - | 向权限范围取消权限代号所表示的权限 | = | 向权限范围赋予权限代号所表示的权限 |
用户符号 | 含义 |
---|
u | 拥有者(user) | g | 拥有者所属组(group) | o | 其它用户(other) | a | 所有用户(all) |
chown username filename 修改文件所有者(只能使用root修改)
chgrp groupname filename 修改文件或目录的所属组(只能使用root修改) 修改文件权限的粘滞位: 故事:小明和小黑 chmod +t filename 当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由: 一、超级管理员删除 二、该目录的所有者删除 三、该文件的所有者删除
目录的权限
可执行权限:如果目录没有可执行权限,则无法cd到目录中 可读权限:如果目录没有可读权限,则无法用ls等命令查看目录中的文件内容. 可写权限:如果目录没有可写权限,则无法在目录中创建文件,也无法在日录中删除文件 于是,问题来了~~ 换句话来讲,就是只要用户具有目录的写权限,用户就可以删除国录中的文件,而不论这个用户是否有这个文件的写权限. sudo – 为普通用户临时提升权限 visudo 查看可以使用sodu权限的用户信息 :90 行左右 Allow root to run any commands 我们可以yy复制一行,p粘贴,然后修改为自己的用户(跟vim修改一样,i进入insert模式,esc进入普通模式,:进入底行模式) :wq 保存并退出 总结:sudo需要进行配置之后才能使用 配置过程: 1)su root 切换到管理员用户 2)visudo 打开sudo配置 3):90 跳转到文档第90行,在90行附近 4)yy复制root这一行,p粘贴 5)将用户名从root修改成自己的用户名称 6):wq 保存退出 sudo的使用演示: sudo yum install lrzsz 文件用户信息的修改
总结部分:
基础指令:
目录指令:ls、pwd、mkdir、rmdir、rm、cp、cd 文件指令: touch、cat、more、less、head、tail、mv 压缩指令: zip/unzip、gzip/gunzip、bzip2/bunzip2、tar -czvf-xzvf 查找指令: grep 、 find 系统指令: shutdown、reboot 常用操作: tab键-文件名自动补全、ctrl+c键-中断当前操作 其他指令: man、ifconfig、su、echo、bc、cal、date,whoami,which,whereis、uname、sl(小火车)
扩展指令
1)安装和登录命令:login、shutdown、halt、reboot、install.mount、umount、chsh、 exit、last 2)文件处理命令::file、mkdir、grep、dd、find、mv、ls、diff、cat、ln 3)系统管理相关命令::df、top、free、quota、at、lp,adduser groupadd、 kill、crontab 4)网络操作命令:ifconfig、ip、ping、netstat、telnet. ftpl route、rlogin、rcp、finger、mail、nslookup 5)系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who 6)其它命令: tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode
Shell认识 shell就是一个命令行解释器,也是一个程序,打开终端默认运行的就是shell程序,起到用户与系统内核之间的沟通桥梁shell捕捉用户的输入,执行对应的shell指令程序,访问内核,完成功能,将结果返回打印—用户不能直接访问内核
权限的认识:
系统操作权限:系统中用户的分类-管理员与普通用户—指令:su-切换用户, sudo-文件操作权限:描述哪个用户可以对文件如何操作 文件操作对用户的分类:文件所有者-u、文件所属组-g、其他用户-o 文件访问操作的分类:可读-r、可写-w、可执行-x权限表示: 显示字符表示:rwxrwxr-- 、八进制数字表示:774
指令练习方式:
1)优先练习不熟悉的指令 2)再练习重要的,也就是经常要使用到的指令 3)最后练习不怎么使用,不重要的指令
思维导图总结
|