笔记四、Linux基础入门-上半部

前言

直接已经教大家如何创建虚拟机和安装CentOS 操作系统了,那么今天就来开始入门吧。linux对于新手来说并不难,linux的构造 http://www.178linux.com/68853 这篇博客里我已经讲解了,有兴趣最好看一下llinux下每个目录的作用。还有Linux的哲学思想。

这里我就开始介绍了。

一、用户登陆

    在linux中,用户分为两种,

        1.1 普通用户

            权限有限
            造成损害的能力比较有限

            这个用户相当于一个房子的租客,只能在自己租的区域里做事情。但不能对拆房子,或者买房子。

        1.2 超级用户root :

            一个特殊的管理帐户
            也被称为超级用户
            root已接近完整的系统控制
            对系统损害几乎有无限的能力
            除非必要,不要登录为root
            这个用户对简单的来说就是一个房子的房东,他想对房子做什么就做什么因为房子是他的。他想干什么就干什么。(无敌的存在— —.)

二、终端(terminal)

    这个是用来对linux进行操作的,与windows不同,linux因为不同于windows的哲学思想,所以在linux想要最直观的的结果,那就是在字符界面下进行操作了,在字符界面下操作就离不开一种工具那就是终端,当然终端用很多种,比如在windows下去链接linux的终端软件可以使用Xshell和secureCRT进行对系统的管理。

    当然在Linux下也有不同的终端

    2.1 设备终端
        键盘鼠标显示器
    2.2 物理终端(/dev/console )
        控制台console
    2.3 虚拟终端(tty:teletypewriters,/dev/tty# #为[1-6])
        tty 可有n个,Ctrl+Alt+F[1-6]
    2.4 图形终端(/dev/tty7 )startx, xwindows
        CentOS 6: Ctrl + Alt + F7
        CentOS 7: 在哪个终端启动,即位于哪个虚拟终端
    2.5 串行终端(/dev/ttyS# )
        ttyS(基本没人用了)
    2.6 伪终端(pty:pseudo-tty ,/dev/pts/# )
        pty, SSH远程连接
    2.7 当然我们查看终端的命令是:#tty      

   [→_→TianRandai的滑稽脸]  我们得知道我们用的是什么终端吗

三、shell是什么?

    3.1 Shell 是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。我们都知道kernel是执行二进制命令的,但是我们不可能去输入二进制啊,那太多也太麻烦了想一想一条命令要用多少个1和0啊,所以我们的shell 就是来做翻译的,将我们看的懂的命令翻译成二进制命令,发送到kernel来让kernel执行二进制命令,kernel执行命令后回执的二进制结果,通过shell 在翻译成我们看的懂的语言,额…就是类似翻译机的软件。当然shell也是一种高级程序设计语言。

   [→_→TianRandai的滑稽脸] shell 脚本,听说过么?  没有! 以后会听说的。

    笔记四、Linux基础入门-上半部

       3.2 当然有了shell 就会有shell 的种类,想CentOS中使用的shel l就是 bash (Bourne-Again Shell),也是目前Linux标准的shell    

        [→_→TianRandai的滑稽脸](注释:GNU Bourne-Again Shell(bash)是GNU计划中重要的工具软件之一,与sh兼容)

       笔记四、Linux基础入门-上半部

        

        3.3 命令提示符:prompt  (这不是命令 →_→)

        笔记四、Linux基础入门-上半部

        笔记四、Linux基础入门-上半部

            3.3.1 显示命令提示符的格式

            笔记四、Linux基础入门-上半部

            3.3.2 修改提示符格式
            PS1=”\[\e[31m\][\u@\h \W]\\$\[\e[0m\]”
            \e \033                            \u 当前用户 
            \h 主机名简称                   \H 主机名
            \w 当前工作目录               \W 当前工作目录基名
            \t 24小时时间格式             \T 12小时时间格式
            \! 命令历史数                    \# 开机后命令历史数
           [→_→TianRandai的滑稽脸](注释:[32m\]这里是颜色,颜色可以使用这条命令查看,数字应对的颜色cat /etc/DIR_COLORS)

四、命令的执行

        4.1我们如何在终端中执行一条命令呢?

        首先打开一个终端,在终端的命令提示附后输入命令然后回车:

            然后,提请shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来。

        4.2在shell中可执行的命令有两类:
            内部命令:由shell自带的,而且通过某命令形式提供
            help 内部命令列表
            enable cmd可以启用
            enable –n cmd禁用内部命令
            enable –n 查看所有禁用的内部命令
             [→_→TianRandai的滑稽脸](注释:cmd不是命令,这里只带应该输入命令)

        4.3外部命令:在文件系统路径下有对应的可执行程序文件
            查看路径:which -a |–skip-alias; whereis

            笔记四、Linux基础入门-上半部
        4.4区别指定的命令是内部或外部命令:
            # type COMMAND
            笔记四、Linux基础入门-上半部

五、执行外部命令

        5.1Hash缓存表:
系统初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在将执行之,如果不存在,将会去PATH路径下寻找。利用hash缓存表可大大提高命令的调用速率
        5.2 Hash常见用法:

            hash 显示hash缓存
            hash –l 显示hash缓存,可作为输入使用
            hash –p path name 将命令全路径path起别名为name
            hash –t name 打印缓存中name的路径
            hash –d name 清除name缓存
            hash –r 清除缓存

           [→_→TianRandai的滑稽脸](注释:运行过的命令hash会记录下来,当内存记录下来后,系统便不会找硬盘中的命令(只有外部命令才会存放在hash中))

            笔记四、Linux基础入门-上半部

             [→_→TianRandai的滑稽脸](注释:1.我在hash缓存表中将/etc/abc文件定义为vi命令,在执行vi命令,这里提示没有abc文件或者目录,这证明系统在运行外部命令时,先从缓存中找,找到则执行,找不到则在去硬盘找。)

六、命令别名

            6.1定义别名

            #alias 

        定义别名NAME,其相当于执行命令VALUE
            #alias NAME=’VALUE’
笔记四、Linux基础入门-上半部

            [→_→TianRandai的滑稽脸](注释:直接输入alias 查询现有的别名)

            笔记四、Linux基础入门-上半部

            6.2取消别名

            #unalias 

                格式:   unalias   别名

                    笔记四、Linux基础入门-上半部

            [→_→TianRandai的滑稽脸](注释:以上方法都是临时建立别名的方法,重启失效,若想开机生效则要写入到特定的文件中   ~/.bashrc只对当前用户有效    /etc/bashrc对所有用户都有效)

            [→_→TianRandai的滑稽脸](注释:对于写完文件想要文件立刻生效需要一些其他的命令)

                    source .bashrc   或者  .  .bashrc让进程重新读取配置文件

                   笔记四、Linux基础入门-上半部

           [→_→TianRandai的滑稽脸](注释:这里echo命令是输出字符串,>>是重定向 ,不要纠结第一条命令,以后会讲到的,现在同学们只需要知道这条命令是将alias ifeth0=”ifconfig ens33写入到.bashrc中就好了。)

            [→_→TianRandai的滑稽脸](注释:系统中原本是没有ifeth0这条命令的,这条命令是我自己定义出来的别名。)

            [→_→TianRandai的滑稽脸](注释:这里解释一下系统执行命令运行的优先级,1.别名    2.内部命令    3.外部命令)

六、 命令格式

            命令的书写也是要按照特定格式的,朋友们,这东西不能胡乱写。

                                COMMAND [OPTIONS…] [ARGUMENTS…]

            翻译过来就是     命令   选项   参数

                选项:用于启用或关闭命令的某个或某些功能;
                    短选项:-c, 例如:-l, -h
                    长选项:–word,例如:–all, –human-readable
                参数:命令的作用对象,比如文件名,用户名等

            [→_→TianRandai的滑稽脸](注释:有些命令是可以跟参数,选项执行的。有一些则需要跟上参数,选项执行)                         

            [→_→TianRandai的滑稽脸](注释“[]”中括号是可选项,这个…应该都知道吧。)

            注意:
                1、多选项,以及多参数和命令之间使用空白字符分隔
                2、取消和结束命令执行:Ctrl+c,Ctrl+d
                3、多个命令可以用;符号分开
                4、一个命令可以用\分成多行

七、显示日期和时间

        #date

        #date  月份日期小时分钟年份.秒钟

        笔记四、Linux基础入门-上半部
     Linux的两种时钟
        系统时钟:由Linux内核通过CPU的工作频率进行的
        硬件时钟:主板
            hwclock,clock: 显示硬件时钟

                -s, –hctosys以硬件时钟为准,校正系统时钟
                -w, –systohc以系统时钟为准,校正硬件时钟

        笔记四、Linux基础入门-上半部
        时区:/etc/localtime
            cal显示日历

            笔记四、Linux基础入门-上半部
            cal–y
            nano文本编辑

            笔记四、Linux基础入门-上半部

八、关机重启

        关机:halt, poweroff
        重启:reboot
            -f: 强制,不调用shutdown
            -p: 切断电源
        关机或重启:shutdown
            shutdown [OPTION]… TIME [MESSAGE]
            -r: reboot
            -h: halt
            -c:cancel
            TIME:now: 立刻
            +m: 相对时间表示法,多久之后;例如+3
            hh:mm: 绝对时间表示,指明具体时间

九、用户登录信息查看命令:
        whoami: 显示当前登录有效用户

        笔记四、Linux基础入门-上半部
        who: 系统当前所有的登录会话

        笔记四、Linux基础入门-上半部
        w: 系统当前所有的登录会话及所做的操作

        笔记四、Linux基础入门-上半部

        who am i 显示的是实际用户的用户名,即用户登陆的时候的用户ID

        笔记四、Linux基础入门-上半部

十、screen命令:
        创建新screen会话:
            screen –S [SESSION]
        加入screen会话:
            screen –x [SESSION]
        退出并关闭screen会话:
            exit
        剥离当前screen会话:
            Ctrl+a,d
        显示所有已经打开的screen会话:
            screen -ls
        恢复某screen会话
            screen -r [SESSION]

        [→_→TianRandai的滑稽脸](注释:这是一个类似远程共享终端的命令,它可能需要单独安装。)

            挂载好镜像,下面是Centos7的安装命令

                [root@centos7 Packages]#cd /run/media/root/CentOS\ 7\ x86_64/Packages/ 
                [root@centos7 Packages]#rpm -ivh screen-4.1.0-0.23.20120314git3c2946.el7_2.x86_64.rpm

            挂载好镜像,下面是Centos7的安装命令

                [root@centos6 Packages]#mount /dev/cdrom /mnt

                [root@centos6 Packages]#cd /mnt/Packages/

                [root@centos6 Packages]#rpm -ivh screen-4.0.3-19.el6.x86_64.rpm 

        [→_→TianRandai的滑稽脸](注释:这个我有点解释不清楚,其中奥妙自行体会吧。)

十一、echo命令
        功能:显示字符
            语法:echo [-neE][字符串]
        说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号
            选项:
                -E (默认)不支持\解释功能
                -n 不自动换行
                -e 启用\字符的解释功能

                笔记四、Linux基础入门-上半部

                启用命令选项-e,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出
                    \a 发出警告声
                    \b 退格键
                    \c 最后不加上换行符号
                    \n 换行且光标移至行首
                    \r 回车,即光标移至行首,但不换行
                    \t 插入tab
                    \\插入\字符
                    \0nnn 插入nnn(八进制)所代表的ASCII字符
                    echo -e ‘\033[43;31;5mmagedu\033[0m’
                    \xHH插入HH(十六进制)所代表的ASCII字
    命令行扩展:$( ) 或“
        把一个命令的输出打印给另一个命令的参数
       笔记四、Linux基础入门-上半部
        括号扩展:{ }
        打印重复字符串的简化形式
    笔记四、Linux基础入门-上半部        
        •显示变量
            echo “$VAR_NAME“ 变量会替换,双引号表弱引用
            echo ‘$VAR_NAME‘ 变量不会替换,强引用

            笔记四、Linux基础入门-上半部

            今天就写在这到这里啦。已经写的好长啦,最近出Linux入门下半部,下半部记载着历史命令与神器tab的使用方法…….[→_→TianRandai的滑稽脸](注释:绝世武功,上半部  终

原创文章,作者:TianRandai,如若转载,请注明出处:http://www.178linux.com/69833

(0)
TianRandaiTianRandai
上一篇 2017-02-23
下一篇 2017-02-24

相关推荐

  • issue设置和定时关机练习

    /etc/issue内的代码意义 \l 显示第几个终端机接口(tty)\m 显示硬件的等级 (x86_64)\n 显示主机的网络名称 (zcl-domain)\r 操作系统的版本 (2.6.32-642.e16)\t 显示本地端时间的时间(20:22:12) \d显示本地端的日期 (2016-8-5)\s 操作系统的名称(linux)  练习 1,…

    Linux干货 2016-08-05
  • N22-妙手-第十周博客作业

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情)     (1) POST阶段         加电自检,确保每个设备能正常工作     (2) BIOS  &nb…

    Linux干货 2016-12-05
  • linux初学

    计算机的组成及其功能。现代计算机体系将计算机分为控制器、运算器、存储器、输入设备和输出设备5个部分控制器:控制器是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,并根据具体要求进行控制、调度程序、数据、地址,协调计 算机各个部分工作,协调计算机各部分工作及内存、IO设备等的访问运算器:运算器是对数据进行各种算数运算和逻辑运算也就是对数据进行加工,…

    Linux干货 2018-02-25
  • RAID学习总结

    RAID(Redundant Array of Independent Disks): 定义:独立硬盘冗余阵列,旧称廉价磁盘冗余阵列(Redundant Array of Independent Disks),简称磁盘阵列。 原理:把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使其性能达到甚至超过价格昂贵,容量巨大的硬盘。 优势: RAID在容量和管理上…

    Linux干货 2016-08-22
  • CentOS 6启动过程总结与GRUB问题修复

    一、CentOS 6 的启动流程 第一步:加电自检(POST) 主要检查硬件设备是否存在并能正常运行,如:CPU、内存、硬盘、风扇、输入输出设备等。自检功能主要是通过BIOS来实现的,BIOS程序是装载在一个硬件芯片CMOS上的,加电过程就是给CMOS通电,然后启动BIOS程序,BIOS程序会根据CMOS上面的一些配置信息区读取其他的硬件设备信息并检测其是否…

    Linux干货 2016-09-16
  • Mariadb之SELECT语法练习

    一 、导入hellodb.sql生成数据库后实现以下操作     # mysql -uroot -h172.16.23.23 -pcento.123 < hellodb.sql     mysql>&nbsp…

    Linux干货 2016-12-17