第一次写博客,如果下面知识点有误,勿喷,请评论指出,我会加以改进。欢迎交流,谢谢。
参考:https://study.163.com/course/courseMain.htm?courseId=1373006
目录
扫描二维码关注公众号,回复:
12411052 查看本文章

基础
一、操作系统的基础概念
(一) Windows与Linux的关系
当前主流操作系统:windows、linux、android、ios、symbian、unix
-
Windows特点:傻瓜式,好学习;初衷:让所有人都会用电脑
-
Linux特点:所有用户为专业人士,操作麻烦,学习起来较难;免费,开源,性能好,可移植性好,设计理念好;嵌入式工业自动化
-
Android特点:移动操作系统,基于linux;消费电子
-
ios特点:很优秀,创造性,走钢丝
(二)多机开发:双系统与虚拟机
开发嵌入式程序,需要linux环境。但是因为:Windows中有许多很好用的软件,茹notepad++,所以也需要Windows。
既需要windows,又需要linux。
-
双系统:不能同时使用不方便;
-
两台电脑:不方便,成本高
-
虚拟机:方便,损失性能,与真机微小差异
现实中:
-
个人开发者:虚拟机
-
大公司:服务器+客户端,真机
(三)搭建开发环境
-
虚拟机软件:就是一个单纯的在windows中运行的软件。主流的虚拟机软件是VMWare和VirtualBox
虚拟机软件在windos系统中运行,运行后它会模拟出来一个电脑,所以叫做虚拟机。然后我们可以在该虚拟机中安装别的操作系统。
安装步骤:
下载安装vmware workstation (版本16)
下载ubuntu(或centos)镜像,linux系统一种(版本20.04)
下载xftp 传输文件,xshell 命令框(版本7)
安装vim ,支持linux系统的编辑器
安装sshd服务器,用于连支持ssh连接,连接xshell(ssh ip地址)
遇到问题:
1.安装虚拟机需要注意bios打开Internet virtual technology 为enable,进入bios需要快速按键
2.xshell无法连接root用户时,需要将shhd_config文件内PermitRootLogin 的注释去掉,值改为yes;然后重启sshd服务器,命令为systemctl restart sshd
-
linux系统
(四)隐藏文件和非隐藏文件
-
Windows中:文件隐藏与不隐藏通是过设置文件属性实现的:右键文件属性,选择勾选隐藏选项设置文件为隐藏文件。
查看隐藏文件方法,菜单->查看->勾选隐藏的项目(win10)
-
Linux中:隐藏文件特点是文件名与.开头,跟文件属性无关。在linux中查看隐藏文件用 ls -a命令(普通显示 ls,a是all的意思)
关于ls命令:
ls 显示普通文件 ls -a 显示所有文件 ls -l 显示文件细节 ll 显示所有文件及细节
(五)相对路径与绝对路径
-
什么是路径:路径是用来标识一个文件在操作系统的文件系统中存储位置的。 path name全路径(path纯路径,name文件名)
-
绝对路径:路径是从绝对位置开始的。Windows中从盘符开始(C:\);linux从从根目录开始(/)
-
相对路径:指明路径的时候,是从当前所在的位置开始的。(linux中, .. 表示上一层目录); 好移植
-
二、Linux基础知识与技能
(一)linux内核、发行版
linux本身指的是一个操作系统的内核,只有内核是无法直接使用的。我们需要的, 可以使用的操作系统是一个包含了内核和一批有用的应用程序的集合体,这个就叫linux的发行版
。
Ubuntu,Redhat就是linux的不同的发行版。
(二)GUI(图形化界面)和cmdline(命令行)的区别
-
GUI:grahics user interface,图形用户界面
-
cmdline:command line,命令行
-
人机交互:人和机器(计算机)进行交互
-
windows下既有GUI,又有命令行;linux中也是既有GUI,又有命令行。一般在生活中,我们在windows中使用GUI,在linux中使用命令行
(三)linux常用命令
-
ls(list,列表):使用列表把当前文件夹下所有文件显示出来;
-
ls -a 显示所有文件包括隐藏文件(或la)
-
ls -l 以详细信息显示
-
ls -a -l 以详细信息显示所有文件包括隐藏文件(或ls -al 、ls -la、ls -l -a、ll )
-
-
man 查询man手册,获得帮助信息 ( man 1 ls 或man ls) 1表示查询的是linux命令;2表示查询的linux API;3查询的是c库函数
-
cd(change directory,更改目录):切换目录
-
cd .. 返回上一层目录
-
cd . 当前目录
-
-
./ 执行程序:在当前目录下有一个程序
-
pwd(print working directory。打印工作路径):绝对路径
-
mkdir(make directory,创建文件夹):创建空文件夹
-
mkdir -p 级联创建多级目录
-
-
mv(move,移动文件):在目录间移动文件,修改文件名;mv 源文件pathname 目的文件 pathname
-
touch 创建文件 touch pathname
-
cp (copy,复制):复制文件;
-
cp -r 用来复制文件夹
-
cp -f 强制复制 实际操作时,一般都是cp -f复制文件;cp -rf 复制文件夹
-
-
rm (remove ,移除):用来删除文件
-
rm -r (r,recursive)删除文件夹
-
rm -f (f,force,强制)强制删除 实际操作时,一般都是rm -f 删除文件;rm -rf 删除文件夹
-
-
cat 直接在命令行下显示文件内容;文件内容较长时候使用vi更方便
-
rmdir (remove directory,删除文件夹)如果文件夹内有内容使用rm -r
-
ln(link,连接文件):硬连接,它实际上和源文件是同一个东西,效果类似于硬盘的一份文件,在文件系统上,在我们看来有好多个文件一样。每次删除一个文件时, 只要还有其他的硬链接存在,这个文件就不会被真正删除。只有等所有的连接文件都删除掉了,这个文件才会被真正从硬盘上删除。平时编程平常用的不多
-
ln -s 源文件名名 符号连接文件名 ln- s src linker linker就是src的一个符号连接文件;linux中叫做软连接(符号连接),等同于windows中快捷方式;Windows中快捷方式,实际上快捷方式和它指向的文件是独立的文件,两个兜占硬盘空间,只不过用户访问快捷方式时,其效果等同于访问指向的文件。
-
-
apt-get 在ubuntu中用来在线安装、卸载软件的程序
-
app-get install appt-get remove 注意,安装和卸载都是在线的,也就是说Ubuntu必须能上网才能使用
-
通过apt-get下载的应用,会连接Ubuntu服务器去下载,下载下来的软件基本都是可用的
-
三、编辑器vi的使用
windows中常用编辑器自带的notepad,linux内自带的vi
注:vi和vim的关系:vim是vi的升级版,推荐使用vim;安装后使用的就是vim,vi会变为符号连接文件
(一)vi的基础使用
-
使用vi打开/创建一个文件,vi pathname
-
vi的两种模式:
-
命令模式:当vi打开时默认为命令模式,在命令模式下,最好不要乱输入。在此,应该输入相应的命令,来让做相应的事情。
-
输入模式:输入模式用来向文件输入内容。可以从命令模式中,按a或者i进入输入模式。输入完成后如果保存,要先退回命令模式(保存也是一种命令),在输入模式下按Esc键退回到命令模式。
-
注:注意看屏幕左下角,当命令模式时无提示信息或者提示文件名等信息,当处于输入模式时,提示-- INSERT --
-
在命令下模式下如何保存:
-
:wq 保存并且退出
-
:w 只保存不 退出
-
:q 不保存退出
-
:q! 不保存强制退出
-
:wq! 保存强制退出
-
(二)vi的高级使用
-
查找 : 在命令模式下,输入 /xxx 查找对应xxx
-
快速切换行: 在命令模式下,输入 :num ,就可以快速切换到num行
-
设置显示行号:在命令模式下,输入 :set nu ,就可以显示行号了;去掉行号 :set nonu
-
设置永久显示行号,需要修改配置文件,打开vi的配置文件 ~/.vimrc ,在其中输入set nu即可。
-
-
行删除:在命令模式下,先将光标移动到需要删除的行,输入dd
-
如果要删除连续多行,先将光标移动到需要删除行的第一行,然后输入需要删除的行数+dd
-
-
复制粘贴
-
复制:在命令模式下,nyy
-
粘贴:在命令模式下,p
-
细节:复制的时候需要把光标放在多行的第一行,粘贴时实际粘贴到当前光标所在行的下一行
-
(三)linux中权限表示与管理
-
普通用户与特权用户 su命令切换用户
-
Windows中有普通用户和特权用户,特权用户时Administrator,普通用户可以有很多个
-
特权用户是系统的管理员,对系统内所有文件具有操作权限。每个普通用户只能处理自己的文件,不能访问其他用户的文件,更不能随意处理操作系统的文件。
-
Linux中也有普通用户和特权用户的区别。特权用户就是root用户,普通用户权限受到限制(例如apt-get)。
-
-
rwx与权限表示 ls -l 后第一行有十个字符 第一位为文件类型;后9位为文件权限
-
前三个表示此文件的属主对文件的权限
-
中间三个表示此文件的属主所在的组队文件的权限
-
最后三个表示其他用户对文件的权限
-
rwx :r代表可读,w代表可写,x代表可执行 -表示无此权限
-
-
使用sudo暂时获取root权限
-
这是Ubuntu的一个特点,在Ubuntu中可以使用sudo命令暂时使用特权用户的权限,而不必进行用户切换。
-
扩展ls -l 后第一行有十个字符 第一位为文件类型;后9位为文件权限文件类型:d 文件夹 l符号连接文件->指向源文件 s socket文件 p 管道文件pipe - 普通文件符号意义. 当前目录 .. 上一层目录 / 根目录 -前一个目录 ~当前用户的宿主目录(/root /home/username/)$普通用户的命令提示符 #root超级用户的命令提示符 * 万能匹配符号,通配符
高阶
一、linux命令
-
find 查找,在linux文件系统中,用来查找一个文件放在哪里
-
find [path] -name "[name]"
-
-
grep 查找,在一个文本文件中,查找某个词
-
grep -nr [string] [dir] -n表示显示行号;-r表示递归查找
-
-
which和whereis
-
which只显示二进制文件的路径
-
whereis显示二进制文件的路径,和其源码或man手册位置;查找到的比较详细
-
-
uname 查找系统信息
-
uname -a 所有信息
-
-
开机和关机
-
shutdown -h now 立即关机
-
init 0 关机
-
shutdown -r now 立即重启
-
reboot 重启
-
-
tree/lstree 显示文件和目录由根目录开始的树状结构
-
tree 显示当前目录开始的树状结构
-
-
mount/umount 用来挂载磁盘到文件系统中
-
磁盘空间
-
df -h 显示已挂载的分区列表
-
du -h 列出文件或文件夹的大小
-
-
用户管理
-
useradd user1 添加一个名为user1的用户
-
userdel user1 删除一个为名user1的用户
-
passwd user1 为名为user1的用户设置密码
-
-
权限管理
-
用来管理系统中文件的权限的
-
*chmod (change mod,改变文件权限):①chmod 744 文件名;②chmod u+w 文件名
-
chown (change own,改变属主)
-
chgrp (change group,改变文件的用户群组)
-
编码规则,对应数字:r-7 w-2 x -1
-
三组用户的编码依次为 属主u 属主所在组g 其他用户o
-
增加权限使用+;减少权限使用-
-
-
文件打包压缩与解压缩
-
tar -czvf dir.tar.gz dir/ 将dir目录打包成dir.tar.gz
-
tar -cjvf dir.tar.ba2 dir/ 将dir目录打包成dir.tar.bz2
-
tar -zxvf dir.tar.gz 解压缩
-
tar -jxvf dir.tar.bz2 解压缩
-
-
sed 和awk
-
正则表达式,匹配加替换
-
-
格式化文件系统
-
网络配置命令
-
ifconfig eth0 193.168.14.3 设置IP地址
-
ifconfig eth0 up /ifup eth0 启动网卡
-
ifconfig eth0 down /ifdown eth0 禁用网卡
-
ifconfig eth0 192.168.3.4 netmask 255.255.255.0 同时设置IP和子网掩码
-
-
搭建tftp服务器
-
搭建nfs服务器
下载安装虚拟机
1. 下载安装vmware workstation (版本16)
2. 下载ubuntu(或centos)镜像,linux系统一种(版本20.04)
3. 下载xftp 传输文件,xshell 命令框(版本7)
4. 安装vim ,支持linux系统的编辑器
5. 安装sshd服务器,用于连支持ssh连接,连接xshell(ssh ip地址)
遇到问题:
安装虚拟机需要注意bios打开Internet virtual technology 为enable,进入bios需要快速按键
xshell无法连接root用户时,需要将shhd_config文件内PermitRootLogin 的注释去掉,值改为yes;然后重启sshd服务器,命令为systemctl restart sshd