OS
目的
- 方便
- 有效:更有效的方式使用计算机资源
- 扩展:方便开发、测试和引进新功能
地位:承上启下
- 下:封装硬件
- 上:提供操作接口
Linux
-
类Unix OS 的统称
-
Linux OS 的内核名字也是“Linux”
Linux发行版
将 Linux 内核与应用软件做一个打包
知名的发行版:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。
应用软件
-
GUN程序和工具
-
命令行shell
-
图形桌面环境
-
办公 office
-
编译器
- gcc
- g++
-
文本编辑器到科学工具
- vi
- gedit
-
常用服务器
- LAMP(Linux + Apache + MySQL + PHP)或者LNMP(Linux + Nginx+ MySQL + PHP)
- 区别(也就是Nginx和Apache的区别)
- Nginx能承受的并发量要比apache大,可以承受好几万的并发连接量
- Nginx处理静态请求的速度要比Apache快很多性能上要好
- LNMP容易发生502 bad gateway错误(Nginx架构中,php作为独立服务存在,即php-fpm。该组件的负载能力有限,在访问量巨大的时候,php-fpm进程容易僵死)
- LAMP适合中小企业
- 求稳lamp,求快lnmp
Linux版本
商业公司维护
-
RedHat(RHEL)
- 包管理方式采用基于ROM包的YUM包管理方式
社区维护
-
Debian
- 包管理方式:apt-get / dpkg xxx.deb
RedHat系列
- RHEL
- CentOS
- FedoraCore
Debian系列
-
Debian
-
Ubuntu
-
命名规则
- 前两位数字:发行年分
- 后两位:发行月份
-
版本
- 桌面版
- 服务器版
-
版本发布频率
-
一年两次
-
主版本号(年分)
- 单数年:短期支持
- 双数年:长期支持
-
副版本号(月份)
- 04 稳定版
- 后面的是该年度的测试版
-
-
14.04版本是官方直定的超长稳定版(5年)
-
16.04
-
-
文件系统
Linux系统目录结构
-
根目录
-
/bin
-
Binary
-
存放经常使用的命令的可执行程序
因为配置了相应的环境变量
-
-
/boot
-
启动Linux时使用的一些核心文件
- 连接文件
- 镜像文件
-
-
/dev
-
Device
-
Linux的外部设备
一切皆文件,包括外部设备
硬件设备抽象成文件,存放到这个目录
-
-
/etc
- 存放所有系统管理所需要的配置文件
- 改动可能会导致系统无法启动
-
/home
- 普通用户的主目录
-
/lib
- 动态链接共享库
-
/lost+fount
- 非法关机后的文件碎片,用于恢复
-
/media
- 自动挂载的设备(U盘、光驱等)
-
/mnt
- 手动挂载的设备
-
/opt
- 第三方软件
-
/proc
- 虚拟目录,系统内存的映射
-
/root
- 系统管理员
-
/sbin
- Super User
- 系统管理员使用的系统管理程序
-
/usr
- User/Software/Resouse
- 用户的应用程序和文件,类似windows下的program file目录
-
/var
- 存放会不断扩充的东西,如各种日志文件
-
用户目录
-
相对路径
- 相对于当前工作目录而言
-
绝对路径
- 从/开始
-
提示字符串
hao@HPLAPTOP-DHM406:/home$
当前登陆用户@主机名:当前目录当前目录用 pwd命令看
$ 普通用户
# 超级用户 root切换root:
sudo su
输入你自己账户的密码
切换回来:
exit
文件和目录操作
-
查看我的资产/目录
-
tree
-
ls
-
-a
- all:第一个字符是.的是隐藏的
-
-l
-
详细信息
- drwxr-xr-x 1 hao hao 4096 Dec 9 17:08 Desktop
文件类型:
当为[ d ]则是目录
当为[ - ]则是文件;
若是[ l ]则表示为链接文档(link file);
若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置);
若是[ s ]则表示socket文件。
若是[ p ]则表示管道。
--------------------------------------------
接下来三个为一组,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute);如果没有权限,就会出现减号[ - ] 。
文件的所有者/所有者的同组用户/其他用户
--------------------------------------------
文件所有者
文件所属组
--------------------------------------------
占用的存储空间(单位:B)
目录:4096
文件:文件大小
--------------------------------------------
创建/修改时间
--------------------------------------------
文件名
-
-
-
一切皆文件
- 普通文件
- 目录文件
- 设备文件
- 管道文件
- 链接文件
快捷键
命令解析器
- shell – unix OS
- bash – Linux OS
快捷键
-
补齐命令+路径
- Tab
-
主键盘快捷键
-
历史命令 history
- ctrl+p
- ctrl+n
-
光标
-
one by one
- ctrl+f
- ctrl+b
-
头尾
- ctrl+a
- ctrl+e
-
删除字符
- ctrl+h
- ctrl+d
-
删部分
- ctrl+u
-
-
清屏幕
- ctrl+l
-
命令
常用命令
-
查看文件信息:ls
- -a:所有
- -l:详细信息
- -h:配和-l以人性化方式现实文件大小
- 后可以通配符以匹配结果
-
输出重定向命令:>
-
command > file
- 将输出重定向到 file
-
command >> file
- 将输出以追加的方式重定向到 file。
-
-
分屏显示:more
- 按空白键(space)就往下一页显示
- 按 b 键就会往回(back)一页显示
-
管道:|
- 一个命令的输出可以通过管道作为另一个命令的输入。
- 左边塞东西(写),右边取东西(读)
- 常常配合 grep、more
-
清屏:clear
- ctrl+l
-
切换工作目录:cd
- cd ~ : 回到当前用户主目录(或 cd)
- cd - : 回到上次目录
-
显示当前路径:pwd
-
创建目录:mkdir
- -p 确保目录名称存在,不存在的就建一个
-
删除空的目录:rmdir
- -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。
-
删除:rm
- -i 删除前逐一询问确认。
- -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
- -r 将目录及以下之档案亦逐一删除。
-
建立链接文件:ln
软链接:
1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以 跨文件系统 ,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接
硬链接:
1.硬链接,以文件副本的形式存在。但不占用实际空间。
2.不允许给目录创建硬链接
3.硬链接只有在同一个文件系统中才能创建- 软链接:ln -s 源文件 链接文件
- 硬链接:ln 源文件 链接文件
-
查看或者合并文件内容:cat
-
连接文件并打印到标准输出设备上
-
参数说明
-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-A, --show-all:等价于 -vET。
-e:等价于"-vE"选项;
-t:等价于"-vT"选项; -
例子
把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:
cat -n textfile1 > textfile2清空 /etc/test.txt 文档内容:
cat /dev/null > /etc/test.txt制作镜像文件
cat /dev/fd0 > OUTFILE
-
-
文本搜索:grep
-
-v 或 --revert-match : 显示不包含匹配文本的所有行(求反)
-
-n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。
-
-i 或 --ignore-case : 忽略字符大小写的差别。
-
过滤条件可以是正则表达式
- ^a:以a开头的
- ke$:以ke结尾的
- . :任何一个非换行字符
-
查看帮助
-
–help
-
man
- 可执行程序或shell命令
- 系统调用(内核提供)
- 库调用(程序库中的函数)
- 特殊文件(通常位于/dev)
- 文件格式和规范,如/etc/passwd
- 游戏
- 杂项(包括宏和规范,如man(7), groff(7))
- 系统管理命令(just root)
- 内核例程