Linux基础学习(一)

序言:

        本文简述介绍Linux系统的诞生历史,发展历程和应用前景,linux系统的安装。Linux系统下对普通文件,目录文件进行操作的常用命令,随后简要列举了在学习中遇到的小知识点,以及遇到的若干实战问题的解决方法。


一、Linux概述

 

1.1 计算机及操作系统概述

        世界上第一台电子计算机是ABC计算机,但这台机器只能求解线性方程组,且不能编程。

        世界上第一台通用电子计算机是ENIAC计算机,该机器占地约170平方米,重达30吨,而运算速度仅为每秒5000次加法运算,但这已远远超过正常人的加法运算速度。        

        目前世界上绝大多数计算机仍然使用的是冯诺依曼体系结构,即由控制器,运算器,存储器,输入设备,输出设备等五大部件组成。

        计算机设计的目的便是计算,因此用户需要将待处理的数据输入到计算机中,随后经过计算机处理后,运算结果输出给用户。但是由于早期数据输入和输出方式的低效率,导致计算机的性能优势难以发挥出来。为管理计算机硬件,以及充分发挥计算机硬件设备的性能,操作系统(Operation System)应运而生。而时至今日,操作系统已经历经多次突破性发展,功能日趋完整。

        1985年,微软公司开发出视窗效果的Windows操作系统,使得计算机走入普通人的生活成为可能。计算机的普及带动了因特网的发展,web服务需求也日益剧增,而对于大多数提供web服务的厂商来说,他们需要的只是能向用户提供稳定的服务的服务器,可视化的操作界面显得有些多余,这样会使得服务器效率下降,同时由于微软的Windows操作系统并不会对使用者公开操作系统源码,这便有了潜在的安全隐患。因此免费且安全的操作系统便成为web服务提供商长期的追求。

        所幸的是,这样的操作系统真的存在。

1.2 Linux发展历程和前景

        1970年UNIX操作系统诞生,其高度可移植性与强大的功能,使得很多商业公司开始了UNIX操作系统的开发。

        但是后来由于版权的争议,UNIX操作系统的发展受到了很大的限制。

        1991年芬兰大学生Linus Torvalds开发出一款类UNIX的操作系统内核,免费公开所有源码,并希望大家可以提出修改建议,共同完善该系统。从此Linux便出现在了历史的舞台上

        目前,windows操作系统占据了个人电脑操作系统的绝大部分市场份额,而linux操作系统则几乎占据了服务器端操作系统的全部市场。

        近年来,人们对云计算、大数据、人工智能等技术关注度的持续上升,同时无人驾驶汽车、智能家具等只能装置逐渐走向人们的生活,对于基于Linux系统的服务器的需求必将持续增长。

        因此对于计算机相关领域人员来说,熟练掌握Linux操作系统非常有必要!

1.3 Linux特点与优势

        相对于Windows操作系统,Linux系统有以下优势:

        1,使用完全免费,linux是GNU计划中的一个项目,用户可以自由免费使用linux操作系统。

        2,源码完全公开,任何人都可以下载linux的核心源码,并自由修改使用,避免了可能存在的“后门”操作。

        3,系统效率高,由于不需要过多的图形化界面供用户体验,Linux操作系统的运行效率非常高效。

        .....

        总之,基本上都是由于开源而带来的各种好处....

1.4 安装Linux操作系统

        介绍了linux的功能和特点,下面就是自己动手安装一个linux操作系统了,不过对于初学者来说,在物理机上安装linux系统不但有些难度,而且没有必要。毕竟初学者有时候还是需要借助Windows操作系统来进行某些问题的解决的,比如遇到问题了可以上网搜索解决方法。

        最好的方法是在虚拟的主机环境下安装linux操作系统,推荐选择CentOS系统进行安装,大致步骤有以下几点:

        1,下载并安装虚拟机软件,主流的有VMware等,下载安装教程点这里

        2,访问CentOS官网下载所需版本的系统镜像(选择最新版的就行),下载教程点这里

        3,在VMware中创建Linux虚拟机,并进行安装,安装虚拟机教程点这里

        4,安装成功后,进入系统,就可以开始Linux操作系统的学习了。

二、Linux基础知识

2.1 shell简介

        了解过操作系统之后,就要了解shell了。

shell作用图解

        shell的本意是外壳,这里指操作系统的最外层。shell是将用户输入的命令通过系统调用,从而使得用户的操作经过操作系统内核处理后,将处理后的内容再返回给用户的软件程序。

        要进入shell编程环境下,只需要打开Linux操作系统,并且打开命令行终端即可。

        进入了shell之后,就能进行shell命令的使用了。

2.2 简单命令使用

