RHCSA --- Linux命令替换

2023-11-09 04:30
文章标签 linux 命令 替换 rhcsa

本文主要是介绍RHCSA --- Linux命令替换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

命令替换
    把命令中某个子命令替换为其执行结果
    $()
        echo "The current directory is $(pwd)."
        touch ./file$(date +%H-%M-%S).txt    以文件创建时间并以相应格式命名文件

        date    显示时间
    ``    
        echo "The current directory is `pwd`"
        echo 'The current directory is `pwd`'
    bash支持的引号
        ``    反引号,命令替换
        ""    双引号,可以实现变量替换
        ''    强引用,不完成变量替换


vim    文本编辑器    纯文本    重点中的重点    
    vi    文本编辑    vim   


交互式   
    命令模式    执行操作命令
    插入模式    输入内容
    末行模式    做一些操作    保存退出  导入文本   


    命令模式
        删除:
            d    进入删除状态   
                d    删除当前行   
                $    删除光标所在字符到行尾,包含光所在字符
                ^    删除光标所在字符到行首,不包含光标所在字符
                gg    删除光标所在行到文档首部
                G    删除光标所在行到文档尾部   
                w    删除光标所在字符往后一个单词(同类字符)
            x    在命令行按字符进行往右删除
            s    删除光标所在处的字符并进入插入模式
            r    替换光标所在处的字符

        光标的跳转:
            $    跳转到行尾
            ^    跳转到行首
            gg    跳转到文档首行行首
            G    跳转到文档末行行首
            line_num  G    跳转到 line_num 数字行号的行首
            w    按单词(同类字符)往右跳转

            h    光标往左移动(字符)
            l    光标往右移动
            j    光标往下移动
            k    光标往上移动(行)
            
        其他指令:
            u    撤销之前的操作    1 2 3    3 2 1  
            Ctrl + r    重做    1 2 3    3 2    2 3 

            line_count(数字) yy    复制光标所在行之后的 line_count 数量的行 
            yy    表示复制当前行  
            p    表示粘贴复制的行  

            line_count(数字) cc    剪切光标所在行之后的 line_count 数量的行 
            cc    表示剪切当前行    直接进入插入模式   
            p    表示粘贴剪切的行   

        末行模式:
            :w
            :q
            :wq
            :w filename(文件名)
            :q!    强制退出不保存
            :set nu    显示行号
            :set nonu    取消显示行号
            :r /dir1/dir2/filename    表示读取指定文件的内容到当前文件
            /var/log/messages    案例文件
            :line_num    表示直接跳转到指定行行首

             cp /etc/passwd .    拷贝文件到当前目录

            查找替换
            :%s/被替换内容/替换后的内容    表示查找当前文件中所有的  被替换内容  替换成  替换后的内容,但是每行匹配到的只替换第一个匹配到的
            :%s/被替换内容/替换后的内容/g    表示替换所有被匹配到的关键字  g  表示全局   
            :%s/被替换的关键字//g    表示删除匹配到的所有关键字  
        查找字符串:
            /关键字    表示在文档中查找关键字  
                n    在所有匹配到的关键字之间往后循环切换
                N     在所有匹配到的关键字之间往前循环切换

            ?关键字    表示在文档中查找关键字
                    n    在所有匹配到的关键字之间往前循环切换
                    N    在所有匹配到的关键字之间往后循环切换


文本排序
    seq    打印一个数字序列
        arg1    结束位置
        arg1 arg2    起始位置    结束位置
        arg1 arg2 arg3    起始位置    步长    结束位置
    tac     按行逆序显示
    sort    默认根据每个字符比较在ASCII码中的升序排序
        man sort    查看sort帮助文档
        -n    按数值排序   
        -r(reverse)    先排序后逆序
        -t    指定字段分隔符
            cp /etc/passwd .
        -k(key)    指定字段进行排序
            sort -t : -k 3 passwd    按ASCII表排序
            sort -t : -k 3 -n passwd    按数值排序
        -u(unique)    排序后去重
        -f    排序时忽略字符大小写
        
    uniq    等同于sort -u,报告重复的行,注意,重复的行必须相邻
        sort 1 | uniq
        -d    只显示重复的行
        -D    显示所有重复的行
        -c    显示重复行重复的次数
        
        
文本统计
    wc(word count)    显示顺序为:行 - 单词数(同类字符) - 字节数
                    字节(容量)    字符(描述)
                    二进制    bit    0    1
                    ASCII    8bit字节    =   字符    
                    字符集    utf-8    Linux     gb2312
                        1字符    =       3字节
        -w    单词
        -c    字节
        -l(小写字母l)    行
        -m    字符
        -L    最长的一行有多少宽度(不含结尾符$)  

