“Linux-2026-fall”的版本间的差异
跳到导航
跳到搜索
(→板书和笔记) |
|||
| (未显示2个用户的3个中间版本) | |||
| 第1行: | 第1行: | ||
== 课程安排 == | == 课程安排 == | ||
| − | * 老师: [http://web.suda.edu.cn/zhli13/ 李正华 | + | * 老师: [http://web.suda.edu.cn/zhli13/ 李正华] |
* 助教:顾天宇 | * 助教:顾天宇 | ||
* 计24计科1班,计24计科2班(大三上) | * 计24计科1班,计24计科2班(大三上) | ||
* 专业选修课 | * 专业选修课 | ||
* 上课时间和地点 | * 上课时间和地点 | ||
| + | ** QQ群:705869759 | ||
** 理论课:周一 6-7节 14:00-15:35 逸夫楼334 【1-17周】 | ** 理论课:周一 6-7节 14:00-15:35 逸夫楼334 【1-17周】 | ||
** 实践课:周三 1-2节 8:00-9:35 理工楼243 【单周】 | ** 实践课:周三 1-2节 8:00-9:35 理工楼243 【单周】 | ||
* 课程成绩构成(拟):平时10%(考勤等)、实验成绩30%(实验报告、随堂考试)、期末60%(闭卷) | * 课程成绩构成(拟):平时10%(考勤等)、实验成绩30%(实验报告、随堂考试)、期末60%(闭卷) | ||
| + | |||
== 注意事项 == | == 注意事项 == | ||
* <span style="color: #ff0000;">上机课做学习无关的事情,发现则平时和实验成绩为0 </span> | * <span style="color: #ff0000;">上机课做学习无关的事情,发现则平时和实验成绩为0 </span> | ||
| 第25行: | 第27行: | ||
* 跟阿铭学Linux 李世明 人民邮电出版社 【难度适中,我们只学前半部分】 | * 跟阿铭学Linux 李世明 人民邮电出版社 【难度适中,我们只学前半部分】 | ||
| + | |||
| + | |||
| + | |||
| + | == 板书和笔记 == | ||
| + | |||
| + | === TODO === | ||
| + | |||
| + | <nowiki> | ||
| + | |||
| + | arr+=(3) 【数组增加一个元素】 | ||
| + | |||
| + | b=($(cat a.txt)) 【外面的()必须有,否则 b 就不是一个数组了。而是一个字符串了】 | ||
| + | |||
| + | a=($(echo 'a b')) 【a 是一个数组了】 | ||
| + | |||
| + | read -a arr <<< 'a b c' 【读入数组,arr 会包含三个元素,默认空白符为分隔符】 | ||
| + | |||
| + | IFS=',' read -a arr <<< $x 【默认是空格,IFS 可以改】【不会跨行的】 | ||
| + | |||
| + | IFS='\n' read -a arr < a.txt 【不会跨行的,只会处理第一行??】 | ||
| + | |||
| + | read x y z <<< '1 2 3' 【第三个变量】 | ||
| + | |||
| + | read -a arr < a.txt 【只处理第一行】 | ||
| + | IFS=',' | ||
| + | while read -a arr; do echo ${arr[1]}; done < a.txt 【每一行输出一次】 | ||
| + | |||
| + | while read name; do echo $name; done < a.txt 【read 和重定向的配合】 | ||
| + | |||
| + | while read -d ',' name; do echo $name; done < a.txt 【-d 是 delimiter,默认是换行符,没遇到一个 delimiter,就会返回一个,最后一个元素后面必须有 delimiter】 | ||
| + | a.txt: a,b,c, | ||
| + | |||
| + | |||
| + | awk 中变量直接写,不用取值符,如 print x, y, z | ||
| + | |||
| + | awk 'BEGIN {FS=",";OFS="#"}; {print $1, $2}' a.txt | ||
| + | |||
| + | awk -F',' 'BEGIN {OFS="#"}; {print $1, $2}' a.txt | ||
| + | |||
| + | awk -F'\n\r' '{print NF}' a.txt 【每一行一个记录,每个记录只有一个 field,因此会输出多个 1,一行对应一个】 | ||
| + | |||
| + | |||
| + | sed 's/a/A/g' <<< 'aaa' 字符串的重定向,很有用,应该讲! | ||
| + | |||
| + | a=($(sed 's/,/ /g' <<< 'a,b')) 【a 是数组了】 | ||
| + | |||
| + | |||
| + | </nowiki> | ||
| + | |||
| + | === Lesson 2(2026.9.14;第2周) === | ||
| + | |||
| + | <gallery> | ||
| + | Linux-2026-fall-week2-merged.jpg | ||
| + | </gallery> | ||
| + | |||
| + | |||
| + | * shell基本使用、父shell、子shell | ||
| + | * Shell提示符、ls命令、cd命令 | ||
| + | * 命令语法、命令行参数、python的sys.argv接收参数 | ||
| + | * 所使用到的命令 | ||
| + | 1998 bc | ||
| + | 1999 echo 'hi' | ||
| + | 2000 x=7 | ||
| + | 2001 y='hello world' | ||
| + | 2002 echo $x | ||
| + | 2003 echo $y | ||
| + | 2004 echo $$ | ||
| + | 2005 bash | ||
| + | 2006 /bin空白/echo $$ (替换"空白"为"") | ||
| + | 2007 man echo | ||
| + | 2008 ls | ||
| + | 2009 ls -l | ||
| + | 2010 cd linux/ | ||
| + | 2011 ls | ||
| + | 2012 ls -l | ||
| + | 2013 cd awk/ | ||
| + | 2014 ls | ||
| + | 2015 ls -l | ||
| + | 2016 ls -a | ||
| + | 2017 ls | ||
| + | 2018 s | ||
| + | 2019 ls -a | ||
| + | 2020 cd .. | ||
| + | 2021 find cmd | ||
| + | 2022 find . -name '*.py' | ||
| + | 2023 vi cmdline-arg.py | ||
| + | |||
| + | |||
| + | === Lesson 1(2026.9.7;第1周) === | ||
| + | |||
| + | <gallery> | ||
| + | Linux-2026-fall-week1-merged.jpg | ||
| + | </gallery> | ||
| + | |||
| + | |||
| + | * 课程介绍、个人介绍 | ||
| + | * Linux介绍、安装 | ||
| + | * 运行状态、init | ||
| + | * 图形界面GUI、文字界面CLI | ||
| + | * 系统组成、shell初介绍 | ||
| + | * 所使用到的命令 | ||
| + | 1984 ps afx | egrep gnome | ||
| + | 1985 ps afx | egrep kde | ||
| + | 1986 sudo init 3 | ||
| + | 1988 ps afx | egrep bash | ||
| + | 1989 exit | ||
| + | 1990 man init | ||
| + | 1991 echo $SHELL | ||
| + | 1992 ps afx | egrep bash | ||
| + | 1993 bash | ||
| + | 1994 ps afx | egrep bash | ||
| + | 1995 exit | ||
2026年9月16日 (三) 04:11的最新版本
课程安排
- 老师: 李正华
- 助教:顾天宇
- 计24计科1班,计24计科2班(大三上)
- 专业选修课
- 上课时间和地点
- QQ群:705869759
- 理论课:周一 6-7节 14:00-15:35 逸夫楼334 【1-17周】
- 实践课:周三 1-2节 8:00-9:35 理工楼243 【单周】
- 课程成绩构成(拟):平时10%(考勤等)、实验成绩30%(实验报告、随堂考试)、期末60%(闭卷)
注意事项
- 上机课做学习无关的事情,发现则平时和实验成绩为0
自学资料
参考书
- 有问题,问大模型!
- Unix & Linux大学教程 哈恩(Harley Hahn) (作者), 张杰良 (译者) 【基础内容、讲得比较细;图书馆可以借】
- 跟阿铭学Linux 李世明 人民邮电出版社 【难度适中,我们只学前半部分】
板书和笔记
TODO
arr+=(3) 【数组增加一个元素】
b=($(cat a.txt)) 【外面的()必须有,否则 b 就不是一个数组了。而是一个字符串了】
a=($(echo 'a b')) 【a 是一个数组了】
read -a arr <<< 'a b c' 【读入数组,arr 会包含三个元素,默认空白符为分隔符】
IFS=',' read -a arr <<< $x 【默认是空格,IFS 可以改】【不会跨行的】
IFS='\n' read -a arr < a.txt 【不会跨行的,只会处理第一行??】
read x y z <<< '1 2 3' 【第三个变量】
read -a arr < a.txt 【只处理第一行】
IFS=','
while read -a arr; do echo ${arr[1]}; done < a.txt 【每一行输出一次】
while read name; do echo $name; done < a.txt 【read 和重定向的配合】
while read -d ',' name; do echo $name; done < a.txt 【-d 是 delimiter,默认是换行符,没遇到一个 delimiter,就会返回一个,最后一个元素后面必须有 delimiter】
a.txt: a,b,c,
awk 中变量直接写,不用取值符,如 print x, y, z
awk 'BEGIN {FS=",";OFS="#"}; {print $1, $2}' a.txt
awk -F',' 'BEGIN {OFS="#"}; {print $1, $2}' a.txt
awk -F'\n\r' '{print NF}' a.txt 【每一行一个记录,每个记录只有一个 field,因此会输出多个 1,一行对应一个】
sed 's/a/A/g' <<< 'aaa' 字符串的重定向,很有用,应该讲!
a=($(sed 's/,/ /g' <<< 'a,b')) 【a 是数组了】
Lesson 2(2026.9.14;第2周)
- shell基本使用、父shell、子shell
- Shell提示符、ls命令、cd命令
- 命令语法、命令行参数、python的sys.argv接收参数
- 所使用到的命令
1998 bc 1999 echo 'hi' 2000 x=7 2001 y='hello world' 2002 echo $x 2003 echo $y 2004 echo $$ 2005 bash 2006 /bin空白/echo $$ (替换"空白"为"") 2007 man echo 2008 ls 2009 ls -l 2010 cd linux/ 2011 ls 2012 ls -l 2013 cd awk/ 2014 ls 2015 ls -l 2016 ls -a 2017 ls 2018 s 2019 ls -a 2020 cd .. 2021 find cmd 2022 find . -name '*.py' 2023 vi cmdline-arg.py
Lesson 1(2026.9.7;第1周)
- 课程介绍、个人介绍
- Linux介绍、安装
- 运行状态、init
- 图形界面GUI、文字界面CLI
- 系统组成、shell初介绍
- 所使用到的命令
1984 ps afx | egrep gnome 1985 ps afx | egrep kde 1986 sudo init 3 1988 ps afx | egrep bash 1989 exit 1990 man init 1991 echo $SHELL 1992 ps afx | egrep bash 1993 bash 1994 ps afx | egrep bash 1995 exit