正如上述标题,开始在CSDN上写点自己学习的历程,
主要目的还是帮我记住许多东西,同时这里主要是涉及一些数据工程和分析
(可能太宽,主要是刚开始接触还不熟,也只能说个大致范围)和 python 编程。
这是因为最近在学这个,所以就以这两者为方向进行下学习。
也希望哪位高手路过此地,可以指点一二。
刚学习完 edx 下面 “IBM LX0117EN Linux Commands & Shell Scripting” 课程,
下面是我记得不牢固部分:
LINUX
关于结构
一个 Linux 系统里面有五层:
- UI 或是使用者界面(user interface),这层让用户能同系统进行交互
- 应用(application)允许使用者完成系统里面的特定任务,包括系统服务(system daemons)、计算机壳层(shell)、用户应用程序、工具
- 操作系统(operating system)运行在 linux 内核管里(kernel)上面,对系统健康和稳定性至关重要
- 内核管理是最底层软件,允许应用和硬件互动
- 硬件包括电脑里面所有物理和电子元件
而 Linux 文件系统就像是树状结构包括系统上的所有目录和档案。
BASH
关于规范
在练习作业的时候,觉得 BASH 很龟毛,尤其是什么时候用空格和不用,会造成是否可以执行,以下部分我需要熟记:
(( )) [[ ]]
使用 if 的时候
- 必须跟前面和后面括号中间有空格,
- 必须跟比较符号之间有空格
- 圆双括号用于数字比对
- 方括号用于文字或是状态比对
=
使用赋值时
- 跟前面和后面不能有空格
- 后面要执行脚本(script)的时候,后面必须在 $( ) 或是 ` ` 里面
- 后面如果算出来是数字,需要在双圆括号内 (( ))
- 后面如果进行计算,计算部分可以使用空格也可以不用
参数
以下只是我需要记住的笔记:
- $1 $2 代表第一个、第二个脚本接受的参数
编辑器
对于制表键(tab)的处理
不同编辑器设置会影响空白符的操作,需要留意(影响后续操作)。
以下操作我在 nano 编辑器上面反馈结果是不同的:(待研究,我认为我了解有问题)
直接输出档案:
echo -e "$year\t$month\t$day" > date_record.txt
赋值再输出档案:
title=$(echo -e $year\t$month\t$day)
echo $title > date_record.txt
上面会以制表键记录到档案,后者直接记录成空格。
函数
crontab
我搞错的内容:(m h dow mon year)
设定每小时发生
* 0 * * * # 每天的每小时执行
设定每天发生一次
0 0 * * * # 每天 0 点执行一次