216

帖子

0

TA的资源

纯净的硅(高级)

21
 
:P 顶起来,跟着学习了,O(∩_∩)O哈哈~!!!!!!

回复

68

帖子

0

TA的资源

纯净的硅(中级)

22
 

第一阶段:工具链编译之第一部分(抱歉来晚了)

Crosstool是由美国人Dan Kegel(毕业于加(利福尼亚)州工学院)开发的一套可以自动编译不同匹配版本gccglibc,并作测试的脚本程序。Crosstool最初是为嵌入式系统开发者创建,但也适用于主流开发者比如只是希望他们去快速编译或需要建立程序,运行在旧版本的Linux操作系统(例如Red Hat6.2 )。Crosstool是一种便携式的shell脚本。你可以使用它来建立Linux系统配置的编译器是运行在Linux Mac OS X操作系统, SolarisCygwin等。它支持的硬件平台有:alpha, arm, i686, ia64, mips, powerpc, powerpc64, sh4, sparc, sparc64, s390, x86_64等。
在实践之前,我们需要回答这样的问题,为什么要使用交叉编译器?主要原因是嵌入式硬件(目标机)的性能一般都无法满足开发环境的要求,比如主频比较低、内存少、没有硬盘(常用FLASH作为存储设备)、没有大型显示设备、没有全键盘等。交叉编器通常是采用PC(x86)作为主机来搭建开发环境进行编译,但编译出的软件能够在特定CPU体系架构的目标设备(比如ARM设备)上运行的一套编译工具。
下面将以具体操作步骤来讲述Crosstool构建针对ARM平台的交叉编译器。注:该实验是基于Fedora 10操作系统下进行,其他Linux发行版可能会有所不同。
1.准备资源文件
软件包名称
下载站点
crosstool-0.43.tar.gz
http://kegel.com/crosstool/crosstool-0.43.tar.gz
binutils-2.15.tar.bz2
http://ftp.gnu.org/gnu/binutils/
gcc-3.4.5.tar.bz2
http://ftp.gnu.org/gnu/gcc
glibc-2.3.6.tar.bz2
http://ftp.gnu.org/gnu/glibc
glibc-linuxthreads-2.3.6.tar.bz2
http://ftp.gnu.org/gnu/glibc
linux-2.6.28.2.tar.bz2
http://ftp.kernel.org/pub/linux/kernel/v2.6/
linux-libc-headers-2.6.12.0.tar.bz2
http://ep09.pld-linux.org/~mmazur/linux-libc-headers/

首先从网上下载上述资源文件:binutils-2.15.tar.bz2gcc-3.4.5.tar.bz2glibc-2.3.6.tar.bz2 glibc-linuxthreads-2.3.6.tar.bz2linux-2.6.28.2.tar.bz2linux-libc-headers-2.6.12.0.tar.bz2。然后将这些工具包文件放在开放主机的/home/mike/downloads目录(该目录根据个人使用习惯不同可修改)下,最后在/home/mike目录下解压crosstool-0.43.tar.gz,命令如下:
# cd /home/mike
# tar xvzf crosstool-0.43.tar.gz

2建立脚本文件
接着需要建立自己的编译脚本,起名为arm.sh,为了简化编写arm.sh,寻找一个最接近的脚本文件demo-arm.sh作为模版,然后将该脚本的内容复制到arm.sh,修改arm.sh脚本,具体操作如下:
# cd crosstool-0.43
# cp demo-arm.sh arm.sh
# vi arm.sh


修改后的arm.sh的脚本内容如下:
#!/bin/sh
set -ex
TARBALLS_DIR=/home/mike/downloads  # 定义工具链源码所存放位置。
RESULT_TOP=/opt/crosstool        # 定义工具链的安装目录
export TARBALLS_DIR RESULT_TOP
GCC_LANGUAGES="c,c++"     # 定义支持C, C++语言
export GCC_LANGUAGES
# 创建/opt/crosstool目录
mkdir -p $RESULT_TOP
# 编译工具链,该过程需要数小时完成。
eval `cat arm.dat gcc-3.4.5-glibc-2.3.6.dat`  sh all.sh --notest
echo Done.


[ 本帖最后由 topembedded 于 2009-8-5 09:42 编辑 ]
 
 

