RHCSA --- Linux命令替换

news2024/11/26 23:30:35

命令替换
    把命令中某个子命令替换为其执行结果
    $()
        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.coloradmin.cn/o/1186180.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VueCli 自定义创建项目及配置

一、VueCli 自定义创建项目 1.安装脚手架 (已安装) npm i vue/cli -g2.创建项目 vue create hm-exp-mobile选项 Vue CLI v5.0.8 ? Please pick a preset:Default ([Vue 3] babel, eslint)Default ([Vue 2] babel, eslint) > Manually select features 选自定义手动…

12.输入一个小于1000的整数,输出平方根(不是整数,输出整数部分)

#include<stdio.h> #include<math.h>int fun(int n){int b;b pow(n,0.5);printf("%d",b);}int main(){int n;scanf("%d",&n); fun(n);return 0;}

什么是代理IP池?真实测评IP代理商的IP池是否真实?

代理池充当多个代理服务器的存储库&#xff0c;提供在线安全和匿名层。代理池允许用户抓取数据、访问受限制的内容以及执行其他在线任务&#xff0c;而无需担心被检测或阻止的风险。代理池为各种在线活动&#xff08;例如网页抓取、安全浏览等&#xff09;提高后勤保障。 读完…

毫米波雷达在环境监测中的应用:气象学和气候研究的前沿技术

随着气候变化和环境问题的日益突出&#xff0c;科学家们正在寻找更先进的技术来监测大气和气候变化。毫米波雷达技术正崭露头角&#xff0c;成为气象学和气候研究领域的一项重要工具。本文将探讨毫米波雷达在环境监测中的应用&#xff0c;特别聚焦于其在气象学和气候研究方面的…

Spring Cloud LoadBalancer 负载均衡策略与缓存机制

目录 1. 什么是 LoadBalancer &#xff1f; 2. 负载均衡策略的分类 2.1 常见的负载均衡策略 3. 为什么要学习 Spring Cloud Balancer &#xff1f; 4. Spring Cloud LoadBalancer 内置的两种负载均衡策略 4.1 轮询负载均衡策略&#xff08;默认的&#xff09; 4.2 随机负…

Crypto(9)[MRCTF2020]keyboard

下载题目&#xff0c;看看里面是什么 这是什么鬼&#xff0c;由题目可以获得线索&#xff0c;keyboard,不是键盘吗&#xff0c;然后看了看别人写的wp&#xff0c;发现是九键&#xff0c;有几个数字对应的密文就是第几个字母 比如第一个6&#xff0c;对应的字母是mno&#xff0c…

R数据分析:净重新分类(NRI)和综合判别改善(IDI)指数的理解

对于分类预测模型的表现评估我们最常见的指标就是ROC曲线&#xff0c;报告AUC。比如有两个模型&#xff0c;我们去比较下两个模型AUC的大小&#xff0c;进而得出两个模型表现的优劣。这个是我们常规的做法&#xff0c;如果我们的研究关注点放在“在原模型新引入一个预测变量&am…

基于自然语言处理的结构化数据库问答机器人系统

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目简介 知识库&#xff0c;就是人们总结出的一些历史知识的集合&#xff0c;存储、索引以后&#xff0c;可以被方便的检索出来供后人查询/学习。QnA Maker是用于建立知识库的工具&#xff0c;使用…

vue项目的环境准备与创建详情

如何搭建一个vue项目 一、环境准备 1、安装node.js 下载地址&#xff1a;https://nodejs.org/zh-cn/界面展示 2、检查node.js版本 查看版本的两种方式 1|node -v 2|node -version出现版本号则说明安装成功&#xff08;最新的以官网为准&#xff09; 3、为了提高我们的…

Vite创建React项目,另外一种更加简单的方法

在上一篇blog中一个一个安装依赖dependencies&#xff0c;有没有一步到位的方法呢&#xff0c;有! 参考《React 18 Design Patterns and Best Practices Design, build, and deploy production-ready web applications with React》4th 第一章倒数第二节Vite as a solution有个…

