嵌入式Linux开发实用教程(“十二五”国家重点图书出版规划项目)
上QQ阅读APP看书,第一时间看更新

第1章 嵌入式Linux基础

1.1 Linux基本命令

在学习嵌入式Linux开发的过程中,将经常使用到Linux的操作命令。实际上,Linux系统中的命令也是为实现特定的功能而编写的,而且绝大数的命令是用C语言编写的。有些实用性强的程序被广泛使用和传播,逐渐地演变成Linux的标准命令。但是Linux的操作命令繁多,本节将在U-Boot、Linux移植过程中常用到的Linux操作命令罗列出来进行讲解,为后续的学习做良好的铺垫。读者不要认为这是Linux简单命令则不屑一顾,嵌入式Linux学习是一个漫长的过程,循序渐进方能有所成就,这个过程是由每一小步累加而成的。天下难事,必作于易;天下大事,必作于细。所以读者务必要对待学习的每一个细节。

1.1.1 文件属性查询与修改

1.文件属性查询

“ls”命令在Linux目录中占据着重要地位,主要用于查看文件属性、查看目录下所包含的文件等。

        zhuzhaoqi@zhuzhaoqi-desktop:~/Linux/busybox-1.20.2/_install$ ls
        bin            dev  home  linuxrc  proc  sbin  tmp  var
        creat_yaffs2.sh  etc  lib   mnt     root  sys   usr

通过“ls”命令可查看_install目录下有哪些东西。如果要进一步查看文件属性,则使用“ll”命令或者“ls -al”命令,这两个命令是等效的。

        zhuzhaoqi@zhuzhaoqi-desktop:~/Linux/busybox-1.20.2/_install$ ll
        总用量 64
        drwxr-xr-x 15 zhuzhaoqi zhuzhaoqi 4096 2013-03-17 16:33 .
        drwxr-xr-x 35 zhuzhaoqi zhuzhaoqi 4096 2013-03-17 15:34 ..
        drwxr-xr-x  2 zhuzhaoqi zhuzhaoqi 4096 2013-03-17 15:34 bin
        -rw-r--r--  1 zhuzhaoqi zhuzhaoqi  393 2013-03-17 16:32 creat_yaffs2.sh
        drwxr-xr-x  2 zhuzhaoqi zhuzhaoqi 4096 2013-03-17 16:33 dev
        drwxr-xr-x  3 zhuzhaoqi zhuzhaoqi 4096 2013-03-17 21:01 etc
        drwxr-xr-x  2 zhuzhaoqi zhuzhaoqi 4096 2013-03-17 16:33 home
        drwxr-xr-x  3 zhuzhaoqi zhuzhaoqi 4096 2013-03-18 09:57 lib
        lrwxrwxrwx  1 zhuzhaoqi zhuzhaoqi   11 2013-03-17 15:34 linuxrc -> bin/busybox
        drwxr-xr-x  5 zhuzhaoqi zhuzhaoqi 4096 2013-03-17 16:33 mnt
        drwxr-xr-x  2 zhuzhaoqi zhuzhaoqi 4096 2013-03-17 16:33 proc
        drwxr-xr-x  2 zhuzhaoqi zhuzhaoqi 4096 2013-03-17 16:33 root
        drwxr-xr-x  2 zhuzhaoqi zhuzhaoqi 4096 2013-03-17 15:34 sbin
        drwxr-xr-x  2 zhuzhaoqi zhuzhaoqi 4096 2013-03-17 16:33 sys
        drwxrwxrwx  2 zhuzhaoqi zhuzhaoqi 4096 2013-03-17 16:33 tmp
        drwxr-xr-x  7 zhuzhaoqi zhuzhaoqi 4096 2013-03-17 16:33 usr
        drwxr-xr-x  2 zhuzhaoqi zhuzhaoqi 4096 2013-03-17 16:33 var

这样每一个文件的属性将一目了然,而属性中的每一个数据都有特定的含义,如表1.1所示。

表1.1 文件属性含义

其中文件权限的10个字符的含义如表1.2所示。

表1.2 文件权限含义

因此/bin目录的文件权限是:文件所有者对/bin目录可读可写可执行,文件所属用户组对/bin目录可读不可写可执行,其他人对/bin目录可读不可写可执行。

当对某个文件进行操作,要特别注意这个文件是否具有将要进行操作的权限。如果我们所在的用户组没有操作权限而又得进行操作,此时就得修改文件的权限。

2.文件权限修改

“chmod”命令的作用是变更一个文件的权限。

        zhuzhaoqi@zhuzhaoqi-desktop:~/linux/include$ ll
        总用量 8
        drwxr-xr-x 2 zhuzhaoqi zhuzhaoqi 4096 2013-03-18 22:02 ./
        drwxr-xr-x 3 zhuzhaoqi zhuzhaoqi 4096 2013-03-18 22:07 ../
        -rw-r--r-- 1 zhuzhaoqi zhuzhaoqi    0 2013-03-18 22:02 s3c6410.h

从上一小节可知,“drwxr-xr-x”除了“d”是文件类型,剩下9个字符划分成3组,表示3个用户组的使用权限。而在Linux系统中,每一个用户组的3个字母分别可用数字进行描述其权限,r:4、w:2、x:1、-:0,将每一组的数字进行相加,即得到这组用户的权限。例如上面s3c6410.h的权限是:rw-r--r--,那么每一用户组权限分别是:6、4、4,那么组合起来即为644。每个文件的最高权限为777。

给予s3c6410.h最高权限,如下:

        zhuzhaoqi@zhuzhaoqi-desktop:~/linux/include$ chmod 777 s3c6410.h
        zhuzhaoqi@zhuzhaoqi-desktop:~/linux/kernel/include$ ll
        总用量 8
        drwxr-xr-x 2 zhuzhaoqi zhuzhaoqi 4096 2013-03-18 22:02 ./
        drwxr-xr-x 3 zhuzhaoqi zhuzhaoqi 4096 2013-03-18 22:07 ../
        -rwxrwxrwx 1 zhuzhaoqi zhuzhaoqi   0 2013-03-18 22:02 s3c6410.h*

通过“chmod”更改权限命令可以看到s3c6410.h的权限是最高权限。