一、什么是操作系统
人与计算机硬件之间的中介
二、Linux发展史
1969年一个没有名字的系统诞生于贝尔实验室,后来给他取名Unix,后来开始收取版权费,大概在1986年左右 谭宁邦教授根据Unix原型开发出一款名叫minix的操作系统,主要用于教学,但是大多功能实现不了,这时候一个叫斯托曼的人的站了出来,目标是开发一个自由的,开源的操作系统,替代Unix,并建立自由软件基金会(FSF)为达成这一目标设立了GNU(优秀软件:gawk,bash,gcc,emacs)项目并宣告GPL规则(所有人都可以自由传播和修改开源软件,但是必须把修改后的内容发布出来)虽然GNU项目优秀软件一大堆,但是还少一个内核,这时候在91年时候托瓦兹开发了Linux内核,所以我们一般说我们使用的是GNU/Linux
二、Linux常用发行版本的区别
1)Fedora是Linux的社区版,说白了就是体验版,一般新功能会在Fedora中发布,供大家体验,同时提出bug或者建议;
2)Red hat是Linux当中一个比较著名的版本,本来有企业版和个人版,后来个人版不在开发改为Fedora,而企业版是要收费的
3)Centos就是redhat的企业版,而且是免费的,去掉红帽中的收费软件 去掉红帽里面的logo
三、镜像文件下载
http://mirrors.aliyun.com/ 或 https://www.centos.org/
四、几种分区方法
1)通用方法
/boot 引导分区 200M
swap 交换分区 内存的1.5倍(内存小于8G) 大于8G 给8G
/ 根分区 剩下多少给多少
2)数据非常重要
/boot
swap
/ 50-200G
/data 剩下多少给多少
3)不知道数据是否重要
/boot
swap
/ 50-200G
剩余的空间 不分配留着。
五、Linux常用文件及目录作用
文件及目录 | 作用 |
---|---|
/etc/sysconfig/network-scripts/ifcfg-eth0 | 网卡配置文件 |
/etc/resolv.conf | DNS配置文件 |
/etc/sysconfig/network | 主机名称( HOSTNAME )与启动 Network 与否 |
/etc/hosts | IP和域名的解析文件 |
/etc/fstab | 开机自动挂载文件系统的文件 |
/etc/inittab | Linux完成内核引导以后需要读取的文件,Linux运行级别可以在这个文件中设置 |
/etc/init.d | 服务启动脚本所在的目录 |
/etc/profile | 这是每个用户在登录时都会运行的环境变量 |
/etc/bashrc | 为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取 |
/etc/rc.local | 开机启动文件 |
/etc/issue | linux本地终端登录的欢迎语句存储文件.net是远程终端登录显示 |
/etc/motd | 布告栏信息,每次用户登录时,/etc/motd文件的内容会显示在用户的终端 |
/usr/local | 第三方软件安装的目录 |
/var/log/messages | 记录系统信息,几乎所有的开机系统发生的错误都会在此记录 |
/var/log/secure | 记录登录系统存取数据的文件;例如:pop3,ssh,telnet,ftp等都会记录在此. |
/var/spool/cron/ | 以账号来区分每个用户自己的执行计划 |
/proc/cpuinfo | 提供了有关系统CPU的多种信息 |
/proc/meminfo | 这个文件给出了内存状态的信息 |
/proc/loadavg | 这个文件给出以几个不同的时间间隔计算的系统平均负载 |
/proc/mounts | 这个文件以/etc/mtab文件的格式给出当前系统所安装的文件系统信息 |
三、文件及其目录的权限
1)权限对目录及文件的意义
对于文件
r读取文件内容
w修改文件的内容,但是需要r的配合没有r配合强制修改退出,会清空文件的内容
x权限执行,需要r权限的配合
对于目录
r 查看目录里面的内容如ls需要与x配合使用
w 可以在目录里面创建 删除 重命名文件需要与x配合
x 可以进入(cd)到这个目录
2)特殊权限;
suid 4表示--------->当普通用户运行一个命令的时候能够获取到root权限并运行比较危险 chmod u+s /sbin/cat
dticky粘志位 1表示--------->每个人都可以在目录中创建文件目录,但是只能管理自己的文件或目录
3)隐藏权限
a=====append 只能追加
i=====immutable 无敌的 不可修改的
chattr---设置权限
lsattr----查看权限
4)默认权限
Umask默认权限位,就是我们在创建一个文件或者目录的时候默认的权限是多少
五、inode与block
inode存放文件属性信息每次创建一个文件消耗一个inode
block存放具体数据的地方每创建一个文件至少需要一个block
六、软硬链接
软链接也叫符号链接,和Windows的快捷方式差不多,文件块中存放的是被链接文件的路径,软链接可以链接一个目录
硬链接就是一个文件有多个别名,它们使用同一个inode号码,所以在删除一个文件后对另一个文件没有影响,硬链接不能链接目录
PS:文件被删除条件1、硬链接数为0且无程序被占用可用lsof命令查看
七、正则表达式与统配符
1、通配符特殊符号
符号 | 作用 | 符号 | 作用 | |
---|---|---|---|---|
‘ ‘ | 所见即所得,吃啥吐啥 | ! | 查找并运行历史命令,find,AWK表示取反 | |
" " | 特殊符号会被解析运行 | $ | 取出变量的内容 | |
$() | 先运行里面的命令 把结果留下 | * | 所有东西文件 | |
> | 先清空文件的内容 然后追加文件的最后 | \ | 撬棍,转义字符 | |
>> | 追加重定向,在文件末尾添加内容 | && | 前一个命令执行成功,执行第二个命令 | |
2> | 错误重定向,只有错误的才会被添加到文件 | {} | 生成序列,如{1..10} | |
< | 输入重定向 | . | 当前目录 | |
<< | 追加输入重定向 | .. | 上级目录 | |
~ | 当前用户家目录 | ? | 精确匹配如ll -d /etc/??m | |
ll | 前一个命令执行失败执行第二个命令 | l | 管道符号 |
2.、正则表达式
(1)、基础正则
符号 | 功能 |
---|---|
^ | 以...开头 |
$ | 以...结尾 |
. | 任意个字符,不包含空行 |
* | 前一个字符重复0次到多次 |
.* | 所有字符 |
^$ | 空行 |
[] | 匹配方括号内的任意一个字符,其中用-表示连续的几个字符 |
[^] | 表示不匹配括号内的字符 |
(2)扩展正则
符号 | 功能 |
---|---|
l | 或的意思,如aaalbbb表示匹配aaa或者bbb的内容 |
+ | 前一个字符出现一次或者多次 |
() | 括号内的内容包括一个整体,正向引用(反向引用) |
{} | 匹配在它前面的单个字符重现的次数区别,{n}指重现n次;{n,m}指重现n至m次; |
? | 表示前一个字符连续出现0次或1次 |
3、正则表达试与通配符区别
用途 | 匹配的内容 | 支持的命令 |
---|---|---|
用来匹配文件名 | 匹配文件 | 大部分命令都支持 |
在文件中匹配文件的内容 | 匹配文件内容 | Linux三剑客 |
八、正则表达式练习案例
1)、提取IP的n种方法
root@jiangjunwang ~]# ifconfig eth0|egrep -o ‘inet addr:[0-9.]+‘|egrep -o ‘[0-9.]+‘
192.168.52.130
[root@jiangjunwang ~]# ifconfig eth0|awk -F ‘[ :]+‘ ‘NR==2{print $4}‘
192.168.52.130
[root@jiangjunwang ~]# ifconfig eth0|sed -nr ‘2s#.addr:(.) B.*$#\1#gp‘
192.168.52.130
(2)、提取权限的几种方法
root@jiangjunwang ~]# stat bb.txt|awk -F "[(/]" ‘NR==4{print $2}‘
0644
[root@jiangjunwang ~]# stat bb.txt |sed -nr ‘4s#^.(([0-9]+).$#\1#gp‘
0644
[root@jiangjunwang ~]# stat bb.txt |sed -n ‘4p‘|egrep -o "[1-9]+"
644
(3)、排除以#开头的行和空行
创建测试文档
[root@jiangjunwang ~]# cat >>name.txt <<EOF
aaa#bb
cc
EOF
方法:
root@jiangjunwang ~]# egrep -v "^#|^$" name.txt
aaa
cc
@jiangjunwang ~]# grep -v "#" name.txt |awk ‘{if($0!="")print}‘
aaa
cc
[root@jiangjunwang ~]# awk ‘!/^#/&&/./{print} ‘ name.txt
aaa
cc
[root@jiangjunwang ~]# awk {‘if($0!=""&&!/^#/)print}‘ name.txt
aaa
cc
好了!以上差不多就是我这段时间所学到的知识了,看到这篇文章的朋友如果你也和我一样是一个正在拼搏的IT小伙伴儿,那不如留下你宝贵的意见或建议我们一起奔跑吧!
原文:http://blog.51cto.com/13268236/2162600