一、Linux指令
类型 | 命令 | |
---|---|---|
路径 | 绝对路径:/etc/init.d | 当前目录 ./ 上层目录: . ./ 主目录~/ |
切换目录: cd | 打印目录栈dirs | |
进程处理 | 查看当前进程:ps | 显示所有进程 ps -ef (system v 输出) ps -aux bsd 格式输出 |
查看指定进程ps -ef | 执行退出: exit | |
终止进程kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>] | 系统支持所有信息kill -l | |
disown -r | ||
任务执行 | 后台执行 &在命令结尾来让程序自动运行 | grep pid |
把后台任务调到前台执行 fg | 把停下的后台任务在后台执行起来 bg | |
查看当前路径: pwd | ||
控制 | 清屏: clear | 退出当前命令: ctrl+c 彻底退出 |
history查看用过的命令列表 | 查看当前用户 id: ”id“ | |
帮助 | man adduser 带例子; adduser --help 带常用参数; info adduesr; | whatis 查看一个linux命令的概要与用法 |
查看目录 | ls a 所有文件 l 详细信息,包括大小字节数可读可写可执行的权限 | |
建立链接 | 软链接(别名) ln -s slink source | 硬链接: ln link source |
创建 | 创建目录: mkdir | 创建文件touch,vi 也可以创建文件,向一个不存在的文件输出都会创建文件 |
复制文件: cp | ||
文件权限 | 文件权限修改: chmod | |
查看文件内容 | vi 文件名 #编辑方式查看,可修改 | cat 文件名 #显示全部文件内容 |
more 文件名 #分页显示文件内容 | less 文件名 #与 more 相似,更好的是可以往前翻页 | |
tail 文件名 #仅查看尾部,还可以指定行数 | head 文件名 #仅查看头部,还可以指定行数 | |
输出 | 向屏幕输出带空格的字符串:echo hello world | |
功能文件 | 终端文件/dev/tty | 黑洞文件 /dev/null(移到这个地方的文件会消失) |
文件操作 | 移动文件 mv | 改名 mv |
删除文件 rm | 连目录及目录下文件一块删除 rm -r | |
删除文件夹 rmdir | 复制目录复制cpio | |
查找 | 查找文件find <指定目录> <指定条件> <指定动作> | whereis 加参数与文件名 |
which 只能查可执行文件 | whereis 只能查二进制文件、说明文档,源文件等 | |
du 显示目录或文件的大小 | df 显示每个<文件>所在的文件系统的信息,默认是显示所有文件系统 | |
locate 只加文件名 | find 直接搜索磁盘,较慢 | |
find / -name “string*” | ||
文件统计 | wc 命令 - c 统计字节数 - l 统计行数 - w 统计字数 | |
符号匹配 | “?”可替代单个字符 | “*”可替代任意多个字符 |
方括号“[charset]”可替代 charset 集中的任何单个字符,如[a-z],[abABC] | ||
文本搜索 | grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来 | 忽略大小写grep [stringSTRING] |
磁盘 | 磁盘空间 | 磁盘空间df -hl |
环境变量 | 查看所有 env | 查看某个,如 home: env $HOME |
网络 | 查看网络是否连通 netstat | 查看 ip 地址及接口信息 ifconfig |
命令 | 使用命令compgen -c,可以打印出所有支持的所有命令列表 | |
bash shell | bash shell 中的hash 打印出你所使用过的命令以及执行 | bash shell 的内置命令let 可以进行整型数的数学运算 |
系统日志 | syslogd 跟踪系统信息,并将跟踪日志存储在特定的日志文件里 | logrotate’提供日志自动循环功能 |
压缩 | 解压zip -r unzip | |
管理权限 | sudo系统管理命令,管理员权限 | |
数据字典 | 'SYS’用户拥有数据字典.用户 'SYS’和 'SYSEM‘都是被默认自动创建 | |
宏绑定 | bash里有一个叫做bind的命令可以用来定义宏,或绑定一个键 |
ps
(1)文件权限
$ chmod u+x file 给 file 的属主增加执行权限
$ chmod 751 file 给 file 的属主分配读、写、执行(7)的权限,给 file 的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
$ chmod u=rwx,g=rx,o=x file 上例的另一种形式
$ chmod =r file 为所有用户分配读权限
$ chmod 444 file 同上例
$ chmod a-wx,a+r file同上例
$ chmod -R u+r directory 递归地给 directory 目录下所有文件和子目录的属主分配读的权限
(2)Linux进程状态及ps查看
- D 不可中断状态:进程处于睡眠状态,但是此刻进程是不可中断的。不可中断, 指进程不响应异步信号。
- T 暂停状态/跟踪状态:向进程发送一个 SIGSTOP 信号,它就会因响应该信号 而进入 TASK_STOPPED 状态;当进程正在被跟踪时,它处于 TASK_TRACED 这个特殊的状态。“正在被跟踪”指的是进程暂停下来,等待跟踪它的进程对它进行操作。
- R 就绪状态:在 run_queue 队列里的状态
- R 运行状态:在 run_queue 队列里的状态
- S 可中断睡眠状态:处于这个状态的进程因为等待某某事件的发生(比如等待 socket 连接、等待信号量),而被挂
- Z zombie 状态(僵尸):父亲没有通过 wait 系列的系统调用会顺便将子进程的尸体(task_struct)也释放掉
- X 退出状态,死掉的进程
(3)页面错误
当一个程序请求内存中不存在的数据时,就会产生页面错误,导致的结果就是程序停止
(4)硬链接和软连接区别
- 硬链接: 与普通文件没什么不同,inode 都指向同一个文件在硬盘中的区块
- 软链接: 保存了其代表的文件的绝对路径,是另外一种文件,在硬盘上有独立的区块,访问时替换自身路径。
(5) grep 文件中查找
(6)管道的使用 |
读出logcat.log文件的内容,通过管道转发给grep作为输入内容:
cat logcat.log | grep –n ‘ActivitManager’
命令:https://www.cnblogs.com/hystj/p/8552757.html
二、X86&ARM
CPU:中央处理单元(CPU)主要由运算器、控制器、寄存器三部分组成.运算器:起着运算的作用,控制器:负责发出CPU每条指令所需要的信息,寄存器:保存运算或者指令的一些临时文件,这样可以保证更高的速度。CPU有着处理指令、执行操作、控制时间、处理数据四大作用.
1、区别
X86:
(1)系统:常见于微软及Intel构建的Wintel联盟,兼容优势大
(2)优势:性能好,速度快
(3) 指令集:复杂指令集(CISC),X86目标是设计超高性能的服务器处理器
(4) 64运算处理:x86-64
(5)性能:X86性能优势较大,速度快
(6)拓展能力:容易进行性能扩展,如增加内存、硬盘等。
ARM
(1)系统:常见于linux,不方便移植
(2)优势:效率高,低功耗
(3)指令集:精简指令集(RISC),ARM目标是设计低功耗处理器
(4) 64运算处理:ARMv8 64,ARMv8使用了两种执行模式,AARCH32和AArch64.ARM设计的巧妙之处,是处理器在运行中可以无缝在两种模式间切换。这意味着64位指令的解码器是全新设计的,不用兼顾32位指令,而处理器依然可以向后兼容
(5)性能:ARM性能比较差,但其优势在于效率,ARM采用RISC流水线指令集,在完成综合性工作方面根本就处于劣势,而在一些任务相对固定的应用场合其优势就能发挥得淋漓尽致。
(6)ARM的存储、内存等性能扩展难以进行
CISC复杂指令集 | RISC精简指令集 | |
---|---|---|
指令系统 | 复杂、庞大 | 简单、精简 |
指令数目 | 一般大于200 | 一般小于100 |
指令格式 | 一般大于4 | 一般小于4 |
寻址方式 | 一般大于4 | 一般小于4 |
指令字长 | 不固定 | 等长 |
可访存指令 | 不加限制 | 只有取数/存数指令 |
各种指令使用频率 | 相差大 | 相差大 |
各种指令执行时间 | 相差大 | 绝大多数一个周期内完成 |
优化编译实现 | 难 | 容易 |
程序源码长度 | 短 | 长 |