Linux中大小写敏感,在命令行修改的内容,不能长久保存的。
Linux的目录都是从根目录开始的

1、系统目录路径类型

  1. 绝对路径:一个文件完整的路径(注:绝对路径的参照物是根目录)
  2. 相对路径:一个目录参照路径(注:相对路径的参照物一般是当前目录)
  3. 特殊路径:
  4. ~ :代表家目录
  5. . :代表当前目录
  6. .. :代表上级目录
  7. - :代表上一次待的目录

2、快捷键的使用

  1. 上下键:
  2. 1.切换屏幕
  3. 2.根据使用名录的历史,切换命令(注:同一个命令行窗口)
  4. CTRL + c 终止正在执行的命令
  5. Ctrl + u 剪切内容至行首
  6. Ctrl + k 剪切内容至行尾
  7. Ctrl + y 粘贴内容
  8. CTRL + l 清屏
  9. CTRL + d 退出交互式环境
  10. CTRL + a(crtl + 左) 快速跳到行首
  11. CTRL + e(ctrl + 右) 快速跳到行尾
  12. TAB 自动补全

3、系统运行命令

2.1、关机命令

  1. 一、shutdown关机
  2. shutdown:关闭操作系统
  3. 格式:shutdown [选项] [时间]
  4. 选项:
  5. -h :指定关机的时间(分钟)
  6. now :立即关机
  7. 10 10分钟后关机
  8. -c :取消关机(前提:还没有关机的状态下)
  9. 1、案例1:立即关机
  10. shutdown -h now
  11. shutdown -h 0
  12. 2.案例210分钟后关机
  13. shutdown -h 10
  14. 二.halt关机
  15. 格式:halt [选项]
  16. 1.案例3.立即关机
  17. halt :关闭计算机硬件资源
  18. halt -p :关机
  19. 3.poweroff:关机
  20. 三、init:设置计算机启动级别
  21. init 7种级别
  22. 0:关机
  23. 1.单用户模式
  24. 2.无网络多用户模式
  25. 3.命令行模式
  26. 4.未被使用
  27. 5.GUI模式(图形化桌面模式)
  28. 6.重启
  29. 查看当前运行级别的两种方式:
  30. [root@localhost ~]$ runlevel
  31. [root@localhost ~]$ who -r
  32. 四、reboot:重启系统
  33. 参数:
  34. --halt :关闭操作系统(注:关闭硬件资源)
  35. -p :关机重启

2.2、重启命令

  1. 一、shutdown:重启系统
  2. 选项:
  3. -r :指定重启时间
  4. 1.案例1:立即重启
  5. shutdown -r now
  6. shutdown -r 0
  7. 2.案例210分钟后重启
  8. shutdown -r 10
  9. 二、halt:重启系统
  10. 选项:
  11. --reboot :重启系统
  12. reboot :重启操作
  13. init :设置系统启动级别
  14. 三、poweroff :重启操作
  15. 选项:
  16. --reboot 重启操作

2.3、帮助信息命令

  1. 1.man
  2. man命令的功能是查看某一条命令的详细解释。
  3. 格式:
  4. man 【具体需要被查看的命令】
  5. 选项:
  6. NAME :一句话说明被查看命令的作用
  7. SYNOPSIS :展示命令的使用格式
  8. OPTIONS :被查看的命令的所有选项
  9. DESCRIPTION :命令的简介,也就是详细的告诉我们当前这个命令具体是干什么的
  10. 搜索:
  11. 第一步:按/键
  12. 第二步:输入搜索内容
  13. 第三步:回车
  14. # 退出:按q键
  15. 2.help
  16. 格式:
  17. -h
  18. --help

2.4、系统目录相关命令

  1. pwd 命令: 查看当前所在目录的路径(绝对路径)
  2. 实际上使用的是系统环境变量中的pwd
  3. printenv :打印系统环境变量
  4. 系统环境变量:系统默认给咱们定义的变量

