目录
1.定义变量:(注意'='两边没有空格,暂不知道为什么转义的时候要用""而''不行)
2.定义函数: (source后就会在shell中定义函数)
废话
来,好几天没更新csdn来水文章了,今天来水一期文章,讲一下电脑终端,这能帮助我们更好的使用我们的计算机(这里我前两天就被我朋友说我的底子太薄了,啥啥都不懂,他一问我三不知),当我们要搭建自己的博客的时候就需要使用到电脑的终端。杂谈涉及到的很多东西都是基于大佬翻译的[自制双语字幕] 计算机教育缺失的一课(2020) - 第1讲 - 课程概览与 shell_哔哩哔哩_bilibili有想法的可以自己去认真观看,我想大家会受益匪浅。(对于一个只是学习了一点电脑知识且喜欢干饭的汉堡小白来说难免会出现一些问题,欢迎大佬们指正)
终端
对于计算机最经常用到的就是可视化界面,可以理解为在电脑上看到桌面画面,平时使用电脑最主要的方式(打游戏)。另一种方式就是终端,像windows,在按住win+r键,就会出现一个电脑命令窗口:
在这个命令窗口中输入不同的指令就会有不同的效果,输入:
cmd
回车:
这里就是终端,在其它电脑系统中也会有各自的终端。
我这里是通过ssh工具连接了我的树莓派对ubuntu系统来进行操作,感兴趣的可以去看我树莓派人脸识别小项目的第一期文章,那里有教。
终端 包含了用户名、机器名称、目前所在的路径,这里的东西是可以自己diy的:
终端是与计算机进行沟通的一个文本界面,这里没有图像的可视化,是纯文本的一种状态,我们可以在这里输入我们想要执行各种命令。
习惯
命令与参数间有空格,‘ . ’是表示当前目录‘ .. ‘表示父级目录对带有空格的参数进行命令时使用转义 \+空格 、“ ” 、‘ ’ ,这是良好习惯
命令
1.date :这个英文单本身就是日期的意思,会打印出当前标准的时间:
2.echo: 这个命令,可以打印出来我们发给它的一些参数(其实更像一个广播大喇叭):
3.mkdir :命令来创建文件夹时,不使用转义会创建两个文件不同文件夹:
4.which:命令可以告诉要运行程序的地址:
5.pwd: 命令会告诉我们当前的路径:
6.cd:命令会改变我们的路径:
7.ls:命令会列出当前目录的文件:
8.' ~ ' :可以用来写相对路径:
9.’ - ‘:可以表示上一次操作的路径:
10.’ --help ‘:可以打印出有关于命令的相关信息(ubuntu会给出中文,这会利于我们的理解):
11.ls -l:命令会列出当前目录的文件,并列出相关信息(文件权限等):
linux下ls -l命令(即ll命令)查看文件的显示结果分析_leon1741的博客-CSDN博客
这里贴一个别人的文章,读懂这些信息对执行相关命令有一定的帮助
ls -l /usr/bin/: 命令会列出拥有执行权限的文件:
12.mv: 命令效果等同于剪切粘贴,会给予重命名的权限:
13.cp: 命令效果等同于复制粘贴,我们需要一个复制的目标和粘贴的位置
14.rm:命令效果是删除(-rf是文件夹删除,rmdir是删除空白文件夹):
15.man: 手册页:
16.clear: 清空当前页(也可以快捷键ctrl+l):
17.>: 覆盖:
18.>>: 追加:
19: | : 将左边的输出作为右边的输入(这样子就能玩出很多花活):
20.root: 管理员权限:
1.定义变量:(注意'='两边没有空格,暂不知道为什么转义的时候要用""而''不行)
2.定义函数: (source后就会在shell中定义函数)
这里我第一次学的时候超级震惊,我之前都没想过能这样整个玩。
mcd()
{
mkdir -p "$1"
cd "$1"
}
"$0" 代表脚本的名称,"$1"到"$9"是bash脚本接收的第二到第九个参数
"$?"可以获取上一个命令是否错误,想想和" | "能不能组合出一些实用的技巧:
"$_"可以获取上一个命令的最后一个参数:
"!!"可以代替上一个命令:
" || "或运算(如果第一个命令是真执行第一个,第一个为假就看第二个):
3.将命令的输入存到一个变量中:
注意要使用("")而不是(' ')
<+():它的作用是它内部执行,然后输出放到某个地方当中,并将文件标识符提供给最左边的命令(说人话就是流水进行命令而已)
玩这个脚本的时候记得source和chmod +x给权限,我刚开始脑子还卡了好一会、
这*有点让我想起了Verilog里面的*,直接实现等效的效果,很像
这里的"?"是扩展为了一个任意字符
使用数组形式我们能快速进行批量操作: