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 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/185099.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++二分算法:水位上升的泳池中游泳

涉及知识点 二分查找 并集查找或BFS。 题目 在一个 n x n 的整数矩阵 grid 中,每一个方格的值 grid[i][j] 表示位置 (i, j) 的平台高度。 当开始下雨时,在时间为 t 时,水池中的水位为 t 。你可以从一个平台游向四周相邻的任意一个平台&…

Oracle Unifier 22.12 ~ 23.10 功能改进清单表

序言 时隔近一年,Oracle Unifier 22还没握熟,新版本23便已迭代到23.10,根据甲骨文常规的发布规律,相信不久之后便会正式迎来正式本地版V23,了解Unfier的朋友或许知晓,本地版是云版迭代一年后的版本&#x…

SSM 线上知识竞赛系统-计算机毕设 附源码 27170

SSM线上知识竞赛系统 摘 要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代。在现实运用中&#…

Go进阶之rpc和grpc

文章目录 Go环境安装1)windows2)linux go语言编码规范1.1 包名:package1.2 ⽂件名1.3 结构体命名1.4 接⼝命名1.5 变量命名1.6 常量命名2.1 包注释2.2 结构(接⼝)注释2.3 函数(⽅法)注释2.4 代码…

Flink架构

1、Apache Flink集群的核心架构: 1、client(作业客户端):提交任务的地方叫做客户端 2、JobManager(作业管理器):作用是用于管理集群中任务 3、TaskManager(任务管理器)&a…

内网可达网段探测netspy- Mac环境

netspy是一款快速探测内网可达网段工具 当我们进入内网后想要扩大战果,那我们可能首先想知道当前主机能通哪些内网段。 netspy正是一款应用而生的小工具,体积较小,速度极快,支持跨平台,支持多种协议探测,…

ZZ308 物联网应用与服务赛题第E套

2023年全国职业院校技能大赛 中职组 物联网应用与服务 任 务 书 (E卷) 赛位号:______________ 竞赛须知 一、注意事项 1.检查硬件设备、电脑设备是否正常。检查竞赛所需的各项设备、软件和竞赛材料等; 2.竞赛任务中所使用的…

财报解读:抢滩“睡眠经济”,麒盛科技如何制胜市场?

现代市场经济理论的鼻祖亚当斯密曾说,有需求就有市场,有市场才有发展。 调查研究显示,我国超3亿人存在睡眠障碍,其中超3/4的人晚11点以后入睡,近1/3的人熬到凌晨1点以后才能入睡。针对“睡个好觉”需求的“睡眠经济”…

Qt开发流程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:…

11-08 周三 图解机器学习之实现逻辑异或,理解输出层误差和隐藏层误差项和动量因子

11-08 周三 图解机器学习之实现逻辑异或,理解输出层误差和隐藏层误差项 时间版本修改人描述2023年11月8日14:36:36V0.1宋全恒新建文档 简介 最近笔者完成了《图解机器学习》这本书的阅读,由于最近深度学习网络大行其是,所以也想要好好的弄清…

【Unity】零基础实现塔防游戏中敌人沿固定路径移动的功能

目录 场景搭建 烘焙(Bake) 敌人动作控制 脚本实现 我们知道,在一些塔防小游戏中,敌人往往会沿着给定的一条路径移动,我们在条路的路边会布置防御设施,攻击消灭敌人,阻止敌人到达终点。 场景搭建 我们首先新建一个…

Leetcode 第 369 场周赛题解

Leetcode 第 369 场周赛题解 Leetcode 第 369 场周赛题解题目1:2917. 找出数组中的 K-or 值思路代码复杂度分析 题目2:2918. 数组的最小相等和思路代码复杂度分析 题目3:2919. 使数组变美的最小增量运算数思路代码复杂度分析 题目4&#xff1…

Git 行结束符:LF will be replaced by CRLF the next time Git touches it问题解决指南

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

ruoyi-vue前端数据字典值引用与回显(列表中回显,多选框回显)

1. 列表中回显&#xff1a; 代码&#xff1a; <el-table v-if"refreshTable" v-loading"loading" :data"deptList" row-key"deptId" :default-expand-all"isExpandAll" :tree-props"{children: children, hasChil…

BP神经网络的数据分类——语音特征信号分类

大家好&#xff0c;我是带我去滑雪&#xff01; BP神经网络&#xff0c;也称为反向传播神经网络&#xff0c;是一种常用于分类和回归任务的人工神经网络&#xff08;ANN&#xff09;类型。它是一种前馈神经网络&#xff0c;通常包括输入层、一个或多个隐藏层和输出层。BP神经网…

虚幻C+++基础 day2

角色移动与视角控制 Character类与相关API 创建Character子类MainPlayer.h // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h" #include "GameFramework/Character.h" #include &q…

遭受网络攻击泄露了101GB数据

臭名昭著的BlackCat/ALPHV勒索软件团伙声称对另一个组织发起了攻击。今天轮到意大利-法国科西嘉-费里斯公司发现自己正在与勒索软件作斗争。 BlackCat 在其数据泄露网站上报告称&#xff0c;该公司是网络攻击的受害者&#xff0c;并发布了从该公司 IT 基础设施中泄露的一系列样…

javaEE进阶

Cookie 是可以伪造的,比如说学生证是可以伪造的 Session 是不可以伪造的,这是学校系统记录在册的 如何获取 Cookie 我们先用 Servlet 原生的获取 cookie 的方式 我们在浏览器进行访问 但是实际上目前是没有 cookie 的,我们按 F12 进行添加 然后再重新访问,就能在 idea 看到 …

nginx下载安装和日志切割

目录 一、nginx安装配置 1.nginx版本 2.nginx安装配置 3.查看安装后的nginx 4.配置PATH变量 二、日志切割 1.给当前日志文件重命名 2.等待 3.写bash脚本 4.查看日志结果 5.加入crontab定时任务 结语 一、nginx安装配置 1.nginx版本 nginx如今分为商业版&#xff0…

SpringBoot定时任务打成jar 引入到新的项目中后并自动执行

一、springBoot开发定时任务 ①&#xff1a;连接数据库实现新增功能 1. 引入依赖 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional> </dependency> <dependen…