美文网首页Linux赵
linux理论知识点及命令参数

linux理论知识点及命令参数

作者: Gq赵 | 来源:发表于2019-08-02 16:29 被阅读0次
                                 GNU、Bash shell的特性、提示符介绍
    

    什么是GNU?

    GNU: 不是Unix
    gpl 通用许可协议,只要软件被打上这个协议,修改后必须再次公开源代码.

    GUN和Linux的关系?

    GNU提供是程序 依赖库文件 Linux 内核 ==GNU/LINUX

    什么是Bash Shell?

    是一个命令解释器, 将用户输入的命令,翻译给内核程序.
    将用户输入的指令翻译给内核程序,内核处理完成之后将结果返回给bash

    如何打开一个bash窗口:

    通过Xshell连接,就算打开一个Bash程序的窗口.

    Bash Shell登陆后的提示符是什么意思?

        [root@oldboy ~]#
            root:   当前登录系统的用户
            oldboy: 主机名称
            ~:      当前所在的位置   ~表示当前用户所在的家目录
            #:      通常情况下表示的是超级管理员
            
        [jack@oldboy ~]$
            jack    当前登录系统的用户
            $:      当前是一个普通用户
    

    Bash Shell的常用特性?

        1.补全tab
            命令补全  路径补全  选项补全
            
            输入命令: 按下tab键 会自动补全,但是如果无法补全
            路径补全: 保证唯一就能实现补全功能,但如果输入错误则不会补全成功.
            选项补全: yum install bash-completion
            
            PS:输入错误,tab键不好使/
        
        2.命令快捷键
            ctrl+c  终止当前正在运行的程序
            ctrl+l  清屏  ===  clear命令
            ctrl+w  按单词或者空格进行向前删除
            ctrl+a  光标跳转至行首
            ctrl+e  光标跳转至行尾
            ctrl+z  暂时放入后台   几乎不用
            ctrl+u  删除光标以前的所有内容
            ctrl+k  删除光标以后的所有内容
            ctrl+r  搜索的此前执行过的命令
    

    3.历史命令History, 追溯之前发生情况 (查找执行的命令历史记录)

             -w 保存命令历史到历史文件
            -c 清空命令历史记录, 不会清空已保存的文件
            -d 删除命令历史的第 N 条行
    

    4.命令别名 alias unalias


                                         目录介绍
    
    image.png
    image.png

    1.存放命令相关的目录

    /bin, 普通用户使用的命令 /bin/ls, /bin/date
    /sbin,管理员使用的命令 /sbin/service

    2.存放用户相关数据的家目录,比如:windows不同的用户登陆系统显示的桌面背景不一样

    /home,普通用户的家目录, 默认为/home/username /home/test 环境变量的设定
    /root,超级管理员root的家目录, 普通用户无权操作

    3.系统文件目录

    /usr,相当于C:\Windows
    /usr/local,软件安装的目录,相当于C:\Program File
    /usr/bin/,普通用户使用的应用程序(重要)
    /usr/sbin,管理员使用的应用程序(重要)
    /usr/lib, 库文件Glibc 32bit
    /usr/lib64,库文件Glibc 64bit

    4.启动目录

    /boot 存放的系统启动相关的文件,例如:kernel,grub(引导装载程序)

    5.配置文件目录

    /etc,——极其重要,后续所有服务的配置都在这个目录中
    /etc/sysconfig/network-script/ifcfg- ——网络配置文件
    /etc/hostname ——系统主机名配置文件
    /etc/resolv.conf ——dns客户端配置文件
    /etc/hosts ——本地域名解析配置文件 C:\Windows\System32\drivers\etc

    6.可变的目录与临时目录

    /var—存放一些变化文件,比如/var/log/下的日志文件
    /var/tmp —进程产生的临时文件
    /Tmp —系统临时目录(类似于公共厕所)

    7.设备目录文件

    /dev —存放设备文件,比如硬盘,硬盘分区,光驱,等等
    /dev/sd —sda sdb sdc4
    /dev/null, —黑洞设备,只进不出。类似于垃圾回收站
    /dev/random —生成随机数的设备.
    /dev/zero —能源源不断的产生数据,类似于取款机,随时随地取钱

    /proc—反映当前系统正在运行进程的实时状态
    /run—存放程序运行后所产生的pid文件
    /mnt 提供挂载的一个目录
    /opt 早期第三方厂商的软件存放目录
    /srv物理设备产生的一些文件

    文件路径定位

    /etc/hostname 文件位置+文件名称=路径 换句话说: 路径则是对文件定 义的一种方式.
    绝对路径: 只要以/ 开始的路径,.都算绝对路径
    相对路径: 相对于当前目录来说的路径 . 当前目录 .. 当前目录的上 一级目录


                        常用命令   cp、grep、cat 、less、more、head、tail       
    

    1.cp 文件拷贝

    -p 保持源文件属性 -v 显示cp执行过程 -r 递归复制,通常用来复制目录

    2.grep 文件过滤

    -n 显示行号
    -E 同时筛选多个目标
    -A
    -B
    -C 显示上下行 [root@ZhaoJianHao-1 ~]# grep -C5 "hh" aa.txt 查找上下五行

    -i 忽略大小写  例如 grep -E "w|l" text 在text文件中查找带有w或带有l的行
    -v 取反
    ^ 匹配关键字,以什么开头
    $ 匹配关键字,以什么结尾
    . 任意单个字符 [a-z] [A-Z] [0-9] dsa

    • 表示所有
      . * 表示任意字符(所有的任意字符)
      ^$ 表示过滤空格

    3.cat 查看文件内容

    -n 显示行号
    -A 查看文件特殊符号
    向文件追加内容
    cat >> test.txt <<EOF
    test
    EOF ## 格式为以EOF开头、结尾

    4.less more 都是查看大文件使用

    less  查看时使用方向键和回车键滚动查看,回车键向下逐行查看,空格键翻页
    more  可以显示查看文章的进度, ctrl+f 下翻   ctrl+b 上翻
        按回车可以向下逐行显示, 按空格可以翻页显示 按q退出

    5.head  查看文件头部内容,默认前10行

    -n 指定查看前几行

    6.tail 查看文件尾部,默认显示后十行

    -n tail 加选项n可以调节显示文件多少行
    tailf 可以动态查看文件的内容,例如可以查看动态日志文件的变化
    tail -f作用相同 可以动态查看尾部内容


                                          awk、sed 、wc
    

    awk  用于文件内容的截取

    格式:  awk ‘/+内容/’+文件目录
    -F   指定输入分隔符

    用法举例: 以 : 为分隔符, 查看a.txt的第三列和第五列 image.png
    查看行
    awk 'NR == 2' /etc/passwd NR 表示行

    sed 用于文件内容的替换

    sed 's#12#23#g'  将文件中的12替换为23
    sed '1p' 文件名   可以截取文件的第几行

    | 管道符 上一个命令的输出作为下一个命令的输入


                                   文件内容排序,去重,统计,截取
    

    sort 命令用于文章内容的排序

    选项

    -n 以数字格式排序

    -t 指定以什么为间隔
    sort -t "." -k3.1,3.1n -k4.1,4.3n 后面加文件路径,表示以.为间隔符,将第三列的第一个字符,第四列的第一个字符至第三个字符按照数字排序

    -k 指定排序第几行 k1.2,1.3 意思是排序第一列的第二个字符和第三个字符

    -r 将文件内容倒序排序

    uniq 用于文件内容的去重统计命令 必须先排序在去重

    -c 用于统计重复的内容有多少
    sort -t "." -k3.1,3.1n -k4.1,4.3n 1.txt|uniq -c   #将改采排序的列进行去重并统计内容个数。

    cut 用于文件内容的截取

    cut 用于截取文件的某一行的第几列内容(不推荐使用)
    -d 设定间隔
    -f 提取第几列

    wc 用于统计文章的多少

    -l 用于统计文件有多少行
    wc -l /etc/passwd   统计etc下passwd文件有多少行

                          文件下载  |    wget、curl、  文件上传 | rz、sz     
    

    wget

    这个命令不是下载下来自带的,是后期安装。 yum -y install wget
    wget 不加参数,后面直接跟下载地址,默认下载到当前目录
    选项 -O 后面指定下载路径
    格式是 wget -O /etc/21 后面加网址 是指定下载到/etc目录下,并且命名为21

    PS:如果不需要改名字,则需要在网址后面加上文件的原名

    curl

    是虚拟机最小化安装就带的命令

    不加任何参数,curl 后面跟上网址,意思是访问该网址,在终端上会显示该网页的源代码

    curl -o 后面加指定下载路径,指定下载到哪个目录
    格式为: curl -o /etc/32 + 网址。#意思是将该网址的文件下载下来,保存到/etc下,并且命名为32,如果没有,则会保存到当前目录

    文件上传 rz、下载 sz

    这里的文件上传指的是linux 和本地的上传和下载
    这个命令的安装包为lrzsz   yum install lrzsz
    1)上传命令是 rz
    2)从linux下载到本地命令是sz


    命令查找

    命令查找指的是查找命令的绝对路径

    1)which 这个命令用于查找命令的绝对路径 不仅会显示命令的绝对路径,还会显示命令的别名

    which ls 可以查看出ls的绝对路径和别名

    2)whereis 这个命令也会查找命令的绝对路径

    whereis ls 不仅会显示命令的绝对路径,还会显示文件的帮助手册的绝对路径

    选项 -b
    whereis -b 只会显示该命令的绝对路径

    3)type 命令不仅多了一个功能是可以检查shell内核自带的关键字

    例如for,while 循环等
    选项 -a
    type -a 在查找普通命令时候会只显示命令的别名,-a选项也可以显示命令的绝对路径


                       文件内容排序(sort)、去重(uniq)、统计(wc -l)、截取(cut)
    

    1)sort (命令用于文章内容的排序)

    选项

    -n 以数字格式排序

    -t 指定以什么为间隔

    -k 指定排序第几行 k1.2,1.3 意思是排序第一列的第二个字符和第三个字符

    -r 将文件内容倒序排序

    例: sort -t "." -k3.1,3.1n -k4.1,4.3n + 文件路径
    表示以.为间隔符,将第三列的第一个字符,第四列的第一个字符至第三个字符按照数字排序

    2)uniq   用于文件内容的去重统计命令 必须先排序在去重

    -c 用于统计重复的内容有多少
    例: sort -t "." -k3.1,3.1n -k4.1,4.3n 1.txt|uniq -c
    意思是将改采排序的列进行去重并统计有多少

    3)cut   文件内容的截取

    cut 用于截取文件的某一行的第几列内容(不推荐使用)
    -d 设定间隔
    -f 提取第几列
    cut -d "." -f3,5 + 文件路径 #表示以 . 为分隔符,截取第三列和第五列

    4)wc 用于统计文章的多少

    -l   用于统计文件有多少行
    wc -l /etc/passwd  会统计etc下passwd文件有多少行


    软链接与硬链接的区别?

    1.软连接就是一个快捷方式,删除软连接不会影响源文件.

    2.硬链接,类似于一个文件副本,删除硬链接不影响原文件,只有删 除所有的硬链接及其源文件,这个文件才算彻底被删除.

    命令执行流程

    1.当我们执行一个命令, 整个命令执行流程如下:

    1. 判断命令是否通过绝对路径执行
    2. 判断命令是否存在alias别名
    3. 判断用户输入的是内置命令还是外置命令
    4. Bash内部命令直接执行,外部命令检测是否存在缓存
    5. 通过$PATH变量查找命令,有执行,无报错 command not found

    绝对路径-->alias--->hash缓存-->$PATH变量路径--->有执行--->没有 command not found

    相关文章

      网友评论

        本文标题:linux理论知识点及命令参数

        本文链接:https://www.haomeiwen.com/subject/kguldctx.html