学习linxu
export
功能说明:为了将目录永久添加到您的 $PATH ,只要将‘export’的那行添加到您的‘.bash_profile’文件中。
请不要在‘.bashrc’中设置 PATH ,否则会导致 PATH 中目录的意外增长。您每次打开一个新的 shell ,‘.bashrc’都会作用。所以如果在该文件中添加目录,您每次打开一个终端,目录又会被添加。这将导致 PATH 变量由于目录复制,不断地增长。
Eg. PATH=/usr/lib/qt4/bin:$PATH
export PATH
bunzip2
功能说明:.bz2文件的解压缩程序。
语 法:bunzip2 [-fkLsvV][.bz2压缩文件]
补充说明:bunzip2可解压缩.bz2格式的压缩文件。bunzip2实际上是bzip2的符号连接,执行bunzip2与bzip2 -d的效果相同。
tar -jxvf arts- 1.5.6 .tar.bz2
ls -a 可以让我们发现其隐藏的目录
useradd redhat 创建redhat用户
passwd redhat 给redhat用户密码了
whoami 查看当前登录系统的用户
su 由普通用户专为系统用户的命令 su -c "make install"
more /etc/resolv.conf more命令可以查看文件内容
fdisk -l 查看硬盘的分区情况
df -h 查看分区的使用情况
du -sh /home 查看每一个文件的占用磁盘空间
ln -s ~/skyeye/src/skyeye_1_2_2_Rel/binary/skyeye skyeye 建立连接指针
ifconfig 查看网络的情况
netconfig 修改网络配置
service network restart 重新启动网络服务
ping -b 192.168.1.255 可以以广播的方法扫描192.168.1.整个网段,
route -n 查看路由信息 来确定网关是否正确。
locale 查看当前系统语言环境 locale -a 查看所有系统支持的语言类型
date 命令来查看变化
cal 命令来显示月份
service kudzu start ,kudzu是系统检测硬件的程序,它默认是开机自启动的
chkconfig kudzu --list 命令来查看kudzu启动情况 当然我们也可以查看其他的启动项
netcon 按tab建就会自动补齐的
//
linux下删除子目录里某通配符文件
//
#find -name '*.txt' |xargs rm -v
find -name '*.txt' 为找出后缀为txt的格式
xargs为重定向输出结果
-v是显示删除的详细结果.
//
查找文件内容
//
grep -rc "Zoomer::stop1" /etc/* |grep -v ":0$"
grep -rc "typedef sig_t sighandler_t" . |grep -v ":0$"
grep -rc "ifdef Q_OS_BSD4" /etc/* |grep -v ":0$"
grep -ir “chars” #在当前目录的所有文件查找字串chars,并忽略大小写,-i 为大
小写,-r 为下一级目录
查找 包含alias字符串的*.conf的文件
find / -name "*.conf" | xargs grep "alias"
1. grep -R -l 一些也可以实现,但是通过管道 | 比单纯用grep 复杂的参数更有效率。
2. xargs是用来展开find获得的结果,使其作为grep的参数。
删除文件夹及子目录
rm -rf directory
容量查看–du
du 计算当前目录的容量
du -sm /root #计算/root 目录的容量并以M 为单位
ps -aux |grep ftp
ps -ef|grep ftp 察看ftp的进程
pstree -H 6722 察看进程树
#kill -9 进程pid号
sudo是linux下允许普通用户使用超级用户权限的工具。
配置文件是/etc/sudoers,visudo来对该文件进行修改。
#id 注:查看用户的UID和GID信息,主要是看是否切换过来了;
uid=505(linuxsir) gid=502(linuxsir) groups=0(root),500(beinan),502(linuxsir)
系统总共分了7个等级 0,1,2,3,4,5,6
0是关闭系统
1是单用户系统用来维护的
2,3是字符界面
5是图形界面
6是从启界面
#reboot 与 #init 6 功能是一样的都是从启系统
系统的安装
挂载光驱
由于光盘,我使用的如下挂载(在光盘文件所在的目录下)
#mount ./arm- 2006-01-16 .iso /mnt/cdrom -t iso9660 -o loop=/dev/loop3,bloksize=1024
更改光驱权限,增加执行权限
#chmod a+x /mnt/cdrom
#cp filename.tar.gz /root
#tar xvzf filename.tar.gz
压缩与解压缩
.tar
解压: tar xvf FileName.tar
压缩:tar cvf FileName.tar DirName
.tar.gz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
configure的可执行脚本程序。它是用于检查系统是否有编译时所需的库,以及库的版本是否满足编译的需要等安装所需要的系统信息。为随后的编译工作做准备。
#./configure
发现有错误,configure将给予提示,并停止检查。你可以跟据提示对系统进行配置。再重新执行该程序。
#make
#make install
清除编译过程中产生的临时文件和配置过程中产生的文件。键入如下命令:
#make clean
rpm安装:
#rpm -i filename.i386.rpm
另外,还有一些Linux平台下的商业软件。在其安装文件中,有Setup安装程序,其安装方法同Windows平台下的一样。
升级已经存在的软件包
#rpm -U filename.i386.rpm
查询
#rpm -qa 即可查询到当前系统中安装的所有的软件包。
参数q的作用是使rpm进入查询命令模式。参数a是查询模式的子参数,意为全部(ALL)。查询到的信息较多,可使用less人屏显示。
#rpm -q tftp -ls 查询到当前系统中是否安装了tftp
#rpm -qf /usr/lib/libacl.la 查询一个已经安装的文件属于哪个软件包属于(libacl-devel) 注:文件名所在的绝对路径要指出
#rpm -ql lynx 或 #rpmquery -ql lynx 查询已安装软件包都安装到何处;
#rpm -qi lynx 查询一个已安装软件包的信息
#rpm -qR rpm-python 查看一下已安装软件所依赖的软件包及文件;
查看一个软件包的用途、版本等信息;
#rpm -qpi file.rpm
查看一个软件包的依赖关系
#rpm -qpR file.rpm
#locate 软件名或文件名 用 locate 来查询一些软件安装到哪里了
软件的卸载
#rpm -e 即可卸载软件。参数e的作用是使rpm进入卸载模式。
#rpm -e -nodeps 忽略依赖关系的卸载
#rpm -e -test 使rpm进行一次卸载预演
#rpm --force filename.i386.rpm 强制安装
#rpm --aid filename.i386.rpm 安装其它的关联包
#rpm -ivh filename.i386.rpm --nodeps 忽略依赖关系的安装
#which vsftpd 查看vsftpd装到那里了
#more install 我们可以看看安装帮助,看看应该如何配置,一般安装都要注意看看如何配置文档.我们首先要把主配置文件copy到/etc目录下
vsftp
1 首先我们去这里下载最新版本2.05,并把它下在网上邻居的技术文档里ftp://vsftpd.beasts.org/users/cevans/
2 然后我们需要把它解开
# tar zxvf vsftpd-2.01 zxvf解压缩 tar zcvf 就是压缩
#./configure
#make
#make INSTALL
#which vsftpd 查看vsftpd装到那里了
#cp vsftpd.conf /etc
#cp /RedHat/vsftpd.pam /etc/pam.d/ftp 这个cp是为了ftp认证用的,即用户登录的时候是需要通过pm.d 这个认证的
#vi vsftpd.conf listen=YES
#mkdir /var/ftp
#finger ftp 提供登录用户的有关信息注解
#/usr/local/sbin/vsftpd & 这样服务器启动的时候就在后台运行了。
#netstat -tnl 我们检查下看有没有开一个端口为21的地址,
如果有ok,如果没查看下是那个进程在使用21端口,用kill -9 进程pid 删除该进程
挂载外部设备
首先我们要明白挂载外部设备的目录是在/mnt目录下 mnt目录默认有两个目录 分别是cdrom 和floppy,
cdrom是挂载光驱的,floppy是挂载软驱的,如果我们需要挂载其他的设备比如优盘,我们就需要从新建立一个目录
[root@zy root]#ls /mnt
[root@zy root]#mkdir /mnt/u1 ,然后开始挂载,另外u盘一般都是/dev/sda1,如果不清楚可用fdisk -l ,命令查看[root@zy root]#fdisk -l
[root@zy root]# mount /dev/sda1 /mnt/u1
[root@zy root]# umount /mnt/u1 卸载u盘挂载
现在我们先学着挂载光盘[root@zy root]#mount /dev/cdrom /mnt/cdrom
[root@zy root]# ls /mnt/cdrom 现在就可以看到光盘里面的内容了,我们可以用df来检查挂载情况[root@zy root]#df -h
如果我们不想再用光盘了 我们可以用umount卸载[root@zy root]#umount /mnt/cdrom,请大家用完设备一定要记着卸载。
挂载windows分区[root@zy root]mount -t vfat /dev/sdb /mnt/window
其中/dev/sdb是我的windows分区 在linux下vfat是windows分区的格式
linux的fdisk分区工具 [root@zy root]#fdisk /dev/sda
我的硬盘是dev/sda格式 然后它会出现 command(m for help ):我们就在这里选择m,下面会出现常用的命令我解释一下,n添加一个新的分区 ,d删除一个分区,w写进分区表,q退出不保存.
linux格式化工具
[root@zy root]mkfs.vfat /dev/sdb1,
mkfs就是格式化的命令 vfat是格式化的类型,我们也可以把vfat换为ext2 或者ext3 、dev/sdb1是我硬盘的一个分区
解决linux依赖性问题
当我们装一个服务的时候,我这里以smaba为例,我们会发现装smaba是需要装好几个rpm软件包的,这样装起来很麻烦,而且我们还不知道彼此的依赖关系,还好linux发现了这个问题,它提供了一个工具,rpmdb工具,一般是在第三张光盘里面的,我们在装服务的时候最好要把它装上,能减去很多麻烦,现在就让我们来操作一下吧
首先,我们要把第三张光盘挂载起来[root@zy root]#mount /dev/cdrom /mnt/cdrom
然后找到rpmdb [root@zy root]# ls /mnt/cdrom ,
[root@zy root]#cd /misc/cd/fedora/RPMS
[root@zy root]#ls |grep rpmdb
然后开始安装rpmdb[root@zy root]#rpm -ivh rpmdb-fedora-1.02003.i386.rpm ,记住我们可以用tab命令补齐的,其中-ivh命令是安装 -uvh就是卸载了 ,如果你想卸载那个程序就可以用rpm -uvh
然后我们开始安装samba了,samba默认在第一张光盘里
[root@zy root]#rpm -ivh --aid samba*rpm ,其中--aid就是借助与rpmdb数据库的命令 samba*是指所有的samba,rpm文件
然后就可以安装成功了
根据文件名查找:
find 文件名: find / -name httpd.conf
查找并显示文件 find / -name "httpd.conf" -ls
根据部分文件名查找方法:find /etc -name '*srm*'
根据文件的特征查询方法:
find / -amin -10 # 查找在系统中最后10分钟访问的文件
find / -atime -2 # 查找在系统中最后48小时访问的文件
find / -empty # 查找在系统中为空的文件或者文件夹
find / -group cat # 查找在系统中属于 groupcat的文件
find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件
find / -mtime -1 #查找在系统中最后24小时里修改过的文件
find / -nouser #查找在系统中属于作废用户的文件
find / -user fred #查找在系统中属于FRED这个用户的文件
find . -maxdepth 2 -name fred
chmod命令使用详解
指令名称 : chmod
使用权限 : 所有使用者
使用方式 : chmod [-cfvR] [--help] [--version] mode file...
说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉
以控制档案如何被他人所存取。
mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示该档案的拥有
者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被
设定过为可执行。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本
范例 :
将档案 file1.txt 设为所有人皆可读取 : chmod ugo+r file1.txt
将档案 file1.txt 设为所有人皆可读取 : chmod a+r file1.txt
将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的
人则不可写入 : chmod ug+w,o-w file1.txt file2.txt
将 ex1.py 设定为只有该档案拥有者可以执行 : chmod u+x ex1.py
将目前目录下的所有档案与子目录皆设为任何人可读取 : chmod -R a+r *
此外chmod也可以用数字来表示权限如 chmod 777 file
语法为:chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。
范例:
chmod a=rwx file 和 chmod 777 file 效果相同
chmod ug=rwx,o=x file 和 chmod 771 file 效果相同
若用chmod 4755 filename可使此程式具有root的权限
指令名称 : chown
使用权限 : root
使用方式 : chown [-cfhvR] [--help] [--version] user[:group] file...
说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。
user : 新的档案拥有者的使用者 ID
group : 新的档案拥有者的使用者群体(group)
-c : 若该档案拥有者确实已经更改,才显示其更改动作
-f : 若该档案拥有者无法被更改也不要显示错误讯息
-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案
-v : 显示拥有者变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)
--help : 显示辅助
--version : 显示版本
范例 :
将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie : chown jessie:users file1.txt
将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport : chmod -R lamport:users *
-rw------- (600) -- 只有属主有读写权限。
-rw-r--r-- (644) -- 只有属主有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700) -- 只有属主有读、写、执行权限。
-rwxr-xr-x (755) -- 属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711) -- 属主有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666) -- 所有用户都有文件读、写权限。这种做法不可取。
-rwxrwxrwx (777) -- 所有用户都有读、写、执行权限。更不可取的做法。
以下是对目录的两个普通设定:
drwx------ (700) - 只有属主可在目录中读、写。
drwxr-xr-x (755) - 所有用户可读该目录,但只有属主才能改变目录中的内容
suid的代表数字是4,比如4755的结果是-rwsr-xr-x
sgid的代表数字是2,比如6755的结果是-rwsr-sr-x
sticky位代表数字是1,比如7755的结果是-rwsr-sr-t
(当然7755这个chmod设置没多大意义,这里只是演示一下)
chown user:group xxx 用来改变文件的归属用户,也可以改变其归属群组
chgrp group xxx 用来改变文件的归属群组
目录结构的详细解读
/ bLinux文件系统的入口,也是处于最高一级的目录;
/bin 系统所需要的那些命令位于此目录,比如 ls、cp、mkdir等命令;功能和/usr/bin类似,这个目录中的文件都是可执行的、普通用户都可以使用的命令。作为基础系统所需要的最基础的命令就是放在这里。
/boot Linux的内核及引导系统程序所需要的文件目录,比如 vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录;
/dev 设备文件存储目录,比如声卡、磁盘... ...
/etc 系统配置文件的所在地,一些服务器的配置文件也在这里;比如用户帐号及密码配置文件;
/home 普通用户家目录默认存放目录;
/lib 库文件存放目录
/lost+found 在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。 有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或移到文件到原来的位置上。
/mnt 这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom 等目录。可以参看/etc/fstab的定义。有时我们可以把让系统开机自动挂载文件系统,把挂载点放在这里也是可以的。主要看/etc/fstab中怎么定义了;比如光驱可以挂载到/mnt/cdrom 。
/opt 表示的是可选择的意思,有些软件包也会被安装在这里,也就是自定义软件包,比如在Fedora Core 5.0中,OpenOffice就是安装在这里。有些我们自己编译的软件包,就可以安装在这个目录中;通过源码包安装的软件,可以通过 ./configure --prefix=/opt/目录 。
/proc 操作系统运行时,进程信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。/proc目录伪装的文件系统proc的挂载目录,proc并不是真正的文件系统,它的定义可以参见 /etc/fstab 。
/root Linux超级权限用户root的家目录;
/sbin 大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目录是相似的;我们记住就行了,凡是目录sbin中包含的都是root权限才能执行的。
/tmp 临时文件目录,有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文件的。/var/tmp目录和这个目录相似。
/usr 这个是系统存放程序的目录,比如命令、帮助文件等。这个目录下有很多的文件和目录。当我们安装一个Linux发行版官方提供的软件包时,大多安装在这里。如果有涉及服务器配置文件的,会把配置文件安装在/etc目录中。/usr目录下包括涉及字体目录/usr/share/fonts ,帮助目录 /usr/share/man或/usr/share/doc,普通用户可执行文件目录/usr/bin 或/usr/local/bin 或/usr/X11R6/bin ,超级权限用户root的可执行命令存放目录,比如 /usr/sbin 或/usr/X11R6/sbin 或/usr/local/sbin 等;还有程序的头文件存放目录/usr/include。
/var 这个目录的内容是经常变动的,看名字就知道,我们可以理解为vary的缩写,/var下有/var/log 这是用来存放系统日志的目录。/var/www目录是定义Apache服务器站点存放目录;/var/lib 用来存放一些库文件,比如MySQL的,以及MySQL数据库的的存放地;
一些重要子目录的解说
/etc/init.d 这个目录是用来存放系统或服务器以System V模式启动的脚本,这在以System V模式启动或初始化的系统中常见。比如Fedora/RedHat;
/etc/xinit.d 如果服务器是通过xinetd模式运行的,它的脚本要放在这个目录下。有些系统没有这个目录, 比如Slackware,有些老的版本也没有。在Rehat/Fedora中比较新的版本中存在。
/etc/rc.d 这是Slackware发行版有的一个目录,是BSD方式启动脚本的存放地;比如定义网卡,服务器开启脚本等。
/etc/X11 这是X-Windows相关的配置文件存放地。
/usr/bin 这个目录是可执行程序的目录,普通用户就有权限执行;当我们从系统自带的软件包安装一个程序时,他的可执行文件大多会放在这个目录。比如安装gaim软件包时。相似的目录是/usr/local/bin;有时/usr/bin中的文件是/usr/local/bin的链接文件;
/usr/sbin 这个目录也是可执行程序的目录,但大多存放涉及系统管理的命令。只有root权限才能执行;相似目录是/sbin 或/usr/local/sbin或/usr/X11R6/sbin等;
/usr/local 这个目录一般是用来存放用户自编译安装软件的存放目录;一般是通过源码包安装的软件,如果没有特别指定安装目录的话,一般是安装在这个目录中。这个目录下面有子目录。自己看看吧。
/usr/share 系统共用的东西存放地,比如 /usr/share/fonts 是字体目录,/usr/share/doc和/usr/share/man帮助文件。
/usr/src 是内核源码存放的目录,比如下面有内核源码目录,比如 linux 、linux-2.xxx.xx 目录等。有的系统也会把源码软件包安装在这里。比如Fedora/Redhat,当我们安装file.src.rpm的时候,这些软件包会安装在 /usr/src/redhat相应的目录中。
/var/adm 比如软件包安装信息、日志、管理信息等,在Slackware操作系统中是有这个目录的。在Fedora中好象没有;自己看看吧。
/var/log 系统日志存放,分析日志要看这个目录的东西;
/var/spool 打印机、邮件、代理服务器等假脱机目录;
附录:目录结构的简明查阅手册
(1)“/”根目录部分有以下子目录:
/usr 目录包含所有的命令、程序库、文档和其它文件。这些文件在正常操作中不会被改变的。这个目录也包含你的Linux发行版本的主要的应用程序,譬如,Netscape。
/var 目录包含在正常操作中被改变的文件:假脱机文件、记录文件、加锁文件、临时文件和页格式化文件等
/home 目录包含用户的文件:参数设置文件、个性化文件、文档、数据、EMAIL、缓存数据等。这个目录在系统省级时应该保留。
/proc 目录整个包含虚幻的文件。它们实际上并不存在磁盘上,也不占用任何空间。(用ls –l 可以显示它们的大小)当查看这些文件时,实际上是在访问存在内存中的信息,这些信息用于访问系统
/bin 系统启动时需要的执行文件(二进制),这些文件可以被普通用户使用。
/sbin 系统执行文件(二进制),这些文件不打算被普通用户使用。(普通用户仍然可以使用它们,但要指定目录。)
/etc 操作系统的配置文件目录。
/root 系统管理员(也叫超级用户或根用户)的Home目录。
/dev 设备文件目录。LINUX下设备被当成文件,这样一来硬件被抽象化,便于读写、网络共享以及需要临时装载到文件系统中。正常情况下,设备会有一个独立的子目 录。这些设备的内容会出现在独立的子目录下。LINUX没有所谓的驱动符。
/lib 根文件系统目录下程序和核心模块的共享库。
/boot 用于自举加载程序(LILO或GRUB)的文件。当计算机启动时(如果有多个操作系统,有可能允许你选择启动哪一个操作系统),这些文件首先被装载。这个目录也会包含LINUX核(压缩文件vmlinuz),但LINUX核也可以存在别处,只要配置LILO并且LILO知道LINUX核在哪儿。
/opt 可选的应用程序,譬如,REDHAT 5.2下的KDE (REDHAT 6.0下,KDE放在其它的XWINDOWS应用程序中,主执行程序在/usr/bin目录下)
/tmp 临时文件。该目录会被自动清理干净。
/lost+found 在文件系统修复时恢复的文件
(2)“/usr”目录下比较重要的部分有:
/usr/X11R6 X-WINDOWS系统(version 11, release 6)
/usr/X11 同/usr/X11R6 (/usr/X11R6的符号连接)
/usr/X11R6/bin 大量的小X-WINDOWS应用程序(也可能是一些在其它子目录下大执行文件的符号连接)。
/usr/doc LINUX的文档资料(在更新的系统中,这个目录移到/usr/share/doc)。
/usr/share 独立与你计算机结构的数据,譬如,字典中的词。
/usr/bin和/usr/sbin 类似与“/”根目录下对应的目录(/bin和/sbin),但不用于基本的启动(譬如,在紧急维护中)。大多数命令在这个目录下。
/usr/local 本地管理员安装的应用程序(也可能每个应用程序有单独的子目录)。在“main”安装后,这个目录可能是空的。这个目录下的内容在重安装或升级操作系统后应该存在。
/usr/local/bin 可能是用户安装的小的应用程序,和一些在/usr/local目录下大应用程序的符号连接。
(3)“/proc”目录的内容:
/proc/cpuinfo 关于处理器的信息,如类型、厂家、型号和性能等。
/proc/devices 当前运行内核所配置的所有设备清单。
/proc/dma 当前正在使用的DMA通道。/proc/filesystems 当前运行内核所配置的文件系统。
/proc/interrupts 正在使用的中断,和曾经有多少个中断。
/proc/ioports 当前正在使用的I/O端口。
动态链接库的使用
/etc/ld.so.conf
# ldconfig -p 此选项指示ldconfig打印出当前缓存文件所保存的所有共享库的名字.
# ldconfig -v 显示正在扫描的目录及搜索到的动态链接库,还有它所创建的连接的名字.
#ldconfig 把/etc/ld.so.conf在信息写进缓存。
ldd 是专门用来检查动态链接程序依赖哪些共享库的
ldd -v 此选项指示ldd输出关于所依赖的动态链接库的尽可能详细的信息.
要修改所有用户的PATH值,可以以root身份编辑/etc/profile文件,修改其中包含“PATH=”的一行。
只有在用户重新注册后,PATH的新值才会生效。如果只是要修改某一个用户的PATH值,就应该编辑该用户主目录中的.bash-profile文件。
//
//
// gcc的交叉编译环境变量
//
//
.表示当前路径
.a 静态库
.so动态库
指定一个库文件名时,xxx.a 或 xxx.so 共享库优先连接。
gcc搜寻以下默认包含目录及库目录 (include目录要放到C_INCLUDE_PATH环境变量中,lib目录要放到/etc/ld.so.conf中,ldconfig)
/usr/local/include/
/usr/include/
/usr/local/lib/
/usr/lib/
对于包含文件的搜索路径:
C_INCLUDE_PATH=.:/usr/local/include/:/usr/inculde/
export C_INCLUDE_PATH
CPLUS_INCLUDE_PATH=
export CPLUS_INCLUDE_PATH
对于库文件的搜索路径:
LIBRARY_PATH=.:/usr/local/lib/:/usr/lib/
export LIBRARY_PATH
对于链接程序ld使用的库文件搜索路径:
LD_LIBRARY_PATH=<your ldlib path>;
export LD_LIBRARY_PATH
gcc编译选项
Warning显示格式:file:line-number:message
-o 文件名:直接产生可执行文件
-c 文件名:只编译.o的库文件