美文网首页
超实用 Linux 常用命令

超实用 Linux 常用命令

作者: 若尘___ | 来源:发表于2021-02-06 16:18 被阅读0次

    Shell 详解

    Shell 简介


    • Linux精髓在于命令行操作
    • Shell是一种特殊的程序
    • 是内核与用户的一种接口
    • Shell命令解释器
    • Shell一种解释性的语言(内部命令/外部命令)
      • 内部命令:系统自带的,随系统内核一起启动(56)
      • 外部命令:一些额外的软件或者程序
    • sh (Borurne Shell)
    • csh
    • ksh
    • BASH: 是rhel中默认的一种
    • shell命令规范
      • 命令字 [选项] [参数]
        • 选项
          • 作用:用于调节命令的具体功能
          • "-" 引导短格式选项(单个字符)ex: "-l"
          • "--" 引导长格式选项(多个字符) ex: "--color"
          • 多个短格式选项可以写在一起
            • -a -l -z -x --> -alzx
        • 参数
          • 命令操作的对象
          • 有文件、目录等
        • ex: ls -l /home

    在Liunx当中严格区分大小写
    在Linux当中一切皆文本

    常用命令


    • su [-] username 切换当前登陆
      • 有 - : 代表切换bash
      • 无 - : 代表不切换bash
    • exit:退出
    • 查看系统当前主机名
      • hostname
    • 修改主机名并生效
      • hostnamectl set-hostname yourhostname
    • 关机操作
      • poweroff
      • init 0
      • shutdown -h now
      • halt
    • 重启命令
      • reboot
      • shutdown -r now # 现在重启
      • shutdown -r now # 15分钟后重启
    • 查看当前系统时间
      • date
    • 查看日历
      • cal
      • cal 年份 # 查看全年日历
      • cal 月份 年份 # 查看某年某月的日历
    • 查看系统当前IP地址
      • ifconfig
      • ip addr show (rhel7)
    • 测试网络连通性
      • ping 127.0.0.1
      • ping 127.0.0.1 -c 4 # 限制ping包次数

    BASH 常用快捷方式


    • 中断当前操作
      • CTRL + c
    • 清屏
      • CTRL + l = clear
    • 换行
      • \
    • 光标跳到行首
      • CTRL + a
    • 光标跳到行尾
      • CTRL + e
    • 清空到光标所在位置的前面所有内容
      • CTRL + u
    • 清空到光标所在位置的后面所有内容
      • CTRL + k
    • 查看历史命令 (默认保留1000行)
      • history
    • 调用历史命令
      • !n (ex: !22)
    • 清空历史命令
      • history -c
    • 字体放大
      • CTRL + SHIFT + +
    • 字体缩小
      • CTRL + -

    Linux 目录结构


    • boot:存放系统引导文件和内核文件
    • bin:存放可执行文件(二进制文件)(ls,cat,mkdir)
    • sbin:root用户执行命令
    • home:普通用户的家目录
    • root:root用户的家目录
    • dev:放置所有设备文件(外设 u盘、磁盘、光驱)/dev/md* /dev/sd* /dev/hd*
    • etc: 放置所有配置文件(服务)
    • lib/lib64:动态链接库文件(共享库) 类似于 .dll
    • media:媒体库文件
    • opt:文件安装目录,安装软件就在opt目录下
    • mnt:挂载点目录 mount * *
    • var: 存放一些需要改变数据的文件 日志,某些大文件的溢出区
    • proc:虚拟文件系统目录,放的是内存的一个映射
      • cat /proc/cpuinfo # 查看CPU运行状态
      • cat /proc/meminfo # 参看内存运行状态
      • cat /proc/version # 查看系统版本
      • uname -m # 查看CPU架构
      • uname -r # 查看内核版本
    • usr: 最大的目录 只要用到的目录或者文件都在这儿 /usr/sbin  /usr/doclinux
    • tmp: 共享文件夹,临时目录
    • lost+found:平时为空,只有系统在非正常关机时才会有,保存意外掉电内存数据

    Linux中,如何获得命令帮助

    • help (内部命令) cd,kill 56条
    - ex:help cd
    
    • --help (适用于大多数外部命令查找) ls
    - ls --help
    
    • 使用man手册进行命令查看(man:命令阅读手册)
      • “男人没有什么搞不定的”
      • man 命令字
      • 上下键滚动文本
      • Page down & Page Up 上下翻页
      • 空格也支持翻页,回车键走一行
      • 输入 / ,可以查找
    • info 也可进行命令帮助查找(使用与man接近)
    • pinfo 命令字 以浏览器的形式查看详细的GUN信息
    • /usr/share/doc # 所有已安装软件的说明文件
      • firefox file:///usr/share/doc

    Linux 常用命令

    目录操作命名


    • cd命令: 切换工作目录
      • cd [目录位置]
      • 绝对路径: cd /home/ruochen
      • 相对路径:
        • cd . 切换到当前目录
        • cd .. 返回到上一级目录
        • cd - 返回上一次所在的工作路径
        • cd ../../ 返回到上一级目录的上一级目录
        • cd ~ 返回到用户的家目录
    • pwd: 查看当前所在的工作目录
    • ls: 列出当前目录下的文件或者目录

    在Liunx中,以.开头的文件是隐藏文件

    - 格式: ls [选项] [目录或文件名]
    - 选项:
        - -l 以长格式显示
        - -a 显示所有文件目录信息,包括隐藏文件
        - -d 显示目录本身的属性
        - -h 显示详情信息,变换了统计单位
        - --color 以颜色区分不同类型的文件
        - ll == ls -l
    
    • mkdir: 创建一个新目录
      • 格式: mkdir [选项-p] [路径] 目录名
      • -p: 递归创建多级目录
      • mkdir -p b/c/e/f/g
    • rmdir: 删除一个空目录
      • -p: 递归删除

    文件操作命令


    • touch,cp,mv,rm,find
    • touch: 创建一个空文件,更新文件时间标记
      • 格式: touch filename

      在Linux中,不以后缀区分文件

    • echo: 打印某个东西
      • 重定向写
        • echo "hello world" > a.txt
    • cp: 复制文件或者目录
      • 格式: cp [选项] 源文件/目录 目标文件/目录
      • -r: 递归复制整个目录树
      • cp /root/aa/a.txt /root/bb
      • cp ../aa/a.txt .
    • rm: 删除文件或目录

    rm -rf * 从删库到跑路

    - 格式: rm [选项] 文件或者目录
    - -r: 递归删除整个目录树
    - -f: 强制删除不给任何提示
    
    • mv:移动文件或者目录

      • 格式: mv [选项] 源文件/目录 目标文件/目录
        • mv text/b.txt text-2/
      • 注: 若移动目标位置与原位置相同(当前下操作),则此操作相当于重命名
        • mv text text-1
    • find: 用于查找文件或者目录

      • 格式: find [查找范围] [查找条件]
      • 查找条件
        • -name: 按文件名查找

           [root@localhost ~]# find / -name initial-setup-ks.cfg
           /root/initial-setup-ks.cfg
           [root@localhost ~]# find / -name initial-*
           /root/initial-setup-ks.cfg
           [root@localhost ~]# find / -name initial-*-*
           /root/initial-setup-ks.cfg
           [root@localhost ~]# 
          
        • -type: 按文件类型查找

          • f: 普通文件

          • d: 目录

          • b: 块设备文件

          • c: 字符设备文件

             [root@localhost ~]# find / -name text -type d
            
        • -user: 按文件属主查找(这个文件是谁的)

           [root@localhost ~]# find / -user ruochen -name initial-setup-ks.cfg -type f
           [root@localhost ~]# find / -user ruochen -type f -name ruochen.initial-setup-ks.cfg 
          
        • -size: 按文件大小进行查找

           [root@localhost ~]# find /var/ -size +10k -type f
           [root@localhost ~]# find /var/ -size -1k -type f
           [root@localhost ~]# find /var/ -size +10k -size -11k -type f
          
        • -a: 逻辑与

        • -o: 逻辑或

           [root@localhost ~]# find / -name anaconda-ks.cfg -o -name initial-setup-ks.cfg 
           /root/anaconda-ks.cfg
           /root/initial-setup-ks.cfg
          
        • !: 逻辑非

           [root@localhost ~]# find / ! -name temp -type f
          
    • alias 别名; 为使用频率较高的命令设置简短的调用名称

      • 查看当前用户所有别名
        alias [别名]

      • 设置别名
        alias 别名="实际执行的命令"

          grep -c 'boot' initial-setup-ks.cfg 
          7
          [root@localhost ~]# alias aa="grep -c 'boot' initial-setup-ks.cfg "
          [root@localhost ~]# alias aa
          alias aa='grep -c '\''boot'\'' initial-setup-ks.cfg '
          [root@localhost ~]# aa
          7
        
      • 取消别名: unalias [别名/-a]

        • -a: 取消所有别名

            [root@localhost ~]# unalias aa
          
      • 让别名永久生效

        • 将别名设置在~/.bashrc文件中
        • vim .bashrc

    cd cd. cd..
    针对目录来说 . 当前位置/目录 pwd
    针对文件来讲 . 在Linux中代表隐藏文件

    cd cd. cd ..
    什么都不跟,代表切换到当前用户家目录 当前目录 代表切换到上级目录

    ~ 代表用户家目录
    - 上次所操作的目录

    文件内容操作命令


    • cat,less,head,tail,grep,wc

    • cat: 文件内容查看,显示出文件的全部内容

      • 格式: cat filename
    • less(more): 全屏方式分页显示文件内容

      • 格式: less/more filename
      • 按回车Enter逐行滚动
      • 按空格键向下翻页
      • 按b键向上翻页
      • 按q键退出
      • more用法与less一致,只是多了一个百分比显示
    • head(头部): 显示文件头部若干行,默认10行

      • 格式: head [选项] filename

          [root@localhost ~]# head -n 5 initial-setup-ks.cfg 
        
    • tail(尾部): 显示文件尾部若干行,默认10行

      • 格式: tail [选项] filename

          [root@localhost ~]# tail -n 5 initial-setup-ks.cfg 
        
    • wc: 统计文件内容的,默认情况下统计结果为: 行数 词数 字节数

      • 格式: wc [选项] filename

          [root@localhost ~]# wc initial-setup-ks.cfg 
        
      • 选项:

        • -w: 统计字数 一个字被定义为由空白,跳格(制表符),换行以这些为分割字符串

        • -l: 行数

        • -c: 字节数

        • -m: 字符数 -m -c不能一起使用

        • -L: 打印最长行的长度

            [root@localhost ~]# wc -l -c -w -L initial-setup-ks.cfg 
          
    • grep: 在文件中查找并显示包含指定字符串的行

      • 格式: grep [选项] 查找条件 目标文件

      • 选项:

        • -c: 显示匹配行的数量

        • -i: 查找时不区分大小写

        • -v: 反转查找

            [root@localhost ~]# grep -c 'boot' initial-setup-ks.cfg 
            7
            [root@localhost ~]# grep -c -v 'boot' initial-setup-ks.cfg
            42
            [root@localhost ~]# grep -i 'agent' initial-setup-ks.cfg 
          
      • 查找条件设置:

        1. 查找条件用引号引起来

        2. "^...": 表示以... 开头

        3. "...$": 表示以... 结尾

        4. "^$": 匹配空行

           [root@localhost ~]# grep -c '^$' anaconda-ks.cfg 
           [root@localhost ~]# grep -cv '^$' anaconda-ks.cfg 
           [root@localhost ~]# grep -c '^#' anaconda-ks.cfg 
           12
           [root@localhost ~]# grep -c 'ation$' anaconda-ks.cfg 
           5
          

    归档及压缩命令


    • tar: 压缩与解压缩 制作归档文件和释放归档文件
      • 格式:
        • 制作归档文件
          tar [选项] [目录]/归档文件名 原文件/目录
        • 释放归档文件
          tar [选项] 归档文件 [-C 目标文件]
      • 命令:
        • 压缩:
          • tar -czvf [存放路径]归档文件名.tar.gz 原文件/目录
          • tar -cjvf [存放路径]归档文件名.tar.bz2 原文件/目录
          • -c 压缩
          • -z 压缩为.gz 格式
          • vf 显示详情信息
          • -j 压缩为.bz2格式
        • 解压缩:
          • tar -xzvf [存放路径]归档文件名.tar.gz [-C 解压目录]
          • tar -xjvf [存放路径]归档文件名.tar.bz2 [-C 解压目录]
          • -x 解压
                    tar -czvf text.tar.gz text
                    tar -cjvf text.tar.bz2 text
                    tar -czvf /root/var.tar.gz /var/
                    tar -cjvf /root/var.tar.bz2 /var/
                    tar -czvf a.tar.gz text-1 text-2
                
                    [root@localhost ~]# tar -xzvf text.tar.gz 
                    [root@localhost ~]# tar -xjvf text.tar.bz2 
                    [root@localhost ~]# tar -xjvf text.tar.bz2 -C test
    

    .gz格式
    .bz2格式
    .bz2格式压缩率比.gz格式压缩率高

    相关文章

      网友评论

          本文标题:超实用 Linux 常用命令

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