冬季实战营第二期:Linux操作系统实战入门之超实用 Linux 常用命令

简介: 超实用 Linux 常用命令

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格式压缩率高
目录
相关文章
|
14天前
|
算法 Linux 调度
深入理解Linux操作系统的进程管理
本文旨在探讨Linux操作系统中的进程管理机制,包括进程的创建、执行、调度和终止等环节。通过对Linux内核中相关模块的分析,揭示其高效的进程管理策略,为开发者提供优化程序性能和资源利用率的参考。
39 1
|
16天前
|
安全 Linux 数据安全/隐私保护
深入Linux操作系统:文件系统和权限管理
在数字世界的海洋中,操作系统是连接用户与硬件的桥梁,而Linux作为其中的佼佼者,其文件系统和权限管理则是这座桥梁上不可或缺的结构。本文将带你探索Linux的文件系统结构,理解文件权限的重要性,并通过实际案例揭示如何有效地管理和控制这些权限。我们将一起航行在Linux的命令行海洋中,解锁文件系统的奥秘,并学习如何保护你的数据免受不必要的访问。
|
16天前
|
搜索推荐 Linux
深入理解Linux操作系统的启动过程
本文旨在揭示Linux操作系统从开机到完全启动的神秘面纱,通过逐步解析BIOS、引导加载程序、内核初始化等关键步骤,帮助读者建立对Linux启动流程的清晰认识。我们将探讨如何自定义和优化这一过程,以实现更高效、更稳定的系统运行。
|
14天前
|
存储 缓存 网络协议
Linux操作系统的内核优化与性能调优####
本文深入探讨了Linux操作系统内核的优化策略与性能调优方法,旨在为系统管理员和高级用户提供一套实用的指南。通过分析内核参数调整、文件系统选择、内存管理及网络配置等关键方面,本文揭示了如何有效提升Linux系统的稳定性和运行效率。不同于常规摘要仅概述内容的做法,本摘要直接指出文章的核心价值——提供具体可行的优化措施,助力读者实现系统性能的飞跃。 ####
|
15天前
|
缓存 监控 网络协议
Linux操作系统的内核优化与实践####
本文旨在探讨Linux操作系统内核的优化策略与实际应用案例,深入分析内核参数调优、编译选项配置及实时性能监控的方法。通过具体实例讲解如何根据不同应用场景调整内核设置,以提升系统性能和稳定性,为系统管理员和技术爱好者提供实用的优化指南。 ####
|
17天前
|
运维 监控 Linux
Linux操作系统的守护进程与服务管理深度剖析####
本文作为一篇技术性文章,旨在深入探讨Linux操作系统中守护进程与服务管理的机制、工具及实践策略。不同于传统的摘要概述,本文将以“守护进程的生命周期”为核心线索,串联起Linux服务管理的各个方面,从守护进程的定义与特性出发,逐步深入到Systemd的工作原理、服务单元文件编写、服务状态管理以及故障排查技巧,为读者呈现一幅Linux服务管理的全景图。 ####
|
20天前
|
消息中间件 安全 Linux
深入探索Linux操作系统的内核机制
本文旨在为读者提供一个关于Linux操作系统内核机制的全面解析。通过探讨Linux内核的设计哲学、核心组件、以及其如何高效地管理硬件资源和系统操作,本文揭示了Linux之所以成为众多开发者和组织首选操作系统的原因。不同于常规摘要,此处我们不涉及具体代码或技术细节,而是从宏观的角度审视Linux内核的架构和功能,为对Linux感兴趣的读者提供一个高层次的理解框架。
|
21天前
|
人工智能 安全 Linux
Linux操作系统的演变与未来趋势###
本文深入探讨了Linux操作系统从诞生至今的发展历程,分析了其开源模式对技术创新和IT行业的影响,并展望了Linux在未来技术生态中的角色。通过历史回顾、现状分析和未来预测,本文旨在为读者提供一个关于Linux操作系统全面而深入的视角。 ###
|
21天前
|
缓存 并行计算 Linux
深入解析Linux操作系统的内核优化策略
本文旨在探讨Linux操作系统内核的优化策略,包括内核参数调整、内存管理、CPU调度以及文件系统性能提升等方面。通过对这些关键领域的分析,我们可以理解如何有效地提高Linux系统的性能和稳定性,从而为用户提供更加流畅和高效的计算体验。
29 2
|
21天前
|
缓存 网络协议 Linux
深入探索Linux操作系统的内核优化策略####
本文旨在探讨Linux操作系统内核的优化方法,通过分析当前主流的几种内核优化技术,结合具体案例,阐述如何有效提升系统性能与稳定性。文章首先概述了Linux内核的基本结构,随后详细解析了内核优化的必要性及常用手段,包括编译优化、内核参数调整、内存管理优化等,最后通过实例展示了这些优化技巧在实际场景中的应用效果,为读者提供了一套实用的Linux内核优化指南。 ####
44 1
下一篇
DataWorks