• rhcsa学习1基本命令(软硬链接,获取帮助等)


    pwd 显示该shell的当前工作目录的完整路径名

    ls 列出指定目录的目录内容

    cd 更改shell的当前工作目录

    没有什么特殊情况命令小写

    ~所在位置:当前工作目录

    #当前用户为管理员root

    $当前是普通用户

    命令由三个基本部分组成:

    命令、选项、参数

    如下 -a  --all 效果相同(--后面接完整单词)

    ls  -a 可以查看到隐藏文件

    查看属性 ls -l 和-a 搭配

    ls  --help 可查看ls的相关搭配用法(--help不可写成-h)

     若要查看文件夹属性:

    要用-d 查看文件夹本身的属性,否则查看的是该文件夹子目录的属性

    同时可以写成 ls   -ld  what

    根据颜色区分文件类型:

    蓝色:文件夹

    和命令同样的颜色:普通文本文件

    因为打开了workstation下root用户的图形化界面,所以会有更多的内容

     常见命令

    whoami :查看用户名

    hostname:查看主机名  

     多条命令以分号空格

     前后命令互不影响

    date命令

    utc时区是世界标准时间

    timedatectl:时间控制命令比较全面列出信息

     

     查看date命令相关参数:

    可以用date --help查看相关用法

    passwd:

    修改当前密码

    管理员修改密码可以直接设置,且密码设置简单也行

    管理员也可给起他用户该密码:(且可以不知道用户原来的密码)

    ctrl + d 退出登录(exit 

    ctrl + c 中断命令

    clear清空屏幕(或ctrl +l

    最前面的- 代表普通文本文件 txt

    d 代表directory 目录

    filemingl可以查看文件的类型

    su -  ,exit 从当前用户切换到另一个用户 ,用exit可以退回到管理员用户

    cat:查看文件内容

    / 代表根目录

     如上两图:二者命令效果相同(~代表当前目录,而当前目录就是根目录,所以可以省略

    当查看的文件内容多时可以用其他的查看命令会更方便

    more 文件:

     

     按enter键继续查看后面的内容

    less 文件:支持上下翻阅,输入q退出

    输入/内容可以查找自己所查找的内容并以高亮呈现

    如上查找do

     

    head  文件 :默认查看文件的前10行

    head  -3  文件 :查看前3行

    tail 文件:默认查看文件后10行

    tail -2 文件 :查看最后2行

    (空行也算)

    tail -f  文件 :实时跟踪文件内容

    wc命令:

    计算文件中行、字、字符的数量

    可以接受 -l 、-w、或 -c 选项。分别用于仅显示行数、字数或字符数

    对内容二次处理(如下在统计属性后计算其行数

    反斜杠换行

     注意反斜杠后换行的内容和命令无缝连接,注意空格

    history命令查看历史记录

    !number 匹配历史记录的编号再重新执行该编号对应的命令

    !string 再历史记录中查找到指定字符串开头的命令并重新执行(如果有多条则是最近的命令

     文件

    /bin   二进制文件

    /sbin  管理员才能用的命令(普通用户只能执行/bin目录下的文件)

    /run   临时缓存的文件

    /var   主要用来存放日志

    图上最前面的字母 对应的字体颜色      含义

      b                          黄色                   代表磁盘、硬盘等块设备

      c                          棕色                   代表键盘、鼠标等字符设备

    (补充:长列表的第一个字符)

    • - 代表普通文件
    • d 代表目录文件
    • l 代表符号链接文件
    • c 代表字符设备文件
    • b 代表块设备文件
    • s 代表套接字文件
    • p 代表命名管道文件

    ..  两点代表上一级目录 

     

     . 一点代表当前目录

    . = /var(上图来说)

     cd - 表示返回刚刚的目录

    cd ~ 表示返回当前目录的家目录 (相当于cd空格)

    cd . 表示返回当前目录

    cd .. 表示返回上一级目录

    从命令行管理文件:

    ls命令具有多个选项,用于显示文件属性如下:

    ls -l (长列表格式) 相当于ll

    ls -a(包含隐藏文件在内的所有文件)

    ls -R(递归方式,包含所有子目录的内容)

    用touch创建文件,若创建重名文件,文件内容不会被覆盖,但时间会更改:

    rm file 删除文件(无法删除带有文件的目录)

    rm -r directory  删除含有文件的目录(加-f 则不再过问)

    rmdir  directory 删除空目录(等同于 rm -d)

    当你用rm  -r  -f 删除时则不会再过问

     

    mkdir创建目录命令

    若父目录不存在可用 -p, 为请求目录的目标位置创建缺失的父目录

    mv:

    用mv实现重命名

    用mv实现文件移动

     将文件移动并重命名

    cp拷贝:(注意如果目标文件已存在,则cp命令会覆盖该文件)

    cp   file    newfile 复制文件(属性可能发生改变,比如时间

    可以看到时间不同(but11.txt和but.txt)

    添加-p选项可以不改变属性

    可以看到but22.txt和but.txt的创建时间相同(but.txt是被复制的源文件)

    cp  -r directory  newdirectory  复制目录及其内容

     若复制过去的文件夹不存在,在复制过程中会自动创建

    (补充:rm -r ,cp -r , ls -R  中的r一般是对文件本身的递归,R一般是对属性的递归

     制作文件间的链接(创建指向同一文件的多个名称,可创建硬链接或软链接实现)

    创建硬链接:

     如上索引号相同,but11是but的硬链接

    (注意:

    1、当一方文件内容被修改,另一个也将同步

    2、创建硬链接时一般名字不能一样,除非在不同路径

    3、除了查看索引号可以知道是否是硬链接外,还可以通过参数(用户权限后面那个数字)

    删掉一方不影响另一方

    查找索引号 ls -i (索引号是有且唯一

    硬链接弊端

    1、不能对目录制作硬链接

    2、不能跨文件系统制作硬链接

    3、不能够对特殊设备制作硬链接

    a

    (补充:df命令可以查看位于不同文件系统上的目录)

    软链接

    (也称符号链接,软链接不是常规文件,而是指向现有文件或目录的特殊类型的文件)

    其可以链接位于不同文件系统上的两个文件,可以指向目录或特殊文件,而不仅限于常规文件

    制作软链接

     当一方文件内容删除,另一方也会同步

     上图可以看到二者索引号不同,且软链接的颜色不同,上图长列表的第一个字符是l(表示软链接)。软链接是通过指向目标文件的路径信息实现链接的。同时,符号链接文件的属性和权限也是不同于目标文件的,因为它们是两个独立的文件,具有各自的属性和权限。

    当把原来的文件名改了之后,对应的软链接会出现上图颜色的变化(当把名字改回去后,软链接又恢复了蓝色的样子)

    为什么下面的文件大小不同?

     软链接的大小由源文件名字字符个数决定(tomorrow.txt的名字有12个字符)

     (补充:当目标文件(软链接指向的文件)被删除时,软链接依旧指向改文件(只不过变成指向缺失的文件),此时软链接又叫"悬挂的软链接",当再创建一个与目标文件重名的文件时,软链接不再悬挂,而是指向这个重名的新文件)-->硬链接不会

    符号链接本身是一个文件,它存储了指向目标文件的路径信息,可以看作是一条快捷方式或者一条符号连接的路径,而目标文件则是一个普通文件或者其他文件类型,它的内容存储在磁盘上对应的数据块中。

     echo输出字符串

    通过重定向符号>将内容存入文件中:

    若写入的文件不存在则会自动创建(如上but)。且echo > 会覆盖原有信息

    echo >>追加内容

     将文件内容清空 >

    echo命令用于显示波形符字符~的值

    echo命令也可用于显示大括号和变量扩展字符等的值

     扩展字符:

     

     使用shell扩展匹配文件名

     

    当创建一个文件其文件名中间有空格时,用双引号将名字引起来,否则创建的是两个文件

    用通配符匹配:

    波形扩展符~

    可匹配当前用户的主目录 

    大括号扩展{}

    用于生成任意字符串,大括号包含字符串的逗号分隔列表或顺序表达式。大括号扩展可以相互嵌套。双句点语法(..)可扩展成一个序列,{a..d}扩展为a b c d

    变量扩展

    将数值分配给变量,使用变量扩展将变量名称转换为命令行上的值,如果字符串以美元符号$开头,那么shell就会尝试将该字符串的其余部分用作变量名称,并将它替换为变量中包含的任何值

    为避免因其它shell扩展引起的错误,可将变量名称放在大括号中

     命令替换

    允许命令的输出替换命令行上的命令本身。当命令括在括号中并且前面有美元符号$时,会发生命令替换。$(命令)形式可以互相嵌套多个命令扩展

    (补充:也可以用反引号,注意反引号不可以嵌套)

     防止参数被扩展

    反斜杠\是Bash shell中转义字符,防止紧随其后的字符被扩展

    单引号‘ 和双引号’‘ 都可以组织参数被扩展

    区别:

    单引号’ 阻止所有shell被扩展,双引号‘’ 可以阻止大部分shell扩展

    双引号‘’ 可以阻止通配和shell扩展,允许命令和变量替换

     获取帮助

    (未指定章节则默认为第一章节)

    根据关键字搜索man page

    (man命令-K(大写)选项执行全文本页面搜索,使用更多资源,耗费更长时间。-k(小写)仅搜索标题和描述)

    上图可以发现passwd: nothing appropriate.,看网上原因说系统更新太新了,帮助的数据库还没更新。可用mandb命令进行更新

    更新完后再进行man -k passwd查询

    可以发现就可以找到相关结果了。

    man也有自己的man page

    所有man page都位于/usr/share/man。

    可用whereis命令查找位于/usr/share/man目录中的二进制文件、源代码和man page

    用whereis命令不止可以查找出位于该处的信息

    这个命令的输出通常会包括三个路径:

    1. 可执行文件路径:该路径指向 passwd 命令的可执行文件。
    2. 手册页路径:该路径指向 passwd 命令的手册页(manual page)文件。
    3. 源码路径:这是可选的,如果有的话,它指向 passwd 命令的源代码文件路径。

    阅读info文档,用pinfo命令启动info文档查看器。

    得到如下图结果

    而pinfo tar

    pinfo阅读器比原始的info命令更加高级。若不带参数运行pinfo命令将打开顶级目录。(info会查找匹配的man page并显示相应内容)

    pinfo命令和man命令采用了略有不同的导航击键操作

    help:是shell内置的命令,用于提供特定命令的简短帮助信息。它主要用于查看shell内置命令的使用方法和概要,而不是提供全面的手册页内容。(显示内部命令的帮助信息

    通常,使用"help"命令时,你需要提供命令名称作为参数,例如:"help cd"将会显示有关"cd"命令的简短帮助信息。

    • help 是Shell内置的命令,用于获取Shell内置命令的帮助信息。
    • --help 是许多可执行程序的通用选项,用于获取特定命令或程序的帮助信息。

    请注意,不是所有的命令都支持 --help 选项,因为这是可选的。而对于Shell内置命令来说,只能使用 help 命令来获取帮助信息,而无法使用 --help。不过,大多数常见的命令都支持 --help 选项,并且在给出该选项后会显示相应的帮助文档。

    1. 内置命令:这些命令是嵌入在Shell解释器中的特殊命令。它们直接由Shell解释器执行,无需调用额外的可执行文件。例如,cdechohelp是常见的内置命令。可以使用 help 命令获取内置命令的帮助信息,例如 help cd

    2. 外部命令:这些命令是独立的可执行程序,存储在系统的文件系统中。它们通过Shell解释器调用并执行。例如,lsgrepcat都是外部命令。可以使用 --help 或者运行命令时不带参数获取外部命令的帮助信息,例如 ls --help 或者 ls

  • 相关阅读:
    每日五题-202202
    湖仓一体数据平台架构
    软考 - 标准化与知识产权基础知识
    Java 中代码优化的 30 个小技巧(下)
    域控制器的深度详解!
    List is a raw type. References to generic type List<E> should be parameterized
    flex布局独占一行实现方法
    什么是物联网(IoT),解释物联网的架构和应用场景
    数据挖掘,在商业智能BI领域的运用
    Spring源码深度解析:二、手写Spring
  • 原文地址:https://blog.csdn.net/weixin_66196728/article/details/131363311