• Linux常规操作笔记(CentOS7)


    目录

    Vim编辑器

    一般模式:

    编辑模式:

    命令模式

    网络配置

    远程登陆

    shell命令

    文件目录类命令

    时间日期类

     用户管理命令:

    文件属性:

     搜索查找类:

     压缩和解压缩类:

     磁盘查看和分区类:

    进程的查看与杀死

     网络状态和端口信息

     crontab 系统定时任务

    软件包管理RPM:

     YUM仓库配置:


    Vim编辑器

    在编辑器中输入法的切换是win+空格

    vi/vim被称为编辑器之神。vim_文件名直接打开文件

    编辑器打开某个文件,后面文件名可以使用tab补全 

    一般模式:

    b移动到上一个词

    pw可以粘贴一个词

    L和G效果一样,都是跳转到页尾;数字加G就是直接跳转到某行

    H移动到开头 

    3p表示将文本复制了三次

    8yy表示的是复制了八行 

    撤销操作:u

    y+$表示该处到行尾

    保存操作需要进入命令模式下进行

    编辑模式:

    命令模式

    在一般模式上加上:set nu,可以显示行号;:set nonu可以关闭行号

    :s/想要被替换的词/所要替换掉词

    普通用户和root用户的切换:

    网络配置

    Linux系统中,在终端输入命令ifconfig可以获取ip地址;在window中,是命令ipconfig可以获取ip地址。

    VMware提供了三种网络连接模式:

    • 桥接模式:虚拟机直接连接外部物理网络的模式,主机起到了网桥的作用;这种模式下,虚拟机可以直接访问外部网络,并且对外部网络是可见的。
    • NAT模式:虚拟机和主机构建一个专用网络,并通过虚拟网络地址转换设备对IP进行转换。虚拟机通过共享主机IP可以访问外部网络。但外部网络无法访问虚拟机
    • 仅主机模式:虚拟机与主机共享一个专用网络,与外部网络无法通信

    在终端下自定义IP地址:

    1. 用文本编辑器进入 etc目录下的sysconfig(不要忘记etc前面的/,否则tab键不起作用

     2.将第四行的dhcp(动态分配IP地址)修改为static。

    3.在末尾加上ip地址、网关、域名解析器

     4.然后保存,service network restart(重启一下网络)

    修改主机名的命令:

    hostname/hostnamectl:可以查看当前的主机名

    hostnamectl-set-hostname 主机名:可以修改主机名

    vim /etc/hosts:可以存储一些对应的IP地址和主机名

    在etc目录下的hosts文件下加入IP地址和主机名的映射关系,可以直接ping 主机名

    远程登陆

    远程登陆:ssh root@主机名或者IP地址

    远程登陆APP:xshell

    远程传输文件APP:xftp

    Service服务管理

    usr/sbin文件下有很多命令

    基本语法:systemctl start|stop|restart|status 服务名

    查看服务的方法:/usr/lib/systemd/system

    管理开机自启动的命令:setup

    CentOS7运行级别为:

    • multi-user.target :多用户有网,无图形界面
    • graphical.target:多用户有网,有图形界面

    查看当前的运行级别:systemctl get-default

    修改运行级别:set-default

    配置开机自启动服务:systemctl list-unit-files

    查看防火墙状态:systemctl status firewalld

    关机命令:shutdown(默认是在一分钟之后关机)

    shutdown -c 取消关机操作

    shutdown now 立马关机

    shutdown 3 在3分钟之后关机

    shutdown 具体时间点 可以设置定时关机操作

    shutdown -r now 立即重启

    shell命令

    几乎所有的命令都在bin和sbin目录下

    Shell可以看作是一个命令解释器,为我们提供了交互式的文本控制台桌面。我们直接在终端输入命令,由shell进行解释并最终交给内核执行;一部分基础功能的系统命令是直接内嵌在shell中的,系统加载启动之后会随着shell一起加载,常驻系统内存中。这部分命令被称为“内置命令”;相应的其他命令被称为“外部命令”

    help 命令:获得shell内置命令的帮助信息

    命令 --help:可以获得命令的帮助信息

    man [命令或配置文件] :可以获得帮助信息

    man -f [命令]:可以获得内置命令的帮助信息 

    type 命令:可以判断命令的类型(是内部命令还是外部命令)

    history:可以查看所有的历史命令

    文件目录类命令

     pwd:显示当前工作目录的绝对路径

    ls:列出该目录下所有内容

    ls -a:列出该目录下所有内容,包括隐藏文件(在Linux中,隐藏的文件都是以.开头)

    ls -l:列出该目录下所有内容包括其属性信息等等

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

    .表示的是当前目录

    cd:直接返回用户主文件夹

    cd -:返回上条命令所在位置

    cd ~:表示进入当前用户的主目录

    cd /:进入根目录

    mkdir 文件夹名:创建一个文件夹(可以同时创建多个)

    mkdir -p:同时创建多层目录

    rmdir:删除目录(下面不能含有非空目录或者文件)

     touch 文件名:创建空文件

    cp命令:复制文件或者目录

     rm命令:删除文件或者目录

    删库根目录下所有内容:rm -rf /*(千万不要轻易尝试)

    mv命令:移动文件与目录或重命名

    cat 文件:查看文件内容

     more 文件内容分屏查看器

    语法:more 文件(查看文件内容)

    more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容

     less 分屏显示文件内容

    less指令用来分屏查看文件内容,功能与more指令相似,但是比more强大;less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高效率。

    语法:less 文件

    G:可以直接到文本结尾 

    g:可以知道文本开头 

    q:直接退出

    echo:输出内容到控制台

    如果你想要内容中想要支持转义字符,可以加-e选项

     

    输出重定向:

    > 文件名:覆盖原文件内容

    >>文件名:追加原文件内容

    eg: echo "国庆快乐" > a 该指令会在a文件输入国庆快乐

    echo $xx:可以查看当前的系统环境变量

    eg:echo $PATH 查看当前路径

    head 显示文件头部内容(默认是前10行)

    语法:

    head 文件:查看文件前10行内容

    head -n5 文件:查看文件头5行内容(可以自定义行数)

    tail 输出文件尾部内容(默认是文件的后10行内容)

    基本语法:

    tail 文件:查看文件尾部10行内容

    tail -n 5 文件:查看文件尾部5行内容(自定义行数)

    tail -f 文件:实时追踪该文档的所有更新(监视文件的变化)

    ctrl+s:暂时停止监控  ctrl+q:继续监控(会把停止监控的那段变化输出) ctrl+c:退出

    ln 软链接

    软链接也称为符号链接,类似于windows里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径

    基本语法:

    ln -s[原文件或目录][软链接名]:给原文件创建一个软链接

    注意:删除软链接的时候,是rm -rf软链接名,而不是rm -rf软链接名/(这样会把软链接对应的真实目录下内容删掉)

    history命令:查看所有的历史命令

    history -c:清空历史命令

    history 10:查看最近的10条命令

    时间日期类

    date 显示当前时间

     date 显示非当前时间

    date 设置系统时间

     cal 查看日历

    cal -3:查看上个月、本月、下一个月日历

    cal -m:可以把周一放到日历的第一列

     

     用户管理命令:

    useradd 添加新用户

    基本语法:

    passwd 设置用户密码

    基本语法:passwd 用户名 

    查看用户某是否存在:id 用户名

    cat/etc/passwd 可以查看创建了哪些用户,该目录下有很多伪用户

    su 切换用户

    用户切换后可以通过exit返沪上一个用户,这样操作不需要输入密码,直接返回上一个用户。如果想要知道当前的用户可以用命令whoami

    sudo设置普通用户具有root权限:

     

     普通用户输入某些命令时可能因为权限不够无法实现想要的结果,如果修改以上配置文件后(即开启了超级管理员权限)可以在命令前加上sudo,就可以解决权限不足的问题。

    在Linux系统中,系统自带一个用户名root的用户,当我们以自己普通用户的身份登陆进来之后,可以使用sudo -i命令登陆到root用户,然后使用超级管理员权限设置一个root用户密码(passwd root);此后我们就可以使用该密码随意登陆root用户(即最高权限)。

     删除用户:userdel 用户名(该种方式删除用户只会在系统中删除该用户,但是不会在主文件夹删除该用户文件夹)

    userdel -r 用户名(该方式会把主文件夹下该用户文件夹一起删除)

    用户组管理命令:

    每一个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理,不同Linux系统对用户组的规定有所不同;linux下的用户属于与它同名的用户组,这个用户组在创建用户时创建。用户组的修改就是对/etc/group文件的更新。

    groupadd 组名:新增一个用户组

    groupdel 组名:删除用户组

    groupmod -n 新组名 原组名:修改组名

    id 用户名:若该用户存在,该命令会显示组名、用户名

     usermod 修改用户

    基本语法:

    文件属性:

    Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限;为了保护系统的安全性,Linux系统对不同用户访问同一文件(包括目录文件)的权限做了不同规定。在Linux中我们可以使用ll或者使用ls -l命令来显示一个文件的属性以及文件所属的用户和组。

     

     rwx作用文件和目录的不同解释:

     

     注意:一个目录(下面没有任何东西)就会有两个链接数,包括该当前目录和父目录

    chmod 改变文件属主、属组权限

     注意:

    1. 第二种方式简单高效,相当于是采用二进制的方式(1表示有该权限,0表示无权限,顺序是rwx,最后写为10进制数字即可)
    2. u:所有者  g:所有组  o:其他人  a:所有人(u、g、o的总和)
    3. 修改整个文件夹里面的所有文件的所有者、所属组、其他用户都具有可读可写可执行权限,可以加选项 -R。 eg:chmod -R 777 文件夹名称(777表示最高权限)

    chown 改变所有者

    假如创建某些文件的用户已被删除,我们就需要修改其所有者,将其改到现有用户的目录下。语法如下:

     chgrp 改变所属组

     搜索查找类:

    find 查找文件或者目录:

    find指令将从指定目录下递归地遍历其各个子目录,将满足条件的文件显示在终端。

     locate 快速定位文件路径

    locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。locate指令无需遍历整个文件系统,查询速度较快,由于是基于数据库查询,所以第一次运行前要使用updatedb指令更新locate数据库。

     查找命令在系统中的位置:

    1. which 命令
    2. whereis 命令

    grep过滤查找及“|”管道符

    管道符“|”表示将前一个命令的处理结果输出传递给后面的命令处理

     压缩和解压缩类:

    gzip/gunzip压缩:

    注意:

    1. 只能压缩文件不能压缩目录
    2. 不保留原来文件
    3. 同时多个文件会产生多个压缩包 

    zip和unzip压缩:

     注意:

    1. -r zip选项 可以压缩目录
    2. -d <目录>  unzip选项:指定解压后文件的存放目录
    3. zip压缩命令在window/linux都通用,可以压缩目录且保留源文件

    tar打包:

     

     磁盘查看和分区类:

    du(disk usage磁盘占用情况) 查看文件和目录占用的磁盘空间

     df(disk free空余磁盘) 查看磁盘空间使用情况

     free  -h可以查看内存使用情况

    lsblk 查看设备挂载情况

    mount/umount 挂载/卸载

    对于Linux用户来讲,不管有几个分区,分别分给哪一个目录使用,总归就是一个根目录,一个独立且唯一的文件结构;每个分区都是用来组成整个文件系统的一部分,它在用一种叫做“挂载”的处理方法,整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来,要载入的那个分区将使它的存储空间在这个目录下获得。

     设置开机自动挂载是在 /etc/fstab目录下

    fdisk分区(该命令必须在root用户下使用):

    进程的查看与杀死

    ps(process status) 查看当前系统进程状态

     在计算机中,一个正在执行的程序或命令,叫做“进程:”;启动之后一直存在,常驻内存的进程一般称作“服务”

     

     

     注意:如果想要查看进程的CPU占用率和内存占用率,可以使用aux;如果想查看进程的父进程ID可以使用ef

    kill 终止进程

     pstree 查看进程树

     top 实时监控系统进程状态

     网络状态和端口信息

    netstat 显示网络状态和端口占用信息

     crontab 系统定时任务

    crontab命令在系统后台是有一个守护进程crond,使用该命令前我们先检查crond服务是否处于工作状态。(如果没有重启,我们可以systemctl restart crond )

     编辑crontab时候,会打开vim编辑工作。*****执行的任务

     案例:

    软件包管理RPM:

     RPM卸载命令:

    RPM安装命令:

     YUM仓库配置:

    YUM是shell前端软件包管理器,基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

     

    Shell编程

    概述:shell是一个命令行解释器,它接收应用程序/用户命令,然后调用操作系统内核;是一个功能强大的编程语言,易变写、调试。

     shell脚本是以#!/bin/bash 开头(指定一个解析器)

    脚本的常用执行方式:

    1. 采用bash或sh +脚本的相对路径或绝对路径(不需要有可执行权限)
    2. 采用输入脚本的绝对路径或相对路径执行脚本(必须拥有可执行权限x)
    3. 在脚本的路径前加上"."或者source

    前两种方式都是在当前shell中打开了子shell来执行脚本内容,当脚本内容结束 ,则子shell关闭,回到父shell中;而第三种是使用脚本在当前shell里执行,而无需打开子shell。

    补充:

    bin目录下存放的是二进制文件,相当于window中的.exe文件

    wget 网址:可以加载文件

    export PATH=$PATH:路径

    ttree -dl 数字:显示目录的几层

    de可以直接删除掉一个词

  • 相关阅读:
    使用python时刻中监控文件夹,记录文件夹中文件异常信息
    ssm基于Android社区生鲜O2O订购系统设计与实现毕业设计源码231443
    2022年11月华南师范大学自考本科网络工程-本科实践题目
    leetcode 221 最大正方形 + 1277 统计全为1的正方形子矩阵
    月薪11K,国企小哥抛弃“铁饭碗”转行测试,亲身经历告诉你选高薪or稳定~
    成立不到一年!MIT衍生量子计算公司完成900万美元融资
    DataCon 【签到题】物联网安全
    Java面试八股文宝典:初识数据结构-数组
    数模电路基础知识 —— 7. PN结与二极管的工作原理
    Leecode刷题 412. Fizz Buzz——二级指针、字符串数组、malloc
  • 原文地址:https://blog.csdn.net/weixin_65049289/article/details/127057687