刘学勇 电子工业 2012年7月
learn to Hack .... What do you think?
2014-01-26 21:42:04 进程的学习真的很有趣啊。 我渐渐开始担心以后不会再爱温系统了。
1,Asking for cache data failed
打开终端输入:sudo rmmod ums_realtek
或在/etc/rc.local里在exit 0前加入rmmod ums_realtek
,这样开机后不用再输入上面的命令。
如果想再用读卡器,输入 sudo modprobe ums_realtek
2,常用命令
ls
find
cat
grep
查找文件内容
sort
comm
读取2个文件输出三行:文件1出现的行,文件2出现的行,都出现的行
diff
cp
文件复制
mv
移动文件
wc
文件统计
3,系统目录
/bin 常用命令
/boot 启动程序
/dev 外部设备的端口
/etc 最重要的目录之一, 系统管理配置文件
/sbin 系统管理员的系统管理程序
,root权限才能执行的命令
/home 用户的主目录
/lib 存放动态链接库
/lost+found
/mnt
/media 即插即用在这个目录下创建
/opt 自定义软件包
/proc 系统运行时进行、内核信息
/temp
/usr linux占用硬盘最大的文件夹,
存放程序的目录
/var 存放系统日志
4.目录操作命令
mkdir 创建目录
rmdir
pwd 显示当前目录
cd
ln 链接文件
chmod 改变文件权限
chown 改变文件属主
5,文件操作命令
gzip 文件压缩
tar 文件打包
man
help
whereis
查找文件在系统中的位置
su user
切换用户身份
sudo 命令 以系统管理员身份运行
shutdown
halt
reboot
linux 下的 c
语言开发环境
linuxc 开发过程
编码、编译、链接、可执行文件
编译器gcc (GNU C
Compiler) 的四个步骤: 预处理、编译(产生汇编)、汇编(汇编作为输入,产生obj)、链接(可执行文件
sudo apt-get install
build-essential 获取build-essential 软件包
make 工具
autoconf
configure.in
AC_INIT(file)程序选择测试检测库文件检测头文件检测typedef检测struct检测编译器特征检测库函数检测系统服务AC_OUTPUT(file...)
autoscan 创建configure
gdb 调试
linux 文件编
程
最通用的文件系统是ext4
每种文件系统存储数据的基本格式不一样。、
文件系统四部分: 引导块,超级块,索引节点表,数据块
引导块存放文件系统的引导程序, 超级块描述本文件系统管理的资源 , 索引节点表存储文件的控制信息 ,
数据块是磁盘块
文件类型 普通文件(文本文件、二进制文件) 目录文件 链接文件 设备文件(块设备、字符设备)
管道文件
文件描述符
基本文件IO
open 打开或创建一个文件
close 关闭文件
read 从文件中读取指定长度数据 到内存
write 内存中数据写入文件
create 进程新建一个文件
lseek 随机存取
文件高级操作
文件模式
umask
chmod /fchmod
chown/fchown
rename
truncate / ftruncate
access 检查用户对一个文件的权限
utime/utimes
访问时间、修改时间、特性修改时间
stat/fstat /lstat
dup/dup2 复制文件描述符
fcntl 文件控制
目录操作
getwd 当前工作目录
chdir /fchdir 重新指定 当前工作目录
mkdir/rmdir 创建目录
opendir /closedir
readdir
特殊文件
mknod 建立其它类型文件
mount / umount 挂接
link
symlink /readlink
标准IO库
打开和关闭流
fopen freopen
fdopen
fclose fcloseall
读和写流
无格式
字符fgetc/getc/getchar fputc/puts/putchar
行fgets/gets fputs/puts
块fread/fwrite
流文件定位
ftell /fseek
fgetpos/fsetpos
文件结束和错误
ferror feof
clearerr
流缓冲 全缓冲、行缓冲、无缓冲
setvbuf setbuf setbuffer
setlinebuf
fflush
格式化IO
printf fprintf sprintf
scanf fscanf sscanf
临时文件
tmpnam tempnam
进程操作
进程基本状态 运行 就绪 等待
每个进程用一个task_struct 表示 , 状态 调度信息 进程标志号
进程间通信机制
进程识别号 getuid getpid geteuid
getepid getppid getpgrp
进程调度 用户模式 系统模式
进程控制
进程创建 fork
pid_t fork();//单调用双返回
: 在父进程中 返回子进程的标识号
,在子进程中 返回的是0
子进程是父进程的一个复制,要分配新内存,只读代码段是共享的。fork后,父子一样都是从frok下一句开始执行,
如果父进程在创建子进程前申请了共享内存段,则子进程共享该内存段操作。而局部变量/全局变量只在自己进程空间
vfork 目的在于用exec执行另外的程序 , 子进程先运行父进程挂起。
这种变化是确定的, 与fork 不同。
exec 有6种参数 格式但都对应一个入口