Linux执行命令过程与基本信息查询

Linux是一个强大的操作系统,广泛应用于互联网工作环境,本文将介绍Linux执行命令的过程以及基本查询信息的相关命令,以便于更好的帮助新手了解与掌握(本文以CenOS 7.9版本示例)。

Linux命令执行过程

  1. 读取输入:用户输入命令行。
  2. 命令解析:Shell解析输入的命令,识别命令与参数。
  3. 查找命令:Shell在环境变量指定目录中查找可执行文件,如果找不到命令则会报错。
  4. 执行命令:Shell找到命令后,会启动一个新的进程来执行该命令。
  5. 返回结果:命令执行完毕,Shell返回结果。

除此之外,我们还需要了解命令分为内部命令外部命令,在执行内部命令时,Shell不需要启动新的进程,而外部命令是独立的可执行文件。当系统性能出现问题时,我们可以根据命令的性质来排查解决问题,如果是外部命令执行障碍,则需要检查该命令的运行环境,如果是内部命令运行障碍,则需要检查Shell配置或者环境变量

查看命令是内部命令还是外部命令。

[root@bj-test-01 ~]# type echo

echo is a shell builtin

内部命令则显示...is a shell builtin。

[root@bj-test-01 ~]# type cat

cat is /bin/cat 

外部命令则显示出命令的所在的文件位置。 

[root@bj-test-01 ~]# type -a echo

echo is a shell builtin

echo is /bin/echo

也有出现既显示内部命令又显示外部命令的,是因为不是所有的主机都使用标准的Shell,所以会有一个外部命令的文件作为备份,防止内部命令执行失败。

启动与禁用内部命令

enable                            #查看所有启用的内部命令

enable -n                        #查看所有禁用的内部命令

enable COMMAND        #启用内部命令

enable -n COMMAND    #禁用内部命令

外部命令路径

[root@bj-test-01 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

搜索路径由环境变量定义,环境变量PATH由各路径组成,冒号分割。

如果你有一个可执行文件不在环境变量的路径中,可将目录添加至环境变量配置文件中,在用source运行配置文件,即可直接运行命令。

[root@bj-test-01 home]# vim dayunzi.sh
[root@bj-test-01 home]# chmod +x /home/dayunzi.sh
[root@bj-test-01 home]# dayunzi.sh
-bash: dayunzi.sh: 未找到命令
[root@bj-test-01 home]# export PATH=$PATH:/home
[root@bj-test-01 home]# source ~/.bashrc
[root@bj-test-01 home]# dayunzi.sh
good good study day day up

 命令别名

查看所有别名

[root@bj-test-01 home]# 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 which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

设置别名(临时生效,永久生效需要写入配置文件)

[root@bj-test-01 /]# alias cdh='cd /home'
[root@bj-test-01 /]# cdh
[root@bj-test-01 home]# 

撤销别名

[root@bj-test-01 home]# unalias cdh
[root@bj-test-01 home]# cdh

-bash: command not found: cdh

常见命令

命令格式

command [options] [arguments]

示例

[root@bj-test-01 home]# ls
dayunzi.sh  zg
[root@bj-test-01 home]# ls -l
总用量 8
-rwxr-xr-x 1 root root   32      8月   1    11:52   dayunzi.sh
drwx------ 2 zg    zg     4096  3月   26   17:48   zg
[root@bj-test-01 home]# ls dayunzi.sh
dayunzi.sh
[root@bj-test-01 home]# ls -l dayunzi.sh
-rwxr-xr-x 1 root root 32 8月   1 11:52 dayunzi.sh 

查看硬件信息

查看cpu

[root@bj-test-01 home]# lscpu
Architecture:          x86_64                                                #cpu架构
CPU op-mode(s):        32-bit, 64-bit                                        
Byte Order:            Little Endian
CPU(s):                2                                                                #cpu数量
On-line CPU(s) list:   0,1
Thread(s) per core:    2                                                        #cpu每核线程数
Core(s) per socket:    1                                                        #每个cpu插槽核心数
Socket(s):                 1                                                        #插槽数量
NUMA 节点:         1                                                                #NUME节点
厂商 ID:           GenuineIntel
CPU 系列:          6
型号:              106
Model name:        Intel(R) Xeon(R) Platinum 8369B CPU @ 2.70GHz        #cpu型号
步进:              6
CPU MHz:             2699.998                                                #CPU MHz
BogoMIPS:            5399.99
超管理器厂商:  KVM
虚拟化类型:     完全
L1d cache:         48K                                                                #缓存大小
L1i cache:          32K                                                                
L2 cache:           1280K
L3 cache:           49152K

NUMA 节点0 CPU:    0,1 

Flags:                 fpu vme de pse tsc msr...                                #cpu功能标志

查看内存大小

[root@bj-test-01 home]# free
              total             used           free              shared      buff/cache      available
Mem:     3733360      511096      156916         812           3065348        2933380
Swap:    0                  0                 0

工作中需要关注

  1. 当前内存的使用情况(used和free )
  2. 有多少可用内存可用于启动新进程(available)
  3. 缓存和缓冲内存使用情况(buff/cache)
  4. 交换分区使用情况(swap)
查看硬盘和分区情况 

[root@bj-test-01 home]# lsblk
NAME   MAJ:MIN  RM  SIZE  RO  TYPE  MOUNTPOINT
vda        253:0        0     40G    0     disk
└─vda1 253:1        0     40G    0     part     /
vdb        253:16      0     50G    0     disk     /data

工作中需要关注

  1. 设备的分区和类型(name和type)
  2. 设备大小(size)
  3. 确认挂载位置(mountpoint)
  4. 读写权限,1表示只读,0表示不只读(RO)
  5. 移动性,1表示可移动,0表示不可移动 (RM)

查看系统版本信息

查看系统架构

[root@bj-test-01 home]# arch
x86_64

查看内核版本

[root@bj-test-01 home]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core) 

  • 25
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值