回复

68

帖子

0

TA的资源

纯净的硅(中级)

23
 

第一阶段:工具链编译之第二部分(抱歉来晚了)

#!/bin/sh
set -ex
TARBALLS_DIR=/home/mike/downloads  # 定义工具链源码所存放位置。
RESULT_TOP=/opt/crosstool        # 定义工具链的安装目录
export TARBALLS_DIR RESULT_TOP
GCC_LANGUAGES="c,c++"     # 定义支持C, C++语言
export GCC_LANGUAGES
# 创建/opt/crosstool目录
mkdir -p $RESULT_TOP
# 编译工具链,该过程需要数小时完成。
eval `cat arm.dat gcc-3.4.5-glibc-2.3.6.dat`  sh all.sh --notest
echo Done.
3 建立配置文件
arm.sh脚本文件中需要注意arm.datgcc-3.4.5-glibc-2.3.6.dat两个文件,这两个文件是作为crosstool的编译的配置文件。其中arm.dat文件内容如下,主要用于定义配置文件,定译生成编译工具链的名称以及定义编译选项等。
KERNELCONFIG=`pwd`/arm.config  # 内核的配置
TARGET=arm-linux   # 编译生成的工具链名称
TARGET_CFLAGS="-O"           # 编译选项

gcc-3.4.5-glibc-2.3.6.dat文件内容如下,该文件主要定义编译过程中所需要的库以及它定义的版本,如果当在编译过程中发现有些库不存在时,crosstool会自动在相关网站上下载,该工具在这点上相对非常智能,也非常有用。
BINUTILS_DIR=binutils-2.15
GCC_DIR=gcc-3.4.5
GLIBC_DIR=glibc-2.3.6
GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.6
LINUX_DIR=linux-2.6.28.2
LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0
4 执行脚本
Crosstool的脚本文件和配置文件准备好之后,开始执行arm.sh脚本来编译交叉变异工具。具体执行命令如下:
# cd crosstool-0.43
# ./arm.sh  

经过数小时的漫长编译之后,会在/opt/crosstool/gcc-3.4.5-glibc-2.3.6/arm-linux/bin目录下生成新的交叉编译工具,其中包括以下内容:
arm-linux-addr2line  
arm-linux-g++       arm-linux-ld      
arm-linux-size
arm-linux-ar         arm-linux-gcc        arm-linux-nm       arm-linux-strings
arm-linux-as         arm-linux-gcc-3.4.5

arm-linux-objcopy
arm-linux-strip
arm-linux-c++       arm-linux-gccbug   
arm-linux-objdump  
fix-embedded-paths
arm-linux-c++filt   
arm-linux-gcov       arm-linux-ranlib
arm-linux-cpp        arm-linux-gprof      arm-linux-readelf

5 添加环境变量
然后将生成的编译工具链路径添加到环境变量PATH上去,添加的方法是在系统~/ .bash_profile文件中添加下面一行在文件的最后,如图所示。
export PATH=/opt/crosstool/gcc-3.4.5-glibc-2.3.6/arm-linux/bin:$PATH  
 
 
 

回复

145

帖子

0

TA的资源

五彩晶圆(初级)

24
 

回复 23楼 topembedded 的帖子

我只会KEIL,想学一下嵌入式,有时间向你学习学习!
 
个人签名欢迎大家加入我的博客
http://www.rjgc.net/uchome/space.php?uid=9317
 
 

回复

2771

帖子

0

TA的资源

裸片初长成(中级)

25
 

我来说2句

在那些源码包里,只要手动下载CROSSTOOL就可以了,其他的包会自动下载的.大家可以试下
 
 
 

回复

68

帖子

0

TA的资源

纯净的硅(中级)

26
 

第一阶段:工具链编译之第三部分(抱歉来晚了)


图 用Vi编辑器在.bash_profile文件中添加环境变量
        设置完环境变量,也就意味着交叉编译工具链已经构建完成,然后就可以进行测试刚刚建立的工具链,在命令行输入arm-linux-gcc看是否有输入文件提示,如果有说明交叉编译器已经安装好。
        实践出现的问题及解决方法:
