Linux学习小结

Linux发展简史

Linux的发展经历了三个阶段:Unix ⟶ \longrightarrow Minix ⟶ \longrightarrow Linux :

Unix

1965年之前,电脑并不像现在一样普遍,当时的大型主机最多能提供30台终端(30个键盘、显示器),链接一台电脑。
1965年左右,贝尔实验室加入了麻省理工学院以及通用合作的计划,着手解决为了解决终端数量不够的问题,建立一套多使用者、多任务、多层次的MULTICS操作系统,想让大型主机支持300台终端,1969年前后,因Multics工程项目的目标庞大、太复杂,进展缓慢,资金短缺,贝尔实验室退出了研究。
1969年,从该项目退出的 Ken Thompson 为了让一台空闲的电脑上能够运行“星际旅行(Space Travel)”游戏,结合Multics工程的经验,使用汇编写出了Unix操作系统原型。
1970年,Ken Thompson 以B语言为基础写了一个Unix操作系统。
1972年,ThompsonRitchie使用C语言完全重写了现在大名鼎鼎的Unix操作系统。

Minix

因为AT&T(通用电气)的政策改变,在Version 7 Unix推出后,将Unix源代码私有化,在大学中不再能使用Unix源代码。Andrew S.Tanenbaum(塔能鲍姆) 教授为了能在课堂上教授学生操作系统的运作细节,在不适用任何AT&T的源代码前提下,自行开发了与Unix兼容的操作系统,以小型Unix(mini-Unix)之意,称之为Minix。

Linux

因为Minix知识教学使用,因此功能并不强,1991年就读于赫尔辛基大学的Linux(林纳斯) 为了方便读写和下载大学主机上的新闻组合邮件,自己编写了磁盘驱动程序和文件系统,这些在后来成为Linux第一个内核的雏形。

Linux的内核版

内核(kernel)是系统的心脏,是运行程序和管理磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层。
Linux内核版又分为稳定版和发行版,两种版本是相互关联,相互循环的。

  • 稳定版: 具有工业级强度,可以广泛地应用和部署。新的稳定版本相对于交旧的知识修正一些bug或加入一些新的驱动程序;
  • 开发板: 也被叫做GNU/Linux发行版,由于要实验各种解决方案,所以变化很快;
    常见的 Linux发行版如下:
  • Ubuntu
  • Redhat
  • Fedora
  • openSUSE
  • Linux Mint
  • Debian
  • Manjaro
  • Mageia
  • CentOS
  • Arch

Linux常用基本命令及使用方法

1、文本编辑
命令使用方法作用
vi/vimvi/vim 文件名打开并编辑文件
2、网络配置
命令使用方法作用
ifconfigifconfig查看当前网络ip
pingping 目的主机名/主机ip测试主机之间网络连通性
3、关机重启命令
命令作用
sync将数据由内存同步到硬盘中
halt关闭系统
reboot重启
shutdown关机
4、文件目录类
  1. 显示当前目录的绝对路径 : pwd
命令作用
pwd显示呢当前工作目录的绝对路径
  1. 列出目录的内容:ls 选项 目录或者文件
选项功能
-a全部的文件,联通隐藏(开头为 . 的文件)一起列出来(该命令经常使用)
-l以长数据串的形式列出来,包含文件的属性与权限等数据(经常使用)
  1. 切换目录 : cd 参数
参数功能
cd 绝对路径切换路径
cd 相对路径切换路径
cd ~或者cd回到自己的家目录
cd -回到上一次所在的目录
cd . .回到当前目录的上一级目录
cd -p跳转到实际物理路径,而非快捷键方式路径
  1. 创建一个新目录:mkdir 选项 新目录
选项功能
在已有目录下创建一个文件夹
-p在已知目录下创建多层目录
  1. 删除一个空目录:rmdir 要删除的空目录

  2. ** 创建空文件:touch 文件名 **

  3. 复制文件或目录:cp 选项 文件/目录

选项功能
复制一个文件
-r递归复制整个文件夹
  1. 一处文件或目录 rm 选项 文件
选项功能
-r递归删除目录中所有内容
-f强制执行删除,而不是提示用于确认
-v显示指令的详细执行过程
  1. 查看文件内容 cat 选项 文件
选项功能
查看文件内容
-n显示所有的行号,包括空行
  1. 输出内容到控制台:echo 选项 内容
选项功能
输出内容到控制台
-e支持反斜线控制的字符转换
4、时间日期类

基本语法:date 选项 格式

选项

选项功能
-d<时间字符串>显示置顶的“时间字符串”表示的时间,而非当前时间
-s<日期时间>设置系统日期时间

显示的格式

格式功能
date显示当前时间
date + %Y显示当前年份
date + %m显示当前月份
date + %d显示当前是哪一天
date “+%Y-%m-%d %H:%M:%S”显示年月时分秒
5、用户管理命令
  1. 添加用户:useradd 新用户名
