Linux学习–黑马
编辑时间:2024/7/9
来源:b站黑马程序员
笔记本:有道云笔记
1Linux操作系统介绍
操作系统介绍
- 是现代计算机系统中最基本和最重要的系统软件
- 是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩展
- 主要作用是管理好硬件设备,并为用户和应用程序提供一个简单的接口
- 而其他的诸如编译程序,数据库管理系统,以及大量的应用软件,都直接依赖于操作系统的支持
1.2不同应用领域的主流操作系统
- 桌面操作系统(windows系列,用户群体大macos适合开发人员Linux应用软件少)
- 服务器操作系统(Linux安全稳定免费,占有率高Windows Sever 付费 占有率低)
- 嵌入式操作系统(Linux)
- 移动设备操作系统(IOS Android(基于Linux))
1.3虚拟机
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的,运行在一个完全隔离环境中完整计算机系统
- 虚拟系统通过生成现有操作系统的全新虚拟镜像,具有真实操作系统完全一样的功能
- 进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装进行软件,保存数据,拥有自已的独立桌面,不会对真正的系统产生任何影响
- 而且能够在现有系统与虚拟镜像之间灵活切换的一类操作系统
操作系统发展史
1.1Unix
1965年之前的时候,电脑并不像现在一样普通,它可不是一般人能碰的起的,除非是军事或者学院的研究机构,而且当时大型主机至多能提供30台终端(30个键盘,显示器),连接一台电脑
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A9O4QXy3-1720548656014)(https://i-blog.csdnimg.cn/direct/01136085386e4c49a2990b998a6c9ad5.png)]
1.2Minux
- 因为AT&T(通过电气)的政策改变,在Version7 Unix推出之后,发布新的使用条款,将UNIX源代码私有化,在大学中不能在使用UNIX源代码
- Andrew S.Tanebaum(塔能鲍姆)教授为了能在课堂上教授学生操作系统运作的细节,决定在不使用任何AT&T 的源代码前提下,自行开发与UNIX兼容的操作系统,以避免版权上的争议
- 以小型UNIX(mini-UNIX)之意,将它称为MINX
1.3Linux
- 1991年林纳斯(Linus)就读于赫尔辛基大学期间,对Unix产生浓厚的兴趣尝试看在Minix上做一些开发工作
- 因为Minix只是教学使用,因此功能开发并不强,林纳斯经常要用他的终端仿真器去访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自已编写了磁盘驱动程序和文件系统,这些在后来成为了Linux第一个内核的雏形,当时,他年仅21岁
- 林纳斯利用GNU的bash当作开发坏境,gcc当作编译工具,编写了Linux内核,一开始Linux并不能兼容Unix
即unix上跑的程序不能在Linux上跑,即应用程序和内核之间接口不一致
一开始linux只适用386,后来经过全世界的网友的帮助,最终能够兼容多种硬件
Linux内核及发行版
2.1Linux内核版本
- 内核(kernel)是系统的心脏,是运行程序和管理像磁盘和打印机等设备的核心程序,它提供了一个哥在裸设备与应用程序间的抽象层
- Linux内核版本又分为稳定版和开发版,两种版本相互关联,相互循环
稳定版本:具有工业极强度,可以广泛的应用和部署,新的稳定版相对于较旧的只是修正一些bug或加入一些新的驱动程序
开发版:由于要试验各种解决方案,所以变化很快 - 内核源码网址:http://www.kernel.org
2.2Linux发行版本
- Linux发行版(也叫做GNU/Linux发行版)通常包含了包括桌面环境,办公套件,媒体播放器,数据库等应用软件
- 常见的发行版本如下:Ubuntu、Redhat、Febora 、openSUSE、Linux Mint、Debian、Manjaro、Mageia、CentOS、Arch
3Linux应用领域
3.1服务器领域
- Linux 在服务器口语的应用使其重要分支
- Linux免费,稳定,高效等特点在这里得到了很好的体现
早期因为维护、运行等原因同样受到了很大的限制
近些年来Linux服务器市场得到了飞速的提升,尤其在一些高端领域尤为广泛
3.2嵌入式领域
- 近些年来Linux在嵌入式领域的应用得到了飞速的提高
- Linux运行稳定,对网络的良好支持性,低成本,且可以根据需要进行软件裁剪,内核最小可以达到几百kb等特点,使其近些年在嵌入式领域的应用得到非常大的提高
主要应用:机顶盒、数字电视、网络电话、程序交换机、手机、PDA、等都是其应用领域,得到了谷歌,三星,摩托罗拉,NEC等公司的大力推广
3.3个人桌面领域
- 此领域是传统的Linux应用最薄弱的环节
- 传统的Linux由于界面简单、操作复杂、应用软件少的缺点、一直被windows所压制
- 近些年来随着Ubuntu、Fedora等优秀桌面坏境的兴起、同时各大硬件厂商对其支持的加大,Linux在个人桌面领域的占有率在逐渐的提高
linux图形界面
Centos图形界面
Linux目录结构
1.windows 和linux目录结构的区别
在window下,每个驱动器盘符都有自已的根目录结构,这样形成了多个树的并列的情形。
在Linux下,我们看不到驱动器盘符都是文件夹目录,Linux没有盘符的概念,只有一个根目录“/”,所有文件都在他下面。
2.用户目录
位于/home/user,称之为用户工作目录或家目录
表示方式:
/home/user
~
3.Linux主要目录速查表
/:根目录,一般根目录下只存放目录,在Linux下有且只有一个根目录,所有的东西都是从这里开始的。当终端里输入/home,其实在告诉电脑,先从根目录开始在进入到home目录
/bin、/usr/bin:可执行二进制文件的目录,如常用的命令ls tar mv cat 等
/boot:放置linux 系统启动时用到的一些文件,如linux的内核文件(/toot/vmlinuz),系统引导器(/boot/grub)
/cev:存放linux系统下的设备文件文件,访问该目录下某个文件,相当于访问某个设备,常用是挂载光驱 mourt /dev/cdrom /mnt
/etc :系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要配置文件有/etc/inittab /etc/fstab /etc/init.d /etc/sysconfig /etc/xine:d.d
/home :系统默认的用户夹目录,新增用户账号时,用户的家目录都存在此目录下。~表示当前用户家目录 ~edu表示用户edu 的家目录
/lib、/usr/lib、/usr/local/ib:系统使用函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助
/lost+fount:系统异常产生错误时,会将一些遗失去的片段放置此目录下。
/mnt:/media:光盘默认挂载点,通过光盘挂载于/mnt/cdrom 下,也不一定,可以选择任意位置进行挂载
/opt:给主机额外安装软件所摆放的目录
/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放在内存中,所以不占用磁盘空间,比较重要的文件有/proc/cpu ntc、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等、
/root:系统管理员root的家目录
/sbin、/usr/sbin/、usr/local/sbin:放置系统管理员使用的可执行命令,如:fdisk、shutdown、mount等。与/bin不同的是,这几个目录是给管理员root使用的命令,一把用户只能“查看”而不能设置和使用
/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
/srv:服务启动之后需要访问的数据目录,如www服务器需要访问的网页数据存放在/srv/www内
/usr:应用程序存放目录
/usr/bin 存放应用程序 /usr/share 存放共享数据 /usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件 /usr/local 存放软件升级包 /usr/share/dcc系统说明文件存放目录 /usr/share/man 程序说明文件存放目录
/var:放置系统执行过程中经常变化的文件 /var/log随时更改的日志文件 /var/spool/mail 邮件存放的目录 /var/run程序或者服务启动后,其PID存放在改目录下
cd命令
在现实当中,大量的维护工作都是远程通过SSH客户端完成的,并没有图形界面,所有的维护工作都需要通过命令来完成,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等
基本命令
ls 查看当前文件夹下的内容list
pwd 查看当前所在文件夹print wrok directory
cd 目录名 切换文件夹change director
touch 文件名 如果文件夹不在,新建文件 touch
mkdir 目录名 创建目录 make director
rm 文件名 删除指定的文件名 remove
clear 清屏 clear
技巧:
ctrl +shift+ = 放大终端窗口的字体显示
ctrl + - 缩小终端窗口的字体显示
cd 切换文件夹
cd /home 绝对路径,以根目录开头
cd admin 相对路径 不以根目录开头
cd .. 返回到上级目录
cd ~ 到自已的家目录 /home/admin
cd - 电视回看功能
ls命令
ls 查看目录的内容
ls
ls -l 显示详情列表
ls -lh 把文件大小以人性化的方式显示
ls -a 显示所有的文件,包含隐藏文件,隐藏文件夹,开头的文件
ll 等于 ls -l
mkdir 命令
mkdir tupian 在当前目录下创建文件夹
mkdir /home/admin/tupian 以绝对路径创建文件夹
mkdir /home/admin/a/tupian -p 如果上级目录不存在,加上-p自动创建父目录
mkdir a b 在当前目录下创建多个文件夹
mkdir a/{c,d} 在指定目录下创建多个文件夹
mkdir .abc 以.开头 是创建隐藏文件夹
touch命令
注意:gedit a.txt 可以进入a.txt编写内容
touch 创建空文件
touch abc.txt 在当前目录下创建 如果指定了目录,必须保证上级目录存在
touch .abc 创建隐藏文件
gedit abc.txt 使用记事本打开文件
rm 命令
rm 删除文件
rm a.txt 删除文件
rm abc -r 删除文件夹
rm * -r 不能删除隐藏文件
命令格式介绍
按上/下 光标键可以在曾经使用过的命令之间来回切换
如果想要退出选择 并且不想执行当前选择的命令 按ctrl+c
查阅命令帮助信息
help
command -help
显示command 命令的使用手册
man 是manual的缩写,是linux提供的一个手册,包含了绝大部分的命令,函数的详细使用说明
使用man时的操作键
操作键 |功能
空格键|显示手册页的下一屏
enter键|一次滚动手册页的一行
b|回滚一屏
f|前滚一屏
q|退出
/word |搜索word字符串
权限介绍
drwxrwx-x d 代表文件夹-代表文件
rwx rwx r-x r可读 w可写 x执行
第一组指文件拥有者的权限,第二组代表文件拥有的组的权限,第三组代表其他用户的权限
通配符
通配符 含义
. 文件代表文件名所有字符
ls te查找以te 开头的文件
ls *html 查找结尾为html的文件
?代表文件中任意一个字符
ls ?.c 只找第一个字符任意,后缀为.c的文件
ls a.? 只找3个字符,前两个字符为a. 后面一个字符为任意字符
[] 【和】将字符组括起来,表示可以匹配字符组中任意一个。“-”表示字符范围
[abc] 匹配abc任意一个
[a-f] 匹配a到f范围中的任意一个
ls [a-f] * 找到a到f范围内的任意一个字符的开头文件
ls a-f 查找文件名a-f的文件,这里的-不是表示到的意思
\ 如果要使用通配符作为普通字符的使用,可以使其前面加上转义字符,问号和星号不在方括号内时不用使用的转义字符就失去通配符的作用。
ls \*a 查找文件名为*a的文件
cp命令
MV命令
重定向
more命令
管道