目录
大小端的区别以及各自的优点,哪种时候用。(判断大小端的三种方式)
在有数据cache情况下,DMA数据链路为:外设-DMA-DDR-cache-CPU,CPU需要对cache做什么操作,才可以得到数据
Linux
-
进程
-
基础指令
-
ls(list)
- ls 选项 路径
- 选项
- -l
- list,以详细列表形式展示
- -a
- all,显示所有(包含隐藏)
- -ls
- 可读性高,显示文档大小
- -l
- 选项
- ls 选项 路径
-
pwd
- print working directory,打印当前工作目录
-
cd
- change directory,改变目录
- cd ~,切换到当前用户的家目录
- change directory,改变目录
-
mkdir
- make directory,创建目录
- mkdir -p 路径
- 当一次性创建多层不存在的目录的时候,添加-p参数,否则会报错
- mkdir 路径1 路径2 路径3 …. 【表示一次性创建多个目录】
- mkdir -p 路径
- make directory,创建目录
-
touch
- 创建文件
-
cp
- copy,复制
- 复制文件/文件夹到指定的位置
- cp 被复制的文档路径 文档被复制到的路径
- Linux在复制过程中是可以重新对新位置的文件进行重命名
- copy,复制
-
mv
- move,移动,剪切
- mv 需要移动的文档路径 需要保存的位置路径
- 可改名
- mv 需要移动的文档路径 需要保存的位置路径
- move,移动,剪切
-
rm
- remove,移除、删除
- -f:force,强制删除,不提示是否删除-r:表示递归
- remove,移除、删除
-
cat
- cat 文件的路径
- 打开一个文件
- cat 待合并的文件路径1 待合并的文件路径2 …. 文件路径n > 合并之后的文件路径
- cat 文件的路径
-
输出重定向
- >,覆盖输出
- >>,追加输出
-
-
进阶指令
-
df
- 查看磁盘的空间使用 Disk space usage of File system
- df -h -h表示以可读性较高的形式展示大小
-
free
- 查看内存使用情况
- Swap:用于临时内存,当系统真实内存不够用的时候可以临时使用磁盘空间来充当内存
-
head
- 查看一个文件的前n行,如果不指定n,则默认显示前10行
- head -n 文件路径 【n表示数字】
-
tail
- 查看一个文件的未n行,如果n不指定默认显示后10行
- tail -n 文件的路径
-
less
- 查看文件,以较少的内容进行输出
- less 需要查看的文件路径
-
wc
- 统计文件内容信息(包含行数、单词数、字节数)
- wc -lwc 需要统计的文件路径
- -l:表示lines,行数 -w:表示words,单词数 依照空格来判断单词数量-c:表示bytes,字节数
-
date
- 表示操作时间日期(读取、设置)
- 语法1:#date 输出的形式:2018年 3月 24日 星期六 15:54:28语法2:#date +%F (等价于#date “+%Y-%m-%d” ) 输出形式:2018-03-24语法3:#date “+%F %T” 引号表示让“年月日与时分秒”成为一个不可分割的整体 等价操作#date “+%Y-%m-%d %H:%M:%S” 输出的形式:2018-03-24 16:01:00语法4:获取之前或者之后的某个时间(备份)#date -d “-1 day” “+%Y-%m-%d %H:%M:%S”
- 表示操作时间日期(读取、设置)
-
cal
- 操作日历
- 语法1:#cal 等价于 #cal -1 直接输出当前月份的日历语法2:#cal -3 表示输出上一个月+本月+下个月的日历语法3:#cal -y 年份 表示输出某一个年份的日历
- 操作日历
-
clear/ctrl + L指令
- 命令并不是真的清除了之前的信息,而是把之前的信息的隐藏到了最上面,通过滚动条继续查看以前的信息
-
管道
- 管道符:|作用:管道一般可以用于“过滤”,“特殊”,“扩展处理”。语法:管道不能单独使用,必须需要配合前面所讲的一些指令来一起使用,其作用主要是辅助作用。
- #ls / | grep y针对上面这个命令说明:①以管道作为分界线,前面的命令有个输出,后面需要先输入,然后再过滤,最后再输出,通俗的讲就是管道前面的输出就是后面指令的输入;②grep指令:主要用于过滤
- ls / | wc -l
- 统计某个目录下的文档的总个数
-
-
高级指令
-
hostname
- 操作服务器的主机名(读取、设置)
-
id
- 查看一个用户的一些基本信息(包含用户id,用户组id,附加组id…)
-
whoami
- 显示当前登录的用户名
-
ps -ef
- processes,查看服务器进程信息
- -e:等价于“-A”,表示列出全部的进程-f:显示全部的列(显示全字段)
- UID:该进程执行的用户id;PID:进程id;PPID:该进程的父级进程id,如果一个程序的父级进程找不到,该程序的进程称之为僵尸进程(parent process ID);C:Cpu的占用率,其形式是百分数;STIME:进行的启动时间;TTY:终端设备,发起该进程的设备识别符号,如果显示“?”则表示该进程并不是由终端设备发起;TIME:进程的执行时间;CMD:该进程的名称或者对应的路径;
- ps -ef|grep “进程名称”
- processes,查看服务器进程信息
-
top
- 查看服务器的进程占的资源
- 动态显示,按q退出
- PID:进程id;USER:该进程对应的用户;PR:优先级;VIRT:虚拟内存;RES:常驻内存;SHR:共享内存;实际使用的内存 = 常驻内存(RES)- 共享内存(SHR)S:表示进程的状态status(sleeping,其中S表示睡眠,R表示运行);%CPU:表示CPU的占用百分比;%MEM:表示内存的占用百分比;TIME+:执行的时间;COMMAND:进程的名称或者路径;
- 快捷键:M:表示将结果按照内存(MEM)从高到低进行降序排列;P:表示将结果按照CPU使用率从高到低进行降序排列;1:当服务器拥有多个cpu的时候可以使用“1”快捷键来切换是否展示显示各个cpu的详细信息;
- 查看服务器的进程占的资源
-
du -sh
- 查看目录的真实大小
- du -sh 目录路径
- -s:summaries,只显示汇总的大小-h:表示以高可读性的形式进行显示
-
find
- 用于查找文件
- find 路径范围 选项 选项的值
- 选项: -name:按照文档名称进行搜索(支持模糊搜索) -type:按照文档的类型进行搜索文档类型:“-”表示文件(在使用find的时候需要用f来替换),“d”表示文件夹
- find /etc -name *.conf
- find /etc/sane.d/ -type f
- find /etc -type d
- 用于查找文件
-
service
- 用于控制一些软件的服务启动/停止/重启
- service 服务名 start/stop/restart
-
kill
- 表示杀死进程(当遇到僵尸进程或者出于某些原因需要关闭进程的时候)
- kill 进程PID
-
killall
- killall 进程名称
-
ifconfig
- 获取网卡信息
- inet addr就是网卡的ip地址
- 获取网卡信息
-
netstat
- 查看网络连接状态
- netstat -tnlp
- 选项说明: -t:表示只列出tcp协议的连接; -n:表示将地址从字母组合转化成ip地址,将协议转化成端口号来显示; -l:表示过滤出“state(状态)”列中其值为LISTEN(监听)的连接; -p:表示显示发起连接的进程pid和进程名称;
-
reboot
- 重启
- reboot -w 模拟重启
-
shutdown
- 关机
- #init 0#halt#poweroff
- 关机
-
uptime
- 输出计算机的持续在线时间(计算机从开机到现在运行的时间)
- unname
-
获取计算机操作系统相关信息
- uname -a all,表示获取全部的系统信息(类型、全部主机名、内核版本、发布时间、开源计划)
-
-
man
- manual,手册(包含了Linux中全部命令手册,英文)
-
-
自有服务
-
运行模式
- #init 0 表示关机#init 3 表示切换到不带桌面的模式#init 5 切换到图形界面#init 6 重启电脑
-
用户管理
- useradd 选项 用户名
- -g:表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名-G:表示指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名-u:uid,用户的id(用户的标识符),系统默认会从500之后按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义【类似于腾讯QQ的自选靓号情况】-c comment:添加注释
- usermod 选项 用户名
- user modify,用户修改
- usermod -l 新的用户名 旧的用户名
- passwd 用户名
- su [用户名] (switch user)
- userdel 选项 用户名
- useradd 选项 用户名
-
用户组管理
- groupadd 选项 用户组名
- groupmod 选项 用户组名
- groupdel 用户组名
-
hostname
- 设置主机名
-
chkconfig
- 提供“开机启动项”的一个管理服务
- chkconfig --list
-
ntpdate 时间服务器的域名或ip地址
-
cron/crontab 计划任务
-
-
权限管理
-
owner、group、others
-
read、write、execute
-
chmod 选项 权限模式 文档
- -R:递归设置权限 (当文档类型为文件夹的时候)
- 如果想要给文档设置权限,操作者要么是root用户,要么就是文档的所有者
- u:表示所有者身份owner(user)g:表示给所有者同组用户设置(group)o:表示others,给其他用户设置权限a:表示all,给所有人(包含ugo部分)设置权限如果在设置权限的时候不指定给谁设置,则默认给所有用户设置
- r:读w:写x:表示执行-:表示没有权限
- ①#chmod +x s.cfg②#chmod a=x s.cfg③#chmod a+x s.cfg
- 数字形式
- 读:r-4写:w-2执行:x-1
- 但凡出现2与3的数字,则该权限有不合理的情况
- 读:r-4写:w-2执行:x-1
- 权限分配方式: +:表示给具体的用户新增权限(相对当前) -:表示删除用户的权限(相对当前) =:表示将权限设置成具体的值(注重结果)【赋值】
-
chown
- 更改文档的所属用户
-
chgrp
- 更改文档的所属用户组
-
sudo(switch user do)
-
-
ssh服务
-
远程连接协议、远程文件传输协议
-
协议使用端口号:默认是22
- a. 注意范围,端口范围是从0-65535;b. 不能使用别的服务已经占用的端口;
-
-
网络基础
-
ping
- 检测当前主机与目标主机之间的连通性
-
netstat
- 表示查看网络的连接信息
- #netstat -tnlp(-t:tcp协议,-n:将字母转化成数字,-l:列出状态为监听,-p:显示进程相关信息)#netstat -an(-a:表示全部,-n:将字母转化为数字)
- 表示查看网络的连接信息
-
traceroute
- 查找当前主机与目标主机之间所有的网关(路由器,会给沿途各个路由器发送icmp数据包,路由器可能会不给响应)
- traceroute 主机地址
-
arp
- 根据IP地址获取(MAC)物理地址的协议
- 常用语法:#arp -a 查看本地缓存mac表 #arp -d 主机地址 删除指定的缓存记录
-
-
vim
-
命令模式(默认)
- 分支主题
-
编辑模式
- i(insert)、a(after)
-
末行模式
- 按下“:”或者“/(表示查找)”即可进入
- ①保存操作(write)输入:“:w” 保存文件输入:“:w 路径” 另存为 ②退出(quit)输入:“:q” 退出文件 ③保存并退出(修改时间会更新)输入:“:wq” 保存并且退出“:x”在文件没有修改的情况下,表示直接退出,在文件修改的情况下表示保存并退出; ④强制 (!)输入:“:q!” 表示强制退出,刚才做的修改操作不做保存
- 按下“:”或者“/(表示查找)”即可进入
-
-
基础知识
-
路径
- 相对路径
- ./【表示当前目录下】
- ../【表示上一级目录下】
- 绝对路径
- /root/luo/XXX
- 相对路径
-
-
线程
-
gdb
-
Linux内核的组成部分
-
用户空间与内核通信方式有哪些?
-
系统调用read()/write(),内核具体做了哪些事情
-
系统调用与普通函数调用的区别
-
内核态,用户态的区别
-
bootloader内核 、根文件的关系
-
Bootloader启动过程:
-
linux下检查内存状态的命令
-
大小端的区别以及各自的优点,哪种时候用。(判断大小端的三种方式)
-
一个程序从开始运行到结束的完整过程(四个过程)
-
什么是堆,栈,内存泄漏和内存溢出?
-
堆和栈的区别5、死锁的原因、条件
-
硬链接与软链接的区别;
-
虚拟内存,虚拟地址与物理地址的转换
-
计算机中,32bit与64bit有什么区别
-
中断和异常的区别
-
中断怎么发生,中断处理流程11、
-
Linux 操作系统挂起、休眠、关机相关命令
-
编译优化选项 -o
-
在有数据cache情况下,DMA数据链路为:外设-DMA-DDR-cache-CPU,CPU需要对cache做什么操作,才可以得到数据
-
linux中改变文件属性的命令:chmod
-
linux中查找文件中匹配字符串的命令:grep
-
Makefile
- 只编译改动的