问题一:执行.arm.sh出现如下权限错误?
        [root@localhost crosstool-0.43]# ./arm.sh
        + TARBALLS_DIR=/home/mike/downloads
        + RESULT_TOP=/opt/crosstool
        + export TARBALLS_DIR RESULT_TOP
        + GCC_LANGUAGES=c,c++
        + export GCC_LANGUAGES
        + mkdir -p /opt/crosstool
        ++ cat arm.dat gcc-3.4.5-glibc-2.3.6.dat
        + eval 'KERNELCONFIG=`pwd`/arm.config' TARGET=arm-linux 'TARGET_CFLAGS="-O"' BINUTILS_DIR=binutils-2.15 GCC_DIR=gcc-3.4.5 GLIBC_DIR=glibc-2.3.6 LINUX_DIR=linux-2.6.28.2 LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0 GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.2 sh all.sh --notest
        +++ pwd
        ++ KERNELCONFIG=/home/mike/crosstool-0.43/arm.config
        ++ TARGET=arm-linux
        ++ TARGET_CFLAGS=-O
        ++ BINUTILS_DIR=binutils-2.15
        ++ GCC_DIR=gcc-3.4.5
        ++ GLIBC_DIR=glibc-2.3.6
        ++ LINUX_DIR=linux-2.6.28.2
        ++ LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0
        ++ GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.2
        ++ sh all.sh --notest
        You set both LINUX_DIR and LINUX_SANITIZED_HEADER_DIR - ignoring LINUX_DIR for the build
        DEJAGNU not set, so not running any regression tests
        GCC_EXTRA_CONFIG not set, so not passing any extra options to gcc's configure script
        GLIBC_ADDON_OPTIONS not set, so building all glibc add-on's
        + TOOLCOMBO=gcc-3.4.5-glibc-2.3.6
        ++ pwd
        + BUILD_DIR=/home/mike/crosstool-0.43/build/arm-linux/gcc-3.4.5-glibc-2.3.6
        ++ pwd
        + TOP_DIR=/home/mike/crosstool-0.43
        + test -z ''
        + SRC_DIR=/home/mike/crosstool-0.43/build/arm-linux/gcc-3.4.5-glibc-2.3.6
        + echo 'SRC_DIR not set, so source tarballs will be unpacked in the build directory'
        SRC_DIR not set, so source tarballs will be unpacked in the build directory
        + abort 'Don'\''t run all.sh or crosstool.sh as root, it'\''s dangerous'
        + echo 'Don'\''t' run all.sh or crosstool.sh as root, 'it'\''s' dangerous
        Don't run all.sh or crosstool.sh as root, it's dangerous
        + exec false
        [root@localhost crosstool-0.43]#         