1,echo命令将命令行中的参数显示到标准输出(即屏幕)

       echo [-选项]  [字符串] 

        常用选项:

            -n输出字符串内容后不输出换行

            --help显示帮助信息

            -e解释特殊字符的意义

            -E不解释特殊字符的意义(默认)

            常用特殊字符如下:(需要加双引号)

                    \a    铃声警报

                    \b    退格(光标前移一个位置)

                    \n    新行

                     \t    插入tab键

                     \r    光标移动到本行首

                     \\    插入\

2,date 命令显示日期

        date [-选项] [+日期格式]

        常用选项:

                -s 日期将日期设置为指定日期

                -r 文件名显示文件的最后修改日期

        设置输出日期的格式:

                %%     输出%

                %a      以缩写的英文显示周几

                %A      以全称的英文显示周几

                %w      以数字形式显示周几(0-6)

                %Y      显示年

                %m     显示月

                %d      显示日

                %F      以"年-月-日"的格式显示日期

                %H      显示时

                %M     显示分

                %S      显示秒

                %T      以“时:分钟:秒”格式显示时间

3,shutdown 命令控制系统关闭

        shutdown [-选项] 时间

        常用选项:

                -r   重启

                -h   关机

                -c   取消关机计划

4,cal [ [ [日] 月 ] 年 ]      显示日历

5,clear   清除屏幕上的信息

6,powoff 关闭系统

7,reboot命令重启系统

8,exit退出当前shell环境

2.3 文件类型

        linux中的文件名不区分后缀名,区分大小写,最长可为255个字符。其中主要包含下列几类文件:

                普通文件:包括文本文件、数据文件、可执行的二进制程序

                目录文件:是一种特别文件,利用它可以构成文件系统的分层树状结

                设备文件:是一种特别文件,用来标记各个设备驱动器。字符设备、块设备。

                符号链接文件:是一种特殊文件,提供对其他文件的参照

2.4 文件操作命令

1,touch命令可以修改指定文件的时间标签或者创建空文件

        touch [选项]  文件名

        常用选项:

                -a 仅改变指定文件的存取时间

                -m 仅修改文件的修改时间

         若指定文件不存在,则创建新文件

2,cat命令用来显示指定文件的全部内容

        cat  [选项]  文件名

        常用选项:

                -b  从1开始对所有非空输出行编号

                -n  从1开始对所有输出行编号

                -s  将多个相邻的空行合并成一个空行

3,less命令 用于分页浏览文件内容

        less 文件名

          空格键        下一页

          B键                 上一页

          PageUp      下一页

          PageDown  上一页

          Q键退出浏览

4,wc命令统计指定文件的字节数,字数,行数

        wc  [选项]  [文件]…

        常用选项

               -c  统计字节数

               -l  统计行数

               -w  统计字数

2.5 目录操作命令

1,mkdir命令用来创建目录

        mkdir  [选项]  目录名

        常用选项:

                -m MODE  在创建目录时,指定权限为MODE的权限(8进制表示))

                -p 若新建目录指定的父目录不存在,则自动创建

2,rmdir命令删除空目录

         rmdir  [选项]  目录名

         常用选项:

                 -p递归删除目录,若父目录空,删除,若目录非空,不删除。

3,cd命令改变工作目录

         cd  [目录名]

                 目录名缺省:回到用户的家目录

4,pwd显示当前工作目录的绝对路径

        要注意区分绝对路径相对路径

2.6 联机帮助命令

1,help命令查看内置命令的帮助信息

            help [选项] [模式串]

2,man 查看所有命令和文件的配置信息

            man [选项] [文件名]

            man 功能使用时:

                        home                  回到第一页

                        end                      回到最后一页

                       空格键                   向下翻页

                       q                          退出man环境

                       b                          向前翻页

                       /str                        向下查找str

                     ?str                          向上查找str

2.7 其他命令

1,ls命令列出指定目录的内容

            ls  [[选项]目录或文件]

            常用选项

                     -a 列出指定目录下所有的目录和文件,包括隐藏文件

                     -l 以长格式显示文件的详细信息

                    -R  递归显示指定目录

                     -S  按文件大小降序排列

      【注】-l选项列出的第一个字符,第一个字符表示文件类型:

                     -  普通文件

                    d  目录文件

                    b  块设备文件

                    c  字符设备文件

                    l  符号链接文件

2,cp命令将源文件或目录复制到目标文件或目录中,源文件不变。

      cp  [选项]  源文件或目录  目标文件或目录

      常用选项:

           -a 该文件或目录全部复制,相当于选项–dpr

           -d 复制时保留文件链接

           -p  除复制内容外,也复制源文件的修改时间和存取权限

           -r  递归复制文件和各子目录

           -l  不复制,而是创建指向源文件的符号文件

           -v   显示复制过程中的所有操作

      参数可以用绝对路径名,或者相对路径名

3,mv命令移动文件或目录,如果源目路径相同,则为重命名。

      mv  [选项]  源文件或目录  目标文件或目录

      常用选项:

           -f 强制覆盖,不给出交互性提示

           -i 文件覆盖前,给出提示

           -v   显示移动过程中的所有操作

     如果源文件有多个,目标文件只能为目录

