嵌入式Linux应用程序开发详解-笔记1

2019-07-12 14:14发布

1.Linux 常见用户管理命令 命 令 命 令 含 义 格 式 useradd 添加用户账号 useradd [选项] 用户名 usermod 设置用户账号属性 usermod [选项] 属性值 userdel 删除对应用户账号 userdel [选项] 用户名 groupadd 添加组账号 groupadd [选项] 组账号 groupmod 设置组账号属性 groupmod [选项] 属性值 groupdel 删除对应组账号 groupdel [选项] 组账号 passwd 设置账号密码 passwd [对应账号] id 显示用户 ID、组 ID 和用户所属的组列表 id [用户名] groups 显示用户所属的组 groups [组账号] who 显示登录到系统的所有用户 who
useradd 必须用 root 的权限。而且 useradd 指令所建立的账号,实际上是保存在“/etc/passwd”文本文件中,文件中每一行包含一个账号信息。


2.Linux 常见系统管理命令
命 令 命 令 含 义 格 式 ps 显示当前系统中由该用户运行的进程列表 ps [选项] top 动态显示系统中运行的程序(一般为每隔 5s top kill 输出特定的信号给指定 PID(进程号)的进程 kill [选项] 进程号(PID uname 显示系统的信息(可加选项-a uname [选项] setup 系统图形化界面配置 setup crontab 循环执行例行性命令 crontab [选项] shutdown 关闭或重启 Linux 系统 shutdown [选项] [时间] uptime 显示系统已经运行了多长时间 uptime clear 清除屏幕上的信息 clear

例:ps -aux   查看所有进程及其 PID(进程号)、系统时间、命令详细目录、执行者等   显示 CPU 及内存占用率、进程状态


3.磁盘相关命令fdisk Linux 常见系统管理命令
选 项 参 数 含 义 格 式 free 查看当前系统内存的使用情况 free [选项] df 查看文件系统的磁盘空间占用情况 df [选项] du 统计目录(或文件)所占磁盘空间的大小 du [选项] fdisk 查看硬盘分区情况及对硬盘进行分区管理 fdisk [-l] 例:
du -h module_test.c fdisk -l
查看/var/log/messages 文件,可以找到 Linux 系统已辨认出来的设备代号。


4.磁盘挂载命令mount
挂载文件系统,它的使用权限是超级用户或/etc/fstab 中允许的使用者。
格式
mount [选项] [类型] 设备文件名 挂载点目录
其中的类型是指设备文件的类型。
3)常见参数
mount 命令选项常见参数列表
选 项 参 数 含 义 -a 依照/etc/fstab 的内容装载所有相关的硬盘 -l 列出当前已挂载的设备、文件系统名称和挂载点 -t 类型 将后面的设备以指定类型的文件格式装载到挂载点上。常见的类型有前面介绍过的几
种:
vfatext3ext2iso9660nfs -f 通常用于除错。它会使 mount 不执行实际挂上的动作,而是模拟整个挂上的过程,通常
会和
-v 一起使用
例:mount -t vfat /dev/hda1 /mnt/c  umount /mnt/c 卸载

5.其他常见命令
ls 命令常见参数列表
选 项 参 数 含 义 -1--format=single-column 一行输出一个文件(单列输出) -a-all 列出目录中所有文件,包括以“.”开头的文件 -d 将目录名和其他文件一样列出,而不是列出目录的内容 -l,--format=long,
--format=verbose
除每个文件名外,增加显示文件类型、权限、硬链接数、所有者名、组
名、大小(
Byte)及时间信息(如未指明是其他时间即指修改时间) -f 不排序目录内容,按它们在磁盘上存储的顺序列出
mkdir 命令常见参数列表
选 项 参 数 含 义 -m 对新建目录设置存取权限,也可以用 chmod 命令(在本节后会有详细说明)设置 -p 可以是一个路径名称。此时若此路径中的某些目录尚不存在,在加上此选项后,系统将自动
建立好那些尚不存在的目录,即一次可以建立多个目录


cat 命令常见参数列表
选 项 参 数 含 义 -n 由第一行开始对所有输出的行数编号 -b -n 相似,只不过对于空白行不编号
cp 命令常见参数列表
选 项 参 数 含 义 -a 保留链接、文件属性,并复制其子目录,其作用等于 dpr 选项的组合 -d 拷贝时保留链接 -f 删除已经存在的目标文件而不提示 -i 在覆盖目标文件之前将给出提示要求用户确认。回答 y时目标文件将被覆盖,而且是交互式拷贝 -p 此时 cp 除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中 -r 若给出的源文件是一目录文件,此时 cp 将递归复制该目录下所有的子目录和文件。此时目
标文件必须为一个目录名


mv 命令常见参数列表
选 项 参 数 含 义 -i mv 操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,并要求用户回答 y
n,这样可以避免误覆盖文件 -f 禁止交互操作。在 mv 操作要覆盖某已有的目标文件时不给任何指示,在指定此选项后,i
选项将不再起作用

chown:修改文件所有者和组别。
chgrp:改变文件的组所有权。
chown chgrp 命令常见参数列表
选 项 参 数 含 义 -c-changes 详尽地描述每个 file 实际改变了哪些所有权 -f--silent,--quiet 不打印文件所有权就不能修改的报错信息

chmod 可使用符号标记进行更改和八进制数指定更改两种方式,因此它的格式也有两种
不同的形式。
① 符号标记:chmod [选项]…符号权限[符号权限]…文件
其中的符号权限可以指定为多个,也就是说,可以指定多个用户级别的权限,但它们中
间要用逗号分开表示,若没有显示指出则表示不作更改。
② 八进制数:chmod [选项] …八进制权限 文件…

chmod 命令常见参数列表
选 项 参 数 含 义 -c 若该文件权限确实已经更改,才显示其更改动作 -f 若该文件权限无法被更改也不要显示错误信息 -v 显示权限变更的详细资料 转化后 8 进制数、2 进制及对应权限的关系
转换后 8 进制数 2 进 制 对 应 权 限 转换后 8 进制数 2 进 制 对 应 权 限 0 000 没有任何权限 1 001 只能执行 2 010 只写 3 011 只写和执行 4 100 只读 5 101 只读和执行 6 110 读和写 7 111 读,写和执行


grep [选项] 格式 [文件及路径]
其中的格式是指要搜索的内容格式,若缺省“文件及路径”则默认表示在当前目录下搜索。
grep 命令常见参数列表
选 项 参 数 含 义 -c 只输出匹配行的计数 -I 不区分大小写(只适用于单字符) -h 查询多文件时不显示文件名 -l 查询多文件时只输出包含匹配字符的文件名 -n 显示匹配行及行号 -s 不显示不存在或无匹配文本的错误信息 -v 显示不包含匹配文本的所有行
grep 特殊用法:
grep pattern1|pattern2 files:显示匹配 pattern1 pattern2 的行;
grep pattern1 files|grep pattern2:显示既匹配 pattern1 又匹配 pattern2 的行;
使用通配符“*”代表任意字符类似

find [路径][选项][描述]
其中的路径为文件搜索路径,系统开始沿着此目录树向下查找文件。它是一个路径列表,
相互用空格分离。若缺省路径,那么默认为当前目录


find 选项常见参数列表
选 项 参 数 含 义 -depth 使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容 -mount 不在其他文件系统(如 MsdosVfat 等)的目录和文件中查找
find 描述常见参数列表
选 项 参 数 含 义 -name 支持通配符*? -user 用户名:搜索文件属主为用户名(ID 或名称)的文件 -print 输出搜索结果,并且打印
/etc 目录中查找大于 500000 字节,并且在 24 小时内修改的某个文件 如“find /etc -size +500000c -and -mtime +1



locate 用于查找文件。其方法是先建立一个包括系统内所有文件名称及路径的数据库,之后当
寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。因此其速度比
find 快很多。
locate 命令常见参数列表
选 项 参 数 含 义 -u 从根目录开始建立数据库 -U 指定开始的位置建立数据库 -f 将特定的文件系统排除在数据库外,例如 proc 文件系统中的文件 -r 使用正则运算式做寻找的条件 -o 指定数据库存的名称
locate issue -U ./
updatedb
locate -r issue*
在当前目录下建立了一个数据库,并且在更新了数据库之后进行正则匹配查找。





例: mkdir -p ./hello/my
mkdir -m 777 ./why
cat -n hello1.c hello2.c
cp -a ./my/why/ ./
mv -i ./my/why/ ./
rm –r -i ./why
chown root uClinux-dist.tar
chmod a+rx,u+w uClinux20031103.tgz
chmod 765 genromfs-0.5.1.tar.gz
grep "hello" / -r

find ./ -name qiong*.c