解决办法:
        [root@localhost crosstool-0.43]# su mike      //切换到普通用户mike
        [mike@localhost crosstool-0.43]$ ./arm.sh
        + TARBALLS_DIR=/home/mike/downloads
        + RESULT_TOP=/opt/crosstool
        + export TARBALLS_DIR RESULT_TOP
        + GCC_LANGUAGES=c,c++
        + export GCC_LANGUAGES
        + mkdir -p /opt/crosstool
        ++ cat arm.dat gcc-3.4.5-glibc-2.3.6.dat
        + eval 'KERNELCONFIG=`pwd`/arm.config' TARGET=arm-linux 'TARGET_CFLAGS="-O"' BINUTILS_DIR=binutils-2.15 GCC_DIR=gcc-3.4.5 GLIBC_DIR=glibc-2.3.6 LINUX_DIR=linux-2.6.28.2 LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0 GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.2 sh all.sh --notest
        +++ pwd
        ++ KERNELCONFIG=/home/mike/crosstool-0.43/arm.config
        ++ TARGET=arm-linux
        ++ TARGET_CFLAGS=-O
        ++ BINUTILS_DIR=binutils-2.15
        ++ GCC_DIR=gcc-3.4.5
        ++ GLIBC_DIR=glibc-2.3.6
        ++ LINUX_DIR=linux-2.6.28.2
        ++ LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0
        ++ GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.2
        ++ sh all.sh --notest
        You set both LINUX_DIR and LINUX_SANITIZED_HEADER_DIR - ignoring LINUX_DIR for the build
        DEJAGNU not set, so not running any regression tests
        GCC_EXTRA_CONFIG not set, so not passing any extra options to gcc's configure script
        GLIBC_ADDON_OPTIONS not set, so building all glibc add-on's
        + TOOLCOMBO=gcc-3.4.5-glibc-2.3.6
        ++ pwd
        + BUILD_DIR=/home/mike/crosstool-0.43/build/arm-linux/gcc-3.4.5-glibc-2.3.6
        ++ pwd
        + TOP_DIR=/home/mike/crosstool-0.43
        + test -z ''
        + SRC_DIR=/home/mike/crosstool-0.43/build/arm-linux/gcc-3.4.5-glibc-2.3.6
        + echo 'SRC_DIR not set, so source tarballs will be unpacked in the build directory'
        SRC_DIR not set, so source tarballs will be unpacked in the build directory
        + test -w /tmp
        + TARBALLS_DIR=/home/mike/downloads
        + RESULT_TOP=/opt/crosstool
        + PREFIX=/opt/crosstool/gcc-3.4.5-glibc-2.3.6/arm-linux
        + export TOOLCOMBO
        + export PREFIX
        + export BUILD_DIR
        + export SRC_DIR
        + export TARBALLS_DIR
        + export TOP_DIR
        + '[' 1 -gt 0 ']'
        + opt_no_test=1
        + shift
        + '[' 0 -gt 0 ']'
        + test '' = 1
        + test '' = ''
        + test '' = 1
        + test -d /home/mike/crosstool-0.43/build/arm-linux/gcc-3.4.5-glibc-2.3.6
        + mkdir -p /home/mike/crosstool-0.43/build/arm-linux/gcc-3.4.5-glibc-2.3.6
        mkdir: cannot create directory `/home/mike/crosstool-0.43/build': Permission denied
        [mike@localhost crosstool-0.43]$ su
        Password:
        [root@localhost crosstool-0.43]# ./arm.sh

[ 本帖最后由 topembedded 于 2009-8-6 12:38 编辑 ]
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(中级)

27
 

给大家补补Linux指令吧

Linux指令速成

在书店和网络中会有许多关于linux操作指令的书籍和页面,许多介绍的都很全面,我们要想系统的掌握这方面的知识,这些资料是很不错的选择。但是作为一个初学着,或者想要在较短的时间内就能简单的应用linux,这样做似乎会比较慢,其实我们大可不必储备很多操作知识才去进行应用,就像我们学习认字一样,当我们学的字还很少时,我们虽然写不成文章,但是我们可以组词、造句子、写便条、识别一些简单的标识。这也符合2/8法则说的那样,在这些指令中有80%是我们不常用到的,常用的只有20%,我们就可以把这80%的深入内容稍后学习,先学习那20%的常用内容,就可以进行应用。在应用中加强所学的知识,同时再慢慢学习剩下的那80%的内容,这样即实现了尽快上手又能在实践中加强所学的内容。

初学者要注意几个问题:linux指令的使用要涉及到权限问题,因为linux支持多用户模式这样会造成一定混乱,所以要设置用户的权限,一些管理命令只有root用户可以使用,例如:useraduserdel等。或者当我们想在非用户目录下实现一些有权限许可的操作时也会受到限制,例如:我们是一个普通用户先要在其它用户的私有文件夹下建立文件,虽然普通用户有mkdir指令的使用权限,但是在其它用户的私有目录下是不能使用的。其次linux还涉及参数的使用可以实现不同的功能。

下面就我的学习经验简单介绍一下一些linux的必备指令。我把所学的指令大体分为四个方面:系统管理、磁盘管理、文件管理、其它。

一.系统管理
通常的系统管理工作主要是:开关机管理、用户管理、进程管理以及一些信息查看
1.halt
权限
:系统管理者
格式 halt -参数
功能 :若系统的 runlevel 0 6 ,则关机,否则以 shutdown 指令(加上 -h 参数)
来取代

参数:
  -n : 在关机前不做将记忆体资料写回硬盘的动作
  -w : 并不会真的关机,只是把记录写到 /var/log/wtmp 档案里
  -d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d-f : 强迫关机,
不呼叫 shutdown 这个指令
  -i : 在关机之前先把所有网络相关的装置先停止
  -p : 当关机的时候,顺便做关闭电源(poweroff)的动作
 例:
  halt -p 后关闭电源。
  halt -d 但不留下纪录。

2.reboot
权限
:系统管理者
格式 reboot –参数
功能 :若系统的 runlevel 0 6 ,则重新开机,否则以 shutdown 指令(加上 -r 参数)来取代
参数:
  -n : 在重开机前不做将记忆体资料写回硬盘的动作
  -w : 并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里
  -d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d-f : 强迫重开机,不呼叫 shutdown 这个指令
  -i : 在重开机之前先把所有网络相关的装置先停止
例:
  reboot 重开机。
  reboot -w 做个重开机的模拟(只有纪录并不会真的重开机)。
 
 
 

回复

19

帖子

0

TA的资源

一粒金砂(高级)

28
 
不错的东西,比赛完后要来向你学习一下
 
个人签名相互学习  共同进步
 
 

回复

3

帖子

0

TA的资源

一粒金砂(中级)

29
 
3. shutdown

权限 系统管理者
格式
shutdown [-t seconds] [-rkhncfF] time [message]
功能 : shutdown 可以用来进行关机程序,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown 也可以用来重开机。
参数

  -t seconds : 设定在几秒钟之后进行关机程序
  -k : 并不会真的关机,只是将警告讯息传送给所有只用者
  -r : 关机后重新开机
  -h : 关机后停机
  -n : 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机
  -c : 取消目前已经进行中的关机动作
  -f : 关机时,不做 fcsk 动作(检查 Linux 档系统)
  -F : 关机时,强迫进行 fsck 动作
  time : 设定关机的时间
  message : 传送给所有使用者的警告讯息

4.adduser

权限
:系统管理员
格式 adduser
参数 相应内容
功能 :新增使用者帐号或更新预设的使用者资料
参数

  -c comment 新使用者位于密码档(通常是 /etc/passwd)的注解资料
  -d home_dir 设定使用者的家目录为 home_dir ,预设值为预设的 home 后面加上使用者帐号 loginid
  -e expire_date 设定此帐号的使用期限(格式为 YYYY-MM-DD),预设值为永久有效
  -f inactive_time
   adduser是增加使用者.
  相对的,也有删除使用者的指令,userdel.
  语法:userdel [login ID]

5.su
权限:所有使用者
格式su –参数 相应的内容

说明:变更为其他使用者的身份,除 root 外,需要键入该使用者的密码
参数:
  -f --fast 不必读启动档(如 csh.cshrc 等),仅用于 csh tcsh
  -m -p --preserve-environment 执行 su 时不改变环境变数
  -c command --command=command 变更为帐号为 USER 的使用者并执行指令(command)后再变回原来使用者
  -s shell --shell=shell 指定要执行的 shell bash csh tcsh 等),预设值为 /etc/passwd
内的该使用者(USERshell
  --help 显示说明文件
  --version 显示版本资讯
  - -l --login 这个参数加了之后,就好像是重新 login 为该使用者一样,大部份环境变数(HOME SHELL USER等等)都是以该使用者(USER)为主,并且工作目录也会改变,如果没有指定 USER ,内定是 root
  USER 欲变更的使用者帐号
  ARG 传入新的 shell 参数
例:
  su -c ls root 变更帐号为 root 并在执行 ls 指令后退出变回原使用者。
  su root -f 变更帐号为 root 并传入 -f 参数给新执行的 shell
  su - clsung 变更帐号为 clsung 并改变工作目录至 clsung 的家目录(home dir)。

6.ps
权限:所有使用者
格式ps [options] [--help]
功能:显示瞬间行程 (process) 的动态
参数:ps 的参数也是非常多, 在此仅列出几个常用的参数  
-A 列出所有的行程
  -w 显示加宽可以显示较多的资讯
  -au 显示较详细的资讯
  -aux 显示所有包含其他使用者的行程
例:
  ps
  
7.top
权限:所有使用者
格式top [-] [d delay] [q] [c] [S] [n]
功能:实时显示 process 的动态
参数:
  d : 改变显示的更新速度,或是在交谈式指令列( interactive command)s
  q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
  c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子行程 ( dead child process ) CPU time 累积起来
 
 
 

回复

34

帖子

0

TA的资源

纯净的硅(初级)

30
 
HS0038B请问各位大侠关于HS0038B的资料。    谢谢各位!
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(中级)

31
 

回复 29楼 topembedd 的帖子

good!!!!!!!!!!!!!!!!!!!1
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(中级)

32
 

给大家补补Linux指令吧(续)

s : 安全模式,将交谈式指令取消, 避免潜在的危机   i : 不显示任何闲置 (idle) 或无用 (zombie) 的行程   n : 更新的次数,完成后将会退出 top   b : 批次档模式,搭配 "n" 参数一起使用,可以用来将 top 的结果输出到档案内 示例:      top -n 10
8.kill 权限:所有使用者 格式:   kill [ -s signal | -p ] [ -a ] pid ...   kill -l [ signal ] 功能:kill 送出一个特定的信号 (signal) 给行程 id 为 pid 的行程根据该信号而做特定的动作, 若没有指定, 预设是送出终止 (TERM) 的信号 参数:   -s (signal) : 其中可用的讯号有 HUP (1), KILL (9), TERM (15), 分别代表著重跑, 砍掉, 结束; 详细的信号可以用 kill -l   -p : 印出 pid , 并不送出信号   -l (signal) : 列出所有可用的信号名称 示例:   kill -9 323(将 pid 为 323 的行程关闭(kill) )  kill -HUP 456(将 pid 为 456 的行程重启(restart) )  
9.who 权限: 所有使用者都可使用 格式: who - [husfV] [user] 功能: 显示系统中有那些使用者正在上面,显示的资料包含了使用者 ID,使用的终端机,从那边连上来的,上线时间,呆滞时间,CPU 使用量,动作等等。 参数:   -h : 不要显示标题列   -u : 不要显示使用者的动作/工作   -s : 使用简短的格式来显示   -f : 不要显示使用者的上线位置   -V : 显示程序版本

二.磁盘管理
通常的磁盘管理工作主要是进入磁盘、查看磁盘内容、查看磁盘空间等。
1. cd 权限 :所有使用者 格式 :cd [dirName] 功能 :变换工作目录至 dirName。 其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home directory (也就是刚 login 时所在的目录)。是linux中使用频率非常高的指令。 说明 :"~" 表示为根目录,"." 则是表示当前目录,".." 则表示前一级目录。 示例 :cd /usr/bin(跳到 /usr/bin/ )      cd  ~ (跳到自己的 home directory ) 
2.ls
权限 :所有使用者 格式 :ls [-alrtAFR] [name...] 功能 :显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。 参数 :  -a 显示所有档案及目录 (ls内定将档案名或目录名称开头为"."的视为隐藏档,不会列出)   -l 除档案名称外,亦将档案型态、权限、拥有者、档案大小等资讯详细列出   -r 将档案以相反次序显示(原定依英文字母次序)   -t 将档案依建立时间之先后次序列出   -A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)   -F 在列出的档案名称后加一符号;例如可执行档则加 "*", 目录则加 "/"   -R 若目录下有档案,则以下之档案亦皆依序列出 示例:   ls –l (显示当前目录下的详细资料)
    ls –a (显示当前目录的文件,包括隐藏文件)

3.pwd
功能 :显示当前所在的工作目录的绝对路径。格式 :pwd [--help][--version] 参  数:  --help   在线帮助。  --version   显示版本信息。

4.df 权限 :所有使用者> 格式 :df [选项]... [FILE]... 功能 :显示档案系统的状况,或是看所有档案系统的状况(预设值)
5.du
功能 :显示指定的目录或文件所占用的磁盘空间。格式 :du [-abcDhHklmsSx][-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件>][--max-depth=<目录层数>][--help][--version][目录或文件]参数:  -a或-all   显示目录中个别文件的大小。  -b或-bytes   显示目录或文件大小时,以byte为单位。  -c或--total   除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。  -D或--dereference-args   显示指定符号连接的源文件大小。  -h或--human-readable   以K,M,G为单位,提高信息的可读性。  -H或--si   与-h参数相同,但是K,M,G是以1000为换算单位。  -k或--kilobytes   以1024 bytes为单位。  -l或--count-links   重复计算硬件连接的文件。  -L<符号连接>或--dereference<符号连接>   显示选项中所指定符号连接的源文件大小。  -m或--megabytes   以1MB为单位。  -s或--summarize   仅显示总计。  -S或--separate-dirs   显示个别目录的大小时,并不含其子目录的大小。  -x或--one-file-xystem   以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。  -X<文件>或--exclude-from=<文件>   在<文件>指定目录或文件。  --exclude=<目录或文件>   略过指定的目录或文件。  --max-depth=<目录层数>   超过指定层数的目录后,予以忽略。  --help   显示帮助。  --version   显示版本信息。

6. mkdir 权限:于目前目录有适当权限的所有使用者 格式:mkdir [-p] dirName 功能:建立名称为 dirName 之子目录。 参数:-p 确保目录名称存在,不存在的就建一个。 示例:   mkdir AAA (在工作目录下,建立一个名为 AAA 的子目录 )
7. mount 权限 : 系统管理者或/etc/fstab中允许的使用者 格式 :   mount [-hV]   mount -a [-fFnrsvw] [-t vfstype]   mount [-fnrsvw] [-o options [,...]] device | dir   mount [-fnrsvw] [-t vfstype] [-o options] device dir 功能 : 用于挂载包括文件、磁盘等。
参数 ;  
 
 
 

回复

255

帖子

0

TA的资源

五彩晶圆(初级)

33
 
讲的 非常好
俺是来学习的
 
个人签名每天进步一点点
 
 

回复

6366

帖子

4912

TA的资源

版主

34
 
不错啊,真正的从零开始,有时间跟着老师们好好学学
 
 
 

回复

2771

帖子

0

TA的资源

裸片初长成(中级)

35
 

我来也

补充几个

    1,chmod 755 xxx
              修改文件权限
  2,chown
             改变所有者
  3,chgrp
           改变所属组
  4,XX(TAB,TAB)
   查看XX关键字的命令
    5,UMOUNT
            取消挂载
  6,UMASK XXX
             设置文件属性
  7, ./XXX
    运行当前目录下的可执行文件
 
 
 

回复

277

帖子

0

TA的资源

五彩晶圆(中级)

36
 
如期报到,LINUX就要从俺这样的幼儿园水平抓起。
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(中级)

37
 
不错,资料都挺实用的!!
 
 
 

回复

1672

帖子

0

TA的资源

裸片初长成(初级)

38
 

有个地方说的比较confusing,我补充一下。

原帖由 topembedd 于 2009-8-19 11:04 发表
.df 权限 :所有使用者> 格式 :df [选项]... [FILE]... 功能 :显示档案系统的状况,或是看所有档案系统的状况(预设值)


df实际上就是查看各个文件系统的剩余空间。
以某FreeBSD系统为例:(FreeBSD是UNIX的一个分支,Linux可以认为是FreeBSD的山寨版本)
root@raticate% df
Filesystem  512-blocks    Used    Avail Capacity  Mounted on
/dev/ad0s1a    1771844  765016   865084    47%    /
devfs                2       2        0   100%    /dev
devfs                2       2        0   100%    /dev/
/dev/md0        888432  888432        0   100%    /junos
/cf            1771844  765016   865084    47%    /junos/cf
devfs                2       2        0   100%    /junos/dev/
procfs               8       8        0   100%    /proc
/dev/ad0s1e     196688     128   180828     0%    /config
/dev/ad2s1f   24956056 5087752 17871820    22%    /var
/dev/md1       2042972     852  1878684     0%    /mfs
/dev/md2         24376   24376        0   100%    /cf/packages/mnt/jtools-9.4-20090511.0
/var/jail     24956056 5087752 17871820    22%    /jail/var
devfs                2       2        0   100%    /jail/dev
root@raticate%
这个命令显示了各个挂载点的容量余额。单位是512字节。
 
 
 

回复

132

帖子

0

TA的资源

纯净的硅(高级)

39
 
要想做好嵌入式,最好要了解底层!然后扩展到LINUX系统!慢慢要有个过程!指令,可以到WWW.GOUGOU.COM去搜,很多的!!!
 
 
 

回复

2万

帖子

74

TA的资源

管理员

40
 

回复 40楼 makechinawei 的帖子

那楼主先说说自己对底层的看法吧
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表