熟悉Redhat 9.0
常用命令:
1. ls , ls -a
2. pwd
3. ps , ps -a
4. cd , cd ..
5. mkdir
6. rmdir
7. rm ? -rf
8. ifconfig
9. tar -czf 压缩后的文件 压缩前的文件; tar -xzf 压缩后的文件
10.
1、以.gz 结尾的为压缩文件,用命令:gzip -d filename 来解压,得到的文件在
当前目录中,但已没有了.gz。
2、以.tar 结尾的为归档文件,用命令:tar -xvf filename 来展开,生成的文件
与源文件在同一目录中,只是少了.tar。
3、以.tar.gz 结尾的文件最常见,可直接用命令:gzip -cd filename | tar xfv
来解开。
11.find -name *** ; locate ***;
12.man 命令
13.setup开始创建
14.adduser / passwd创建用户
15.su命令切换用户
16.mount访问其他分区
vi命令:
1.按I进入插入模式,ESC退出插入模式
2.插入实符i, 删除字符x, 删除一行dd
3.查找字符串 /string
4.读取文件vi 文件名
5.写入文件:w
6.退出文件:q
7.拷贝行yy,粘贴p
gcc,make,gdb问题:
gcc参数:-c -g -o
Makefile:注意Tab
gdb:break(添加断点),step(进入),finish(退出),next(下一行,不进入),c(执行到下一断点)
c/c++开发工具:eclipse
tar参数:-z(gzip方式) -x(extract解压) -v(列表显示) -f(使用压缩包) -c(压缩)
rpm参数:-i(安装) -q(查询) -p(package) -h(hash显示) -e(擦掉) -u(升级)
举例:rpm -qpi Linux-1.4-6.i368.rpm 查看包里的内容
rpm-ivh Linux-1.4-6.i368.rpm安装
rpm-e <文件名> 卸载
rpm -uvh <文件名> 升级软件
启动分析:
初始化设备-加载内核镜像-加载文件系统
用户自定义系统调用:
1.添加<linux/unistd.h>+_syscall0(int,mysyscall)+加自定义系统函数
2.在unistd.h(/usr/include/asm-i386/unistd.h)中加入索引号#define __NR_mysyscall 223
3.在syscall_table.S(/usr/src/linux/arch/i386/kernel/syscall_table.S)中加入.long sys_mysyscall
4.在sys.c(/usr/linux/kernel/sys.c)中sys_mysyscall函数的实现
5.编译内核(/usr/src/linux下)
make mrproper
make menuconfig
make
make modules_install
PS:自定义函数->通过_syscall0宏(在unistd.h中定义)调用软中断->查找unistd.h和syscall_table.S,找到中断号->Entry.S汇编执行->调用相应.c文件执行(用户调用可用sys.c)
//使用arm-linux-gcc编译
export CC=arm-linux-gcc
./configure --host=arm --build=i686 --target=arm\ --with-gtk-exec-prefix=/usr/local/hybus-arm-linux-R1.1
//USB转串口驱动的命令
/root/Redhat9 make inst
mkdir /root/aaaa/bbbb
cd !$ (!$表示前一个命令的最后参数,即/root/aaaa/bbbb)
gedit & (&表示此命令在后台运行)
locate filename (locate命令找到文件的位置)
ls -l >filename (>表示将结果保存在filename中,<表示将filename中的内容作为输入)
ps (显示当前用户的所有进程)
setup (图形化的配置命令)
chkconfig --list (显示系统服务运行情况)
grep "字符串" -r (查找包含字符串的文件)
问题:
模拟器skyeye