• RHCSA学习笔记(01)


    目录

    一、linux命令行操作以及目录操作

    1.Shell

    (1)linux的操作界面常称为Shell。

    (2)概念:

    (3)查看Shell类型:

    (4)查看当前默认的Shell

    (5)Shell提示符

    (6)登录字符终端和图形终端方法

    2.使用桌面访问命令行

    3.常用简单命令

    (1)echo:输出字符串或者变量的值

    (2)date:查看或设置日期时间

    (3)timedatectl命令

    (4)开关机

    (5)下载命令:

    (6)查看系统信息

    4.Bash执行命令

    (1)Shell命令一般格式:

    (2)命令、选项和参数的自动补全

    5.命令帮助

    (1)命令类型:内部命令,外部命令

    (2)命令帮助

    (3)man和pinfo

    6.目录结构

    (1)特点:使用树形目录结构来组织和管理文件。

    (2)树状目录结构,/代表根。

    (3)路径

    (4)文件类型:

    7.目录操作命令

    (1)创建目录:mkdir

    (2)显示目录内容

    (3)更改:改名

    (4)删除:

    (5)列出目录内容:ls

    (6)切换目录:cd

    8.文件操作命令

    (1)创建文件:

    (2)文件改名:

    (3)复制文件:cp

    (4)移动文件:mv

    (5)删除文件或目录:rm

    (6)为文件或目录创立链接(link)---ln


    一、linux命令行操作以及目录操作

    1.Shell

    (1)linux的操作界面常称为Shell。

    (2)概念

    Shell是操作系统提供给用户使用的界面(图形、字符),它提供了用户与内核进行交互操作的一种接口。当用户发出指令(命令或鼠标操作),先将这些指令发送给Shell,由Shell将用户的指令翻译后传送给内核,再由内核来控制硬件的工作。然后内核将硬件的工作情况发送给Shell,并由Shell返回硬件的工作信息和情况。

    (3)查看Shell类型:

    1. 方法1:cat /etc/shells
    2. [root@localhost ~]# cat /etc/shells
    3. /bin/sh
    4. /bin/bash
    5. /usr/bin/sh
    6. /usr/bin/bash
    7. 方法2:chsh -l
    8. [root@localhost ~]# chsh -l
    9. /bin/sh
    10. /bin/bash
    11. /usr/bin/sh
    12. /usr/bin/bash

    (4)查看当前默认的Shell

    [root@localhost ~]# echo $SHELL

    /bin/bash

    切换为普通用户

    [root@server ~]# su - student
    [student@server ~]$ 

    (5)Shell提示符

    #:管理员

    $:普通用户

    1. 普通用户登录:[当前登录用户@主机名 当前工作目录 ] $
    2. root用户登录:[root@主机名 当前工作目录 ] #
    3. 这种格式包含了以下三个方面的信息:
    4. 启动 Shell 的用户名,也即 root;
    5. 本地主机名称,也即 localhost;
    6. 当前目录,波浪号~是主目录的简写表示法。
    7. Shell 通过PS1和PS2两个环境变量来控制提示符格式:
    8. PS1 控制最外层命令行的提示符格式。
    9. PS2 控制第二层命令行的提示符格式。
    10. [student@server ~]$ echo $PS1
    11. [\u@\h \W]\$
    12. [student@server ~]$ echo $PS2
    13. >

    (6)登录字符终端和图形终端方法

    图形终端-->字符终端:ctrl+Alt+F2~F6
    字符终端-->字符终端:Alt+F2~F6
    字符终端-->图形终端: 1:Alt+F1 方法  2:登录后输入startx  3:登录后输入init 5

    通过网络登录:

    ssh root@192.168.174.123  后跟所需要登录的IP地址,root是账户名

    附:logout(注销):使用ctrl+d或exit

    2.使用桌面访问命令行

    法1:点击活动--->Terminal


    法2:Alt+F2。打开Enter a Command,输入gnome-terminal

    3.常用简单命令

    (1)echo:输出字符串或者变量的值

    echo命令用于在终端设备上输出字符串或变量提取后的值,语法格式为:
    “echo [字符串] [$变量]”

    这是在Linux系统中最常用的几个命令之一,执行“echo 字符串”或“echo $变量”就可 以,其中$符号意思是提取变量的实际值,以便后续的输出操作。

    1. [root@localhost ~]# echo "Hello World"
    2. Hello World
    3. [root@localhost ~]# echo "Username:$USER"
    4. Username:root

    (2)date:查看或设置日期时间

    1. [root@localhost ~]# date
    2. Sat Oct 22 18:06:58 CST 2022
    3. [root@localhost ~]# date +%Y-%m-%d
    4. 2022-10-22
    5. [root@localhost ~]# date +%F
    6. 2022-10-22
    7. [root@localhost ~]# date +%H:%M:%S
    8. 18:26:30
    9. [root@localhost ~]# date +%T
    10. 18:26:46
    11. [root@localhost ~]# date +%F-%T
    12. 2022-10-22-18:27:59
    13. [root@localhost ~]# date +"%F %T"---常用
    14. 2022-10-22 18:28:18
    15. [root@server ~]# date +%j---今天是今年的第几天
    16. 310

    (3)timedatectl命令

    1. [root@localhost ~]# timedatectl status ---查看状态
    2. Local time: Sat 2022-10-22 18:30:42 CST
    3. Universal time: Sat 2022-10-22 10:30:42 UTC
    4. RTC time: Sat 2022-10-22 10:30:42
    5. Time zone: Asia/Shanghai (CST, +0800)
    6. System clock synchronized: no
    7. NTP service: inactive
    8. RTC in local TZ: no
    9. [root@localhost ~]# timedatectl set-timezone Asia/Shanghai 设置当前时区

    (4)开关机

    重启命令

    reboot

    shutdown -r row

    init 6

    关机命令

    halt

    shutdown -h now

    poweroff

    init 0

    (5)下载命令:

    wget:-c 支持断点续传

    接下来,使用wget命令递归下载www.baidu.com网站内的所有页面数据以及文件,下载完后会自动保 存到当前路径下一个名为www.baidu.com的目录中,该命令的执行结果如下:

    [root@kongd ~]# wget -r -p https://www.kongd.com

    (6)查看系统信息

    查看主机名:hostname

    查看ip地址:ip address

    查看操作系统:cat /etc/redhat-release

    查看内核:uname -r

    4.Bash执行命令

    (1)Shell命令一般格式:

    命令名 [选项] [参数]

    其中命令名、选项、参数之间使用空格隔开,多余的空格将被忽略,而用方括号括起来的部分表明该项是可 省略的,如直接在提示符后面输入命令date,显示当前的日期和时间。

    <1> 命令:做什么

    <2> 选项:怎么做

    短格式 -l  多个短格式的选项可以合并。例:ls -a -l --> ls -al
    长格式 --all  

    <3> 参数:对谁做

    一般指的是文件/目录

    <4> 按【Ctrl+C】键可中断正在执行的命令。

    <5> linux的命令、选项、参数均区分大小写,大多数情况下是小写。

    (2)命令、选项和参数的自动补全

    1. [root@localhost ~]# rpm -q bash-completion
    2. bash-completion-2.7-5.el8.noarch

    两种补全:

    补全命令:输入命令关键字的前几个字符后,按Tab键,可实现命令自动补全。
    补全文件名和目录名(当前路径下的)

    5.命令帮助

    (1)命令类型:内部命令,外部命令

    <1> 如何区分内部和外部命令?type

    linux中对应的命令的类型分为内部命令和外部命令,外部命令对应的是path环境变量下可以找到的与命令名称一致的文件的名称,其中每一个外部命令对应的是一个可执行的程序。内部命令是外部命令中含有的命令的,比如bash中存在内部的命令cd ,内部命令的对应的信息展示固定。

    外部命令:以文件形式保存在磁盘上

    <2> 系统上有多少内部命令?help之中列出来的全都是内部命令

    (2)命令帮助

    内部命令:help 命令

    外部命令:命令 --help

    (3)man和pinfo

    <1> man用来提供在线帮助,使用权限是所有用户。在Linux系统中存储着一部联机使用的手册,以 供用户在终端上查找。使用man命令可以调阅其中的帮助信息,非常方便实用。

    man命令常用按键以及作用

    <2> 使用pinfo命令可以查看info文件。

    pinfo命令将搜索当前录、/usr/share/info、/usr/info、/usr/local/share/info、/usr/local/info及/opt/info等目录。 

    pinfo 命令的帮助信息是一套完整的资料,每个单独命令的帮助信息只是这套完整资料中的某一 个小章节。

    命令语法:pinfo [选项] [info|manua]

    pinfo命令选项含义

    6.目录结构

    ------哲学思想:一切皆文件

    (1)特点:使用树形目录结构来组织和管理文件。

    (2)树状目录结构,/代表根。

    面试必考:一级目录作用。
    请说出下列目录作用:/etc  /boot  /bin  /dev  /home  /usr  /var

    (3)路径

    绝对路径:是指以根目录“/”为起点来表示系统中某个文件(或目录)的位置的方式

    相对路径:是以当前目录为起点,表示系统中某个文件或目录在目录结构中的位置的方式。

    1. 附:
    2. pwd:打印当前工作目录
    3. [root@localhost ~]# pwd
    4. /root
    1. (要求切换到/usr下面的local目录)
    2. 法一:使用相对路径
    3. [root@localhost usr]# pwd
    4. /usr
    5. [root@localhost usr]# cd local
    6. [root@localhost local]# pwd
    7. /usr/local
    8. 法二:使用绝对路径
    9. [root@localhost ~]# cd /usr/local

    (4)文件类型:

    使用ls -l查看:

    附:

    1. 使用file查看系统文件类型
    2. # file anaconda-ks.cfg
    3. anaconda-ks.cfg: ASCII text
    4. # file /dev/sda
    5. /dev/sda: block special
    6. # file /dev/tty1
    7. /dev/tty1: character special
    8. # file /tmp
    9. /tmp: sticky directory
    10. # file /dev/log
    11. /dev/log: socket
    12. # file /bin/sh
    13. /bin/sh: symbolic link to `bash'
    14. # file /run/dmeventd-client
    15. /run/dmeventd-client: fifo (named pipe)

    7.目录操作命令

    (1)创建目录:mkdir

    <1> 命名格式:mkdir [-p] [/路径/] 目录名

    1> 长度不能超过25个字符;

    2> 不能使用/当文件名

    3> 严格区分大小写

    <2> 常规使用:-p——可快速创建出目录结构中指定的每个目录,对于已存在的目录不会被覆盖

    <3> 示例:

    1. 1> 创建/dir1
    2. [root@localhost ~]# mkdir /dir1
    3. 2> 创建/d/d1/d12
    4. [root@localhost ~]# mkdir /d/d1/d12
    5. mkdir: cannot create directory ‘/d/d1/d12’: No such file or directory
    6. (多层目录结构需加上-p,实现递归式的创建。)
    7. [root@localhost ~]# mkdir -p /d/d1/d12

    (2)显示目录内容

    <1> 列表(list)ls

    格式:ls  [ 选项 ]  文件名或目录名

    <2> tree:树状显示目录结构

    1> 查看:

    1. [root@localhost ~]# tree /d
    2. /d
    3. └── d1
    4.     └── d12
    5. 2 directories, 0 files

    2> 常用选项:

    (3)更改:改名

    [root@localhost ~]# mv /dir1 /dir123(3)删除

    (4)删除:

    <1> rmdir:删除空目录

    <2>

    [root@localhost ~]# rm -rf /:危险系数高,谨慎使用

    [root@localhost ~]# tree /d1

    /d1 [error opening dir]

    0 directories, 0 files

    (5)列出目录内容:ls

    (6)切换目录:cd

    1. <1> 例1:切换到路径/usr/local/src
    2. [root@localhost src]# cd /usr/local/src/
    3. <2> 例2:返回上次路径
    4. [root@localhost src]# cd ..
    5. <3> 例3:返回用户主目录
    6. 1> root:/root    student:/home/student
    7. 方法1[root@localhost local]# cd
    8. 方法2[root@localhost local]# cd ~
    9. 2>返回指定用户的主目录
    10. [root@localhost ~]# cd ~student
    11. [root@localhost student]# pwd
    12. /home/student
    13. # cd /usr/local/lib //改变目录到/usr/local/lib目录下
    14. # cd .. //进入当前目录的父目录
    15. # cd ../etc //进入当前目录的父目录下的etc子目录
    16. # cd ~ //进入root用户登录时的工作目录(家目录)
    17. # cd 桌面 //进入当前目录下的“桌面”子目录
    18. # cd //进入当前用户的家目录

     附:面试题:当前路径是/usr/local/src/,当用户在键盘敲入cd命令,路径变成什么?

    1. [root@server src]# pwd
    2. /usr/local/src
    3. [root@server src]# cd
    4. [root@server ~]# pwd
    5. /root
    6. 返回用户的主目录,root用户主目录为/root

    8.文件操作命令

    (1)创建文件:

    <1> touch filename---如果文件不存在,则创建空文件;如果文件存在,则修改文件的时间戳.

    1> 格式: touch  [选项]  文件或目录名列表

    2> 选项:

    <2> 借助重定向(>)生成文件

    [root@localhost ~]# echo 'hello world'>h.txt

    <3> 借助类似vi或者nano等生成文件。

    [root@server ~]# nano c.txt
    

    (2)文件改名:

    [root@server ~]# mv a.txt b.txt

    (3)复制文件:cp

    格式:cp [选项] 源文件 目标文件

    1. <1> 例1:复制/etc/hosts文件到当前路径
    2. [root@localhost ~]# cp /etc/hosts .
    3. <2> 例2:复制/etc/hosts文件到当前路径,文件为hosts.txt
    4. [root@localhost ~]# cp /etc/hosts host.txt
    5. <3> 例3:复制/etc/host.conf /etc/hostname 到/opt
    6. [root@localhost ~]# cp /etc/host.conf /etc/hostname /opt/
    7. [root@localhost ~]# ls /opt
    8. host.conf hostname
    9. <4> 例4:复制/etc/host开始的文件到/opt目录
    10. (通配符:* 代表任意个)
    11. [root@localhost ~]# cp /etc/host* /opt/
    12. cp: overwrite '/opt/host.conf'? n
    13. cp: overwrite '/opt/hostname'? n
    14. [root@localhost ~]# ls /opt
    15. host.conf hostname hosts hosts.allow hosts.deny
    16. <5> 例5:复制/etc/host开始的文件到/opt目录,如果/opt目录有同名文件强制覆盖
    17. 分析:管理员使用cp命令的时候,实际上使用了别名cp,即cp-i
    18. 1:使用cp命令的绝对路径
    19. [root@localhost ~]# /usr/bin/cp /etc/host* /opt
    20. 2:将cp命令转义
    21. [root@localhost ~]# \cp /etc/host* /opt
    22. <6> 例6:复制/opt目录及子目录和文件到/d目录下
    23. [root@localhost ~]# cp -r /opt /d
    24. [root@localhost ~]# ls /d
    25. d1 opt

    (4)移动文件:mv

    格式:mv [参数] 源文件名称 目标文件 名称

    1. 注意:使用mv命令时,源和目的路径一致,相当于改名
    2. [root@localhost ~]# mv /d/opt/hosts /tmp/
    3. [root@localhost ~]# mv /d/opt/hostname /tmp/hostname.txt
    4. [root@localhost ~]# ls /d/opt
    5. host.conf hosts.allow hosts.deny

    (5)删除文件或目录:rm

    格式:rm [选项] 文件或目录名及路径

    1. [root@localhost ~]# ls /d/d1
    2. d12
    3. [root@localhost ~]# rm -fr /d/d1
    4. [root@localhost ~]# ls /d/d1
    5. ls: cannot access '/d/d1': No such file or directory

    (6)为文件或目录创立链接(link)---ln

    格式: ln [选项] 被链接的源文件或目录 链接文件或目标目录

    选项:
    -s——建立符号链接(软链接),不加该选项时建立的链接为硬链接。
    -f——删除已经存在目标文件与源文件之间的链接关系。
    -i——交互式地删除目标文件与源文件之间的链接关系。

  • 相关阅读:
    [附源码]计算机毕业设计springboot医院门诊管理信息系统
    (转载)基于量子遗传算法的函数寻优算法
    使用Go语言测试Redis性能
    【Spring】@RequestBody的实现原理
    「有问必答」Go如何优雅的对时间进行格式化?
    pycharm控制STM32F103ZET6拍照并上位机接收显示(OV7670、照相机、STM32、TFTLCD)
    高企申报中的常见核心问题答疑
    关于promise
    浅谈为什么多态只能是指针或引用
    CentOS7系统搭建web环境 php&nginx&pgsql
  • 原文地址:https://blog.csdn.net/weixin_62443409/article/details/127559537