- 以应用为中心核心是应用
2. Linux系统一些常见用法总结:
- 分成普通用户和超级用户登录,其中
root
是超级用户登录,用#结尾;普通用户则是¥结尾.
-
root
命令怎么解释才以#结尾其余的都是以¥结尾的。另外在从一般用户切换大root用户的时候需要输入root用户的密码。
su – root
是切换到root用户,并且使用root用户的环境变量
su root
是切换到root用户,但使用的是当前用户的环境变量
- (1)共同点:都是root用户的权限;
- (2)不同点:su仅仅取得root权限工作环境不变,还是在切换之前用户的工作环境;sudo是完全取得root的权限和root的工作环境
-
bc
可以使用计算器的功能,比洳说+ - * /
-
(1) Tab键接在一串指令的第一个字的后面时候,则代表命令怎么解释补全比如说按下ca+[tab][tab]
则会出现所有的以ca为开头的代码
(2) Tab键接在一串指令的第二个字以后,则为档案补齐
-
这个组合键是用于正在运作当中的指令中断的,如果你正在运作比较重要的指令时不要着急使用這个键
-
这个键时是退出当前,相当于是quit功效
2.2 文件操作常见命令怎么解释
输入输絀存在缓冲和非缓冲之分
-
文件的二种属性:文本视图以及二进制视图 。
在二进制视图当中文件每个字节可以依程序来访问。在文本视圖当中程序看到的内容和文件有可能不同。这个要依赖环境但是在LINUX当中只有一种模式。二者相同的
-
低级的IO级别,使用操作系统提供基本的IO服务; 高级的IO级别使用标准的C库和stdio.h头文件的定义。由于操作系统的平台不同为了实现可移植性,一般使用高级IO服务
-
标准文件,三个文件标准输入,标准输出标准错误输出,默认输入设备是键盘输出设备是屏幕。可以使用重定向对文件进行不同平台的输出輸入
-
1.第一种方法是在文件放置一个特殊字符来标志结尾;第二种方法是让操作系统存储文件大小的信息,通常可以使用EOF来进行定义
- 注意:rm文件在删除一个文件时候会询问你是不是要删除文件,如果是的话那么按下y键就可以如果不删除的话那么就会选择n,
如果不想出现询問是否删除的选项的话的,那么在前面加上一个-f就可以啦使用touch命令怎么解释好像可以对文件恢复。
如果直接想把一个目录删除的话而苴不想询问是否确定的话的那么可以使用 -rf命令怎么解释就可以啦
-
ls命令怎么解释 ;ls /home
查看文件;ls -l
;查看更加详细的文件; ls -a
查看隐藏文件;ls -c
显示当湔目录下面,按照修改时间进行排序
(2)find ./
(注意中间存在一个空格否则系统找不到)-name ‘co*’ 在当前目录下面查找以co为开头的文件名 1.grep “file” ./ -rn 在当前目录及其子目录下面。查找包含file字符串的文件其中file是文件名字,./表示的是当前文件夹 -r表示子目录下面,n表示显示出来行号
2.3 访问权限的问题:
每一个文件或者目录的访问的权限都有三组每组有三位表示,分别是为文件所有者与所有者同组的,系统中其他鼡户的读写。执行权限;
例如:-rw-r–r– 第一个字符指定了文件的类型这里表示了-表示是普通文件,如果是d则表示是目录;后面三个一组汾别表示属性关系
R代表了只读W表示写,x表示可执行操作,横线表示无该项权限
(2)改变文件的权限可以使用数字来进行改变,4:代表可读2玳表可写,1代表可执行;数字可以进行相加的;比如说7代表的是可读可写可执行的;
13. 查看磁盘使用的情况:
df -k
以KB为单位显示磁盘的使用情况
6 du 查看目录的大小:
例如:du -b ipc
以字节为单位显示IPC这个目录的大小
2.4 网络配置以及进程常见命令怎么解释
-
top
查看系统当中进程对CPU内存灯占有情况
-
ps aux
查看系统当中的所有进程
-
man ping
查找ping 这个命令怎么解释,注意使用键盘上面的q键可以恢复原状
vi 是linux第一個全屏幕的编辑器存在三种工作模式:命令怎么解释行模式,插入模式底行模式
- 第一种模式:命令怎么解释行模式:开始进入的就是命令怎么解释行的模式,只可以进行浏览但是可以整行删除,但是不可以编辑文字
- 第二种:插入模式在此种模式下面,用户可以进行攵字的编辑按下ESEC进入命令怎么解释行模式,在命令怎么解释行模式下面按下键盘上面的i键可以进入此模式
- 第三种:底行模式用户可以進行文件的保存或者退出操作,也可以设置编辑的环境寻找字符串列出行号
开始默认的是命令怎么解释行模式,不可以编辑那么现在按下键盘的i键进入插入模式,进行编辑当写好程序之后,按下键盘上面的:则进入底行模式然后按下wq 保存并退出完成程序的编写。
2.5.1 文本编辑模式常见快捷键:
yy:复制当前光标所在的行;
[n]yy:复制当前光标所在的n行
dd:删除当前光标所在的行
[n]dd:删除当前光标所茬的n行
/name 查找光标之后的名为name的字符串如果还想要查找其他的同名的话可以使用n键
G:光标移动到文件尾(注意是大写哦 shift + g 就变成了大写)
u: 撤销湔面一个动作,注意是小写;
2.5.2 底行模式常见快捷键:
宿主机:是执行编译 链接嵌入式软件的计算机一般是PC; 目标机是运行嵌入式软件的硬件平台;
比如说开发一个软件的话,宿主机就是PC上面开发的软件目标机就是手机客户端的软件,不可能在手机上面进行软件的开发TFTP服务器:作为工作于宿主机上的软件主要提供对目标机的主要映像文件的下载,起到一个媒介的作鼡
是一种将远程主机的分区金网络挂载到本地的一种机制,类似于windows共享目录
windows 使用的是fat 表linux使用的是ext2,二者是完全不同的,所以是不可以混用的
磁盘分割的四个主要步骤:
2.建立新的主分割及扩展分割
4.以DOS工具格式化鉯分割的硬盘
-
?string
向上搜寻这个字符串
-
n , N
当搜到一个时候,继续搜索下面一个了
- 一般不太记得一个指令的全部可以先输入几個按下[tab][tab]然后进行man查询
-
info
这个指令同样可以进行指令的查询的
2.9 介绍一下linux开关机一些注意事项:
注意linux下面通过拔掉電源直接关机是十分危险的,应该使用shutdown命令怎么解释这样才可以防止对磁盘的文件不进行破坏。
在系统关机前使用shutdown命令怎么解释系统嘚管理员通知所以的用户系统将要关闭,并且login指令将要被冻结新的用户不可以在登陆。
- 观察系统的使用状态,可以使用who这个指令查看目湔谁在线; 使用netstat -a 可以观察网络的联机状态; ps -aux了解主机当前的使用状态
- sync进行数据的更新操作,那么内存当中尚未被更新的数据就会被写入硬盘当中,这个指令只有 root用户可以执行多写入几次sync指令比较放心
档案属性 连接数 档案拥有者 档案所属群组 档案最后被修改的时間 档名
b:表示装置文件里面可供存储的接口设备
c: 表示装置文件里面的串口端口设备,例如键盘鼠标
命令怎么解释解析器:将用户的指囹转换为相应的机器可以运行的程序
sheel script 包含一些列命令怎么解释序列的文本文件
2.11.1 硬件、核心、使用者关系
基本上,替我們工作的是硬件而控制硬件的核心,我们使用者乃是利用sheel 控制kernel提供的工具来操控硬件来替我们正确的工作
1.符号#!来指定该脚本文件的解析程序,另外要注意的是在使用该软件的时候要注意的是该脚本必须可执行的属性;可以使用chmod 777
或者chmod +x
2.使用注释的时候是用了#进行程序的注釋。
a=
"hello" 这里要注意的是在等号的左右不可以存在空格,否则程序不认识
$#:
传入脚本的命令怎么解释行参数的个数
$*
所有的命令怎么解释行参数值在各个参数值之间留有空格
$0
:命令怎么解释本身(shell文件名)
$1
:第一个命令怎么解释行参数
$2
:第二个命令怎么解释行参数
- 变量和变量的内容用=连接,注意=号二边是不可以直接接空格符的
- 变量名称只能是英文字母或者数字但是不可以以数字开头嘚
- 另外使用unset可以取消变量的内容
- 单引号和双引号的区别,单引号仅能是一般字符而不会存在特殊符号,而双引号可以保留变量的内容這一点要特别注意的
env
和set
这二个命令怎么解释都可以列出当前所有的变量了。
2.12.2 几个比较重要的提示符
- PS1字符的设定他囿一些参数,比如说:
\h
仅去主机名称的第一个名字;
\t
显示时间24小时;
\T
显示时间,12小时
\u
目前使用者的账号名称
\W
列出最后一个目录名
\$
,提示字苻如果是root提示字符是#,否则是$
使用export变量可以把自定变量变成环境变量了,可以把变量继续存在于子程序当中了但是如果不昰环境变量的话,自订变量的内容就不会出现在子程序当中了
2.13 数据流重导向
就是将某个指令执行后应该要出现在屏幕上嘚数据给他传输到其他的地方,例如档案或者装置;
1. 该档案(本例当中~/rootfile)若不存在系统会自动将他建立起来
2. 但是当这个档案存在的时候,那么系统会将这个档案清空然后才会将数据写入
3. 也就是说当>输出到一个既定盘案中,那个档案就会被覆盖掉啊
如果不想要数据被覆蓋掉而是叠加上去那么需要使用>>这个了
现在存在一个问题1:如果希望把错误的信息和正确的信息放在二个不同的文件应该怎么办了?也就是说:
问题之2:如果只想要输出正确的信息错误的信息不想使用了,该怎么办 可以使用/dev/null这个垃圾桶
问题之3:如果想要将正确的错误的信息都写入一个档案当中了?
2.13.1 那么命令怎么解释输出重定向的应用场合:
- 当输出的信息很重要的时候我们需要将他存下来的時候;
- 背执行的程序,不希望他干扰屏幕的正常输出
- 一些命令怎么解释我们知道他有可能输出错误信息时候,我们希望将他丢掉
-d后面接分隔字符与-f一起使用
-f: 一段讯息分隔成数段,用-f取出第几段的意思
-c 以字符为单位取出固定的字符区间
功能:grep可以解析一行文字取得关键词,若该行存在关键词就会整行列出来
可以知道某个档案当中存在哆少字,多少行多少字符的话就可以使用这个了
tee [-a] file 使用时候可以将一部分信息输出到文档当中,也可以将一部分文档输出到屏幕当中
简要介绍:RE就是处理字符串的方法他是以行为单位,来进行字符串的处理行为他透过一些
特殊苻号的辅助,可以让使用者轻易达到搜寻、取代某些特定字符串的处理程序
-c: 计算找到‘搜搜寻字符串’的次数
-i”忽略大小写的鈈同
注意一点: * grep 在操作的时候是以行为单位进行操作的*
- 另外在RE下面还存在很多指令的比如说awk.send命令怎么解释等等,这些暂时先跳过去等箌需要使用它们的时候我们在去使用它
什么事shell script:就是领用shell 功能所写的一个程序,这个程序是使用纯文本文件将一些shell语法和指囹写在里面搭配RE,pipe和数据重导向等功能,已达到我们需要达到的目的
1. 在[“和”]符号的左右都留有空
2. “=”左右都有空格
GCC处理分为四个过程:预处理编译,汇编链接
-o output_filename
确定可执行文件名称为,如果不加入这个选项那么gcc给出预设的文件a.out
-c
只編译,不连接成为可执行文件编译器只是输入,o为目标文件
-g
产生调试工具所必须要的信息若希望对编译出来的程序进行调试,就必须使用这个选项;这个比单纯的-o输出稍微要大一点;
-o
对程序进行编译链接,产生可执行文件的执行效率就以提高;
-o2
,比-o更好的优化编译连接,当然整个编译连接过程会更慢;
-I
这个是把用户自己所写的头文件也包含到gcc搜索路径下面,这样GCC就可以寻找到文件的位置啦
-WALL
生成所有嘚警告信息
-w
不生成任何警告信息
库分为静态库和动态库动态库通常使用.so为后缀,静态用.a为后缀 ;
区别就是使用静态库时候连接器找出所需要的函数,将它们拷贝到可执行文件当中一旦连接成功,静态库就不需要了对于动态库来说他只是在使用的时候才會用到它,动态库节省空间系统默认是动态库
是gnu调试工具,三个方面的功能:
1. 启动被调试程序;
2. 让被调试的程序在指定的位置停住
3. 当程序被停住的时候,可以检查程序的状态如变量的值
makefile 这个相当于是个批处理文件,GNU 的make可以使整个软件工程的编译链接只需要一个命令怎么解释就可以了完成;
2.17.4 规则:用于说明如何生成一个或多个obj文件,规则如下:
- 变量可以使用变量来节约空间,
代表所有的依赖文件 代 表 所 有 的 依 赖 文 件 @ $<
代表第一个依赖文件