date(软件时间:系统计算)    输出和更改日期时间    19700101开始    到    当前经历的秒数
    更改日期的格式    月日时分年.秒    ntp(网络时间协议)    时间同步   
    date -s //设置当前时间,只有root权限才能设置,其他只能查看
    date -s 20160813 //设置成20160813,这样会把具体时间设置成空00:00:00
    date -s 01:01:01 //设置具体时间,不会对日期做更改
    date -s “01:01:01 2016-08-13″ //这样可以设置全部时间
    date -s “01:01:01 20160813″ //这样可以设置全部时间
    date -s “2016-08-13 01:01:01″ //这样可以设置全部时间
    date -s “20160813 01:01:01″ //这样可以设置全部时间

clock(硬件时间)    查看时间    BIOS计时器    晶振

hwclock    查看硬件时间
    -r or hwclock --show
    -w or hwclock --systohc    软件时间导入到硬件时间
    -s or hwclock --hctosys    硬件时间导入到系统时间

cal    查看日历,如果只有一个参数则表示年份,如果有两个则表示月份,年份
    cal    [参数]    [月份] [年份]
    
    -1    显示一个月的月历
    -3    显示系统前一个月,当前月,下一个月的月历    
    -s    显示星期天为一个星期的第一天,默认的格式    
    -m    显示星期一为一个星期的第一天
    -j    显示在当前年份中的第几天
    -y    显示当前年份的日历

1752年9月为什么少了11天?


用户和组  
    创建
    删除
    修改

创建用户
    useradd  userName    表示创建userName 为名称的用户   
    id userName    表示查看 userName 名称的用户是否存在
            如果存在,则默认显示用户的相关信息
                uid    表示的是用户的数字编号  
                gid    用户组的数字编号。 
                groups    表示该用户属于哪个用户组  
    passwd    修改用户密码 
        如果是root用户执行该操作,则:
            如果passwd指令后带参数(用户名),则直接修改指定用户名的密码
            如果没有带参数,则修改root用户的密码 
        其他用户:则只能修改自己的密码,且不能指定用户   

        root用户在修改密码时,默认可以修改成任何密码   
            如果是其他用户,则密码必须符合密码复杂型规则要求

        root用户修改任何用户的密码,都不需要原密码。

    su(switch user)    切换用户   
        如果需要切换用户环境,则使用su username,如果不需要切换用户环境,则直接用su切换即可,但是一般不建议,除非你知道你在做什么。

        root用户切换任何用户都不需要密码,其他任何用户切换任何用户都需要切换到的用户的密码

    exit    切换到某个用户之后,用完以后,麻烦退出该用户  


创建用户组
    groupadd  groupname   创建 groupname用户组  

        创建用户时,如果没有指定让用户所属哪个组,那么会自动创建一个与用户名相同的组。
        如果指定让用户所属哪个组,则使用 -g 选项 ,选项后 跟上 组名,而且组名必须存在

[root@localhost ~]# ll /etc/passwd    用户数据库
-rw-r--r--. 1 root root 2632 Jan 16 15:15 /etc/passwd
[root@localhost ~]# ll /etc/group    
-rw-r--r--. 1 root root 1012 Jan 16 15:11 /etc/group
[root@localhost ~]# ll /etc/shadow
----------. 1 root root 1395 Jan 16 15:15 /etc/shadow
[root@localhost ~]# ll /etc/gshadow
----------. 1 root root 814 Jan 16 15:11 /etc/gshadow


/etc/passwd 

haha:x:1001:1001::/home/haha:/bin/bash

    haha:    用户名
    x:    密码占位符
    1001:       该用户的uid
    1001:      该用户所属组的gid
        :   昵称或描述 
    /home/haha:  用户的家目录
        /bin/bash:   用户的shell(一个进程,将用户的操作传给内核)   


    什么是shell?    中间  shell   多个shell 
    系统默认是/bin/bash    
    
    /sbin/nologin   不允许登录  
    
/etc/group

zhangsan:x:1002:

    zhangsan:   组名称  
    x:          密码占位符
    1002:       组的gid
    :          该组作为附加组的用户

    附加组:  用户除了基本组之外的其他的所属组。
    基本组:  当用户在创建时自动创建的和用户名一样的组,当创建用户时指定-g 的组为 基本组

/etc/shadow

redhat:    用户名  

$6    加密算法
$NQb.pJ6PUCD0Bo90    盐(salt)  
$IIMJUCKuizRT4RPBbZBv66hIUaeE2ZDfZ/u0ixu14xKmX19WUk1EBdyx8/8oPBchfxHaJ8LE/qU7BQ9LBG0Lj0:    密文  

