Linux发展简史

Unix:1969年由美国电话电报公司(AT&T)贝尔实验室的两个工程师所创造的操作系统,它允许计算机同时处理多用户和程序。

BSD:重要的Unix分支,1977年由加州大学伯克利分校开发和发布的,Unix的高度可移植性及强大的性能,加上当时并没有版权纠纷, 所以很多商业公司开始了Unix操作系统的发展,例如AT&T自家的System V、IBM的AIX、SUN的Solaris以及HP-UX

Unix版权问题:1979 年AT&T推出第七版 Unix ,可以支持x86架构的个人计算机系统,但AT&T出于商业的考虑,将Unix的版权收回去,明文禁止对学生提供源代码。

GNU/GPL:1984年由Richard Stallman发起并创建的自由软件组织,目标是编写大量兼容于Unix系统的自由软件。而GPL(GNU General Public License)是GNU提出的自由软件通用许可协议,规定:自由软件允许用户任意复制、传递、修改及再发布,基于自由软件修改再次发布的软件,仍需遵守GPL。

Minix:1987年,由荷兰阿姆斯特丹vrije大学Andrew S. Tanenbaum(AST)教授开发的。他为了保持minix 的小型化,能让学生在一个学期内就能学完,而没有接纳全世界许多人对Minix 的扩展要求。

Linux:1991年的10月5日,Linus Torvalds在comp.os.minix新闻组上发布消息,正式向外宣布Linux内核的诞生。Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统,linux遵循POSIX标准。

Linux操作系统常见发行版:Redhat、Centos、Debian、Ubuntu、Suse等

RHEL7 Linux安装

1.设置主机引导设备为光盘驱动器

2.从安装光盘启动主机

3.启动安装程序

选项① 安装Redhat Enterprise Linux 7.0
选项② 检测介质的完整性并安装Redhat Enterprise Linux 7.0

4.选择安装过程中所需要的语言

5.安装前配置工作

6.时区选择

7.键盘选择

8. 语言选择

9.安装源

10.软件选择

11.安装目标位置

12.网络和主机名

13.修改root密码和创建用户

14.重启后,接受霸王条款(许可协议)

15.Kdump配置

16.首次启动系统配置

17.首次启动界面

GUI图形桌面环境(简单认识)

1.应用程序菜单

2.中文环境设置

3.网络配置

4.gedit文本编辑器

基础命令行操作

控制台(终端)

•用户通过控制台来访问命令行
•物理控制台(物理终端):显示器、鼠标、键盘等物理设备和串口,支持多个虚拟终端,
•虚拟控制台(虚拟终端):伪终端,单独运行并支持独立的用户登录会话,如桌面环境、虚拟字符环境
•终端切换:桌面环境中,第一个控制台是图形环境

  rhel7通过ctrl+alt+F(2-6),切换到虚拟字符终端,F1为桌面环境

•终端标识(可以用whoami命令查看)

  :0    整个图形界面

  tty   终端统称

  pty   虚拟终端

  pts   是实现pty的方法,比如是用telnet或者是SSH远程登录等,图形界面的虚拟终端是pts标识

  tts    com口串行访问接口

命令语法基础
•命令组成:命令、选项、目标参数三部分,有些命令可以没有选项和参数
•命令格式:命令+选项+目标参数

  命令:控制操作系统做什么的指令

  选项:选择命令的功能执行相关操作

  参数:说明命令影响(操作)的对象(一个文件,一个目录或者一段字符)

注:选项可分为长格式和短格式,可以有多个选项或者目标

例:usermod –l user        1命1选1参,该命令命令作用是锁定用户user的密码

例:tail -n 10 /etc/passwd    显示后十行,-n选项指定行数

•命令语法帮助:大多数命令都支持--help或者-h选项查看基本的语法结构和选项,也可以使用man查看详细帮助
•退出命令行:exit或者ctrl+d

tab补全(重点):输入命令、参数、或选项无需全部输出,输入开头部分字符,然后按tab可以将剩下的字符自动补全
•命令
•选项
•目标参数
•善用tab能够大量减少工作量和出错率

命令行编辑快捷方式
•ctrl+a 跳转到命令行开头
•ctrl+e 跳转到命令行末尾
•ctrl+u 清空至行首
•ctrl+k 清空至行尾
•ctrl+左箭头 跳转到命令行内前一个字的开头
•ctrl+右箭头 跳转到命令行内后一个字的开头
•ctrl+r 在历史命令列表搜索某一模式的命令

