笔记四、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)
上一篇 2017-02-23 13:47
下一篇 2017-02-24 01:36

相关推荐

  • linux 常用命令

    linux   常用命令:      pwd: printing working directory                     显示工作目录       cd:cha…

    Linux干货 2016-10-28
  • 程序包管理yum

    YUM: YellowdogUpdate Modifier,rpm的前端程序,用来解决软件包相关依赖性,可以在多个库之间定位软件包 存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录下:repodata) 文件服务器:     ftp://     http:// &n…

    Linux干货 2016-08-23
  • Linux文本处理工具及组管理

    1、列出当前系统上所有已经登录的用户名,注意:同一个用户登录多次,只显示一次即可 [root@centos ~]# who | cut -d' ' -f1 | sort -u     gentoo &…

    Linux干货 2016-10-09
  • Homework Week-6 vim使用、脚本编程

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; cp /etc/rc.d/rc.sysinit /tmp/ vim /tmp/rc.sysinit 转换为末行模式: :%s@^[[:s…

    Linux干货 2016-09-19
  • 马哥教育网络班22期+第7周课程练习 忍者乱太郎喻成

    第七周 1、创建一个10G分区,并格式为ext4文件系统;   (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    我个人比较喜欢使用交互式的分区工具fdisk    我以fdisk为例: &n…

    Linux干货 2016-11-21
  • 第七周:文件系统、raid、lvm和shell脚本练习

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; [root@wlm ~]# fdisk /dev/sdb    #将/dev/sdb进行分区操作 D…

    Linux干货 2016-11-07