• Linux基础02 bash shell(命令补全, 快捷键, 历史命令, 命令别名alias, ls, man), 目录管理


    bash shell

    一.bash初识

    1.什么是bash shell
    是一个命令解释器,与内核进行交互,用户和操作系统的接口
    2.bash shell的作用
      文件管理
      用户管理
      权限管理
      磁盘管理
      网络管理
      软件管理
      应用管理
      ...
    3.bash两种使用方式
      1)命令
        效率低,适合少量工作
      2)脚本
        效率高,适合大量工作

    4.命令提示符

        [root            @        centos7        ~    ]        # :超级管理员
        [oldboy          @        centos7        ~    ]        $ :普通用户
        当前登录的用户                主机名        当前目录的位置    

    /home/oldboy:普通用户家目录
    /root: root用户的家目录

    第一个命令:
    echo:在bash shell中调用变量 $
    例:

    >age=18
    >echo $age # 返回18

    whoami:查看当前登录的用户

    二.shell的基础语法

    命令     选项        参数
    command [-options] [arguments]  中括号 可有可无

    echo:  所见即所得。输出你echo后面参数内容
    -e:识别换行符等特殊符号
    :转义符 换行符 空几格(一个tab)
    $:调用变量

    echo 'zls'
    echo -e 'zls
    123' # 识别换行符输出

    yum -y install net-tools       安装完可以使用ifconfig命令

    三.shell的基本特性

    1.命令补全(参数, 选项)

    1)命令补全 Tab
    2)参数补全:yum install -y bash-completion (最小安装默认不带命令补全,需要该命令自行安装,关闭重新登录即有效)
    ls -- 然后按Tab键即可显示所有参数
    3)选项补全:主要是补全 路径
    C:UsersAdministratorDocumentsVirtual MachinesCentOS 64 位

    2.快捷键

    linux的快捷键:
        Ctrl + a:将光标跳转到行首
        Ctrl + e:将光标跳转至行末
        Ctrl + w:以空格为单位,将当前光标位置之前的内容删除 
        Ctrl + u:将当前光标位置之前的内容全部删除
       Ctrl + k:清除光标之后的内容 Ctrl
    + l:清屏(相当于clear命令) Ctrl + c:终止当前命令 Ctrl + d:退出,断开当前连接(相当于exit/logout命令) Ctrl + z:挂起,放后台执行(比如安装过程中时间比较久,放到后台执行) 注:如果把xshell当前会话关闭,后台运行就会终止,要永久还需要敲个命令 Ctrl + r:搜索历史命令 Ctrl + s:锁屏(没什么意义,不如使用xshell软件的锁屏或者是windows锁屏) Ctrl + q:解锁(Ctrl + c也可以解锁) Ctrl + 左右:按照单词跳转光标(点,空格都有效) ESC + . :瞬间显示出上一条命令,最后的内容,以空格分隔 #:注释,不执行。(输入又想等下执行可以先注释,后面通过上下键返回上面的注释的命令)

     

    3.历史命令

    1)日志审计
    history
    -w:保存历史命令到文件中write
    例: [root@oldboyedu ~]# history -w
    #历史命令保存到文件,当前用户的家目录下有一个隐藏文件:.bash_history
    
    -d:删除历史命令中的某一条 -d 后面加数字 delete(删除)
    例: [root@oldboyedu ~]# history -d 5 #删除第5条历史记录
    
    -c:清空历史记录,clear(清除)
    例: [root@oldboyedu ~]# history -c #清空所有历史记录
    history -w # 再次执行机会重写保存的历史文件
    
    ! + 命令中的前面字符:调用之前的历史命令,只能调最近执行的命令(ctrl+r可以搜包含字符的命令) # 例 !v 查询v开头的命令
    !!:执行上一条执行过的命令
    !+历史命令中的编号:调用历史命令 # 例 !13调用历史中13条命令
    注:history记录命令中可通过设置命令前带空格不会记录进history中

    4.命令的别名 alias

    #设置别名

    [root@oldboyedu ~]# alias ls='ls --color=auto' //临时生效
    [root@localhost ~]# alias tong='ping baidu.com'

    #取消别名

    [root@oldboyedu ~]# unalias tong

    #查看别名

    [root@oldboyedu ~]# alias
    alias cp='cp -i'
    alias egrep='egrep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias grep='grep --color=auto'
    alias l.='ls -d .* --color=auto'
    alias ll='ls -l --color=auto'
    alias ls='ls --color=auto'
    alias mv='mv -i'
    alias rm='rm -i'
    alias tong='ping baidu.com'
    alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

    注: 使用前看下alias有没有被替换

    5.查看目录下的文件

    [root@oldboyedu ~]# ls --help    获取命令的帮助
    Usage: ls [选项] [文件]
    -1:    数字1, 以列表的形式展示某个目录下的文件
    -l:    显示出某个目录下的详细信息
    -a:    显示所有文件包括隐藏文件  --all
    例:查看当前目录所有内容详细信息    ls -a -l 或 ls -al 或 ls -la 或 ll -a(ll是系统预先设好的别名,脚本中无法使用)
    -h:    以人类可读的方式,显示文件信息(文件大小加上了单位,要和-l 一起使用)
    -d:    只显示目录本身
    -t:    按照修改时间排序,最新的在最上面
    例: 按时间顺序排序    ls -tl    倒叙排序    ls -tlr(参数r为倒序) 
    -r:   倒叙排列
    -i:   显示文件的inode号

    6.查看命令说明获取帮助

    man
    例: man ls查看ls的具体说明    (ls --help是查看简单说明)
    注: 可以网上查看linux中文手册
    http://linux.51yip.com/
    https://man.linuxde.net/    

    目录管理

    [root@oldboyedu ~]# ls -1 /
    
    #普通用户可执行的命令存放目录    # 以下三个软链接都是centos7开始有的,之前的版本没有
    软链接    /bin为链接文件
    bin     -> usr/bin    # centos7下有bin目录, 之前centos6,5是没有bin目录的, 只有usr/bin
    例:[root@oldboyedu ~]# ls /bin/useradd
    ls: cannot access /bin/useradd: 没有这个文件或者目录,。说明添加用户这个命令不在普通用户命令下,不能被随意执行
    
    #超级用户可执行的命令存放目录
    sbin    -> usr/sbin
    
    #系统命令,依赖的库文件存放的目录
    lib     -> usr/lib    (相当于windows下的Program Files)
    lib64   -> usr/lib64    (相当于windows下的Program Files(x86))
    
    #系统的启动项和引导菜单
    boot
    
    #系统设备目录
    dev    (linux里插上u盘,设备会放在dev下面)
    
    sda    :系统中的第一块磁盘
    sda1    :系统中第一块磁盘的第一个分区
    sda2    :系统中第一块磁盘的第二个分区
    sda3    :系统中第一块磁盘的第三个分区
    sdb    :系统中的第二块磁盘
    sdc
    sdc4    :系统中第三块磁盘的第四个分区
    
    /dev/null    :类似于黑洞,垃圾回收站。    使用: ls -l /etc/ > /dev/null    不输出,一般用于脚本
    /dev/zero    :源源不断的产生数据
    /dev/pts/    :查看用户连接的终端数    使用: ll /dev/pts/
    /dev/random : 生成随机数 /usr /usr 目录 相当于windows下的 C:Windows目录 /usr/local 软件安装目录 相当于C:Program /usr/bin 普通用户使用的应用程序(重要) /usr/sbin 管理员用户使用的应用程序(重要) /usr/lib 库文件Glibc 32bit (相当于windows下的Program Files) /usr/lib64 库文件Glibc 64bit (相当于windows下的Program Files(x86)) #系统配置文件目录 etc /etc/hostname : 记录主机名的配置文件 /etc/hosts : 本地域名解析配置文件 /etc/resolv.conf : DNS配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 : 网卡配置文件 (ip a查ip地址信息能看到) #普通用户的家目录(useradd创建一个用户,home下面就会多一个该用户的文件夹) home #光驱,挂载目录 media mnt #第三方厂商安装软件目录 opt #反应系统当前进程的实时状态 proc 使用: ls /proc/ 查看当前所有进程pid目录 /proc/meminfo : 内存信息 使用: cat /proc/meminfo查看内存信息的文件 /proc/cpuinfo : CPU信息 使用: cat /proc/cpuinfo查看cpu信息的文件 #超级管理员用户的家目录 root #临时目录,类似于回收站 tmp (10天后自动会删除,最好删除用这个,防止误删除) #可变化系统文件目录 var /var/log/messages:系统日志 /var/log/secure:系统登录日志 # 系统正在跑的目录,记录跑的服务的进程号 run 目录前面的信息 如: drwxr-xr-x. 2 root root 60 Sep 17 00:55 vfio l:软链接文件 d:目录 -:普通文件 c:块设备文件
  • 相关阅读:
    java解析php函数json_encode unicode 编码问题
    python根据域名循环遍历查找绑定IP
    android开发 sqlite设置本地时间
    android判断指定软件是否安装
    android中安装,启动和卸载应用
    .net程序员面试题
    error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
    jQuery EasyUI学习笔记
    [转载]NetBox使用教程!
    Sql一次清空所有数据(基于 Mgo Bcp)
  • 原文地址:https://www.cnblogs.com/ludingchao/p/15163317.html
Copyright © 2020-2023  润新知