zoukankan      html  css  js  c++  java
  • Linux学习

    很棒的linux学习网站http://billie66.github.io/TLCL/book/index.html

    为了方便记忆可以用这个:http://www.selflink.cn/links/linux (其实学习其他内容比如python也可以通过www.selflink.cn/links/python访问,同样其他的还有html,js,css,java,php,mysql——使用www.selflink.cn/links制作自己的跳转链接)

    为了体验一下linux服务器,又买了一个阿里云,感觉速度确实比Windows Server速度快。于是开始学习linux了。

    先从虚拟机开始学。系统centOS,有图形界面。


    2016.7.27 学习了几个终端命令还有几个快捷键。

      data:显示时间和日期

      cal:显示本月日历

      df:显示磁盘剩余空间

      free:显示内存剩余空间

      exit:退出终端

      快捷键:

        从图形界面转到命令行:按CTRL+ALT+F1~F6

        从一个命令行转到另一个命令行:ALT+F1~F6

        从命令行回到图形界面:ALT+F7


    2016.7.27晚 学习了目录操作的一点知识。

      pwd:显示当前目录的路径

      ls:显示当前目录的内容  ls -a:显示包括隐藏的内容的当前目录的内容("."开头的是隐藏内容)

      cd:改变目录 "."表示当前目录 ".."表示当前目录的父目录 "./"可以省略

      cd -:回到上次所在的目录  cd (~username):去往username的家目录,括号中省略表示去往当前用户的家目录

      文件名的注意事项:

        文件名大小写敏感

        文件名没有拓展名的概念

        文件名可以包含空格,但是尽量不要这样做,尽量用下划线代替

       目录权限注意事项:

        家目录是用户唯一有权限写入的目录。


    2016.7.29凌晨 学习了ls命令的详解

      ls:列出当前目录的内容

        ls 指定目录: 列出指定目录的内容

        ls 指定目录1 指定目录2 ... : 列出多个目录的内容

        ls -l : 以长模式输出内容  ls 指定目录 -ld :显示指定目录的信息(巧妙配合l与d)

        ls -i : 显示文件或目录节点号(后续可以用这个查看硬链接的效果,硬链接与原文件节点号相同)

        与显示顺序有关: -s:按大小排序  -r:反向  -t:按时间排序

        另外-f 和 -h 还不是很懂具体作用是什么。

      ls -l 输出格式详解  例如: -rw-r--r-- 1 root root 12314 2017-7-22 11:05 aaa.png

        -rw-r--r-- : 文件的访问权限。

          第一个字符  文件类型  "-"代表普通文件,"d"代表目录

          此后三个字符  文件所有者的权限

          再此后三个字符  文件所属组群用户的权限

          最后三个字符  其他用户的权限

        1 : 文件硬链接的数目(硬链接就像c++里面的引用,符号链接就像Windows里的快捷方式)

        root : 文件所有者

        root : 文件所属组群

        12314 : 文件大小(字节)

        2017-7-22 11:05 : 上次修改文件的时间

        aaa.png : 文件名

      file命令:显示文件类型

      less命令:显示文件内容


    2016.7.29晚 详细学习less命令和几个目录操作命令

      禅语:“less is more.”

      less运行后可以查看文件内容。有一些键盘命令需要记住。

      键盘命令:

        Page UP or b : 向上翻页

        Page DOWN or space : 向下翻页

        UP Arrow : 向上一行

        Down Arrow : 向下一行

        g or 1G: 移动到开头

        G : 移动到结尾

        /characters : 向前查找指定字符串

        n : 再次显示刚才的查找

        h : 显示帮助

        q : 退出less程序

      cp : 复制文件  cp -r : 复制文件夹

      rm : 删除文件  rm -r : 删除目录及其内容  rm -i : 删除前显示确认信息  rm -v : 删除时显示提示信息  rm -rf : 删除时不显示确认信息

      mkdir : 创建目录

      mv : 重命名 或 移动文件或目录

      ln : 创建硬链接  ln -s : 创建符号链接(目录只能创建符号链接,不能创建硬链接)

      


    2016.7.30早 学习通配符

      文件名一定不要有空格,否则使用通配符的时候会遇到很多麻烦事。

      基本通配符:

        * : 匹配任意多个任意字符(包括0个)

        ? : 匹配一个任意字符(不包括0个)

        [character] : 匹配任意一个属于[]中的字符

        [!character] : 匹配任意一个不属于[]中的字符

        [[:class:]] : 匹配任意一个属于指定字符类中的字符

      常用字符类:

        [:alnum:] : 字符和数字类

        [:alpha:] : 字母类

        [:digit:] : 数字类

        [:lower:] : 小写字母类

        [:upper:] : 大写字母类

    表5-3: 通配符范例
    模式匹配对象
    * 所有文件
    g* 文件名以“g”开头的文件
    b*.txt 以"b"开头,中间有零个或任意多个字符,并以".txt"结尾的文件
    Data??? 以“Data”开头,其后紧接着3个字符的文件
    [abc]* 文件名以"a","b",或"c"开头的文件
    BACKUP.[0-9][0-9][0-9] 以"BACKUP."开头,并紧接着3个数字的文件
    [[:upper:]]* 以大写字母开头的文件
    [![:digit:]]* 不以数字开头的文件
    *[[:lower:]123] 文件名以小写字母结尾,或以 “1”,“2”,或 “3” 结尾的文件

     来源:http://billie66.github.io/TLCL/book/chap05.html

     


     

    2016.7.30下午 关于命令的相关命令

      type : 显示命令类型(命令类型有:一个可执行程序,内建于shell内部的命令,一个shell函数,另一个命令的别名)

      which : 显示命令的位置(只对可执行程序的命令有效)

      help : 显示命令的帮助文档(只对shell内部命令有效)

      command --help : 显示命令帮助文档(对大多数命令有效)

      man : 查看命令手册(打开一个命令的文档,打开方式是less)  man 5 passwd : 显示passwd手册的第5章节

    表6-1: 手册页的组织形式
    章节内容
    1 用户命令
    2 程序接口内核系统调用
    3 C 库函数程序接口
    4 特殊文件,比如说设备结点和驱动程序
    5 文件格式
    6 游戏娱乐,如屏幕保护程序
    7 其他方面
    8 系统管理员命令

    来源:http://billie66.github.io/TLCL/book/chap06.html

      apropos : 搜索基于某个关键字的命令手册  与 man -k 效果相同

      whatis : 搜索特定关键字的命令手册

      


     

     2016.8.2凌晨 突然想起来两天没学linux了,继续学习……

       info : 还不是很会用

      在一行里执行多个命令,命令之间用分号隔开。

      alias name='string' : 给命令起别名(可以先用type string检测这个名字是否被用过了),不过这样起的别名只能持续到终端关闭之前

      unalias name : 删除别名

      


     

     2016.8.2晚 重定向

      重定向标准输出 : 命令后面加上 >filename ,命令的运行结果会输出到文件里,而且会覆盖原来的内容。(可以用 >filename 命令来快速创建一个空文件)

                     >>filename 不会覆盖原来的内容,而是在文件末尾添加内容。

      重定向标准错误:命令后面加上 2>filename ,如果在>filename后面加的话,可以写2>&1,把标准错误定向到与重定向的输出同一个文件。

                     还有一种更方便的写法 &>filename 让标准输出与标准错误联合定向。(但是&>>不行)

      一个特殊的定向位置——位存储桶: >/dev/null :什么也不输出,就好像什么都没有发生一样。(用于隐藏一些输出信息)

      cat : 连接文件/输出文件内容  不带参的时候等待键盘输入(Ctrl+d代表结束输入EOF标志)  可以与重定向联合使用

          cat filename 与 cat <filename 效果差不多,以后会看到一些区别。

      管道线:

        命令的运行结果输送到less,方便查看 : type cd | less

        过滤器,多个管道线连接成的处理输出的管道,例如排序 : ls /bin /usr/bin | sort | less

        uniq管道 : 删除相邻的重复行  | sort | uniq | less : 删除所有重复行,用less显示

          uniq -d : 显示重复列表

      wc : 显示文件行数、字、字节数  wc -l : 只显示行数

        小例子: ls /bin /usr/bin | sort | uniq | wc -l  显示去重之后的行数

      


     

    2016.8.3晚 继续学习新的命令,现在命令多了一个功能——充当管道

      grep pattern [file...] : 输出匹配模式的文本

        grep -i : 大小写不敏感  grep -v : 输出不匹配的内容

        充当管道的例子 : ls /bin /usr/bin | sort | uniq | grep zip 输出目录下带zip的文件名

      head/tail : 打印内容的前/后十行

        -n number : 打印number行

        tail有一个-f选项,可以实时浏览内容的变化,直到你输入Ctrl+c(查看日志信息很方便)

      tee : 在管道的过程中可以用 | tee filename | 管道把中间结果放进filename里

     


     

     2016.8.5晚 echo命令

      echo : 把后面的内容输出到屏幕上(也可以重定向)

        可以使用通配符 echo * : 显示当前目录所有的文件和目录(*字符的展开)  echo .* : 显示当前目录所有的隐藏文件 echo ~ : 输出家目录 当然其他的通配符也可以。

        算数表达式的计算 : echo $((expression)),如echo $((2+2)) 会输出4

          只支持整数运算,运算符有+-*还有%(取模)、**(取幂)、/(整除)

        大括号的展开:echo num{1..5} 会输出num1 num2 num 3 num4 num5

          大括号可以嵌套:echo {a{1,2},b{1,2}} 会输出a1 a2 b1 b2

          大括号可以组合:echo {2015,2016}-{1..12}

        --以上通配符不仅可以在echo里用,同样也可以用于别的命令(比如快速创建一系列文件夹)

        变量:echo $USER 会输出用户名,因为$USER这个变量里存储了用户名

          要查看有效的变量名可以用printenv | less 命令

     


     

    2016.8.6下午 命令替换

      昨天学习了几种展开,包括*展开,~展开,表达式展开,变量展开。今天学习的命令替换其实就是一个命令的输出可以展开。

      echo $(ls) : 把ls命令输出的内容输出到屏幕上。

      其实echo只是测试一下这个展开,使用展开真正的强大之处在于与其他命令的配合。

      比如 ls -ld $(which cp) : 居然显示了cp命令的信息,而我们其实并不知道cp的目录位置,就是因为我们配合了which命令找到了cp的位置,然后显示了cp的文件信息。

      再比如 file $(ls hello*) : 显示当前目录下每一个以hello为开头的文件的类型信息。

      在一些旧版shell中,也可以用倒引号代替美元和括号,如ls -ld `which cp`

     


     

    2016.8.7晚 继续学习shell中字符串的控制

      书中写了两个很典型的例子:

        echo this is    a test

          输出:this is a test

        echo $100 money

          输出:00 money

      上面显然输出的不是我们想输出的,类似尴尬的情况还有带空格的文件名。

      所以需要有控制的方法:

        1.双引号。"two words.txt"这个就可以代表一个文件名了

          但是双引号中的变量和命令都可以正常展开。如echo "$USER's cal : $(cal)"

            而且,有趣的是,有些情况只有这样才能正常展开。比如echo $(cal)与echo "$(cal)"效果是不一样的。这是由于参数个数的不同导致的,echo会默认把多个参数之间用一个空格隔开,加了双引号,会被看成一个参数,不加双引号,是多个参数

        2.单引号。禁止所有展开。是什么就是什么。

        3.在双引号里手动禁止展开。转义字符。让echo解释转义字符可以加-e参数。如echo -e  "$5.00 dollors hello"。与C语言转义字符差不多。

     


     

    2016.8.8晚 键盘操作技巧

      clear : 清空屏幕(Ctrl + l)

      快捷键:

        

    表9-1: 光标移动命令
    按键行动
    Ctrl-a 移动光标到行首。
    Ctrl-e 移动光标到行尾。
    Ctrl-f 光标前移一个字符;和右箭头作用一样。
    Ctrl-b 光标后移一个字符;和左箭头作用一样。
    Alt-f 光标前移一个字。
    Alt-b 光标后移一个字。
    Ctrl-l 清空屏幕,移动光标到左上角。clear 命令完成同样的工作。

     

    Table 9-2: Text Editing Commands
    KeyAction
    Ctrl-d Delete the character at the cursor location
    Ctrl-t Transpose(exchange)the character at the cursor location with the one preceding it.
    Alt-t Transpose the word at the cursor location with the one preceding it.
    Alt-l Convert the characters from the cursor location to the end of the word to lowercase.
    Alt-u Convert the characters from the cursor location to the end of the word to uppercase.

     

    表9-3: 剪切和粘贴命令
    按键行动
    Ctrl-k 剪切从光标位置到行尾的文本。
    Ctrl-u 剪切从光标位置到行首的文本。
    Alt-d 剪切从光标位置到词尾的文本。
    Alt-Backspace 剪切从光标位置到词头的文本。如果光标在一个单词的开头,剪切前一个单词。
    Ctrl-y 把剪切环中的文本粘贴到光标位置。

    来源:http://billie66.github.io/TLCL/book/chap09.html

      Tab键自动补全命令(不过在我的CentOS上好像没有什么效果……)

      history : 显示历史命令列表

        !88 显示第88个历史命令

        Ctrl + r 也可以搜索历史命令

      表9-5: 历史命令

    Ctrl-p 移动到上一个历史条目。类似于上箭头按键。
    Ctrl-n 移动到下一个历史条目。类似于下箭头按键。
    Alt-< 移动到历史列表开头。
    Alt-> 移动到历史列表结尾,即当前命令行。
    Ctrl-r 反向递增搜索。从当前命令行开始,向上递增搜索。
    Alt-p 反向搜索,不是递增顺序。输入要查找的字符串,然后按下 Enter,执行搜索。
    Alt-n 向前搜索,非递增顺序。
    Ctrl-o 执行历史列表中的当前项,并移到下一个。如果你想要执行历史列表中一系列的命令,这很方便。
    表9-6: 历史展开命令
    序列行为
    !! 重复最后一次执行的命令。可能按下上箭头按键和 enter 键更容易些。
    !number 重复历史列表中第 number 行的命令。
    !string 重复最近历史列表中,以这个字符串开头的命令。
    !?string 重复最近历史列表中,包含这个字符串的命令。

    来源:http://billie66.github.io/TLCL/book/chap09.html


    2016.8.9晚

      文件模式,代表着文件所有者,文件组所有者,和其他人的读,写,执行权限。

      

      

    表 10-3: 权限属性示例
    文件属性含义
    -rwx------ 一个普通文件,对文件所有者来说可读、可写、可执行。其他人无法访问。
    -rw------- 一个普通文件,对文件所有者来说可读可写。其他人无法访问。
    -rw-r--r-- 一个普通文件,对文件所有者来说可读可写,文件所有者的组成员可以读该文件,其他所有人都可以读该文件。
    -rwxr-xr-x 一个普通文件,对文件所有者来说可读、可写、可执行。也可以被其他的所有人读取和执行。
    -rw-rw---- 一个普通文件,对文件所有者以及文件所有者的组成员来说可读可写。
    lrwxrwxrwx 一个符号链接,符号链接的权限都是虚拟的,真实的权限应该以符号链接指向的文件为准。
    drwxrwx--- 一个目录,文件所有者以及文件所有者的组成员可以访问该目录,并且可以在该目录下新建、重命名、删除文件。
    drwxr-x--- 一个目录,文件所有者可以访问该目录,并且可以在该目录下新建、重命名、删除文件,文件所有者的组成员可以访问该目录,但是不能新建、重命名、删除文件。

      

  • 相关阅读:
    cunda 常用命令,删除,创建,换源
    kivy画板
    基础易忘记
    关于tkinter
    airtest常用指令
    在kivy中加图片
    QQ消算轰炸,我好无聊真的
    自动华键盘使用
    自动化键盘,python
    canvas中的优先级,.after最前,before最底,canvas中间,部件在布局下面
  • 原文地址:https://www.cnblogs.com/itlqs/p/5711377.html
Copyright © 2011-2022 走看看