4,rm命令删除文件和目录

      rm  [选项]  文件列表

      常用选项:

           -f 强制删除,不给出交互性提示

           -r 递归删除该文件下所有文件和目录

           -i 交互式删除文件

           -d 删除目录,不管是否为空(root用户才可用)

5,ln命令为链接的创建命令

      ln[选项]  源文件  目标文件

      常用选项:

           -s 建立符号链接(默认建立硬链接)

6,alias命令

         alias [-选项] [名称[=值] ... ]

         参数缺省,则显示当前系统中所有别名。

7,unalias取消别名

         unalias[-选项] [name] [name…]

         选项:

                   -a      取消所有别名

         注:若在使用中想临时某条命令不使用别名,则可以有以下方式:

                   1,\command

                   2,’command’

                   3,”command”

                   4,/path/command

8,history命令

         history[选项]

        常用选项:

                 -c      清空当前的所有历史记录

                 -d      删除某条历史记录

                 -a      将当前终端缓存的命令历史保存到历史文件中

                 -r      将所有的历史从文件中读出

        注:

                 !number  可以运行第number条历史记录

                 !!               执行上次执行的命令

                 Alt+ .         调出上次命令的最后一个参数

9,查询当前在线用户命令

        whoami                                        显示当前用户名

        who am/are/is任意字符                  显示当前的终端信息

        who                                               显示所有终端的信息

        w                                                   显示所有终端的详细信息及所做的操作

10,bc 命令打开计算器运算界面

        在计算器运算界面中,输入以下命令:

                  scale=number         设置小数的位数

                  quit                             退出计算器


附加小知识点:

1,忘记root密码的解决方法

           1,重启系统,系统读秒界面时,按任意键进入菜单界面

           2,按e进入grub编辑模式

           3,光标切换到 kernel…行,按e进入编辑模式

           4,在出现的界面中输入single,按b键进入单用户模式

           5,进入root用户成功,可重新设置密码

2,命令执行顺序

           1,别名

           2,内部命令

           3,hash列表中的命令路径

           4,外部命令

3,自定义登录欢迎界面

           登陆后界面存放在:/etc/issue

          注销后界面存放在:/etc/motd

     想要修改登录欢迎界面,只需要修改这两个文件的内容即可。

      在实际工作中,可以用来发布消息,供用户在登录前后查看,具体细节点这里

4,部分常用快捷键

       ctrl+l   相当于clear命令,相比于直接打命令,简便多了!

       ctrl+c   强制终止当前操作

               PS:记得刚接触到linux操作系统时,尝试ping了一下本地主机,然后…停不下来了…

               后来百度一下才发现这个神奇的快捷键之后,只要看到不正常的状态,想跳出来,就狂按这个快捷键…

      ctrl+d   正常退出当前的shell环境。

      alt+r    清除所有内容

      alt+数字+字符   重复显示该字符次数为所指定的数字次数

      ctrl+shift+t      创建一个终端的标签页(光标要在终端上)

      ctrl+shift+w     关闭一个标签页(光标要在终端上)

      ctrl+pgUp/pgDn 切换上/下一个标签页

      ctrl+z   暂停当前命令的执行

5,文件系统结构图

       linux中,各种文件组成树状的文件系统。

       1,有且仅有一个根目录

       2,每个目录都有父目录,根目录的父目录是自身。

       3,每个普通用户都在HOME目录下有一个家目录,root用户的家目录为/root。


文件系统目录树

            



问题实战:



练习

1、显示当前时间,格式:2016-06-18 10:20:30

解决:

        直观方式:date "+%Y-%m-%d %H:%M:%S"
        简单方式:date "+%F %T"


拓展:按照指定格式显示时间:2016-06-18 10:20:30
        date "+%F %T" -d "20160618 10:20:30"


2、显示两天前是星期几

解决:

        date +%A -d "-2 days"


拓展:查看2017年6月18日的前一月对应的详细信息:
        date -d "20170618 -1 months"


3、设置当前日期为2019-08-07 06:05:10
        date -s "2019-08-07 06:05:10"


练习:


1、在本机字符终端登录时,除显示原有信息外,再显示当前登录终端号,主机名和当前时间

解决:

需要修改登录前欢迎界面文件:/etc/issue
        插入内容的含义:
        \l: 插入当前终端名(注意这里是L的小写)
        \n: 插入hostname
        \d : 插入当前时间


修改文件  添加如下内容:
        Current terminator is \1
        Hostname is \n
        Current time is \d
        保存退出,重新登陆即可。

2、root用户设置今天18:30自动关机,并提示其他用户

解决:

        shutdown "18:30"
        存在的问题:所有在线用户都会受到关机的提醒,但是新登录的用户不会收到。



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值