linux学习笔记一

前言:

    今天看了51CTO上的马哥的运维视屏,特写下这篇博客,勉励自己以后有写博客的习惯,把一天学习的东西做总结。

目的:帮助学习记忆。


内容:

        1.POSIX 表示可移植操作系统接口(Portable Operating System Interface ,缩写为 POSIX );

        2.API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

        3.应用程序二进制接口 描述了应用程序和操作系统之间,一个应用和它的库之间,或者应用的组成部分之间的低接口 。

        4.访问时间、修改时间、改变时间的关系。

             1)访问时间是说在对读文件读写、目录是指进入到目录中,以上两种情况都会产生访问时间的改变。

             2)修改时间是指对文件修改(一定要有修改,否则不会改变修改时间,只是读取数据时不可以的),目录是指在文件中创建文件等操作。

             3)改变时间默认是指对文件的修改时间改变,或者文件权限,文件属性的修改之后改变的时间。(访问时间改变)。

        5.touch是用来改变文件时间戳的指令。

                    touch + filename 如果filename存在那么直接改变当前文件的时间戳包括以上三种时间戳。

如果不存在那么新创建一个文件,并且把时间戳改为当前的时间(以上三种时间戳)。

                    touch -a + filename 表示要修改指定文件的访问时间。(filename不存在同上)。

                    touch -m  修改修改时间  (这个也会影响到改变时间)(ilename不存在同上)。

                    touch -t 是加时间戳的时间、格式是YYYYMMDDHHmm.ss

                    touch -c 表示没有文件不创建。

        注意:此时如果要建立一个文件文件名为a空格b

                可以touch ‘a b’

        6.cat 属性

            -n 表示行号。

            -E 输出。

            tac是逆序的显示。

        7.more和less

                more只能够向下翻页。

                less可以向上翻。

        8.cut是一个选取命令。

            cut -d 表示用什么分割 例如:cut -d: 用分号分割。默认的分隔符不是空格,如果要使用空格的话就是用单引号或者是双引号。

                   -f n表示使用n个字段。如 cut -d: -f 1 /etc/passwd。

    9.tr是转换或者删除字符的。

            如:tr ‘a‘ ‘A‘ < file;把文件中的a转换成大写A。

            tr ‘a-z’‘A-Z’<file ;把小写的a-z转换车A-Z。

            tr -d 删除其中的字符。tr -d ‘a’< file

    10.wc是文件统计的命令(行数,单词个数,字符数)

            -l 行数。

            -w单词个数。

            -c 字符数。

    11.sort 文本的排序(默认的是按照ASCII编码的增加排序的)

        -r是逆序。

        -n是按照首字母的数字打下递增排序的。

        -t是指定分隔符,配合-kn是表示按照n段来进行排序,有空格也是使用单引号或者双引号。

    12.shell环境变量的配置。

        bash相关的环境的变量一般全局的都是在

            /etc

                profile  profile.d/*   bashrc

        用户局部的有在主目录下的:

                        ~/.bash_profile

                        ~/.bash.rc

    13.shell中的快捷键

        Ctrl + a 跳到行首。

        Ctrl + e 跳到行末。   

        Ctrl + u 把光标前的全部删除。

        Ctrl + c 把光标后的全部删除

    14.命令的补齐

     bash可以查看相关的命令缓存,这其中包括命令式使用次数,和命令的路径。

命令补齐的方式是,如果命令第一次的使用,系统会在当前用户环境变量制定的路径中查找相关的指令位置(如果在没有完全指令之前按Tab键那么如果不能唯一的确定是哪个命令就不会补齐),使用完命令之后就将命令记载在 bash能查询的文件中。下次查询过程就会先从这个缓存文件中查找(这个速度是很快的,使用的是哈希表的方式),如果有那么就拿出来用,如果没有就从新的查找(如果在这期间命令的路径发生了改变那么就会引起命令的找不到,那么此时可以使用 bash -r来清理缓存,-d可以指定要删除的项)。

15.路径的补全:这个是在指定的头目录中寻找匹配的文件。

16.history 每个用户都有一个相应的文件存贮(~/.bash_history 这里指的是shell正常的退出)

        -w 写入到文件中(会覆盖)。

        -a这个是追加到历史文件后面。

        -d N 表示删除编号为N的历史。

        -d OFFSET N 表示从OFFSET开始删除N个历史。

        -c 清空历史。

        !24 执行第24个命令。

        !!执行上一个命令。

        !-n执行倒数第几个的命令。

        !string 执行最近一次匹配字符串的命令。

    注意:这里有几种可以使用上一个命令的参数的方法

        1)按住ESC之后放开 再按.

        2)Alt +. 此时不放开(在terminal中可以用,有些软件不可以用)。

        3)!$

    这里有四个环境变量影响:

                            1)HISTSIZE 这个是指能够缓冲的历史命令个数。

                            2)HISTFILE 这个事缓冲的历史文件。

                            3)HISTFILESIZE 这个是缓冲文件的大小。

                            4)HISTCONTROL 这个事历史文件的控制:(exoprt HISTCONTROL(不能有空格)=(不能有空格)ignorespace )

                                            1.可以使ignorespace 表示忽略空格(这个方法可以让一些不想让看到的命令前加空格实现不出现在history中)

                                            2.ignoredups 这个是忽略掉重复的行。

                                            3.ignoreboth

17.文件名匹配:

    glob 这个事特殊的字符,元字符,不表示字符的表面意义,而是能够匹配一些特征。

    1)* 表示任意个字符(任意长度)

    2)?表示任意单个字符。

    3)[]表示匹配指定范围中的任意一个。

    4)[^]表示不是其中的任意一个。

注意:可以查找 ls a[‘ ‘][a-zA-Z]

        [[:alnum:]]=[a-zA-Z0-9]  

        [[:alpha:]]=[a-zA-Z]  [[:blank:]]=[空格和tab键] 

        [[:digit:]]=[0-9] 

        [[:graph:]]  [[:lower:]]=[a-z] 

        [[:print:]]=[可以打印出来的字符]

        [[:punct:]]=[标点符号] 

        [[:space:]]=[空格] 

        [[:upper:]]=[A-Z] 

总结:以上为视屏内容的总结,要多多的复习牢记于心。明天继续学习,加油!


本文出自 “8274747” 博客,谢绝转载!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。