• Linux基础入门


    一、操作系统安装方法

    1、使用u盘安装

    工具(前提条件):

    <1>u盘

    <2>镜像文件iso/msdn.itellyou.cn 

    <3>把u盘做成PE:大白菜/老毛桃/winPE/软碟通/ultralSO

    设置BIOS:通过u盘启动

    安装系统:一键恢复

    2、使用光驱

    工具:镜像光盘/光驱

    安装系统  设置BIOS 通过光驱启动

    3、硬盘对克

    前提条件:所有硬件配置必须相同才可以

    4、网络克隆

    5、在线安装

    二、windows文件格式

    FAT16/32   单文件大小不能超过4个G

    NTFS  没有限制

    EXFAT

    计算机组成

    1. 计算机硬件由内设和外设组成

    2. 计算机内部设备包括电源、主板、CPU、内存、硬盘、声卡、 显卡、调制解调器、软驱、光驱,等等

    3. 计算机外部设备包括输入设备中的键盘、鼠标器、扫描仪、数 码相机和语音输入系统、手写输入系统、IC 卡输入系统,输出设 备中的显示系统、各种打印机和绘图仪,等等。

    windows系统与Linux系统区别

    windows:属于多根文件系统   e.g. C:\ D:\ E:\   在dos界面命令下不区分大小写;

    Linux:Linux操作系统严格区分大小写

    Linux系统

    一般由4部分组成:内核、shell、文件系统、应用程序

    Linux是一个多用户、多任务的操作系统,可以让多个用户同时使用。

    Linux命令终端           [root@localhost~]#

    root:当前登录用户名称,会根据登录的用户不同而进行改变

    @:没有含义,就是连接符

    localhost:当前登录的主机名,可以修改

    ~:当前工作目录,~代表的是当前目录为家目录,会根据工作目录的变化而变化

    #:代表当前登录的用户为超级管理员

    $:代表当前登录的用户为普通用户

    Linux的目录结构

    / (根目录)是最顶级的目录了
    Linux只有一个顶级目录: /          路径描述的层次关系同样适用 / 来表示
    e.g.  /home/test/a.txt,表示根目录下的home文件夹内有test文件夹,内有a.txt

    linux系统中一切皆文件 

     /sbin
    s就是super User的意思,这里存放的是系统管理员使用的系统管理程序。

    /home
    存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一版该目录名是以用户的账号命名的。

    /root
    该目录为系统管理员,也称为超级权限者的用户主目录。

    /lib
    系统开机所需要最基本的动态连接共享库,其作用类似于windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。

    /etc
    所有的系统管理所需要的配置文件和子目录。

    /usr
    这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program fies目录。

    /boot
    这里存放的是启动linux时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放这里。

    /proc
    这个目录是一个虚拟目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

    /srv
    service缩写,该目录存放一些服务启动之后需要提取的数据。

    /sys
    这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs。

    /tmp
    这个目录是用来存放一些临时文件的。

    /dev
    类似于windows的设备管理器,把所有的硬件用文件的形式存储。管理着所有设备,例如CPU、硬盘等等

    /media
    linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
    centos7迁移到/run/media

    /mnt
    系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt上,然后进入该目录就可以查看里面的内容了。和media差不多

    /opt
    这是给主机额外安装软件所摆放的目录。比如你安装一个mysql数据库则就可以放在这个目录下。默认是空的。

    /var
    这个目录中存放着在不断扩充的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

    /lost+found
    这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

    /www
    /www目录可以用于存储Web应用程序或网站文件,/www目录没有特别的用途,它只是一个常规目录,可以根据需要进行使用和管理。
     

    三、Linux常用命令

    ls命令

    功能:列出目录下文件信息 

    语法:ls [-l -h -a -al] [参数]

    • 参数:被查看的文件夹,不提供参数,表示查看当前工作目录

    • ls,后面不跟任何参数,显示的是当前目录的文件

    • -l,以列表形式查看

    • -h,配合-l,以更加人性化的方式显示文件大小

    • -a,显示隐藏文件,以点(.)开头的文件

    • --all,长格式

    • /,查看指定目录下的文件信息

    • ll(别名),“ls -l” “ls -al”

    隐藏文件、文件夹

    在Linux中以.开头的,均是隐藏的。默认不显示出来,需要-a选项才可查看到。

    pwd命令

    功能:以绝对路径方式显示工作目录信息

    语法:pwd

    cd命令

    功能:切换工作目录

    语法:cd [目标目录]

    参数:目标目录,要切换去的地方,不提供默认切换到当前登录用户HOME目录

    案例:cd .   cd ./ 表示当前目录 ;    cd ..   cd ../ 返回上一级目录      ; cd - 显示当前目录路径

    HOME目录

    每一个用户在Linux系统中都有自己的专属工作目录,称之为HOME目录。

    • 普通用户的HOME目录,默认在:/home/用户名

    • root用户的HOME目录,在:/root

    XShell登陆终端后,默认的工作目录就是用户的HOME目录

    相对路径、绝对路径

    • 相对路径,==非==/开头的称之为相对路径

      相对路径表示以当前目录作为起点,去描述路径,如test/a.txt,表示当前工作目录内的test文件夹内的a.txt文件

    • 绝对路径,==以==/开头的称之为绝对路径

      绝对路径从开始描述路径

    特殊路径符

    • .,表示当前,比如./a.txt,表示当前文件夹内的a.txt文件

    • ..,表示上级目录,比如../表示上级目录,../../表示上级的上级目录

    • ~,表示用户的HOME目录,比如cd ~,即可切回用户HOME目录

    mkdir命令

    功能:创建文件夹

    语法:mkdir [-p] 参数

    • 参数:被创建文件夹的路径

    • 选项:-p,可选,表示创建前置路径;递归创建目录

    • 选项:-v,显示创建的详细信息

    rmdir命令

    功能:删除空目录(注意:只能删除目录文件)

    语法:rmdir [-p] 参数

    • 参数:递归删除空目录

    • 选项:-p,递归删除空目录

    • 选项:-v,显示删除的详细信息

    touch命令

    功能:创建普通文件

    语法:touch 参数

    • 参数:被创建的文件路径

    cat命令

    功能:查看文件内容

    语法:cat 参数

    • 参数:被查看的文件路径

    • 选项:-n,显示行号

    more命令

    功能:查看文件,可以支持翻页查看

    语法:more 参数

    • 参数:被查看的文件路径

    • 选项:-num,num是数字,表示一屏要显示行数

    • 选项:+num,num表示数字,表示从第几行开始要显示

    • 在查看过程中:

      • 空格键翻页

      • q退出查看

    cp命令

    功能:复制文件、文件夹

    语法:cp [-r] 参数1 参数2

    • 参数1,被复制的

    • 参数2,要复制去的地方

    • 选项:-r,可选,复制文件到目标目录文件时,可以复制目标文件下的目录文件

    注意:源文件可以有多个,但是目标文件只能有一个;默认情况下,cp不支持复制目录文件 

    示例:

    • cp a.txt b.txt,复制当前目录下a.txt为b.txt

    • cp a.txt test/,复制当前目录a.txt到test文件夹内

    • cp -r test test2,复制文件夹test到当前文件夹内为test2存在

    mv命令

    功能:移动文件、文件夹

    语法:mv 参数1 参数2

    • 参数1:被移动的

    • 参数2:要移动去的地方,参数2如果不存在,则会进行改名

    rm命令

    功能:删除文件、文件夹

    语法:rm [-r -f] 参数...参数

    • 参数:支持多个,每一个表示被删除的,空格进行分隔

    • 选项:-r,删除文件夹使用,递归删除文件信息

    • 选项:-f,强制删除,不会给出确认提示,一般root用户会用到

    rm命令很危险,一定要注意,特别是切换到root用户的时候。

    which命令

    功能:查看命令的程序本体文件路径

    语法:which 参数

    • 参数:被查看的命令

    find命令

    功能:搜索文件

    语法1按文件名搜索:find 路径 -name 参数

    • 路径,搜索的起始路径

    • 参数,搜索的关键字,支持通配符*, 比如:*test表示搜索任意以test结尾的文件

    grep命令

    功能:过滤关键字

    语法:grep [-n] 关键字 文件路径

    • 选项-n,可选,表示在结果中显示匹配的行的行号。

    • 选项-v,可选,反向选择(配置文件中的注释排除)。

    • 选项-i,可选,不区分大小写。

    • 选项-c,可选,统计匹配的行数(行号)。

    • 选项-w,可选,以整词形式去匹配内容)。

    • 选项-r,可选,递归搜索目录文件中包含所查询字符串的信息 。

    • 参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用””将关键字包围起来

    • 参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口

    参数文件路径,可以作为管道符的输入

    wc命令

    功能:统计

    语法:wc [-c -m -l -w] 文件路径

    • 选项,-c,统计bytes数量/字节数

    • 选项,-m,统计字符数量

    • 选项,-l,统计行数

    • 选项,-w,统计单词数量

    • 参数,文件路径,被统计的文件,可作为内容输入端口

    参数文件路径,可作为管道符的输入

    管道符 |

    写法:|

    功能:将符号左边的结果,作为符号右边的输入

    示例:

    cat a.txt | grep itheima,将cat a.txt的结果,作为grep命令的输入,用来过滤itheima关键字

    可以支持嵌套:

    cat a.txt | grep itheima | grep itcast

    echo命令

    功能:输出内容

    语法:echo 参数

    • 参数:被输出的内容

    `反引号

    功能:被两个反引号包围的内容,会作为命令执行

    示例:

    • echo `pwd`,会输出当前工作目录

    tail命令

    功能:查看文件尾部内容

    语法:tail [-f] 参数

    • 参数:被查看的文件

    • 选项:-n  num,num显示数字,表示要显示多少行

    • 选项:-f  num,持续跟踪文件修改,显示最新添加的文件信息(最新追加的内容)

    head命令

    功能:查看文件头部内容

    语法:head [-n] 参数

    • 参数:被查看的文件

    • 选项:-n  num,查看的行数

    • 选项:-v,显示文件名称信息

    重定向符

    功能:将符号左边的结果,输出到右边指定的文件中去

    标准输出重定向

    • >,表示覆盖输出,清空输出重定向 

    • >>,表示追加输出,追加输出重定向

    错误输出重定向

    • 2>,清空错误输出重定向

    • 2>>,追加错误输出重定向

    标准及错误输出重定向

    • &>>,无论内容是否存在都放到另一个文件中

    vim编辑器

    命令模式快捷键

    image-20221027215841573

    image-20221027215846581

    image-20221027215849668

    底线命令快捷键

    image-20221027215858967

    1、命令行模式

    能对文件进行创建、查找、替换、修改、删除、复制、粘贴等操作、以及回到行首或行尾,指定跳转到某一行。

    2、插入模式/编辑模式

    向文件里面插入内容

    3、末行模式

    对文件进行保存、不保存、替换等操作

    工作模式之间的切换

    查看命令的帮助

    可以通过:命令 --help查看命令的帮助手册

    查看命令的详细手册

    可以通过:man 命令查看某命令的详细手册

    四、Linux常用操作

    软件安装

    • CentOS系统使用:

      • yum [install remove search] [-y] 软件名称

        • install 安装

        • remove 卸载

        • search 搜索

        • -y,自动确认

    • Ubuntu系统使用

      • apt [install remove search] [-y] 软件名称

        • install 安装

        • remove 卸载

        • search 搜索

        • -y,自动确认

    yum 和 apt 均需要root权限

    systemctl

    功能:控制系统服务的启动关闭等

    语法:systemctl start | stop | restart | disable | enable | status 服务名

    • start,启动

    • stop,停止

    • status,查看状态

    • disable,关闭开机自启

    • enable,开启开机自启

    • restart,重启

     

    软链接

    功能:创建文件、文件夹软链接(快捷方式)

    语法:ln -s 参数1 参数2

    • 参数1:被链接的

    • 参数2:要链接去的地方(快捷方式的名称和存放位置)

    日期

    语法:date [-d] [+格式化字符串]

    • -d 按照给定的字符串显示日期,一般用于日期计算

    • 格式化字符串:通过特定的字符串标记,来控制显示的日期格式

      • %Y 年%y 年份后两位数字 (00..99)

      • %m 月份 (01..12)

      • %d 日 (01..31)

      • %H 小时 (00..23)

      • %M 分钟 (00..59)

      • %S 秒 (00..60)

      • %s 自 1970-01-01 00:00:00 UTC 到现在的秒数

    时区

    修改时区为中国时区

    image-20221027220554654

    ntp

    功能:同步时间

    安装:yum install -y ntp

    启动管理:systemctl start | stop | restart | status | disable | enable ntpd

    手动校准时间:ntpdate -u ntp.aliyun.com

    ip地址

    格式:a.b.c.d

    • abcd为0~255的数字

    特殊IP:

    • 127.0.0.1,表示本机

    • 0.0.0.0

      • 可以表示本机

      • 也可以表示任意IP(看使用场景)

    查看ip:ifconfig

    网卡文件地址:/etc/sysconfig/network-scripts/ifcfg-ens33

    配置ip地址(虚拟机重启后变回原来的ip地址) 

    # ifconfig ens33 192.168.64.136 netmask 255.255.255.0

     

    ip address | ip add | ip a 

    主机名

    功能:Linux系统的名称

    查看:hostname

    设置:hostnamectl set-hostname 主机名

    TYPE="Ethernet"
    PROXY_METHOD="none"
    BROWSER_ONLY="no"
    BOOTPROTO="static"            # 改为static,固定IP
    DEFROUTE="yes"
    IPV4_FAILURE_FATAL="no"
    IPV6INIT="yes"
    IPV6_AUTOCONF="yes"
    IPV6_DEFROUTE="yes"
    IPV6_FAILURE_FATAL="no"
    IPV6_ADDR_GEN_MODE="stable-privacy"
    NAME="ens33"
    UUID="1b0011cb-0d2e-4eaa-8a11-af7d50ebc876"
    DEVICE="ens33"
    ONBOOT="yes"
    IPADDR="192.168.88.131"        # IP地址,自己设置,要匹配网络范围
    NETMASK="255.255.255.0"        # 子网掩码,固定写法255.255.255.0
    GATEWAY="192.168.88.2"        # 网关,要和VMware中配置的一致
    DNS1="192.168.88.2"            # DNS1服务器,和网关一致即可

    永久修改主机IP进入目录

    1、cd /etc/sysconfig/network-scripts

    2、vim ifcfg-ens33   

    BOOTPROTO="static"

     3、systemctl restart network

    4、ifconfig ens33                      ping -c3 www.baidu.com

    ps命令

    功能:查看进程信息

    语法:ps -ef,查看全部进程信息,可以搭配grep做过滤:ps -ef | grep xxx

    kill命令

    语法:kill [-9] 进程ID

    选项:-9,表示强制关闭进程,不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。

    nmap命令

    安装nmap:yum -y install nmap

    语法:nmap 被查看的IP地址

    • 22端口,一般是ssh服务使用,即xshell远程连接linux所使用的端口

    netstat命令

    功能:查看端口占用

    用法:netstat -anp | grep xxx

    ping命令

    测试网络是否联通

    语法:ping [-c num] 参数

    • 选项:-c,检查的次数,不使用-c选项,将无限次数持续检查

    • 参数:ip或主机名,被检查的服务器的ip地址或主机名地址

    wget命令

    wget是非交互式的文件下载器,可以在命令行内下载网络文件

    语法:wget   [-b]  url

    • 选项:-b,可选,后台下载,会将日志写入到当前目录的wget-log文件

    • 参数:url,下载链接

    • 参数:-O,对文件重命名

    • 参数:-p,把下载文件存放到指定目录中

    • 注意:-O与-P不能一起使用

    注意:无论下载是否完成,都会生成要下载的文件,如果下载未完成,请及时清理未完成的不可用文件。

    curl命令

    curl可以发送http网络请求,可用于:下载文件、获取信息等

    语法:curl  [-0]  url

    • 选项:-O,用于下载文件,当url是下载链接时,可以使用此选项保存文件

    • 参数:url,要发起请求的网络地址

    top命令

    功能:查看主机运行状态

    语法:top,查看基础信息

    交互式模式中,可用快捷键:

    df命令

    查看磁盘占用

    语法:df  [-h[

    选项:-h,以更加人性化的单位显示

    iostat命令

    查看CPU、磁盘的相关信息

    语法:iostat [-x] [num1] [num2]

    • 选项:-x,显示更多信息

    • num1:数字,刷新间隔,num2:数字,刷新几次

    tps:该设备每秒的传输次数(Indicate the number of  transfers per second that where issued to the device)。

    "一次传输"意思是"一次I/O请求",多个逻辑请求可能会被合并为"一次I/O请求","一次传输"请求的大小时未知的。

    • 使用iostat的-x选项,可以显示更多信息

    sar命令

    查看网络统计

    环境变量

    • 临时设置:export 变量名=变量值

    • 永久设置:

      • 针对用户,设置用户HOME目录内:.bashrc文件

      • 针对全局,设置/etc/profile

    PATH变量

    记录了执行程序的搜索路径

    可以将自定义路径加入PATH内,实现自定义命令在任意地方均可执行的效果

    $符号

    可以取出指定的环境变量的值

    语法:$变量名

    示例:

    echo $PATH,输出PATH环境变量的值

    echo ${PATH}ABC,输出PATH环境变量的值以及ABC

    如果变量名和其它内容混淆在一起,可以使用${}

    压缩解压

    压缩

    tar -zcvf 压缩包 被压缩1...被压缩2...被压缩N

    • -z,表示使用gzip,可以不写

    • -c,创建压缩文件

    • -x,解压文件

    • -f,后面跟压缩文件名称,注意必须是最后一个参数,不能放在其他位置

    • -j,是以bzip2格式进行压缩解压

    • -v,显示压缩或解压的过程

    • -C,指定解压到某个目录文件中

    zip [-r] 参数1 参数2 参数N

    • -r,递归压缩

    解压

    tar -zxvf 被解压的文件 -C 要解压去的地方

    • -z表示使用gzip,可以省略

    • -C,可以省略,指定要解压去的地方,不写解压到当前目录 

    unzip [-d] 参数

    语法:unzip [-d] 参数

    • -d,指定要解压去的位置,同tar的-C选项

    • 参数,被解压的zip压缩包文件

    su命令

    切换用户,直接切换用户,不切换环境

    语法:su [-] [用户]

    • -,表示切换后加载环境变量,建议带上

    • 用户可以省略,省略默认切换到root

     

    sudo命令

    • 可以让一条普通命令带有root权限,语法:sudo  其他命令

    • 需要以root用户执行visudo命令,增加配置方可让普通用户有sudo命令的执行权限

    比如:在visudo内配置如上内容,可以让itheima用户,无需密码直接使用sudo

     itheima ALL=(ALL)       NOPASSWD: ALL

    chmod命令

    修改文件、文件夹权限

    语法:chmod [-R] 权限 参数

    • 权限,要设置的权限,比如755,表示:rwxr-xr-x

    • 参数,被修改的文件、文件夹

    • 选项-R,设置文件夹和其内部全部内容一样生效

     

    chown命令

     修改文件、文件夹所属用户、组

    语法:chown [-R] [用户][:][用户组] 文件或文件夹

    image-20221027222326192

    用户组管理

    以下命令需root用户执行

    • 创建用户组        groupadd        用户组名

    • 删除用户组        groupdel          用户组名

    • 修改用户组        groupmod  -g    用户组名

    用户管理

    useradd:用来添加一个新用户,注意:使用该命令添加用户时,不跟任何参数会自动添加一个同名的用户组;

    • 参数     -u,用户的uid

    • 参数     -g,用户的组gid

    • 参数     -u,用户的uid

    • 参数     -d 指定用户的家目录(默认情况下用户的家目录时/home/)

    • 参数     -c 表示注释信息

    • 参数     -s 指用户使用bash信息

    • 参数    -G 指定用户的扩展用户组

    userdel:删除用户,默认情况下会把同名用户组删除

    注意:用户组如果被其他用户作为扩展组或用户组,删除用户时,只会把用户删除,同名的用户组不会被删除,除非解除占用;

    • 参数     -r 删除用户家目录

    • 参数    -f 强制删除,即用户被占用也同样会删除

    useradd: 修改用户的基本信息

    • 参数     -u,用户的uid

    • 参数     -g,用户的组gid

    • 参数     -G,修改用户的扩展组

    • 参数     -d ,修改用户的家目录,注意需要提前创建家目录

    id: 查看用户的属性信息

    • 参数     -u ,查看用户id编号

    • 参数     -g ,查看用户组id编号

    • 参数     -G,查看用户扩展组id编号

    • 参数     -n ,显示名称但需要其他参数使用

    image-20221027222407618

    genenv命令

    • getenv group,查看系统全部的用户组

    • getenv passwd,查看系统全部的用户

    env命令

    查看系统全部的环境变量

    语法:env

    passwd命令

    用来为用户或特定用户修改登录密码,该命令默认情况只能由超级管理员来使用

    语法:passwd 用户名称

    • 参数 -l ,锁定用户,不让登录

    • 参数    -u,解除锁定

    • 参数    -d,允许空密码登录

    • 参数    --stdin ,标准输入

    Linux命令行快捷方式

    向上箭头:执行之前执行过的命令 

    Linux系统命令

    重启:init 6 

    关机:init 0

    用户分类

    根据用户编号(UID)分类

     

    在Linux中,0~7通常用来表示文件或目录的权限。这些权限分为三个组:所有者、群组和其他用户。每个组都有三个权限位:读(r)、写(w)和执行(x) 

    其中,数字0~7用来表示权限的组合。每个权限位都有一个特定的数值:

    - 0表示没有权限(---)

    - 1表示执行权限(--x)

    - 2表示写权限(-w-)

    - 3表示写和执行权限(-wx)

    - 4表示读权限(r--)

    - 5表示读和执行权限(r-x)

    - 6表示读和写权限(rw-)

    - 7表示读、写和执行权限(rwx)

     用户管理文件

    /etc/passwd

    用来保存用户的基本信息,包括用户名、备注内容、家目录、是否能够登录bash

    root:x:0:0:root:/root:/bin/bash

     

    /etc/group

    用来保存用户组相关内容

    root:x:0:

    /etc/shadow

    用来保存与密码相关的内容,该文件只能由超级管理员来查看 

    root:$6$Z6F/vqsu$RuM28SqnsFZS9cVfosPdgiqSPSbmdnKOXfI5rgizzCP6QezgBCgT/mS5m7I8WAFO9JKKjbRVzYX13ky6E9cQN/:19583:0:99999:7:::

     文件权限管理

    drwxr-xr-x.2 root root 6 8月 8 11:42 桌面

    drwxr-xr-x.

     

     

  • 相关阅读:
    HTB——introduction to active directory
    加密市场的投资布局,Zebec实属价值洼地
    风很大的PMP证书真有这么厉害?这是被腾讯/华为招聘时所提到过的证书
    江苏大带宽服务器会运用到哪些行业?
    Android—PMS: PackageInstaller到PMS
    钉钉开放平台-小程序开发实战(钉钉小程序客户端)
    MT9632音频功率调试
    PDF文件转换为图片
    K8S环境下研发如何本地调试?kt-connect使用详解
    代码随想录算法训练营第五十九天 | 647. 回文子串、516.最长回文子序列
  • 原文地址:https://blog.csdn.net/weixin_65824274/article/details/132803097