基础命令(基本)

1.whoami:查看当前终端登录的用户信息

  格式:whoami
2.who:查看当前已登陆的用户,tty指的是实体终端,pts指的是虚拟终端。

  格式:who
3.date:查看当前系统时间

  格式:date [选项] [时间]

    -s  修改当前系统时间,例:date -s '2017-05-23 16:48:00', 配置系统时间为2017年5月23日16点48分0秒

    -d  显示一段时间后的日期,例 :date -d '+90 days',显示 90天以后的日期

4.cal:查看当前系统日历

  格式:cal [月] [年]

5.clear:清屏命令,也可以使用 Ctrl+L快捷键清屏  
6.su:切换用户命令

  格式:su [用户名]       不完全切换,不带权限切换

  格式:su - [用户名]     完全切换

基础命令(文件与目录管理命令)

Linux目录结构

·linux下,没有像windows一样的磁盘分区

·linux的所有文件存储在一个以/为根的树形文件系统层次结构

·重要目录

    /             根目录,一般只用来存放主要目录

    /usr        安装的软件、共享的库,包括文件和静态只读程序数据

          /usr/bin               用户名令

       /usr/sbin              系统管理命令

    /usr/local            自定义软件安装目录

    /etc        系统配置文件所在目录

    /boot      系统引导文件所在目录

    /var        动态变化文件目录,存放系统可变数据(数据库、日志、缓存目录等)

    /run        系统启动以后进程运行时自动创建的数据

           整合了旧版系统中的/var/run和/run/lock

    /mnt&/mider             光盘默认挂载点

    /home     存放普通用户的个人文件和配置文件

    /root       存放超级用户root的文件和系统相关配置信息

    /dev        设备文件,为系统提供访问硬件的通道

    /tmp       临时文件全局可写空间,十天未访问自动删除

  注意:rhel7中,/下的bin、sbin、lib、lib64在usr下对应的目录拥有完全相同内容

命令及选项:

1.pwd:显示当前用户所在工作目录

  格式:pwd

    -P  显示实际路径,而不是链接路径

2.cd:切换当前用户工作目录

  格式:cd [绝对路径或相对路径]

    ~  切换到家目录

    -  切换到上一次cd操作所在工作目录

  绝对路径:完全限定名称,从/开始到指定的目录或者文件的整个完整路径

  相对路径:从当前所在工作目录到达指定目录或者文件的路径

3.ls:列出目录内所包含的文件和目录

  格式:ls [目录的路径]

    -a  列出文件及目录包括隐藏文件

          .  表示当前目录

          ..  表示上一级目录,故可以使用命令“cd ..”返回到上一级目录

    -R  连同子目录内容一起列出

    -d  仅列出目录本身,而不是列出目录内的

    -h  将容量以人类较易读的方式(例如 GB, KB 等等)列出

4.touch:创建空文件

  格式:touch [文件名或带目录路径的文件名]

5.mkdir:创建新的空目录,可以同时创建多个目录

  格式:mkdir [目录名] [目录名]...

    -p  用于创建嵌套的多层目录结构,例:mkdir -p /A/B/C/D

6.cp:复制文件或目录

  格式:cp [被拷贝的文件或目录名] [拷贝后产生的文件或目录名]

    -a  相当于 -pdr, pdr参考下列说明

    -d  若来源文件为链接文件的属性,则复制链接文件属性而非文件本身

    -f  为强制(force)的意忠,若目标文件已经存在,强制覆盖

    -i  若目标文件已经存在时,在覆盖时会先询问动作的进行

    -p  连同文件属性一起复制过去,而非使用默默认属性

    -r  递归持续复制,用于复制整个目录行为

7.mv:剪切文件或目录

  格式:mv [要移动的文件或目录] [要移动的路径]

    -f  force 强制的意忠,如果目标文件已经存在,不会询问而直接覆盖

    -i  若目标文件 (destination) 已经存在时,就会询问是否覆盖

8.rm:删除文件或目录(不带规定的选项只能删除文件)

  格式:rm -rf [目录或文件名]    注:该操作不可回退,确认删除前务必确认,避免误操作

    -i  交互方式,询问是否删除(预定义了)

    -f  强制删除,不询问是否删除

    -r  删除整个目录

9.which:查询相关命令信息

  格式:which [命令名,如ls]

10.find:查找文件所在位置

  格式:find [查找范围] [查找条件]

    -name  按文件名称查找,例:find / -name a.txt

    -user  按文件属主查找,例:find / -user bob

    -type  按文件类型查找,例:find / -type f

        普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等