2.5、切换目录(cd命令)

  1. cd命令:切换目录
  2. 格式:
  3. cd【目标路径】
  4. 绝对路径
  5. 相对路径
  6. 特殊路径:
  7. . 当前目录
  8. .. 上级目录
  9. ~ 家目录
  10. - 上次访问的路径
  11. 案例1:切换到 /etc/sysconfig/network-scripts
  12. cd /etc/sysconfig/network-scripts
  13. 案例2:有案例1,切换到/etc目录
  14. cd /etc
  15. cd ../..
  16. 案例3:由案例2,切换至上一次所在的目录
  17. cd -
  18. 案例4:切换至家目录
  19. cd ~
  20. cd /root

2.6、创建文件夹(mkdir)

  1. mkdir:创建目录的命令
  2. 格式:
  3. mkdir 【选项(非必须)】 【被创建的目标路径】
  4. 选项(参数)
  5. -p:自动创建父级目录
  6. 1.创建单层目录
  7. 在当前目录创建一个名为:test的文件夹
  8. mkdir test
  9. 2.创建多层目录
  10. 在/root目录下创建一个名为trst01的目录
  11. mkdir /root/test01
  12. 3.在/root目录下
  13. 创建一个/root/a/b/c目录
  14. [root@localhost ~]$ mkdir -p /root/aa/bb/cc

2.7、创建文件(touch)

  1. touch:创建文件的命令
  2. 格式:
  3. touch 【选项】 【被创建的文件路径】
  4. 补充:
  5. {} :表示循环
  6. .. :表示连续
  7. , : 表示不连续
  8. 案例1:创建一个名为abc的文件
  9. touch abc
  10. 案例2:创建/root/a/abc
  11. mkdir /root/a
  12. touch /root/a/abc
  13. 案例3:创建test1~test10中的所有文件
  14. touch test{1..10}
  15. 案例4:创建test1~test10,并且其每一个目录中都创建test文件
  16. mkdir test{1..10}
  17. touch test{1..10}/test
  18. 案例5:创建text3text6text9这三个文件
  19. touch text{369}

2.8、查看数据信息(ls)

ls命令:
    查看指定目录下的所有文件
    格式:
        ls 【选项】 【指定的路径】
        ls后默认跟的是当前文件夹的路径
        隐藏文件:linux中以.开头的文件即为隐藏文件
    选项(参数):
        -l : 查看文件的详细信息
        -a :  查看隐藏文件
        -h : 格式化文件大小(前提:必须跟-l参数一起使用)
        --color=auto : 显示颜色(注:不能够通过颜色判断文件的属性)
    补充:
        ls -l 等价于ll  :是以alias(别名)实现的
    知识储备
        dd
            if:指定读取的文件
            of:指定写入的文件
            bs:定义一次写入多少内容
            count:定义写入多少次
          要求生成一个1000m的文件
            dd if=/dev/zero of=1.txt bs=10m count=100 :结果是生成一个名为1.txt的文件,大小是1000m
          [root@localhost ~]$ dd if=/dev/zero of=1.txt bs=10M count=100
            100+0 records in
             100+0 records out
            1048576000 bytes (1.0 GB) copied, 13.4242 s, 78.1 MB/s
    常见的文件的属性表示符

            f(FILE    -)     : 普通文件的标识符
            d(DIRECTORY)     :  普通文件夹的标识符

    案例1:查看当前目录里的所有文件
        ls         
    案例2:查看当前目录文件的详细信息
        总用量 12
        -rw-------. 1 root root 1696 9月  10 20:03 anaconda-ks.cfg
        -rw-r--r--. 1 root root 5632 9月  13 17:31 init.sh.0
            -                         :文件的属性
            rw-r--r--.   :文件的权限
                r              :可读
                w              :可写
                x              :可执行
                -              :没有对应的权限
                权限位:
                    属主(自己)
                    属组(指定组中的所有的用户权限)
                    其他用户
            1                      :硬链接个数
            root root            :属主 属组
            1696                 :文件的大小(单位:字节B)
                    1024 B  ==  1KB
                1024KB  ==  1MB
                1024MB  ==  1GB
                1024GB  ==  1TB
                1024TB  ==  1PB
            9月  13 17:31        :文件创建的时间
            init.sh                     :文件的名称

