linuxwith
⑴ linux命令
我给你举一个简单的文件显示的命令:dos里面有dir命令,而在linux中可以用ls命令加相应的参数显示文件的具体属性,当然也可以用dir命令,但没有ls强大,例如:
#ls
这样显示当前目录下的所有文件,显示的格式只有文件名字
#ls
-l
这样以列的形式显示出来文件,并且带着文件读写的权限,所属的用户和组,
#ls
-lat,加入这些参数,可以显示文件建立的时间,还有文件建立的先后。
这个命令很简单,可以显示出shell命令对文件操作的强大,如果想具体的知道ls和其他的命令的功能也用途,你可以使用#man
命令来操作,
⑵ 如何才能让自己的应用程序在arm Linux 平台下运行(实现控制IO之类的)
简单来说就是交叉编译你的应用程序,然后下载到你的板子里面运行它。
更具体一点来说可以分为以下几步:
1、首先确定你的arm Linux有没有这些IO的驱动,如果还没有的话,那么你要写这些IO的驱动;如果已经有了,那么它们的控制就叫给你自己的应用程序了。
2、编写应用程序(open,ioctl等等),并交叉编译它们(何谓“交叉编译”?搜索一下)。
3、把交叉编译出来的可执行程序下载到你的板子(如果你采用了NFS的开发方式的话,这步可以省略了),执行之!
希望可以帮助到你,祝你好运!
⑶ 如何使用linux交叉编译
采用交叉编译的主要原因在于,多数嵌入式目标系统不能提供足够的资源供编译过程使用,因而只好将编译工程转移到高性能的山早主机中进行。
linux下的交叉编译环境重要包括以下几个部分:
1.对目标系统的编译器gcc
2.对目标系统的二进制工具binutils
3.目标系统的标准c库glibc
4.目标系统的linux内核头文件
交叉编译环境的建立步骤
一、下载源代码 下载包括binutils、gcc、glibc及linux内核的源代码(需要注意的是,glibc和内核源代码的版本必须与目标机上实际使用的版本保持一致),并设定shell变量PREFIX指定可执行程序的安装路径。
二、编译binutils 首先运行configure文件,并使用--prefix=$PREFIX参数指定安装路径,使用--target=arm-linux参数指定目标机类型,然后执行make install。
三、配置linux内核头文件
首先执行make mrproper进行清理工作,然后执行make config ARCH=arm(或make menuconfig/xconfig ARCH=arm)进行配置(注意,一定要在命令行中使用ARCH=arm指定cpu架构,因为缺省架构为主机的cpu架构),这一步需要根据目标机的实际情况进行详细的配置,笔者进行的实验中目标机为HP的ipaq-hp3630 PDA,因而设置system type为SA11X0,SA11X0 Implementations中选择Compaq iPAQ H3600/H3700。
配置完成之后,需要将内核头文件拷贝到安装目录: cp -dR include/asm-arm $PREFIX/arm-linux/include/asm cp -dR include/linux $PREFIX/arm-linux/include/linux
四、第一次编译gcc
首先运行configure文件,使用--prefix=$PREFIX参陪搭数指定安装路径,使用--target=arm-linux参数指定目标机类型,并使用--disable-threads、--disable-shared、--enable-languages=c参数,然后执行make install。这一步将生成一个最简的gcc。由于编译整个gcc是需要目标机的glibc库的,它现在还不存在,因此需要首先生成一个最简的gcc,它只需要具备编译目标机glibc库的能力即可。
五、交叉编译glibc
这一步骤生成的代码是针对目标机cpu的,因此它属于一个交叉编译过程。该过程要用到linux内核头文件,默认路径为$PREFIX/arm-linux/sys-linux,因而需要在$PREFIX/arm-linux中建立一个名为sys-linux的软连接,使其内核头文件所在的include目录;或者,也可以在接下来要执行的configure命令中使用--with-headers参数指定linux内核头文件的实际路径。
configure的运芦唯拿行参数设置如下(因为是交叉编译,所以要将编译器变量CC设为arm-linux-gcc): CC=arm-linux-gcc ./configure --prefix=$PREFIX/arm-linux --host=arm-linux --enable-add-ons 最后,按以上配置执行configure和make install,glibc的交叉编译过程就算完成了,这里需要指出的是,glibc的安装路径设置为$PREFIXARCH=arm/arm-linux,如果此处设置不当,第二次编译gcc时可能找不到glibc的头文件和库。
六、第二次编译gcc
运行configure,参数设置为--prefix=$PREFIX --target=arm-linux --enable-languages=c,c++。
运行make install。
到此为止整个交叉编译环境就完全生成了。
几点注意事项
第一点、在第一次编译gcc的时候可能会出现找不到stdio.h的错误,解决办法是修改gcc/config/arm/t-linux文件,在TARGET_LIBGCC2_CFLAGS变量的设定中增加-Dinhibit_libc和-D__gthr_posix_h。
⑷ linux如何设置默认指令
修改文件/etc/inittab。
[root@localhost ~]#vi /etc/inittab
# inittab is only used by upstart for the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# System initialization is started by /etc/init/rcS.conf
#
# Indivial runlevels are started by /etc/init/rc.conf
#
# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
#
# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
#
# For information on how to write upstart event handlers, or how
# upstart works, see init(5), init(8), and initctl(8).
#
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:
默认有如下7促启动级别,文件中也有相应的说明。如:
0表示关闭姿判桐,6表示重启,文件也说明了不要将initdefault设置为这两迹坦个值。问题也可想而知。
1表示单用户模式。冲运
2表示没有网络的多用户模式。
3表示多用户模式。(枫竹梦推荐使用这个模式)
4不使用。
5图形界面。(安装有图形界面的系统的默认启动级别)
0和6存在的意思是系统在关机和重启是要切换到这个模式的。知道如上的内容就很容易的可以做出相应的修改。
这里将id:5:initdefault:修改为id:3:initdefault:保存文件并重启即可。
当然,也可以使用init 3直接进行切换。
其实看这里的内容,可以很容易的理解使用chkconfig命令进行设置的服务在各个启动级别当中的on与off是什么意思了。
Ubuntu的设置
直接修改文件/etc/X11/default-display-manager的内容并保存,重启即可。
⑸ linux常用安装软件的命令
安装软件---这个操作在WINDOWS的世界里很简单,下载软件双击exe文件即可,还有自动运行方式的,复杂点的执行bat之类的可执行程序即可。但Linux不然,因Linux版本过多,导致软件的安装方法五花八门。本文只是将Linux的软件安装方式进行汇总和整理,没有过多的技术难度,仅供参考。
Linux下主要有两种方式,主要分在线安装和线下安装。(以下介绍的方式基本涵盖所有Linux系统的软件安装方式)
一、在线安装
1、软件管理中心安装。(ubuntu)1)更新源sudo apt-get update2)打开软件中心,搜索你要安装的软件,双击安装即可。例如安装apache,如下图
2、命令行安装方式
1)更新,命令:apt-get update
2)查找你要安装的软件,apt-cache search “软件名”
3)apt-get install 软件名
以上在线的两种方式都提到了apt-get 方式,那么它的工作原理简单说明一下,apt-get相关的有两个重要文件:1、是/etc/sources.list,2、是/var/lib/apt/lists/目录.
当我们执行apt-get update程序分析sources.list看这个文件里是否有对应的Packages/Sources/Release列表文件,如果有更新则下载之,存入/var/lib/apt/lists/目录(其实就是保持与当前系统版本软件源表最新);apt-get install 安装相应的包 ,下载并安装。
这种方式的好处在于:如果你想要加载的应用需要依赖另一个应用程序才能正常工作,apt-get会帮你找到并加载所需的程序库或应用代码,这种方式是比较常用的的。比如我们执行apt-get install mysql-server,可以看到相关的依赖包(如图)
二、线下安装
之所以叫线下的安装方式,也就是说你要把软件下载到本地去安装。一般我们下载的文件后缀名都是zip、tar.gz等压缩包,解压后会看到rpm、bin、deb、run之类扩展名文件。很多软件都会提供不同LINUX版本的安装格式,你可以根据自己的系统下载不同扩展名的软件。
1、rpm安装包:这时一款老牌的安装格式,是红帽创建的安装格式,现在已成为一种标准,常用在opensuse/turbo/redhat版本),安装方法rpm -ivh 软件名.rpm (如果只是安装一个i参数就够了,如果还要看安装进度和软件信息就加个vh)
2、deb安装包:DEB是Debian软件包格式的文件扩展名,常用在centos/ubuntu,在苹果系统里也常见此安装方式。安装方法:dpkg -i 软件名.deb
3、run安装包:以QT(一种编程工具)的安装文件为例,
1)授权: chmod x qt-unified-linux-x64-2.0.2-2-online.run
2)执行:./qt-unified-linux-x64-2.0.2-2-online.run即可安装。
4、bin安装包:bin包是一个自解压格式的安装包,要想执行它,需要先赋予它可执行的权限。
(以安装jdk为例)# chmod x jdk-6u21-linux-i586.bin# ./jdk-6u21-linux-i586.bin
5、编译后安装方式:
举例安装nagios插件(nagios是一种开源的监控软件,需要多种插件支持监控模块)
1)cd /tmp/nagios-plugins-* //先进入目录
2)./configure --with-nagios-user=nagios --with-nagios-group=nagios // 配置,即安装的用户安装的路径都可在此设置,这一步一般用来生成 Makefile,为下一步的编译做准备
3)make //编译过程如果 在 make 过程中出现 error ,你就要记下错误代码,缺少什么包就按照什么包。
4) make install //如果make无问题就可以直接安装了。
这种安装方法的好处是你可以自定义安装路径、安装账号等参数,常见开源平台下载的源码安装方式。
6、其它,还有一些软件解压后生成的文件夹内包含很多文件,一般文件夹内有install.sh、setup.py等安装文件方式,此种方式类似windows的exe安装方式,你需要先授权该文件的可执行权限,在执行安装。以上基本上囊括了所有的Linux环境下的软件安装方式,供各位参考。