张三    明文    加密算法 + salt    密文    不可逆算法(md5)    摘要算法
李四    明文    加密算法 + salt    密文    瀑布效应    蝴蝶效应

19008:    自动1970年1月1日开始到上一次修改密码的时间所经历的天数   

0:    密码最短使用期限    为0表示不限制
99999:    密码最长使用期限    密码使用多长时间之后必须要改密码,99999表示可不更改    100*365=36500
7:    密码过期警告时间    密码过期前多少天进行警告,提示用户改密码,但是不锁定用户
:    密码过期宽限期限    密码过期后必须改密码的时间,如果还没改,锁定用户,就只能找网管了
:     账号过期精确时间    如果为99999,意味着永不过期
:    保留字段  

/etc/gshadow
 
zhangsan:    组名称
$6$fXxkaFG/e$wFrtezmR.cPVQ3mnWBwnErUQNSotaeeldDbcYiX0uhzsvzGtouhDCB2xUHa3vOueS1011KGmDm6z7.wvX2qiI/    密文 
:    
:

/etc/login.defs    创建用户时使用的一些配置信息。

/etc/skel    有默认四个隐藏文件,该隐藏文件会在创建用户时,自动复制到用户所在的家目录

当创建一个用户时,做了些什么:
    1、/etc/passwd    用户
    2、/etc/shadow    用户密码
    3、/etc/group    组
    4、/etc/gshadow    组密码
    5、/home/    创建家目录
    6、/var/spool/mail    创建用户的邮箱

手动创建一个新用户
       vim /etc/passwd
    bluefly:x:1003:1003:miaoshu:/home/bluefly:/bin/bash
  348  id bluefly
  349  vim /etc/group
    bluefly:x:1003:
  350  id bluefly
  351  cd /home
  352  ll
  353  mkdir bluefly
  354  ll
  355  chown 1003:1003 bluefly/
  356  ll
  357  cd /var/spool/
  358  ll
  359  cd mail/
  360  ll
  361  mkdir bluefly
  362  ll
  363  rm -rf bluefly/
  364  touch bluefly
  365  chown bluefly:mail bluefly 
  366  ll
  367  cd
  368  cd /home/bluefly/
  369  ls -A
  370  cp /etc/skel/.bash* .
  371  ls -A
  372  cp -r /etc/skel/.mozilla/ .
  373  ls -A
  374  ls -lA
  375  cd
  376  su - bluefly
  377  id bluefly
  378  history 

这篇关于RHCSA --- Linux命令替换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/373969

相关文章

linux打包解压命令方式

《linux打包解压命令方式》文章介绍了Linux系统中常用的打包和解压命令,包括tar和zip,使用tar命令可以创建和解压tar格式的归档文件,使用zip命令可以创建和解压zip格式的压缩文件,每... 目录Lijavascriptnux 打包和解压命令打包命令解压命令总结linux 打包和解压命令打

linux如何复制文件夹并重命名

《linux如何复制文件夹并重命名》在Linux系统中,复制文件夹并重命名可以通过使用“cp”和“mv”命令来实现,使用“cp-r”命令可以递归复制整个文件夹及其子文件夹和文件,而使用“mv”命令可以... 目录linux复制文件夹并重命名我们需要使用“cp”命令来复制文件夹我们还可以结合使用“mv”命令总

Linux使用cut进行文本提取的操作方法

《Linux使用cut进行文本提取的操作方法》Linux中的cut命令是一个命令行实用程序,用于从文件或标准输入中提取文本行的部分,本文给大家介绍了Linux使用cut进行文本提取的操作方法,文中有详... 目录简介基础语法常用选项范围选择示例用法-f:字段选择-d:分隔符-c:字符选择-b:字节选择--c

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

Linux环境变量&&进程地址空间详解

《Linux环境变量&&进程地址空间详解》本文介绍了Linux环境变量、命令行参数、进程地址空间以及Linux内核进程调度队列的相关知识,环境变量是系统运行环境的参数,命令行参数用于传递给程序的参数,... 目录一、初步认识环境变量1.1常见的环境变量1.2环境变量的基本概念二、命令行参数2.1通过命令编程

Linux之进程状态&&进程优先级详解

《Linux之进程状态&&进程优先级详解》文章介绍了操作系统中进程的状态,包括运行状态、阻塞状态和挂起状态,并详细解释了Linux下进程的具体状态及其管理,此外,文章还讨论了进程的优先级、查看和修改进... 目录一、操作系统的进程状态1.1运行状态1.2阻塞状态1.3挂起二、linux下具体的状态三、进程的