2.9、输出命令(echo)

echo   :输出
    格式: 
        echo 【输出的内容】 【重定向字符(非必须)】【重定向的文件(非必须)】
    案例1:输出hello word
        echo "hello word"
    案例2:将hello word输出到文件2.txt中
        echo "hello word" > 2.txt

    知识储备:
        >  :覆盖重定向(先将文件中原有的内容情空,然后写入内容到文件中)
        >> :追加重定向(将内容写到文件最后边,原有的内容不改变)
        重定向:把某个文件内容,通过某种方式输入到指定文件中,即为重定向

2.10、查看命令(cat)

cat :读取,打印
    格式:
        cat 【选项(非必须)】【读取的文件路径】
     选项:
        -n  显示行号
案例1:读取2.txt的内容     
    cat 2.txt
案例2:读取/etc/hosts文件内容,输入到3.txt中   
    cat /etc/hosts > 3.txt
  cat 3.txt
案例3:将127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6写入到4.txt
  [root@localhost ~]# cat >4.txt <<EOF
        > 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
        > ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
        > EOF
案例4: 要求读取4.txt中的内容,并打印的行号 
    cat -n 4.txt

2.11、复制(cp)

cp命令:copy的缩写
    格式:
        cp 【选项(非必须)】【原路径】 【新路径】
    选项:
        -r:递归复制目录
        -i:增加覆盖提示
        -p:保留原有文件的属性
        -d:当复制符号连接时,把目标文件或目录也建立为符号链接,并指向源文件或目录连接的原始文件或目录
    案例1:将1.txt复制到/tmp目录  
        cp 1.txt /tmp/
    案例2:将/var/log目录及其目录中的所有内容全部复制到/tmp目录
        cp -r /var/log  /tmp/
      复制一个目录必须加上-r
    案例3:复制仅将/var/log/messages、/var/log/boot.log、/var/log/vmware-network.log三个文件复制到/tmp 
      cp /var/log/{messages,boot.log,vmware-network.log}  /tmp/
  案例4: 将/etc/system-release 复制到 /tmp目录下
        cp -d /etc/system-release /tmp/
    案例五:复制2.txt到/tmp目录中,要求不更改其创建时间
        cp -p 2.txt /tmp
    知识储备:
        stat查看文件创建时间

2.12、剪切(mv)

mv:命令
    mv:将Linux当中的某个文件移动到指定目录
    格式:
        mv 【选项】 【原来的文件路径】 【现在的文件路径】
    mv 命令后面既可以跟绝对路径也可以跟相对路径
    选项:
        -i:覆盖前提示
案例1:将1.txt移动到/tmp目录下
    mv 1.txt /tmp
案例2:将/root/2.txt 移动到 /tmp目录中
    mv /root/2.txt /tmp
案例3:将/var/log目录移动到/tmp目录中
    mv /var/log/ /tmp/
