嵌入式学习第一篇——linux基础

发布时间:2024年01月17日

1.VMWare Workstation: 在当前操作系统中虚拟一个新的操作系统


2.教学环境镜像文件: Linux系统(Ubuntu)镜像文件
? ? UbuntuRedhatDebianCentOSFreeBSD Linux操作系统(以Linux为内核的操作系统)


3.Ubuntu常见操作:
? ? 1.挂起:让操作系统暂停
? ? 2.关闭: 先挂起,再关闭虚拟机
? ? 3.重启:Ubuntu系统中点击"Power Off",再将虚拟机关闭,再重新启动虚拟机和Ubuntu系统
? ? 4.全屏: ctrl + alt + 回车
? ? 5.窗口: 设置窗口大小,选择"查看" -> "立即适应客户机"
? ? 6.打开终端:ctrl + alt + t
? ? ? ? ? ? ? ? ? ? ? ? ?ctrl + shift + t
? ? 7.终端字体调整:
? ? ? ? ? ? ? ? ? ? ? ? ?ctrl + shift + '+'
? ? ? ? ? ? ? ? ? ? ? ? ?ctrl + '-'


4. linux@linux-virtual-machine:~$?
? ? linux:当前登录的用户
? ? linux-virtual-machine:当前主机名
? ? ~:当前所在的目录

? ? 用户:
? ? ? ? 两类:
? ? ? ? ? ? 1.普通用户:权限会受限制
? ? ? ? ? ? ? ? 可以有多个,也可以一个没有,名字没有限制
? ? ? ? ? ? 2.超级用户:权限不受限制
? ? ? ? ? ? ? ? 有且只有一个,名字为 root?


5. Linux基本命令:
? ? 1. ls?
? ? ? ?查看当前目录下所有文件

? ? ? ?蓝色:目录文件(存放文件)
? ? ? ?白色:普通文件(存放内容)

? ? ? ? ls -a?
? ? ? ? 查看当前目录下所有文件(包括隐藏文件)

? ? ? ? 隐藏文件:文件名以.开头为隐藏文件

? ? ? ? . ?:当前文件夹
? ? ? ? .. :当前目录的上一级目录

? ? ? ? ls -l?
? ? ? ? 查看当前目录下文件的详细信息

? ? ? ? drwxr-xr-x:
? ? ? ? 文件类型:
? ? ? ? ? ? b :块设备文件 ? ? ? ? ?驱动
? ? ? ? ? ? c :字符设备文件 ? ? ? ?驱动
? ? ? ? ? ? d :目录文件
? ? ? ? ? ? - :普通文件
? ? ? ? ? ? l :链接文件
? ? ? ? ? ? s :套接字文件 ? ? ? ? ?网络
? ? ? ? ? ? p :管道文件 ? ? ? ? ? ?进程

? ? ? ? rwx:
? ? ? ? ? ? r:拥有读权限
? ? ? ? ? ? w:拥有写权限
? ? ? ? ? ? x:拥有执行权限

? ? ? ? 第一组rwx: 创建文件的用户对文件是否拥有读写执行权限
? ? ? ? 第二组rwx: 创建文件的用户同组用户对文件是否拥有读写执行权限
? ? ? ? 第三组rwx: 其余人对文件是否拥有读写执行权限


? ? 2. mkdir?
? ? ? ? 在当前目录下创建一个新的目录文件

? ? ? ? 示例:
? ? ? ? ? ? mkdir dir

? ? ? ? 文件名字:
? ? ? ? ? ? 1.由数字、字母、下划线构成
? ? ? ? ? ? 2.文件名不要加空格
? ? ? ? ? ? 3.Linux不根据后缀名区分文件类型,但最好加上后缀保证移植性?
? ? ? ? ? ? 4.文件名区分大小写


? ? 3. rmdir?
? ? ? ?删除指定的目录文件(空的)

? ? ? ?示例:
? ? ? ? ? ? rmdir dir?


? ? 4. touch?
? ? ? ?创建普通文件

? ? ? ?示例:
? ? ? ? ? ? touch filename.c?


? ? 5. rm?
? ? ? ?删除普通文件
? ? ? ?删除目录文件加 -rf选项?

? ? ? ? 示例:
? ? ? ? ? ? rm filename.c?
? ? ? ? ? ? rm -rf dirname?


6. Linux系统目录结构:
? ? 最顶层目录:?
? ? ? ? 根目录 ?/
? ? ? ? 根目录下存放系统相关的文件
? ? ? ? ? ? bin 存放二进制文件
? ? ? ? ? ? etc 存放配置文件
? ? ? ? ? ? lib 库文件
? ? ? ? ? ? root 超级用户的家目录
? ? ? ? ? ? var 存放日志文件
? ? ? ? ? ? boot 存放启动代码
? ? ? ? ? ? dev 存放设备文件
? ? ? ? ? ? home 存放普通用户家目录的目录
? ? ? ? ? ? mnt 存放挂载文件
? ? ? ? ? ? proc 存放进程相关信息的目录

