第三次公开讲座知识点记录

0 . 在这之前你需要准备的事:

1.知道什么是Linux,了解一些Linux的来龙去脉,知道 Linux 会在哪里使用,有什么样的特点
2. 有一台装有Linux系统的电脑且经过了一些基础配置
3.会使用一些基础命令。比如:ls , cat, cp, cd 等等
4.会使用配置过的vim书写代码,会用gcc和gdb调试代码
5. 正在使用git与github,书写csdn博客(当然也可以是其他类型的)

如果上面的这些你都没有完成,那么先去做它们,你觉得怎么样?嘻嘻

1.什么是 shell 呐?

简单点理解,就是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具,从某方面来说shell也是系统的一部分。实际上,在shell和计算机硬件之间还有一层东西那就是系统内核了。打个比方,如果把计算机硬件比作一个人的躯体,而系统内核则是人的大脑,至于shell,把它比作人的五官似乎更加贴切些。回到计算机上来,用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传输给系统内核,接着内核再去支配计算机硬件去执行各种操作。

现在让我们来设想一个情景,如果我们有一个极大的数据库,里面有你们好多人的隐私,嘿嘿~~ 那么我如何去验证每一个想要访问数据库的人?很显然这是需要严格的权限控制的!那么我们是不是可以弄一层”壳“出来,让它专门去负责验证,一旦通过验证,那就一定是有权限的啦,那么这个所谓的壳其实也就是我们要说的shell了。

2.有那些 shell?

bash: 通用,广泛可得
zsh: 各种功能十分强大,尤其是补全和脚本。但是也更复杂
ksh:全称 Korn shell,它完全向上兼容bash,并包含了 C shell 的很多特性
oh-my-zsh: 被称之为终极 Shell 的就是它了(在安装之前,需要先安装 zsh 哦)
Gnome,KDE: 两款图形化的shell
当然了,shell 版本很多,在此就不一一列举了,感兴趣的可以自己去查阅

那么我们的本本上都支持那些shell呐?我们可以去/etc/shells 去查看 。

cat /etc/shells

这里写图片描述

可以看出我们的系统支持这些版本的shell 。为什么要有这些支持呐,因为系统在执行某些服务时会去检查用户能够使用的shell 。如果你不想让用户登录,使用你的资源,那你就可以给他一些奇怪的shell。比如:/sbin/nologin

2.shell有什么功能啊?

(1) 命令记忆与补全

命令记忆:history 命令,如图:

这里写图片描述

这些命令存储在”~/.*sh_history“,如图:
vim ~/.zsh_history

这里写图片描述

补全:就是[tab]键补全命令与文件, 这没啥好说的

推荐:ctrl+r 搜索用过的命令

ctrl +u(清除一行)搭配home键和end键使用

查命令用法的网站:这里写链接内容

https://explainshell.com shell命令解释网站,再也没有看不懂的shell 命令了

(2) 别名设置与通配符

别名设置(alias命令):
使用方法:”alias 你要的命令名字= ‘实际命令名字’ “即可,比如:
alias cls='clear'
unalias cls     //取消
alias    //查看所有命令别名
上面的命令别名设置方式在系统重新启动或用户重新登录时,定义的别名就会丢失。那么如何设置永久生效呐?就是修改别名配置文件(对单一用户生效),如图:
cat ~/.*shrc

这里写图片描述