案例4:将/root目录中的所有文件移动到/tmp目录中
    知识储备:
            正则表达式
                *:代表所有文件()
                ?:代表一个字符
    mv /root/* /tmp/
    注:隐藏目录默认不被移动
案例5:将/root目录下的abc1~abc9移动到/tmp文件中
    第一种方式:
        mv abc{1..9}  /tmp
    第二种方式:
        mv /root/abc* /tmp
    第三种方式:
        mv /root/abc? /tmp
案例6:将root目录下的abc1~abc9移动到/tmp目录中
        mv /root/abc* /tmp
案例7:将root目录下的abc1 ~ abc99 移动到/tmp目录中
        mv /root/abc?? /tmp
    第二种方式:
        mv /root/abc{?,??}  /tmp

2.13、删除命令(rm)

rm :删除文件的命令
Linux中一切皆文件,企业中一般不允许删除文件。
    格式:
        rm 【选项】 【被删除的文件路径】
    如何禁止使用rm命令
        第一种方式:修改别名
            alias rm=“abcdef”
        第二种方式:将rm命令修改名字
            mv rm abcdef
    选项:
        -i  :删除前提示
        -r  :递归删除
        -f  :忽略不存在的文件和参数,从不提示
案例1:将/tmp目录下所有的文件全部删除
    rm /tmp/*
案例2:删除/tmp目录下的test目录
    空目录:
        rm -r /tmp/test
    非空目录:
        rm -rf /tmp/test
案例3:删除/tmp目录下以abc开头的文件
    rm -f /tmp/abc*

2.14、命令真实路径(which)

which:查看命令的真实路径
格式:
    which 【具体的命令】
案例:查看rm命令的路径
    which rm

2.15、修改文件(vim)

vi/vim编辑器:用来修改文件
    vi:
    vim:vim是vi的升级版
        vi/vim编辑器的原理
            1、vi xxx.txt(检查.xxx.txt.swp是否存在)
            2、读取xxx.txt的内容
            3、创建一个名为.xxx.txt.swp的隐藏文件
            4、修改文件(修改.xxx.txt.swp文件)
            5、保存文件(.xxx.txt.swp文件存入xxx.txt中)
            6、退出编辑(删除.xxx.txt.swp文件)
vim的三种模式:
    命令模式:进入修改文件的第一个模式,主要使用各种快捷键的
    编辑模式:修改文件内容的
    末行模式:对文本进行处理,例如:替换
格式:
    vim 【选项(非必须)】 【被修改的文件的路径】
选项:
    -r:继续输入
指令:
    所有模式使用:
        上下左右键:控制光标的位置
末行模式:shift + : 进入末行模式
        w   :保存
        q   :退出编辑
        wq  :保存并退出
        x   :在末行模式中:保存并退出
              在命令模式中:删除光标后的一个字符
        !  :强制退出(不保存退出,必须跟在指令后面)
        n   :直接跳转到第n行
        set nu    :显示行号
        set nonu:取消行号
        作用开始的行号,作用结束的行号 s# 【被修改的内容】# 【修改的内容】#g
                %:代表的是文本有多少行
        0,410s#man#MAN#g
命令模式:
    i        :进入编辑模式(在光标前输入)
    a        :进入编辑模式(在光标之后输入)
    o        :进入编辑模式(在光标所在位置另起一行输入)

    gg        :跳转到首行
    G        :跳转到末行
    dd        :删除当前行
    u        :回撤(类似于windows中的crtl + z)
    ndd        :在光标所在位置向下删除n行
    yy        :复制光标所在行
    nyy        :在光标所在位置向下复制n行
    p(小写):粘贴到光标的下一行
    P(大写):粘贴到光标的上一行
    0        :行首
    $        :行尾
    /【搜索的内容】   :在文本中搜索相关内容,按n键,下一个,按N键,上一个

image.png

2.16、安装vim

1、进入/etc/yum.repos.d目录
    cd /etc/yum.repos.d
2、编辑CentOS-Base.repo
    vi CentOS-Base.repo
        [base]
                name="Hello World"
                baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/
                gpgcheck=0
3、安装
    yum install vim -y

安装路径:https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/

2.17、可视化编辑器

CTRL+v:进入可视化编辑模式
shift + i : 进入可视化编辑模式
1、按 shift + i 进入可视化编辑模式
2、编辑一行            
3、按 ESC 退出编辑
4、按下键(可按可不按)
x : 删除选中内容