? ? ? ? 家目录 ?~ (当前登录用户的家目录)
? ? ? ? 每个用户均有一个属于自己的家目录

? ? ? ? 超级用户: root -> /root?
? ? ? ? 普通用户: linux -> /home/linux?
? ? ? ? ? ? ? ? ?zhangsan -> /home/zhangsan


? ? 1. cd?
? ? ? ? 进入某个目录

? ? ? ?示例:
? ? ? ? cd .. ? ? ? 进入当前目录的上一级目录
? ? ? ? cd / ? ? ? ?进入根目录
? ? ? ? cd ~ ? ? ? ?进入当前登录用户的家目录

? ? ? ? 绝对路径
? ? ? ? ? ? 当前所在目录不同,登录用户不同,相同路径不会产生不同含义
? ? ? ? ? ? /home/linux/Desktop?
? ? ? ? 相对路径
? ? ? ? ? ? 当前所在目录不同,登录用户不同,相同路径产生不同含义

? ? ? ? ? ? cd dirname?
? ? ? ? ? ? cd ./dirname
? ? ? ? ? ? cd ../dirname?
? ? ? ? ? ? cd ~/dirname?


? ? 2. pwd?
? ? ? ?查看当前所在目录的绝对路径


? ? 练习:
? ? ? ? 利用前面所学的命令实现:
? ? ? ? ? ? 1.在桌面下创建3个文件夹test1 test2 test3?
? ? ? ? ? ? 2.并在test1目录下创建filename1.txt?
? ? ? ? ? ? 3.并在test2目录下创建filename2.txt?
? ? ? ? ? ? 4.并在test3目录下创建filename3.txt?

? ?答案:

? ? ? ? cd ~/Desktop?
? ? ? ? mkdir test1 test2 test3?
? ? ? ? touch test1/filename1.txt test2/filename2.txt test3/filename3.txt?


? ? 3.cp?
? ? ? ? 拷贝文件或者目录

? ? ? ? 拷贝普通文件:
? ? ? ? ? ? cp 源文件路径 目的路径
? ? ? ? 拷贝目录文件:
? ? ? ? ? ? cp 源目录路径 目的路径 -rf?

? ? ? ? 示例:
? ? ? ? ? ? cp filename dir?
? ? ? ? ? ? cp dir1 dir2 -rf?


? ? 4.mv?
? ? ? ? 移动文件或者目录
? ? ? ? 也可以用来修改文件名

? ? ? ? mv 源文件路径 目的路径
? ? ? ? mv 旧文件名 新文件名

? ? ? ? 示例:
? ? ? ? ? ? mv srcfilename dstdir?


7. C语言开发流程:?
? ? GNU C ?vim gcc?
? ? LAMP:?
? ? ? ? Linux?
? ? ? ? Apache?
? ? ? ? MySql?
? ? ? ? Python?

? ? GNU's Not Unix?


? ? 1.vim编辑器
? ? ? ? 1.使用vim打开一个文件
? ? ? ? ? ? vim filename.c?
? ? ? ? 2.点击i键、a键或者o键进入插入模式
? ? ? ? ? ? 点击i
? ? ? ? 3.编写程序
? ? ? ? 4.点击ESC退回到底行模式
? ? ? ? 5.输入:wq ? 保存并且退出
? ? ? ? ? ? ? ? ? :w ?只保存不退出
? ? ? ? ? ? ? ? ? :q ?只退出不保存
? ? ? ? ? ? ? ? ? :q! 不保存强制退出


? ? 2.gcc编译器
? ? ? ? 1.编译filename.c文件
? ? ? ? ? gcc filename.c?
? ? ? ? ? ? 编译代码filename.c默认生成a.out

? ? ? ? ? gcc filename.c -o filename?
? ? ? ? ? ? 编写代码filename.c指定生成文件filename?

? ? ? ? 2.执行程序
? ? ? ? ? ? ./a.out?

? ? ? ? 3.编译程序时可能会遇到语法错误:
? ? ? ? ? ? error: 语法错误,无法生成可执行程序
? ? ? ? ? ? warnning: 告警,可以生成可执行程序,但执行可能会出错

? ? ? ? 4.逻辑错误



作业:
? ? 1.在~/Desktop目录下创建三个文件夹test1 test2 test3?
? ? 2.在test1下创建filename1.txt?
? ? ? 在test2下创建filename2.txt?
? ? ? 在test3下创建filename3.txt?
? ? 3.将test1目录下的filename1.txt拷贝到test2目录下
? ? 4.将test2目录下的filename2.txt移动到test3目录下
? ? 5.将test3拷贝到test1目录下
? ? 6.将test1目录修改文件名为filename?
? ? 7.最后将filename文件夹删除

? ? 2.编写一个C语言程序利用printf打印如下图形
? ? ? ? ?*
? ? ? ? ***
? ? ? ?*****
? ? ? ? ***
? ? ? ? ?*?

文章来源:https://blog.csdn.net/qq_32710641/article/details/135608608
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。