Linux命令抽象

linux命令都含有一定格式,有具体的语法。我们应用命令时一般需要按语法应用。

有些特殊命令,不遵从通用格式,应用时要格外注意。

命令很多,不需要都记住,但对命令有一个整体的了解,对快速使用命令、找到需要功能的命令十分重要。

本文对linux命令的分类进行归纳总结,梳理抽象,进行深度剖析。

一、按命令功能分类

根据命令使用后产生的作用分类,是初学者要首先掌握的。我们想应用命令做什么事情,可根据此分类快速找到命令。

1.文件和目录管理命令

这类命令用于操作文件和目录,包括创建、删除、复制、移动、重命名等操作。常用的命令有:ls、cd、mkdir、rm、cp、mv、ln、dd等。

2.文件查看命令

这类命令可以查看文件内容。常用的命令有:cat、head、tail、more、less、nl等。

3.文本处理命令

这类命令用于对文本文件进行处理和操作,包括查找、替换、排序等。常用的命令有:vi/vim、nano、gvim、grep、sed、awk、sort、cut等。

4.压缩和解压命令

这类命令用于压缩和解压文件和目录,常用的命令有:tar、zip、gzip、xl等。

5.用户及组管理命令

这类命令主要对新用户、新组进行创建、修改、删除等操作。常用的命令有:useradd、usermod、passwd、groupadd、groupmod、id、groups、su、sudo等

6.权限管理命令

这类命令用于管理文件和目录的权限,包括设置文件的所有者和组、设置权限等。常用的命令有:chown、chmod、chgrp、chattr、lsattr等。

7.网络管理命令

这类命令用于管理网络相关的设置和操作,包括网络配置、网络状态查看、网络连接等。常用的命令有:ifconfig、ping、ip、route、ss、iptables、firewall-cmd等。

8.命令(二进制文件)信息命令

这类命令主要对作为命令的文件进行类型查看、状态查看、位置查看等。常用的命令有:type、which、file、stat、man、info、help、readelf、strings、huxdump等。

9.系统管理命令

这类命令用于管理系统的各个方面,包括软件管理、进程管理、服务管理等。常用的命令有:yum、rpm、wget、apt-get(版本不同,软件安装方式不同)、make、install、hostname、hostnamectl、ps、top、nmcli、systemctl等。

10.系统信息命令

这类命令用于查看系统的一些基本信息和状态,包括系统版本、硬件信息、内存使用情况等。常用的命令有:uname、du、df、lscpu、lsblk、free等。

二、按命令复杂程度分类

1.简单命令

最基本的命令,其格式完全遵守语法:

        命令名  选项   参数

如仅有命令名

命令 [默认参数]

        cd   pwd  

如仅有一个参数

        fill 文件名

如一个选项、一个参数

        ls -l  /tmp

如多个选项

        ls -alhSr

如多个参数

        mkdir test1 user2 demo3

初学者能多了解常用命令的选项、参数即可,能正确区分出选项、参数

此类命令有小小的变动,不要大惊小怪:选项与参数可以变换位置:

        cat /etc/passwd -n

这种情况是先看文件内容,发现不合适后再调出命令,适当添加选项

这类命令的选项有三种风格:短选项、长选项、BSD(应用少,记住常用的即可,如tar xf **、ps  aux)

2.复杂命令

这类含有多个选项与参数,并配合执行动作(操作)

这类命令有多种组合而无规律,只有多应用多记忆

        cp  -pv 文件1 文件2..目标目录

位置固定:前面几个参数可以是普通文件或目录,最后一个必须是目录

        grep -E "^ls|pwd$" 文件名

应用正则^ | $

        find . -name *.* -o -type f -exec

应用逻辑连接-o

三、按命令执行时影响操作环境分类

1.创建子进程

除执行内部命令不创建子进程外,执行外部命令时都会在当前bash进程创建一个子进程而应用exec函数集。

        ls

        cp

2.创建临时缓存区

临时缓存占用前台,不能继续录入命令。只有释放临时缓存才能显示命令行

        vim a.txt

        nano a.sh

        less

        top

3.创建新窗口

        nmtui

        nm-connection-editor

        rz

        sz

四、按命令内部构成分类

1.单一命令

这类命令就是一个命令,完成一项作业/功能。

        echo 12345 ——打印输出到标准输出(屏幕)

        ping baidu.com ——查看网络联通性

2.命令集合

一个主命令包含很多子命令(动作)。完全打破单一命令的语法格式,形成新的命令集

这种命令集在新版本中广泛应用,把原来的分散的小命令整合为一个命令集,方便管理。其功能强大,可选择性强,可多训练多应用。

        ip ——该命令包含a添加、d删除、r路由等不同操作。

        nmcli

        systemctl

        hostnamectl

3.命令组合

多个命令组成一个功能,相互配合、扩展原功能等。

a.包含

一个命令中不能再含有平等/同级的命令,只能进行命令引用,使用$()或者``。

        echo  `date`

echo与date命令不能在一个命令中同等级别,第二个命令必须引用才可。

b.平行

两个命令是平级关系,但有执行的先后顺序。这类命令不多,记住常用的即可。

查看一个命令的执行时间,会用到两个命令:计时命令time、正常执行命令如dd(经常用此方式验证系统的读写盘性能)

        time ping -c4 8.8.8.8

        time ls /

        time dd if=/dev/zero of=test bs=4K count=1000

c.逻辑

二个或多个命令间有三种逻辑关系:顺序;&&与||或,酌情使用。

        mkdir;ls;cd

d.编程

在命令行把命令与bash关键字组合,构成一段代码,仅相当于命令,来完成一定功能。

        for i in $(seq 10);do echo -en "$i\t";sleep .5;done;echo

此案例为延迟打印输出10个数字。

4. 命令扩展

命令正常情况下输出到屏幕(标准输出),采取一定手段可以重定向、输出变输入等。

a.与重定向结合

        echo123456 >test.txt

常用重定向有:>标准输出重定向 >>标准输出追加  &>标准输出与标准错误一起重定向

b.与管道符结合

        ls -l | grep  "^-"

前一个命令的标准输出作为第二个命令的标准输入

c.与数字结合

命令后添加数字,一般保留数字含义,但有个别有其他含义

        history 5——数字作为最后的行数(即最新的命令条数)

        init 0——不同数字代表系统运行在不同级别

(常用数字:3字符界面;5图形界面;6重启系统;0 关机)

        sleep 2——数字作为秒计时

        touch 1 2 3——数字作为文件名

d.与特殊符号结合

        cd ~——~代表家目录

        cd -——-代表原目录

        ls *.txt——*代表任意通配符

        dnf -y install httpd  &——&代表后台执行安装命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_36142959

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值