Linux基础系列-Day1的更多相关文章

  1. Linux基础系列-Day2

    基础命令(文件内容管理) 1.cat:在当前终端显示文本文件内容 格式:cat [文件路径] -n 从1开始对所有输出的行数编号 -b 和-n相似,只不过对于空白行不编号:2.head:从文件内容开头 ...

  2. Linux基础系列—Linux内核源码目录结构

    /** ****************************************************************************** * @author    暴走的小 ...

  3. Linux基础系列—Linux体系结构和Linux内核结构

    /** ****************************************************************************** * @author    暴走的小 ...

  4. Linux基础系列-Day8

    Shell编程基础 Shell介绍 Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器).它类似于windows下的的cmd.exe.它接收用户命令,然后调用相应的应用程序 ...

  5. Linux基础系列-Day7

    NFS服务(基于CentOS 7.0) NFS(Network File System),网络文件系统,是linux与linux之间进行文件共享的服务,在NFS应用,本地NFS的客户端可以透明地读写位 ...

  6. Linux基础系列-Day6

    Samba服务(基于CentOS 7.0) Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成,Samba主要用于Linux或UNIX和Windows系统之 ...

  7. Linux基础系列-Day5

    网络管理 ifconfig网络管理工具 ifconfig依赖于命令中使用一些选项属性,不仅可以被用来简单地获取网络接口配置信息,还可以修改这些配置,但是通过ifconfig修改的通常为临时配置,即系统 ...

  8. Linux基础系列-Day4

    top系统监控 top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具.通过top命令所提供的互动式界面,用热键可以管理. [root@centos-py ...

  9. Linux基础系列-Day3

    Vim文本编辑器 •Linux设计的重要原则是信息存储在基于文本的文件中.  注:Linux“一切皆文件”是指包含文本文件和用户不可读的二进制文件(如block设备文件) •文本文件:无格式文件,作用 ...

随机推荐

  1. ECMAScript5中新增的Array方法实例详解

    ECMAScript5标准发布于2009年12月3日,它带来了一些新的,改善现有的Array数组操作的方法.(注意兼容性) 在ES5中,一共有9个Array方法:http://kangax.githu ...

  2. 【比赛】洛谷夏令营NOIP模拟赛

    Day1 第一题 水题 第二题 题意:一个n*m的字符矩阵从左上到右下,经过字符形成回文串的路径数.n≤500 回文串,考虑两段往中间DP. f[k][x][y]表示走了k步,左上点横坐标为x,右下点 ...

  3. iOS开发者两分钟学会用GitHub在Mac上托管代码的两种方法

        原文发布者:http://blog.csdn.net/duxinfeng2010 在Mac上使用Xcode进行iOS-Apple苹果iPhone手机开发过程中少不了使用GitHub在Mac上托 ...

  4. Java 对象排序详解

    很难想象有Java开发人员不曾使用过Collection框架.在Collection框架中,主要使用的类是来自List接口中的ArrayList,以及来自Set接口的HashSet.TreeSet,我 ...

  5. 基于ansj_seg和nlp-lang的简单nlp工具类

    1.首先在pom中引入ansj_seg和nlp-lang的依赖包, ansj_seg包的作用: 这是一个基于n-Gram+CRF+HMM的中文分词的java实现: 分词速度达到每秒钟大约200万字左右 ...

  6. 64_f1

    FUR-0.4.6-13.fc26.x86_64.rpm 13-Feb-2017 23:32 45882 Falcon-0.9.6.8-11.fc26.i686.rpm 13-Feb-2017 23: ...

  7. 【bzoj1024】生日蛋糕

    一开始想dp 后来发现既然要均等,又看了下数据条件 暴力就能做. #include<bits/stdc++.h> using namespace std; ; int x,y,n; dou ...

  8. Nginx-1.6.3反向代理

    源码安装nginx cat /etc/redhat-release uname -rm yum install pcre-devel openssl-devel -y rpm -qa pcre pcr ...

  9. linux 设置开机启动项两种方式

    原文链接:http://blog.csdn.net/karchar/article/details/52489572 有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务. 在解问题之前 ...

  10. linux删除乱码文件[转载]

    一些乱码文件不可以通过普通的rm命令进行管理.可以通过删除i节点的方式删除. [root@192_168_100_35 musicwap]# ls??,?K?k?ͨa*.?J]?k?Φ??P???Z? ...