Linux的常见命令及相应知识点

Linux常见命令及相应知识点

获取系统信息

获取硬件信息

  • 获取系统硬件信息:dmidecode 或 lshw
  • 显示PCI/USB接口信息:lspci/lsusb
  • 显示CPU信息:lscpu或cat/proc/cpuinfo
  • 检查硬件虚拟化的支持:egrep -color"vxm|svm" /proc/cpuinfo
  • 显示物理内存大小:free -m
  • 查看系统发行版本:cat /etc/system-release
  • 查看系统内核版本:uname -r
  • 显示机器的体系结构:arch
  • 显示系统加载的内核模块: lsmod
  • 查看系统启动信息:dmesg
  • 显示系统中的块设备:lsblk
  • 显示磁盘分区:fdisk -l或gdisk -l或parted -l
  • 显示 物理卷/卷组/逻辑卷 信息:pvs/vgs/lvs
  • 查看已经挂装的文件系统:findmnt
  • 显示磁盘剩余空间:df -Ph
  • 查看所有交换空间:swapon -s
  • 显示网络状态信息:ss 或 netstat
  • 显示防火墙规则 firewall-cmd -list-all或iptable -nvL

关机与重启

关机

  • systemctl poweroff
  • poweroff
  • shutdown -h now

重启

  • systemctl reboot
  • reboot
  • shutdown -r now

其中 shutdown命令

  • 用于多用户登录的情况
  • 可以为登录用户发送自定义警告信息

shell命令的基本格式

  • 一般格式

命令 [选项] <操作对象>

  • 说明
    • 最简单的shell命令只有命令名,复杂的shell命令可以有多个选项,和参数
    • 选项和参数都作为shell命令执行时的输入,它们之间用空格分隔开
    • 多条命令可在一行中出现,用“;”将两个命令隔开,按从左到右顺序执行。
    • 单字符选项前面使用一个减号(-)
    • 单词选项前使用两个减号(–)
    • 多个单字符选项前可以只使用一个减号
    • 操作对象可以是文件,也可以是目录,有些命令必须使用多个操作对象,如cp命令必须指定源操作对象和目标操作对象
    • 并非所有命令的格式都遵从以上规则,例如dd,find等。

Linux区分大小写

命令在正常执行结果后返回一个0值,如果命令出错,则返回一个非0值(在shell中可以用变量$?查看)。

shell提示符
  • 超级用户:#
  • 普通用户:$
  • 格式:[用户名@主机名 当前目录]$

命令补全

  • 通常用户在bash下输入命令时不必把命令输全,shell就能判断出你所要输入的命令
  • 该功能的核心思想是:bash根据用户已输入的信息来查找以这些信息开头的命令,从而试图完成当前命令的输入工作。用来执行这项功能的键是<Tab键>,按下一次<Tab键>后,bash就试图完成整个命令的输入,如果不成功,可以再按一次<Tab键>,这时bash将列出所有能够与当前输入字符相匹配的命令列表。

命令历史记录

  • bash可以记录一定数目的以前的在shell中输入的命令。

    • 记录历史命令的文本文件由环境变量 HISTFILE来指定,默认的记录文件是.bash_history,这是一个隐含文件,位于用户自己的目录中。
    • 可以记录历史命令的数目由环境变量HISTSIZE的数值指定,默认为1000
  • 查看历史命令

    • history
    • history 30 #查看最近30个历史命令
    • fc -l 30 50 #列出命令历史中第30到第50之间的命令
  • 键盘快捷键

    • 最简单的方法使用上下方向键、和键来查看历史命令
    • 如果需要的话,可以使用键盘上的编辑功能键对显示在命令行上的命令进行编辑
  • 感叹号的用法

    • 用!!执行最近执行过的命令
    • 用!<命令事件号>执行已经运行过的命令
    • 用!<已经使用过的命令前面的部分>执行已经运行过的以该字符串开头的最近的命令

Linux的元字符

  • 在shell中有一些具有特殊的意义字符,称为shell元字符

  • 若不以特殊方式(使用转义字符)指明,shell并不会把它们当做普通文字符使用。

Linux的元字符表

  • 回车换行 结束一个命令行

  • 空格 分割命令行中的元素

  • Tab 分割命令行中的元素

  • #开始一行注释

  • ‘’ 引用多个字符但是允许替换

  • $ 表示一行的结束以及显示变量的值

  • & 让一个命令在后台执行

  • ‘ 引用多个字符

  • () 在子shell中执行命令

  • *匹配多个或者0个字符

  • [] 插入通配符

  • ^ 表示一行的开始,以及作为否定符号

  • ` 替换命令

  • {} 在当前shell中执行命令

  • | 创建命令间的管道

  • ; 分割顺序执行的命令

  • < 重定向命令的输入

  • 重定向命令的输出类似上条

  • ? 匹配单个字符

  • / 用作根目录或者路径名中的分割符

  • \ 转义字符:转移回车换行字符,允许在下一行中继续shell命令

  • ! 启动历史记录列表中的命令和当前命令

  • % TC shell的提示符,或者指定一个任务号时作为起始字符

  • ~ 代表主目录

目录和文件名的命名规则

  • 在Linux下可以使用长文件或目录名

    • 可以长达255个字符
  • 可以给目录和文件取任何名字,但必须遵循下列的规则:

    • 可用除保留字以外的任何字符给文件命名
    • 强烈建议不要使用非打印字符、空白字符(空格和制表符)和shell命令保留字符
    • 大小写敏感
    • 以“.”揩油的文件或目录是隐含的

通配符

  • *:匹配任意多个字符
  • ?:匹配任何单个字符
  • []:匹配[]之内的任意一个字符
  • [!]:匹配除了[!]之外的任意一个字符。!表示非的意思

“*”能匹配文件或目录名中的“.”。

“*”不能匹配首字符是“.”的文件或目录名。

标准输入输出设备

  • Linux命令在执行时常常期望接收输入数据,命令执行后期望将产生的数据结果输出
  • Linux的大部分端口都具有标准的输入/输出设备端口。

例如:

名称 文件描述符 含义 设备 说明
STDIN 0 标准输入 键盘 命令在执行时所要的输入通过它来取得
STDOUT 1 标准输出 显示器 命令执行后的输出结果从该端口送出
STDERR 2 标准错误 显示器 命令执行时的错误信息通过该端口送出

重定向

  • 所谓重定向,就是不使用系统的标准输入端口、标准输出端口或标准错误端口,而进行重行的指定,所以重定向分为输出重定向、输入重定向和错误重定向。通常情况下重定向到一个文件。

  • 在shell中,要实现重定向主要依靠重定向符实现,即shell是检查命令行中有无重定向符来决定是否需要实施重定向。

重定向符:

  • < 输入重定向

  • <<!..! 输入重定向的特例,即HERE文件,通常用于shell脚本中。其中“!”可以使用任何字符或字符串替换,只要其没在…中出现过即可。

  • > 覆盖式的输出重定向
    
  • >> 追加式的输出重定向
    
  • 2> 覆盖式的错误输出重定向
    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值