学习内容:linux基础知识
嵌入式系统:
以应用为中心,以计算机技术为基础,且软硬件可裁剪的专用计算机系统。
使用于 体积小、低功耗、高性能、高稳定性。
unix:macos、FreeBSD、
linux:Centos、Ubuntu、
1、打开终端:
Ctrl+alt+t :打开一个新的终端
Ctrl+shift+t:打开一个标签页(已存在一个终端)
Ctrl+shift+n:打开一个新的终端(与已存在的终端同路径)
界面切换:
alt+tab
2、命令提示符:
farsight@ubuntu:~$:
用户名@计算机名:工作路径$
$:普通用户
#:管理员用户(超级用户) root
3、linux基础命令:
命令的语法规则:
commond [-option] [arg1 arg2 ....]
注意:
1、命令和选项,选项和参数,命令和参数之间必须要 空格;
2、选项或参数 可有可无,此时使用命令的默认功能
3、多条命令之间以 分号隔开
***************** 用户、系统相关 *****************
su 用户名: 切换到某个用户,默认切换到 管理员用户
sudo : 临时管理员权限
exit : 退出当前用户
shutdown : 关机 + now:即可关机
reboot : 重启
***************** 导航相关 *****************
路径:
相对路径:相对于当前位置来说的路径,例:. 当前路径 .. 上一级路径 ~用户主目录路径
其中某些情况下,./可以省略不写
绝对路径:从跟目录(/) 开始的完整路径
ls 路径/文件名 : 显示某个路径下的文件,默认显示当前路劲下的所有文件
cd 路径 : 切换目录
***************** 目录文件相关 *****************
mkdir 目录名 : 创建空目录
rmdir 目录名 : 删除空目录
rm -r 目录名 : 递归删除非空目录
touch 文件名 : 创建空文件
rm 文件名 : 删除文件
cp 路径1/文件 路径2 :将路径1中的文件,复制到路径2中
cp 路径1/文件 路径2/文件2 :将路径1中的文件,复制到路径2中,重命名为文件2
mv :移动剪切(与cp用法一样)
cat 文件名 :显示某个文件的内容
***************** linux通配符 *****************
1、* :匹配任意长度的字符串,代表所有
2、{m..n}:匹配 从m到 n的所有 数据
3、[m-n]:匹配 从m到 n的所有 数据
练习:
1、在当前路径,创建 day1 目录
farsight@ubuntu:~$ mkdir day1
2、在当前路径,创建day1中的 file1~10.c 1~10.txt 文件
farsight@ubuntu:~$ touch day1/file{1..10}.c day1/{1..10}.txt
3、查看day1中的所有文件
farsight@ubuntu:~$ ls day1
4、切换到day1目录
farsight@ubuntu:~$ cd day1
5、将用户主目录中的 examples.desktop 文件 拷贝到当前目录
farsight@ubuntu:~day1$ cp ../examples.desktop .
farsight@ubuntu:~day1$ cp ~/examples.desktop .
farsight@ubuntu:~day1$ cp /home/farsight/examples.desktop .
6、删除 file2~8.c
farsight@ubuntu:~day1$ rm file{2..8}.c rm file[2-8].c
7、删除所有的 txt 文件
farsight@ubuntu:~day1$ rm *.txt
4、linux文本编辑器
字符界面:vi、vim
图形界面:gedit
1、打开或者新建文件
1、后台运行方式:终端还能使用
gedit 文件名.c &
2、前台运行方式:终端已经被 gedit 占用,无法使用
gedit 文件名.c
5、ubuntu 编译器:
1、编译c语言代码文件,生成可执行程序
gcc *.c --> a.out
gcc *.c -o app --> app
2、执行程序:
./a.out
./app
练习:
1、定义一个字符数组,从键盘输入数据,计算出 键盘输入的字符的个数。
2、定义两个字符数组
char s1[32] = "hello world";
char s2[32];
编写程序,打印 s2的结果为 "hello world"。
3、定义初始化两个字符数组
char s1[32] = "welcome to ";
char s2[32] = "sanxia";
编写程序,打印s1的结果为 "welcome to sanxia"。
4、定义字符数组:
char s1[32] = {0};
int t = 23, l = 1234, h = 25;
编写程序,打印s1 的结果为 "t:23,l:1234,h:25"。
printf("t:%d,l:%d,h:%d", t, l, h);
sprintf();
5、定义初始化数组:
char s1[32] = "t:23,l:1234,h:25";
int t, l, h;
编写程序,打印 t, l, h 的结果,分别为 23、 1234、 25
scanf("t:%d,l:%d,h:%d", &t, &l, &h);
sscanf();
学习时间:
- 5.29:周六下午 2 点 20-下午 6 点
- 周六晚上 7 点 - 9 点 30