docker形式简易部署kibana

文章目录 前言一、简易部署1.获取镜像2.启动应用4.访问页面5.总结 前言 记录下使用docker部署kibana服务的过程 一、简易部署 1.获取镜像 docker pull kibana:8.8.0[rootnginx ~]# docker pull kibana:8.8.0 8.8.0: Pulling from library/kibana Digest: sha256:a23d96ae0ae…

​软考-高级-信息系统项目管理师教程 第四版【第21章-项目管理科学基础-思维导图】​

软考-高级-信息系统项目管理师教程 第四版【第21章-项目管理科学基础-思维导图】 课本里章节里所有蓝色字体的思维导图

JVM虚拟机:垃圾回收器之Serial Old(老年代)

本文重点 本文将介绍垃圾回收器在老年代中的串行回收器Serial Old。 介绍 Serial Old是Serial垃圾回收器的老年代版本&#xff0c;它同样是单线程的收集器&#xff0c;使用标记-整理算法&#xff0c;这个收集器也主要运行在Client&#xff0c;目前它主要是作为老年代的CMS收…

高德地图 web js端 出现 INVALID_USER_SCODE 10008 MD5安全码未通过验证

图片意思就是在引入 高德js和css 链接前 引入 <script type"text/javascript">window._AMapSecurityConfig {securityJsCode:您申请的安全密钥,} </script> 到这里就完美结束了

案例 | 3D可视化工具HOOPS助力SolidWorks edrawings成功引入AR/VR技术

HOOPS中文网慧都科技是HOOPS全套产品中国地区指定授权经销商&#xff0c;提供3D软件开发工具HOOPS售卖、试用、中文试用指导服务、中文技术支持。http://techsoft3d.evget.com/达索系统SolidWorks面临的挑战 达索系统SolidWorks公司开发和销售三维CAD设计软件、分析软件和产品…

关于阿里云 ACK ingress部分补充

强调&#xff1a; 本文只是作为记录,过一段时间会删除 跟唐老师学习网络 一 Nginx Ingress管理 ① 流量走向 需求&#xff1a; 应用绑定LoadBalance,会自动创建或使用SLBeip:port --> nodeport_ip:port --> service_ip:port --> pod_ip:port 支持的注解 通过…

程序员找副业有哪几个方向(纯干货)

前序 关于副业对于我自己的看法一般会先从自身的职业去拓展&#xff0c;毕竟自己所在的行业自己会更清楚有哪些资源去获取&#xff0c;那么首先我们可以先问万能的gpt我们程序员做副业有哪些实用的推荐&#xff0c;看看它怎么说的 外包网站接单&#xff1f; 每次大家提到程序…

有效降低数据库存储成本方案与实践 | 京东云技术团队

背景 随着平台的不断壮大&#xff0c;业务的不断发展&#xff0c;后端系统的数据量、存储所使用的硬件成本也逐年递增。从发展的眼光看&#xff0c;业务与系统要想健康的发展&#xff0c;成本增加的问题必须重视起来。目前业界普遍认同开源节流大方向&#xff0c;很多企业部门…

Python之Django框架

目录 一、Web应用 1、什么是Web应用程序 2、什么是Web框架 ​二、手写Web框架 三、Python主流的web框架 四、Django框架版本及下载 五、注意事项 六、基本使用 1、验证是否下载成功 2、常用操作命令 (1)创建django项目 (2)启动django项目 (3)创建应用 七、主要文…

腾讯云3年云服务器价格及购买教程

腾讯云作为国内领先的云计算服务提供商&#xff0c;提供了多种优惠的云服务器套餐&#xff0c;以满足不同用户的需求&#xff0c;本文将详细介绍腾讯云3年云服务器价格及购买教程&#xff0c;新老用户均可购买&#xff01; 1、活动页面&#xff1a;传送门>>> 2、进入…