通配符:
符号意义
*代表0到无穷多个任意字符
代表一定有一个字符
`反单引号,它里面的内容先执行
[ ]一定有一个在括号中的字符
[-]编码顺序内的所有字符
[^]反向选择,非括号中的一个字符
举例说明:
gcc   *.c     //C语言课程设计的编译
ll   -d    /etc/???  //-d 显示目录,找/etc下三个字符的目录文件
echo  今天日期:`date` 
ll -d /etc/*[0-9] //找到以数字结尾的所有文件
ll -d /etc/[^a-z]*  //找到文件开头为”非小写字母“的文件

(3)作业控制与前后台控制,如图:

这里写图片描述

说明:1. job number(队列编号) 只与当前用户的shell环境有关。搭配对应一个PID 。
2.kill 命令
kill -9   //强制结束一个工作
kill -15   //正常结束一个工作
kill 后默认接的是PID,如果想要以工作管理序号控制,就加上”%数字“即可
3. killall与pkill:用于杀死指定名字的进程
killall TIM.exe
pkill nginx   //然后可能就会 gg 吧

(4) shell 的变量功能

用符号去代替一些设置或者是保留的数据,这个东西就是变量。
如何设置:
NAME="liushngxi " 
注意双引号内的都保留原有属性,而单引号内的仅为字符,其余注意事项:
1.等号两边不能有空格
2.英文字母与数字,开头不能是数字
如何修改:
NNME=${NNME#l*5}  //把NNME变量从l开始到5找到最短的删除
NNME=${NNME##l*5}  //把NNME变量从l开始到5找到最长的删除
如何替换:
${变量名/旧的/新替换的}   //替换遇到的第一个就结束
${变量名//旧的/新替换的}   //替换所有结束

几个常用变量(env查看)

PATH 指定命令的搜索路径
PS1 命令基本提示符,对于root用户是#,对于普通用户是$
HOME 指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)
HISTSIZE 指保存历史命令记录的条数
LANG 和语言相关的环境变量,使用多种语言的用户可以修改此环境变量
如何修改 PS1:修改”~/.*bashrc”,在文件末尾加上变量设置语句

提供如下链接:PS1变量设置

3.数据流重定向是什么?

这里写图片描述

文件描述符设备文件说明
0/dev/stdin标准输入
1/dev/stdout标准输出
2/dev/stderr标准错误输出

(1)对的信息到一个文件,错的信息到另一个文件
find /home -name .zshrc 1>> right 2>> wrong
(2) /dev.null 垃圾桶黑洞(这个还挺有意思的,建议再查查资料)
(3)统统写入一个文件
find /home -name .zshrc &> 888
(4) tee 双向重定向
find /home -name .zshrc | tee 1>> 999

会在999文件中和屏幕上都输出信息

4.管道又是什么啊?

这里写图片描述

将前一个命令的标准输出作为下一个命令的标准输入进行处理。注意:管道只接受正确的标准输出,对于错误输出不管
    ls /etc   | grep conf.d

这里写图片描述

5.shell脚本

等价与windows下的 .cmd  文件

用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。
举例:
1. 写一个shell脚本来得到当前的日期,时间,用户名和当前工作目录。

/#!/bin/bash 
echo "Hello, $LOGNAME" 
echo "Current date is `date`" 
echo "User is `who i am`" 
echo "Current directory `pwd`" 
有自己的语法和基本的逻辑结构。if语句,循环等,是一种脚本式编程语言。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要把知识点形成自己的永久记忆,可以采取以下几种方法: 1. 重复记忆:通过不断地重复读、写、说,使知识点深深印入记忆中。 2. 关联记忆:通过与已有知识或生活经历相关联,让新知识融入记忆中。 3. 应用记忆:通过实际应用新知识,使其变得更加牢固。 4. 情境记忆:通过联想、想象和情景化,使新知识与情境结合在一起,增强记忆效果。 5. 多维度记忆:通过多种不同方式,如听、说、写、做、看等,记忆同一知识点,使其在记忆中更加牢固。 以上方法可以帮助你提高记忆效果,形成更为牢固的记忆。 ### 回答2: 要把知识点形成自己的永久记忆,以下是一些方法: 1. 理解和思考:不仅仅是简单地记住知识点,而是要深入理解其含义和背后的原理。反复思考和解释知识点,尽量与其他相关概念联系起来。 2. 分解和总结:将复杂的知识点分解成较小、更容易理解的部分,逐步掌握。在学习结束后,总结出一个简明扼要的概要,帮助轻松回忆。 3. 多种感官参与:通过多种感官来学习和记忆知识,例如听讲座、阅读教材、使用图表等。这样可以刺激大脑各个区域,并提高记忆效果。 4. 重复和巩固:及时复习和回顾知识点是巩固记忆的关键。可以通过建立学习计划,定期回顾已学知识,以防遗忘。 5. 创造性应用:将知识点应用到实际生活或问题中,从而更深入地理解与记忆。可以进行案例分析、讨论或小组活动等。 6. 教授他人:通过向他人教授或解释知识点,可以加深理解与记忆,并通过不同的角度思考问题。教授他人还可以提高表达和沟通能力。 7. 睡眠和健康生活方式:保持良好的睡眠和健康的生活方式有助于记忆和学习。大脑在睡眠过程中对于记忆的整理和巩固至关重要。 通过以上方法,可以帮助将知识点转化为自己的永久记忆,并更好地应用到实际生活和学习中。但需要注意的是,每个人的学习方法和习惯可能略有差异,需要根据个人的情况进行调整和实践。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值