嵌入式系统概论 实验三
- 格式:doc
- 大小:166.50 KB
- 文档页数:14
嵌入式系统实验报告在本学期的嵌入式系统课程中,我与我的实验伙伴进行了多次实验。
在这篇报告中,我将分享我们实验的过程和结果。
实验一:GPIO控制LED灯在这个实验中,我们使用了Raspberry Pi 3B+开发板和一根杜邦线。
我们在电路板上将一盏LED灯与GPIO引脚连接起来,并编写了一个程序来控制这个引脚的电平状态。
在这个实验中,我们学习了GPIO的基本概念以及如何使用Python编程语言编写GPIO控制程序。
我们成功地让LED灯在不同的时间间隔内闪烁,并且了解了如何使用GPIO.setup()和GPIO.output()函数来控制GPIO引脚的输入和输出。
实验二:串口通信在第二个实验中,我们使用了两个Raspberry Pi 3B+开发板和两根串口线。
我们连接了两个板子的GPIO引脚,使得它们可以通过串口进行通信。
我们使用Python编写了两个程序来进行通信。
一个程序将发送一条消息,另一个程序将接收这个消息并将其打印出来。
通过使用串口通信,我们学会了如何使用Python编写程序来完成数据交换,并掌握了串口通信的基本概念。
实验三:Pi camera模块在第三个实验中,我们使用了Pi camera模块和一个Raspberry Pi 3B+开发板。
我们将摄像头连接到开发板上,并编写了一个程序来捕捉摄像头图像。
我们学习了如何使用Python编程语言来控制Pi camera模块,包括如何设置摄像头参数并如何捕捉静态图像。
我们还尝试了使用OpenCV库来处理图像。
实验四:蓝牙控制在最后一个实验中,我们使用了一个蓝牙透传模块、Raspberry Pi 3B+开发板和一些电路元件。
我们将蓝牙透传模块连接到GPIO引脚,并编写了一个程序来通过蓝牙信号控制电机。
在这个实验中,我们学习了如何使用蓝牙模块进行无线控制。
我们通过使用Python编写控制程序,成功地将蓝牙信号转换成GPIO引脚的电平信号来控制电机。
总结在这个嵌入式系统的实验中,我们学习了许多关于嵌入式系统的知识和技能。
嵌入式实验报告总结嵌入式实验报告总结近年来,嵌入式系统在各个领域中得到了广泛的应用。
嵌入式系统是指将计算机系统嵌入到其他设备或系统中,以实现特定功能的一种计算机系统。
在本次嵌入式实验中,我深入学习了嵌入式系统的原理和应用,并通过实际操作,加深了对嵌入式系统的理解。
实验一:嵌入式系统的基本概念和发展历程在本实验中,我们首先了解了嵌入式系统的基本概念和发展历程。
嵌入式系统的特点是紧凑、高效、实时性强,并且适用于各种各样的应用场景。
通过学习嵌入式系统的发展历程,我们了解到嵌入式系统在不同领域的应用,如智能家居、医疗设备、汽车电子等。
这些应用领域的嵌入式系统都有着各自的特点和需求,因此在设计嵌入式系统时需要根据具体应用场景进行优化。
实验二:嵌入式系统的硬件平台与软件开发环境在本实验中,我们学习了嵌入式系统的硬件平台和软件开发环境。
硬件平台是嵌入式系统的基础,包括处理器、内存、外设等。
而软件开发环境则提供了开发嵌入式系统所需的工具和库函数。
我们通过实际操作,搭建了嵌入式系统的硬件平台,并使用软件开发环境进行程序的编写和调试。
通过这个实验,我深刻理解了硬件平台和软件开发环境对嵌入式系统的影响,以及它们之间的协同工作。
实验三:嵌入式系统的实时操作系统在本实验中,我们学习了嵌入式系统的实时操作系统。
实时操作系统是嵌入式系统中非常重要的一部分,它能够保证系统对外界事件的响应速度和可靠性。
我们通过实际操作,学习了实时任务的创建和调度,以及实时操作系统的中断处理机制。
实时操作系统的学习让我更加深入地了解了嵌入式系统的实时性要求和相关的调度算法。
实验四:嵌入式系统的通信与网络在本实验中,我们学习了嵌入式系统的通信与网络。
嵌入式系统通常需要与其他设备或系统进行通信,以实现数据的传输和共享。
我们学习了嵌入式系统的通信协议和网络协议,如UART、SPI、I2C、TCP/IP等。
通过实际操作,我掌握了这些通信和网络协议的使用方法,以及在嵌入式系统中如何进行数据的传输和处理。
嵌入式系统原理实验三跑马灯(共4页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--实验三跑马灯实验实验目的:通过一个经典的跑马灯程序,了解 STM32F1 的 IO 口作为输出使用的方法。
通过代码控制 ALIENTEK 战舰 STM32 开发板上的两个 LED: DS0 和DS1 交替闪烁,实现类似跑马灯的效果内容要点:1.硬件设计本章用到的硬件只有LED(DS0 和DS1)。
其电路在ALIENTEK 战舰STM32F103 开发板上默认是已经连接好了的。
DS0 接PB5,DS1 接PE5。
所以在硬件上不需要动任何东西。
其连接原理图如图:2.软件设计跑马灯实验我们主要用到的固件库文件是:/stm32f10x_usart /其中头文件在每个实验中都要引入,因为系统时钟配置函数以及相关的外设时钟使能函数都在这个其源文件中。
和头文件在我们SYSTEM 文件夹中都需要使用到,所以每个实验都会引用。
首先,找到之前新建的Template 工程,在该文件夹下面新建一个HARDWARE 的文件夹,用来存储以后与硬件相关的代码,然后在HARDWARE 文件夹下新建一个LED 文件夹,用来存放与LED 相关的代码。
新建和文件,一个外设对应一个.h和.c文件。
在Manage Components 管理里面新建一个HARDWARE 的组,并把加入到这个组里面,将头文件的路径加入到工程里面一般的头文件有固定的格式,多个地方调用头文件会重复引用,为了避免头文件内容重复引用,一般通过预编译的方式来写头文件。
一般的格式如下:#ifndef __LED_H#define __LED_H……#endif第一次调用时会将#define下面这一节全部定义,重复调用时,下面的东西就不会被引用。
头文件里一般用来写函数声明或者宏定义,在源文件中再去定义具体的函数。
#ifndef __LED_H#define __LED_Hvoid LED_Init(void);#endif然后我们打开USER 文件夹下的工程(如果是使用的上面新建的工程模板,那么就是Template. uvprojx,大家可以将其重命名为LED. uvprojx),按新建按钮新建一个文件,然后保存在HARDWARE->LED 文件夹下面,保存为。
实验一熟悉Linux开发环境一、实验目的1.熟悉Linux开发环境,学习Linux开发环境的配置和使用,掌握Minicom串口终端的使用。
2.学习使用Vi编辑器设计C程序,学习Makefile文件的编写和armv4l-unkonown-linux-gcc编译器的使用,以及NFS方式的下载调试方法。
3.了解UP-NETARM2410-S嵌入式实验平台的资源布局与使用方法。
4.初步掌握嵌入式Linux开发的基本过程。
二、实验内容本次实验使用Redhat Linux 9.0操作系统环境,安装ARM-Linux的开发库及编译器。
创建一个新目录,并在其中编写hello.c和Makefile文件。
学习在Linux 下的编程和编译过程,以及ARM开发板的使用和开发环境的设置。
下载已经编译好的文件到目标开发板上运行。
三、预备知识C语言的基础知识、程序调试的基础知识和方法,Linux的基本操作。
四、实验设备及工具(包括软件调试工具)硬件:UP-NETARM2410-S嵌入式实验平台、PC机Pentium 500以上, 硬盘10G以上。
软件:PC机操作系统REDHAT LINUX 9.0+MINICOM+ARM-LINUX开发环境五、实验步骤1、建立工作目录[root@zxt smile]# mkdir hello[root@zxt smile]# cd hello2、编写程序源代码在Linux下的文本编辑器有许多,常用的是vim和Xwindow界面下的gedit等,我们在开发过程中推荐使用vim,用户需要学习vim的操作方法,请参考相关书籍中的关于vim的操作指南。
Kdevelope、anjuta软件的界面与vc6.0 类似,使用它们对于熟悉windows环境下开发的用户更容易上手。
实际的hello.c源代码较简单,如下:#include <stdio.h>main(){printf(“hello world \n”);}我们可以是用下面的命令来编写hello.c的源代码,进入hello目录使用vi命令来编辑代码:[root@zxt hello]# vi hello.c按“i”或者“a”进入编辑模式,将上面的代码录入进去,完成后按Esc键进入命令状态,再用命令“:wq”保存并退出。
《嵌入式系统导论》实验指导书安阳工学院计算机科学与信息工程系飞思卡尔MCU实验中心编写目录前言 (2)一认识DG128开发开发环境 (3)1.HCS12实验系统概述 (3)1.1HCS12系列微控制器与DP256/DG128 (3)1.2实验系统组成 (5)1.3HCS12实验系统使用方法与步骤概述 (5)2.HCS12实验系统硬件说明 (7)2.1开发子板 (7)2.2BDM调试器与BDM电缆 (7)2.3I/O母板 (8)2.4其它 (9)3.编译工具说明 (10)3.1概述 (10)3.2CODEWARRIOR使用方法 (10)4.BDM调试器使用方法 (15)4.1BDM调试器基本工作原理 (15)4.2BDM调试命令及使用方法 (15)二实验项目 (19)实验1 熟悉实验用软件开发平台——CODEWARRIOR (19)实验2 用超级终端和监控程序通讯调试程序 (19)实验3 键盘编程实验 (26)实验4 SCI串行口实验 (29)实验5 C程序的建造与调试 (33)实验6 用TIMER实现精密定时 (34)实验7 A/D转换实验 (39)实验8 动态LED数码管显示 (44)前言该实验指导书是为安阳工学院计算机科学与信息工程系《计算机科学与技术》本科专业嵌入式专业方向开设的《嵌入式系统导论》课程而撰写的配套实验指导书。
《嵌入式系统导论》是一门专业方向必修课,该课程的主要教学目的是教会学生设计嵌入式小系统的能力。
其中包括汇编语言程序的设计能力以及简单的嵌入式系统硬件设计能力。
设计能力属于工程技术能力,它要求学生在拥有扎实的基础理论和专业知识基础上,进一步形成设计能力,要求学生会分析问题,能解决问题。
这种能力的培养除了要求上理论课以外,还要要求学生参加一定量的工程实践训练。
工科学生的实验课,尤其是设计性的实验课,它是标准化的和模块化的工程实践训练环节。
本门课程的实验在整个课程中的地位十分重要,它一方面可以使学生深入理解和把握专业理论知识,另一方面使学生学会运用理论来解决实际中遇到的问题。
实验三跑马灯实验实验目的:通过一个经典的跑马灯程序,了解STM32F1 的IO 口作为输出使用的方法。
通过代码控制ALIENTEK 战舰STM32 开发板上的两个LED:DS0 和DS1 交替闪烁,实现类似跑马灯的效果内容要点:1.硬件设计本章用到的硬件只有LED(DS0 和DS1)。
其电路在ALIENTEK 战舰STM32F103开发板上默认是已经连接好了的。
DS0 接PB5,DS1 接PE5。
所以在硬件上不需要动任何东西。
其连接原理图如图:2.软件设计跑马灯实验我们主要用到的固件库文件是:stm32f10x_gpio.c /stm32f10x_gpio.hstm32f10x_rcc.c/stm32f10x_rcc.hmisc.c/ misc.hstm32f10x_usart /stm32f10x_usart.h其中stm32f10x_rcc.h 头文件在每个实验中都要引入,因为系统时钟配置函数以及相关的外设时钟使能函数都在这个其源文件stm32f10x_rcc.c 中。
stm32f10x_usart.h 和misc.h 头文件在我们SYSTEM 文件夹中都需要使用到,所以每个实验都会引用。
首先,找到之前新建的Template 工程,在该文件夹下面新建一个HARDWARE的文件夹,用来存储以后与硬件相关的代码,然后在HARDWARE 文件夹下新建一个LED 文件夹,用来存放与LED 相关的代码。
新建led.h和led.c文件,一个外设对应一个.h和.c文件。
在Manage Components 管理里面新建一个HARDWARE 的组,并把led.c 加入到这个组里面,将led.h 头文件的路径加入到工程里面一般的头文件有固定的格式,多个地方调用头文件会重复引用,为了避免头文件内容重复引用,一般通过预编译的方式来写头文件。
一般的格式如下:#ifndef __LED_H#define __LED_H……#endif第一次调用时会将#define下面这一节全部定义,重复调用时,下面的东西就不会被引用。
《嵌入式系统》课程实验报告学生姓名:所在班级:指导教师:记分及评价:一、实验名称按键中断实验二、实验目的通过实验掌握S3C2410X的中断控制寄存器的使用;通过实验掌握S3C2410X处理器的中断响应过程;通过实验掌握ARM处理器的中断方式和中断处理过程;通过实验掌握ARM处理器中断处理的软件编程方法。
三、实验内容编写程序,当用户在实验箱按下KEY1键或KEY2键时在中断服务子程序中将相关信息打印到串口中,显示在超级终端上。
四、实验原理在本实验平台的主板上设计了两个外部按键,电路原理图如下:EXINT0和EXINT1信号作为CPLD芯片的输入信号。
CPLD内部逻辑图:五、实验结果超级终端上显示以下信息:按下KEY1键或KEY2键,超级终端上显示以下信息。
六、练习题编写程序实现:按下KEY1或KEY2后点亮实验系统的LEDs一段时间后熄灭。
任务:按下KEY1键后LED1点亮一段时间后熄灭;按下KEY2键后点亮LED2一段时间后熄灭。
#define rCPLDIntControl (*(volatile unsigned char*)0x22600000)#define rCPLDIntStatus (*(volatile unsigned char*)0x22200000)#define rCPLDLEDADDR (*(volatile unsigned char*)0x21180000)void __irq int_int(void){unsigned char Status;int i;Status = rCPLDIntStatus;Status = ~(Status & 0x6);if(Status & 0x2){uart_printf(" Eint0 interrupt occurred.\n");rCPLDLEDADDR = (rCPLDLEDADDR | 0xFF )& 0xFE;for(i = 0; i < 100000; i++);rCPLDLEDADDR = rCPLDLEDADDR | 0xFF ;}else if(Status & 0x4){uart_printf(" EINT1 interrupt occurred.\n");rCPLDLEDADDR =(rCPLDLEDADDR | 0xFF) & 0xFD;for(i = 0; i < 100000; i++);rCPLDLEDADDR = rCPLDLEDADDR | 0xFF ;}rEINTPEND=(1<<9);ClearPending(BIT_EINT8_23);}。
实验报告2013至2014学年第1学期课程名称:嵌入式系统概论院别:数学与计算机学院班级:学号:姓名:指导教师:海深实验一ADS1.2 开发环境一、实验目的熟悉ADS1.2 开发环境,学会ARM 仿真器的使用。
使用ADS 编译、下载、调试并跟踪一段已有的程序,了解嵌入式开发的基本思想和过程。
二、实验内容本次实验使用ADS 集成开发环境。
新建一个简单的工程文件,并编译这个工程文件。
学习ARM 仿真器的使用和开发环境的设置。
下载已经编译好的文件到嵌入式控制器中运行。
学会在程序中设置断点,观察系统内存和变量,为调试应用程序打下基础。
三、预备知识C 语言的基础知识、程序调试的基础知识和方法。
四、实验设备及工具(包括软件调试工具)硬件:ARM 嵌入式开发平台、PC 机Pentium100 以上、用于ARM920T 的JTAG 仿真器、串口线。
软件:PC 机操作系统Win2000 或WinXP、ARM ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序。
五、实验步骤1、建立工程(1)运行ADS1.2 集成开发环境(CodeWarrior for ARM Developer Suite)。
选择File|New…菜单,在对话框中选择Project,如图1B-1 所示,新建一个工程文件。
图中示例的工程名为Exp6.mcp。
点set…按钮可为该工程选择路径如图2-1 所示,选中CreatFolder 选项后将以图2-1 中的ProjectName 或图2-2 中的文件名为名创建目录,这样可以将所有与该工程相关的文件放到该工程目录下,便于管理工程。
在图2-1 中工程模板列表中的2410 ARM Executable Image 是专为本嵌入式开发板设置的工程模板,后文有具体说明。
在此也可选择ARM Executable Image 通用模板。
图2-1 新建工程图2-2 保存工程(2)在新建的工程中,如图2-3 所示,选择Debug 版本,使用Edit | Debug Settings菜单对Debug 版本进行参数设置。
北航ARM9嵌⼊式系统实验实验三uCOS-II实验实验三 uCOS-II实验⼀、实验⽬的在内核移植了uCOS-II 的处理器上创建任务。
⼆、实验内容1)运⾏实验⼗,在超级终端上观察四个任务的切换。
2)任务1~3,每个控制“红”、“绿”、“蓝”⼀种颜⾊的显⽰,适当增加OSTimeDly()的时间,且优先级⾼的任务延时时间加长,以便看清三种颜⾊。
3)引⼊⼀个全局变量BOOLEAN ac_key,解决完整刷屏问题。
4)任务4管理键盘和超级终端,当键盘有输⼊时在超级终端上显⽰相应的字符。
三、预备知识1)掌握在EWARM 集成开发环境中编写和调试程序的基本过程。
2)了解ARM920T 处理器的结构。
3)了解uCOS-II 系统结构。
四、实验设备及⼯具1)2410s教学实验箱2)ARM ADS1.2集成开发环境3)⽤于ARM920T的JTAG仿真器4)串⼝连接线五、实验原理及说明所谓移植,指的是⼀个操作系统可以在某个微处理器或者微控制器上运⾏。
虽然uCOS-II的⼤部分源代码是⽤C语⾔写成的,仍需要⽤C语⾔和汇编语⾔完成⼀些与处理器相关的代码。
⽐如:uCOS-II在读写处理器、寄存器时只能通过汇编语⾔来实现。
因为uCOS-II 在设计的时候就已经充分考虑了可移植性,所以,uCOS-II的移植还是⽐较容易的。
要使uCOS-II可以正常⼯作,处理器必须满⾜以下要求:(1)处理器的C编译器能产⽣可重⼊代码可重⼊的代码指的是⼀段代码(如⼀个函数)可以被多个任务同时调⽤,⽽不必担⼼会破坏数据。
也就是说,可重⼊型函数在任何时候都可以被中断执⾏,过⼀段时间以后⼜可以继续运⾏,⽽不会因为在函数中断的时候被其他的任务重新调⽤,影响函数中的数据。
(2)在程序中可以打开或者关闭中断在uCOS-II中,可以通过OS_ENTER_CRITICAL()或者OS_EXIT_CRITICAL()宏来控制系统关闭或者打开中断。
这需要处理器的⽀持,在ARM920T的处理器上,可以设置相应的寄存器来关闭或者打开系统的所有中断。
实验三:文件、目录及其操作命令1实验目的通过实验掌握如Linux操作系统的基本操作2实验设备硬件:PC机一台软件:Windows98/XP/2000系统,VMware Workstation6.0,Red Hat Linux3实验内容(1)文件的复制、删除和移动命令:cp, rm, mv(2)Linux文件与目录(3)目录命令:mkdir, rmdir, cd, pwd, ls(4)文件与目录的权限4实验预习要求仔细阅读参考书:【1】鸟哥的Linux私房菜基础学习篇第三版,人民邮电出版社,鸟哥【2】嵌入式Linux系统开发标准教程,人民邮电出版社,华清远见嵌入式培训中心【3】嵌入式Linux应用程序开发标准教程,人民邮电出版社,华清远见嵌入式培训中心关于Linux文件与目录的部分。
5实验步骤(1)熟悉Red Hat Enterprise Linux系统。
(2)根据实验重点内容测试。
6实验重点:(1)文件的复制、删除与移动:cp, rm, mv要复制文件,请使用cp (copy) 这个命令即可。
不过,cp 这个命令的用途不仅仅于此。
除了单纯的复制之外,还可以建立连结文件(就是快捷方式),比对两文件的新旧而予以更新,以及复制整个目录等等的功能。
至于移动目录与文件,则使用mv (move),这个命令也可以直接拿来作重命名(rename) 的操作!至于(移除)删除文件,使用rm (remove) 这个命令。
cp (复制文件或目录)[root@localhost ~]# cp [-adfilprsu] 源文件(source) 目标文件(destination)[root@localhost ~]# cp [options] source1 source2 source3 .... directory选项与参数:-a:相当于-pdr 的意思,至于pdr 请参考下列说明;(常用)-d:若源文件为链接文件的属性(link file),则复制链接文件属性而非文件本身;-f :为强制(force)的意思,若目标文件已经存在则无法开启,则移除后再尝试一次;-i :若目标文件(destination)已经存在时,在覆盖时会先询问操作的进行(常用)-l :进行硬式连结(hard link)的连结文件建立,而非复制文件本身;-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);-r :递归持续复制,用于目录的复制行为;(常用)-s :复制成为符号链接文件(symbolic link),亦即快捷方式文件;-u :若destination 比source 旧,才更新destination !最后需要注意的,如果源文件有两个以上,则最后一个目标文件一定要是目录才行!范例一:用root身份,将主目录下的.bashrc 复制到/temp 下,并更名为bashrc (~代表目前用户身份所在的主文件夹)[root@localhost ~]# cp ~/.bashrc /temp/bashrc[root@localhost ~]# cp -i ~/.bashrc /temp/bashrccp: overwrite `/temp/bashrc'? n <==n不覆盖,y为覆盖说明:重复作两次操作,由于/temp 下已经存在bashrc 了,加上-i 选项后,则在覆盖前会询问使用者是否确定!可以按下n 或者y 来二次确认。
范例二:将主目录下的.bashrc和.bash_history 复制到/temp下。
[root@localhost ~]cp ~/.bashrc ~/.bash_history /temp可以将多个数据一次复制到同一目录中去,最后面一定是目录。
范例三:复制/etc/ 这个目录下的所有内容到/tmp 下[root@www tmp]# cp /etc/ /tmpcp: omitting directory `/etc' <== 如果是目录则不能直接复制,要加上-r 的选项[root@www tmp]# cp -r /etc/ /tmp-r 是可以复制目录,但是,文件与目录的权限可能会被改变。
所以,也可以利用cp –a /etc /tmp 来下执行!尤其是在备份的情况下!rm (移除文件或目录)[root@localhost ~]# rm [-fir] 文件或目录选项与参数:-f :就是force 的意思,忽略不存在的文件,不会出现警告信息;-i :互动模式,在删除前会询问使用者是否操作-r :递归删除!最常用在目录的删除了!这是非常危险的选项!!!范例一:将刚刚在cp 的范例中建立的bashrc 删除掉![root@localhost ~]# cd /temp[root@localhost tmp]# rm -i bashrcrm: remove regular file `bashrc'? y如果加上-i 的选项就会主动询问,避免删除到错误的文件!范例二:通过通配符*的帮助,将/temp下开头为bashrc的文件名通通删除:[root@localhost tmp]# rm -i bashrc*注意星号,代表的是0 到无穷多个任意字符!范例三:将cp 范例中所建立的/temp/etc/ 这个目录删除掉![root@localhost tmp]# rmdir /temp/etcrmdir: etc: Directory not empty <== 删不掉!因为这不是空的目录![root@localhost tmp]# rm -r /temp/etcrm: descend into directory `/temp/etc'? y ....(中间省略)....因为身份是root ,预先已经加入了-i 的选项,所以要一直按y 才会删除!如果不想要继续按y ,可以按下[ctrl]-c 来结束rm 的工作。
这是一种保护的操作,如果确定要删除掉此目录而不要询问,可以这样做:[root@localhost tmp]# \rm -r /temp/etc在命令前加上反斜杠,可以忽略掉alias 的指定的参数!对于删除命令(remove),要注意的是,通常在Linux系统下,为了怕文件被误删除,所以很多distributions 都已经默认加入-i 这个选项!而如果要连目录下的东西都一起删掉的话,例如子目录里面还有子目录时,那就要使用-r 这个选项了!不过,使用rm -r 这个命令之前,请千万注意,因为该目录或文件肯定会被root 删掉!因为系统不会再次询问你是否要删掉!所以那是个超级严重的命令!mv (移动文件与目录,或更名)[root@localhost ~]# mv [-fiu] source destination[root@localhost ~]# mv [options] source1 source2 source3 .... directory选项与参数:-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;-i :若目标文件(destination) 已经存在时,就会询问是否覆盖!-u :若目标文件已经存在,且source 比较新,才会更新(update)范例一:复制一文件,建立一目录,将文件移动到目录中[root@localhost ~]# cd /temp[root@localhost tmp]# cp ~/.bashrc bashrc[root@localhost tmp]# mkdir mvtest[root@localhost tmp]# mv bashrc mvtest将某个文件移动到某个目录去,就是这样做!范例二:将刚刚的目录名称更名为mvtest2[root@localhost tmp]# mv mvtest mvtest2 <== 这样就更名了!范例三:再建立两个文件,再全部移动到/temp/mvtest2 当中[root@localhost tmp]# cp ~/.bashrc bashrc1[root@localhost tmp]# cp ~/.bashrc bashrc2[root@localhost tmp]# mv bashrc1 bashrc2 mvtest2注意,如果有多个来源文件或目录,则最后一个目标文件一定是目录!这里将所有的数据移动到该目录!(2)Linux文件与目录在Linux系统中,所有的系统账号的相关信息,都是记录在/etc/passwd这个文件内。
个人的密码则是记录在/etc/shadow这个文件下。
此外,Linux所有的群组名称都纪录在/etc/group 内!这三个文件是Linux系统里面账号、密码、群组信息的集中地不能随便删除这三个文件。
Linux 文件权限概念文件的权限针对“使用者”与“群组”来设定。
尤其是当屏幕前面出现了“Permission deny”的时候,肯定是权限设定错误。
Linux文件的属性在以root的身份登入Linux之后,执行ls -al第一栏代表这个文件的类型与权限(permission):这一栏其实共有十个字符:第一个字符代表这个文件是“目录、文件或连结文件”:当为[ d ]则是目录,例如上表文件名为”.gconf”的那一行;当为[ - ]则是普通文件,例如上表文件名为”install.log”那一行;若是[ l ]则表示为连结文件(link file);若是[ b ]则表示为设备文件里面的可供储存的接口设备(可随机存取装置);若是[ c ]则表示为设备文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
接下来的字符中,以三个为一组,且均为“rwx”的三个参数的组合。
其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。
要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]。
第一组为“文件拥有者的权限”,第二组为“同群组的权限”;第三组为“其它非本群组的权限”。
例题:若有一个文件的类型与权限数据为”-rwxr-xr--”,请说明其意义为何?答:先将整个类型与权限数据分开查阅,并将十个字符整理成为如下所示:[-] [rwx] [r-x] [r--]1 234 567 8901 为:代表这个文件名为目录或文件,本例中为文件(-);234为:拥有者的权限,本例中为可读、可写、可执行(rwx);567为:同群组使用者权限,本例中为可读可执行(rx);890为:其它使用者权限,本例中为可读(r)第二栏表示有多少文件名连结到此节点(i-node):每个文件都会将他的权限与属性记录到文件系统的i-node中,目录树是使用文件名来记录,因此每个文件名就会连结到一个i-node。