第一天之嵌入式linux实验指导书第二天Word文档下载推荐.docx
《第一天之嵌入式linux实验指导书第二天Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《第一天之嵌入式linux实验指导书第二天Word文档下载推荐.docx(37页珍藏版)》请在冰豆网上搜索。
15
练习3:
16
练习4:
21
实验二VI文本编辑器的使用24
1、练习使用VI指令24
2、利用VI编写一个hello.c文件24
3、利用GCC编译hello.c文件。
并执行。
26
实验一linux常用指令练习
[实验目的]
1.掌握linux常用指令;
2.熟练使用linux常用的指令;
[实验仪器]
PC机1台
linux软件环境1套
[知识回顾]
1、在线帮助指令
如果想要知道哪个指令的格式参数是什么意思,请同学们使用联机帮助man命令。
命令格式:
man[选项]命令名
参数说明:
-S<
section>
指定man命令的章节列表
-a显示所有man的帮助页
-f只显示命令的功能而不显示详细的手册内容
-w只显示帮助文件的位置
man命令为了方便用户查看帮助手册,设置了如下的功能键
空格键显示手册页的下一屏
Enter键一次滚动手册页的一行
b回滚一屏
f前滚一屏
q退出man命令
h列出所有功能键
1)、reboot命令
reboot命令可以用于重新启动Linux系统。
reboot[选项]
-d系统重启前,不回写缓冲区/var/log/wtmp
-f强制重启系统
-i关闭系统之前,先断开网络设备
-w回写缓冲区,而不重启系统
2)、init6命令
命令init0也可以实现重启系统,因为在inittab文件中,定义了运行级别6为重启。
注意:
此命令必须是超级用户才能使用。
即root身份登录的用户。
1)、halt命令
默认的halt命令可以结束Linux当前所有正在运行的程序,停止所有设备,系统进入等待用户切断电源的状态。
在Linux系统中绝对禁止在没有进行关机程序而直接切断主机电源。
命令格式为:
halt[选项]
-d关闭系统前,不回写缓冲区/var/log/wtmp
-f强制关闭系统
-h停止所有设备,等待用户关闭系统,默认选项
-i关闭系统之前,先断开网络设备
-n在关机前不做将内存资料写回硬盘
-p关闭系统,同时断开主机电源
-w回写缓冲区,而不关闭系统
2)、poweroff命令
默认情况下,该命令用于回写缓冲区,并关闭系统,同时断开主机电源。
命令格式如下:
poweroff[选项]
3)、init0命令
命令init0也可以实现关闭系统,同时断开主机电源,因为在inittab文件中,定义了运行级别0为停机。
4)、shutdown命令
该命令的功能强于上面给出的halt等命令,它可以实现系统注销,关机和重新启动。
shutdown[选项]
-t<
secs>
设定在几秒钟之后进行关机程序
-k<
msg>
并不真正关机,只是将警告讯息传送给所有用户
-h关闭系统,断开主机电源
-c取消目前已经进行中的关机动作
-f关机时不进行fcsk文件系统检查
在虚拟控制台下,可以通过exit命令/使用Ctrl+D组合键/输入logout来实现从虚拟控制台会话注销。
3、用户管理命令
1)、用户切换su命令
su命令用来变更使用者的身份,主要用于将普通用户身份转变为超级用户,而且需输入相应用户密码。
su[选项][使用者]
其中的使用者为要变更的对应使用者。
-,-l,--login(两个-):
为该使用者重新登录,大部分环境变量(如HOME、SHELL和USER等)和工作目录都是以该使用者(USER)为主。
若没有指定USER,缺省情况是root
-m,-p:
执行su时不改变环境变量
-c,--command:
变更账号为USER的使用者,并执行指令(command)后再变回原来使用者
使用exit命令,返回到原来的用户。
2)、添加用户命令adduser/useradd
useradd[选项]用户名
-d<
dirname>
指定用户登录系统时的主目录,如果不使用该参数,系统自动在/home目录下建立与用户名同名目录为主目录
-s<
shellname>
设置用户登录系统时使用的shell,默认为/bin/bash
-g<
GID>
指定用户所属的组,该组的GID必须是在/etc/group文件中登记过的,即该组已存在。
如果不使用该参数,系统自动建立用户同名的组,并将该用户纳入该组
-c<
comment>
用于指定账号信息字段的内容
-u<
UID>
指定用户的UID
-e<
expired>
指定账号的有效期限,格式为YYYY-MM-DD
只有超级用户才能添加用户
3)、删除用户及更改用户属性
(1)、设置用户账号属性usermod
usermod[选项]属性值
重新指定用户登录系统时的主目录
设置用户登录系统时使用的shell
指定用户主组
-G<
重新指定用户所属的组名
重新指定用户的UID
(2)、删除对应用户账号userdel
userdel[选项]用户名
-r如果使用参数-r,则表示在删除用户的同时,将该用户的主目录一并删除。
(3)、添加组账号groupadd
该命令用于向系统新增一个组,新增的组账号在默认的情况下最小从500开始。
groupadd[选项][组名]
指定组GID号
-r添加一个系统组,即GID小于499的组
(4)、设置组账号属性groupmod
管理员有时候可能需要更改组账号的内容,此时可以使用groupmod命令。
groupmod[选项]属性值
重新指定组GID号
-o重复使用组GID号
-n<
gname>
重设组账号名称
(5)、删除对应组账号groupdel
在向系统创建用户账号的时候,系统会自动创建与该账号同名的组,但是在删除该用户账号的时候,系统并不会自动删除该组,因此需要系统管理员手动删除该组账号。
groupdel命令提供了删除特定组账号的工具,该命令无需任何参数。
其使用格式如下:
groupdel<
组账号>
4)、设置用户密码
在Linux系统中,每个用户除了拥有账号外,还应该拥有相应的口令。
系统管理员root应该在创建用户账号的时候为每个用户指定一个初始密码,用户利用此密码登录系统后,再自行修改。
用户应该选择一个自己容易记忆的口令,同时还应该保证该密码的健壮性。
passwd[参数选项][对应账号]
-d删除用户口令,此后该用户登录系统是无需口令
-l临时锁定用户账号,该账号此后无法登录系统,直到解锁
-u解除账号的锁定
--stdin在用户设置口令的时候,通常并不显示内容,并且需要用户输入两次口令以便验证两次输入是否一致。
使用该参数表示在用户设置口令的时候,显示口令内容,同时只需要用户输入口令一次。
只有超级用户才能修改密码
5)、查看用户信息
(1)、whoami命令
该命令用户查看当前系统当前账号的用户名。
由于系统管理员通常需要使用多种身份登录系统,例如通常使用普通用户登录系统,然后再以su命令切换到root身份对传统进行管理。
这时候就可以使用whoami来查看当前用户的身份。
whoami
(2)、who命令
该命令用于查看当前所有登录系统的用户信息。
who[选项]
-m或amI只显示运行who命令的用户名、登录终端和登录时间
-q或--count只显示用户的登录账号和登录用户的数量
-u在登录时间后显示该用户最后一次操作到当前的时间间隔
-u或--heading显示列标题
(3)、w命令
该命令也可以查看登录当前系统的用户信息。
与who命令相比,w命令的功能更强大,它不但可以显示当前有哪些用户登录到系统,还可以显示这些用户正在进行的操作,并给出更加详细和科学的统计数据。
w[选项][用户名]
如果w命令携带用户名,则只显示指定用户的信息,否则显示当前所有登录用户的信息。
-h不显示各列的标题
-l显示详细信息列表,此为预设值
-s使用短列表,不显示用户登录时间、JCPU和PCPU时间
-u忽略执行程序的名称,以及该程序的PCPU时间
(4)、finger命令
该命令用于查找指定用户,并显示该用户的相关信息。
finger[参数][用户名]
该命令常用的参数有-l,可以显示特定用户的详细信息。
6)、显示用户ID、组ID和用户所属的组列表id
id[用户名]
7)、groups:
显示用户所属的组
groups[组账号]
4、文件目录操作指令
1)、改变当前工作目录命令(cd)
cd[路径]
路径:
后面可跟绝对路径,也可以跟相对路径。
如果省略目录,则默认切换到当前用户的主目录。
还可以使用“~”、“.”和“..”作为目录名,其中“~”表示当前用户的主目录,“.”表示当前目录,“..”表示当前目录的上层目录,即父目录。
cd/直接到根目录。
绝对路径是从目录树的树根“/”目录开始往下直至到达文件所经过的所有节点目录,下级目录接在上级目录后面用“/”隔开。
例如,etc目录下有一个文件file1,那么file1绝对路径的表示应该是/etc/file1。
绝对路径都是从“/”开始的,所以第一个字符一定是“/”。
相对路径是指目标目录相对于当前目录的位置。
仍然以前面的file1文件为例,若当前目录是etc,如果要指向file1文件,可以直接简单地表示为file1。
在当前目录下,或是当前目录的子目录下的文件都可以这样简单地表示。
如果不在当前目录下,则需要使用两个特殊目录“.”和“..”了。
目录“.”指向当前目录,而目录“..”则指向当前目录的上一级目录。
若图4-2中的bin目录下有一个文件file2,当前目录为etc,那么file2的相对路径可表示为:
../bin/file2。
2)、显示当前路径pwd
pwd
使用pwd命令可以显示当前的工作目录,该命令很简单,直接输入pwd即可,后面不带参数。
3)、查看当前目录下的文件命令ls
通过查看文件,可获得文件的相关信息,如文件的内容、属性、所有者、大小、创建修改的日期等。
ls是英文单词list的简写,其功能为列出目录的内容,使用相应的参数可以查看文件的相关信息,是用户最常用的命令之一,它类似于DOS下的dir命令。
对于每个目录,该命令将列出其中的所有子目录与文件。
对于每个文件,ls将输出其文件名以及所要求的其他信息。
输出条目按字母顺序排序。
未给出目录名或文件名时,默认情况下就显示当前目录的信息。
ls[参数]目录或文件
-a显示指定目录下所有子目录与文件,包括隐藏文件
-c按文件的修改时间排序
-F在列出的文件名后以符号表示文件类型:
目录文件后加“/”,可执行文件后加“*”,符号链接文件后加“@”,管道文件后加“|”,socket文件后加“=”
-h以用户习惯的单位表示文件的大小,K表示千,M表示兆。
通常与-l选项搭配使用
-l以长格式显示文件的详细信息。
每行列出的信息依次是:
文件类型与权限、链接数、文件属主、文件属组、文件大小、文件建立或修改的时间、文件名。
对于符号链接文件,显示的文件名后有“—>
”和引用文件路径名;
对于设备文件,其“文件大小”字段显示主、次设备号,而不是文件大小。
目录中总块数显示在长格式列表的开头,其中包含间接块
-r从后向前地列举目录中的内容
-s按文件大小排序
-t按文件建立的时间排序,越新修改的越排在前面
-u按文件上次存取时间排序
ll=list-l
4)、新建目录指令mkdir
mkdir:
创建一个目录.
mkdir[参数]目录名
参数选项:
-m对新建目录设置存取权限
-p如果欲建立的目录的上层目录尚未建立,则一并建立其上的所有祖先目录
新建目录的名称不能与当前目录中已有的目录或文件同名,并且目录创建者必须对当前目录具有写权限。
5)、删除目录命令rmdir
删除空目录可以使用rmdir命令,该命令是从一个目录中删除一个或多个子目录项。
需要注意的是,一个目录被删除之前必须是空的。
删除某一个目录时,必须具有对其父目录的写权限。
如果要删除的目录不空,将产生错误提示。
rmdir[-p]目录
参数-p表示递归删除目录,当子目录删除后,其父目录为空时也一同被删除。
命令执行完毕后,显示相应信息。
此外,使用rm–r也可删除目录及其下的文件和子目录。
6)、新建文件命令touch
在Linux系统中,可以利用touch命令来创建文件,同时touch还可以修改文件的存取和修改日期。
如果touch命令没有指定时间,touch就会将文件的存取时间、修改时间设置为系统的当前时间。
touch[参数]文件名
-a仅修改存取时间,具体时间有-t参数指定
-c如果指定文件不存在,也不生成新文件
-dstring根据string设定文件的时间
-m仅修改最后修改时间
-rf_name根据f_name文件的时间记录修改指定文件
-ttimetime格式“MMDDYY”即月日年
7)、删除文件指令rm
rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下的所以文件及子目录均删除。
删除链接文件时,只是断开了链接,原文件保持不变。
rm[参数]文件名
-i以进行交互式方式执行(不加参数默认此种形式)
-f强制删除,忽略不存在的文件,无需提示
-r递归地删除目录下的内容(删目录一定要有此参数)
使用rm命令要小心,因为文件删除后不能恢复。
为了防止文件误删,可以在rm后使用-i参数以逐个确认要删除的文件。
若确认删除,输入y,文件将被删除,否则输入其他任何字符放弃删除。
8)、文件和目录的复制命令cp
cp命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令。
该命令可以同时复制多个源文件到目标目录中,在进行文件复制的同时,可以指定目标文件的名称。
cp[参数]源文件或目录目标文件或目录
-a该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录
-d复制时保留链接
-f删除已经存在的目标文件而不提示
-i交互式复制,在覆盖目标文件之前将给出提示要求用户确认
-p此时cp命令除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中
-r若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
-l不作复制,只是链接文件
9)、文件和目录的移动命令mv
用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名。
它的用法相当于DOS下的ren和move的组合。
mv[参数]源文件或目录目标文件或目录
-i交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件
-f禁止交互式操作,如有覆盖也不会给出提示
10)、更改文件或目录的使用权限chmod
chmod[选项]…符号权限[符号权限]…文件
+:
添加某个权限。
-:
取消某个权限。
=:
赋予给定权限并取消其他所有权限(如果有的话)
例如:
[root@myhostroot]#chmoda-xfile1
r、w、x和-这4个字符代表用户的权限有些过于麻烦,此时可以使用数字来表示权限:
r对应4;
w对应2;
x对应1;
-对应0。
对每一类用户的各项权限进行相加,就会得到3个从0到7的数字。
chmod[选项]…八进制权限文件…
[root@myhostroot]#chomd664file1
11)、查看文件的命令cat
cat命令可以用来查看文件内容,也可以用于即合并文件。
还可以利用cat命令从键盘读取数据。
cat[参数]文件名
-b显示文件中的行号,空行不编号
-E在文件的每一行行尾加上“$”字符
-T将文件的Tab键用字符“^I”来显示
-n在文件的每行前面显示行号
-s将连续的多个空行用一个空行来显示
-v显示除Tab和Enter之外的所有字符
12)、文件链接命令ln
为某一个文件在另外一个位置建立一个符号链接。
当需要在不同的目录用到相同的文件时,Linux允许用户不用在每一个需要的目录下都存放一个相同的文件,而只需将其他目录下文件用ln命令链接即可,这样就不必重复地占用磁盘空间。
ln[选项]目标目录
-f链接时先将与目标文件同名的文件删除
-d允许系统管理员创建对目录的硬链接,默认不允许
-i在删除与目标文件同名的文件时先进行询问
-n在进行软链接时,将目标文件视为一般的文件
-s创建软链接,默认创建硬链接(常用)
-v在链接之前显示其文件
-b在创建链接时将可能被覆盖或删除的文件进行备份
13)、文件压缩解压命令
(1)、bzip2是Linux系统中一个压缩工具,该命令压缩的文件后缀为.bz2,可以使用bunzip2工具来解压,但是bzip2不能将多个文件压缩成一个文件,因此,bzip2工具通用也与tar工具一起使用,用来打包压缩内核文件和内核的补丁文件。
bzip2[选项]被压缩的文件
-d对文件进程压缩
-k压缩文件,并保留原文件
-r查找指定目录并压缩或解压缩其中所有的文件
-t检查压缩文件是否完整
-z强制进行压缩
(2)解压命令bunzip2
bunzip2[选项]需解压文件
-f解压缩时强制覆盖现有文件
-k压缩文件,默认删除原文件,该参数保留原文件
-v解压缩时,显示详细信息
(3)、gzip是Linux常用的压缩命令,生成的压缩文件格式是.zip,可以使用gunzip来解压。
该压缩格式与zip不同的在于gzip无法实现对多个文件压缩成一个gzip文件,因此该命令通常与tar命令一起使用。
gzip[选项]被压缩文件
-d对文件进行压缩
-f强行压缩文件
(4)、解压命令gunzip
gunzip不但可以解压缩.gz格式的压缩文件,也可以解压缩zip、compress等命令压缩的文件。
gunzip[选项]压缩文件
-l查看压缩文件中包含的文件信息,而不解压
-f强行解压缩文件
-r查找指定目录并解压缩其中所有的文件
(5)、文件打包命令tar
tar命令可以对文件目录进行打包或解包
tar[选项][打包后文件名]文件目录列表
-c创建新的档案文件。
-r把要存档的文件追加到档案文件的未尾。
-t列出档案文件的内容,查看已经备份了哪些文件。
-u更新文件。
-x从档案文件中释放文件。
辅助选项:
-b该选项是为磁带机设定的,其后跟一数字,用来说明区块的大小,系统预设值为20(20×
512bytes)。
-f使用档案文件或设备,这个选项通常是必选的。
-k保存已经存在的文件。
例如把某个文件还原,在还原的过程中遇到相同的文件,不会进行覆盖。
-m在还原文件时,把所有文件的修改时间设定为现在。
-M创建多卷的档案文件,以便在几个磁盘中存放。
-v详细报告tar处理的文件信息。
如无此选项,tar不报告文件信息。
-w每一步都要求确认。
-j代表使用‘bzip2’程序进行文件的压缩
-z用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。
常用的命令为:
压缩:
tar–czvftest.tar.gz
解压:
tar–xzvftest.tar.gz
5、网络相关命令
ifconfig该工具既可以用于查看网络接口的信息,也可以用于配置网络的TCP/IP参数,还可以用于启动和停用指定的网络接口。
ifconfig[网络接口设备名]
ifconfigeth0ifconfig
网络接口设备名IP地址[netmask网络掩码][broadcast广播地址]
启动停止网络接口:
ifconfig[网络接口设备名]down/up
6、磁盘管理命令
1)、df命令用于检测文件系统的磁盘空间占用和空余情况,可以显示所有文件系统对节点i和磁盘块的使用情况。
df[选项]
-a递归显示指定目录中各文件和子目录中文件占用的数据块
-s显示指定文件或目录占用的数据块
-b以字节为单位显示磁盘占用