用法功能
useradd 用户名添加新用户
useradd -g 组名 新用户名添加新用户到某个组
  1. 设置用户密码 passwd 用户名

  2. 查看创建了哪些用户:cat /etc/passwd

  3. 切换用户:su 要切换的用户

用法功能
su 用户名切换用户,但只能获得用户的执行权限,不能获得环境变量
su - 用户名切换到用户并获得该用户的环境变量及执行权限

5. 修改用户:usermod -g 用户组 用户名

6、用户组管理命令

1. 新增组:groupadd 要新增的组名

2. 删除组:groupdel 要删除的组名

3. 修改组:groupmod -n 新组名 老组名

4.查看已创建的组:cat /etc/group

7、文件权限类

1. 修改权限

修改方法1修改方法2
chmod [{ugoa}{±=}{rwx} 文件或目录chmod [mode=421] 文件或目录

2. 改变所有者 chown 选项 最终用户 文件或目录

选项功能
-R递归操作

3. 改变所属组 :chgrp 最终用户组 文件或目录

8、搜索查找类

1. 查找文件或目录 : find 搜索文件夹或目录 选项

选项功能
-name按照指定的文件名查找文件
-user查找属于指定用户名的所有文件
-size按照指定的文件带下查找文件

2. 过滤查找:grep 及 “|”管道符 : 内容 | grep 选项 查找内容 源文件

选项功能
显示查找内容,不显示匹配行及行号
-n显示匹配行及行号
8、进程线程类

1. 基本语法:

基本语法功能
ps 选项查看系统中所有进程
ps -ef可以查看子父进程之间的关系

选项说明:

选项功能
-a选择所有进程
-u显示所有用户的所有进程
-x显示没有终端的进程

2. 终止进程

语法功能
kill -9 进程号通过进程号杀死进程(有-9是强迫进程立即停止)
killall 进程名通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用
9、crond系统定时任务

1. 重启crond服务管理:service crond restart

2. 基本语法:crontab 选项

选项功能
-e编辑crontab定时任务
-l查询crontab任务
-r删除当前用户所有的crontab任务

Linux6 和 Linux7的差异

这里介绍Centos6 和 Centos7的差别,这两个版本都有人在使用,除了个别使用差异外,它们的大部分功能都是一致的。

1、文件系统不同

Centos6.xCentos7.x
EXT4( Fourth Extended filesystem)XFS(Existing Filesystem)
EXT4的单个文件系统容量可以达到1EB,单个文件的大小可以达到16TBXFS默认支持的系统容量大小为8EB减去1个字节,最大支持的文件大小是9EB,最大支持的文件系统尺寸是18EB

2、防火墙、内核版本、默认数据库不同

名称Centos6.xCentos7.x
防火墙iptablesfirewalld
内核版本2.63.10
默认数据库MysqlMariaDB

3、时间同步、修改时区、修改语言的命令不同

Centos6.xCentos7.x
时间同步ntpq -qchronyc sources
修改时区vim /etc/sysconfig/clocktimedatectl set-timezone Asia/Shanghai
修改语言vim /etc/sysconfig/i 18nlocalectl set locale LANG=zh_CH.UTF-8

4、修改主机名的方式不同

Centos6.xCentos7.x
修改的配置文件为/etc/sysconfig/network 中的HOSTNAME(修改完后永久生效),需要重启才能生效。方式一:配置文件 /etc/hostname 直接编辑 vim /etc/hostname;方式二:采用命令的方式–hostnamectl set-hostname 主机名,需要重启后才能生效。

5、网络服务的管理方式不同

操作行为Centos6.xCentos7.x
启动服务service 服务名 startsystemctl start 服务名
停止服务service 服务名 stopsystemctl stop 服务名
查看服务状态service 服务名 statussystemctl status 服务名
重启服务service 服务名 restartsystemctl restart 服务名
设置服务的开机自启chkconfig 服务名 onsystemctl enable 服务名
设置服务的开机非自启chkconfig 服务名 offsystemctl disenable 服务名
查看所有服务的自启状态chkconfig --listsystemctl list-unit-files

6、网络设置不同

名称Centos6.xCentos7.x
网卡名称ifcfg-eth0ifcfg-ens33
网络配置的命令ifconfigip
网络服务network服务NetworkManager服务

7、yum的区别

Contens6.xContens7.x
默认情况下会从国外的镜像源网站获取安装包,比较慢,如果想安装下载快的话,需要去修改CentOS6-Base.repo,使用CentOS6-Base-163.repo替换。就近原则,从离得比较近的镜像源服务器获取安装包并下载安装。

一些Linux面试题

  1. 有一普通用户想在每周日凌晨零点零分定期备份 /user/backup到 /tmp 目录下,该用户应如何做?
crontab -e
0 0 * * 7 /bin/cp /user/backup /tmp
  1. 如何看当前 Linux 系统有几颗物理 CPU 和每颗 CPU 的核数?
cat /proc/cpuinfo | grep -c 'physical id'
cat /proc/cpuinfo | grep -c 'processor'
  1. 把文件 file1、file2、file3 复制到目录 dir 中
cp file1 file2 file3 dir
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值