• linux学习笔记


    linux基本学习

    终端的使用和联网

    打开终端

    点击鼠标的右键 -选择打开终端

    1584492410492

    配置网路

    选择这个

    1584492561117

    选择eth0就可以上网

    vmtoos安装

    vmtoos介绍

    可以直接粘贴命令在windos和centos系统之间

    可以设置windows和centos的共享文件夹

    示意图:

    1584494103164

    安装vmtools的步骤

    • 进入cenetos
    • 点击vm菜单的-》install vmware tools
    • centos会出现一个vm的安装包
    • 点击右键解压,得到一个安装文件
    • 进入vm解压得目录,该文件在/root/桌面/vmware-tools-distrib/下
    • 安装./vmware-install.pl
    • 全部使用默认设置即可
    • 需要reboot重新启动即可生效

    文件系统目录结构

    基本介绍:

    linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层的是根目录“/”,然后在此目录下在创建其他的目录。

    深刻理解linux树状文件目录是非常重要的。在linux世界中,一切皆为文件。

    1584497806443

    1584498441180

    1584498531891

    1584498545264

    1584498618618

    总结一下:

    • linux的目录中有且只要一个根目录/
    • linux的目录存放的内容是规划好的,不用乱放文件
    • linux是以文件的形式管理我们的设备,因此linux系统,一切皆为文件。
    • linux的各个文件目录存放什么内容,必须要了解掌握一下
    • 学习后脑海中应该有一颗linux目录树

    linux实操篇

    远程登陆

    1584499011988

    1584500107149

    xshell介绍

    1584499333533

    特别说明

    如果希望安装好xshell5就可以远程访问linux系统的话,需要有一个前提,就是linux启用了sshd服务,该服务会监听22好端口。(系统中端口越多越不安全)

    安装xshell

    1584501285422

    远程上传下载(暂无学习)

    vi和vim编辑器

    vi和vim编辑器介绍

    1584501818176

    vi和vim的三种常见的模式介绍

    正常模式

    以vim打开一个档案就直接进入一般模式了(这是默认的模式)。这个模式中,你可以使用{上下左右}按键移动光标,你还可以使用{删除字符}或{删除整行}来处理档案内容,也可以使用{复制、粘贴}来处理你的文件数据。

    插入模式

    按下i,l,o,O,a,A,R,r等任何一个字母之后才会进入编辑模式,一般来说按i即可。

    命令行模式

    在这个模式当中,可以提供你相关的指令,完成读取、存盘、替换、离开、显示行号等动作则是在此模式中达成的!

    三种模式快速入门案例

    vim中的命令

    刚打开一个文件时这个时候时正常模式,如果想进入插入模式的话在当前屏幕上(我们默认输入从键盘输入i),然后就进入了插入模式。如果想退出插入模式的话,从键盘输入按下esc这个按键。这时候就进入了正常模式,如果想从正常模式中进入命令行模式的话,需要从键盘输入:此时代表进入了命令行模式。

    命令行模式中

    • wq :代表保存并退出
    • q! :不保存并退出
    • q :只有对文件没动做任何修改时才能使用q退出,如果文件有一点改动 q就没办法退出

    vim中快捷键的使用

    • 拷贝当前行 :yy, 拷贝当前行向下的5行5yy,并粘贴(p)。

    • 删除当前行 : dd, 删除向下的5行 :5dd

    • 在文件中查找某个单词{命令行下 /关键字,回车查找,输入n就是查找下一个}

    • 设置文件的行号,取消文件的行号{命令行下 :set nu 和 :set nonu}

    • 编辑 /ect/profile文件,使用快捷键到底文档的最末行{G}和最首行{gg}

    • 在一个文件中输入“hellow”,然后又撤消这个动作{在正常模式下} uo

    • 编辑 /etc/profile文件,并将光标移动到第20行 shift+g

      显示行号:set nu

      输入20这个数输入

      shift+g

    开机、重启和用户登录注销

    关机&重启命令

    基本介绍

    shutdown

    ​ shutdown -h now

    ​ shutdown -h 1

    ​ shutdown -r now

    halt

    ​ 就是直接使用,效果等于关机

    reboot

    ​ 就是重启系统。

    sync

    ​ 把内存的数据同步到硬盘

    注意细节:

    ​ 不管是重启系统还是关闭系统,首先要运行sync命令,把内存中的数据写道磁盘中。

    用户的登陆和注销

    基本介绍

    登陆时尽量少用root账号登陆,因为它是系统管理员,最大权限,避免操作失误。可以利用普通用户登陆,登陆后再用su -用户名命令来切换成系统管理员身份

    在提示符下输入logout即注销用户

    使用细节:

    ​ logout注销指令在图形运行级别无效,在运行级别3有效

    ​ 运行级别这个概念,后面介绍。

    用户管理

    图示理解

    1584514757341

    说明:

    ​ linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后就以这个账号的身份进入系统。

    ​ linux的用户需要至少要属于一个组

    添加用户

    useradd [选项] 用户名 添加用户名

    passwd 用户名 为用户名添加密码

    su 用户名 切换用户

    cd 要切换的目录 切换到指定的目目录

    细节说明:

    当创建用户成功后,会自动的创建和用户同名的的目录

    也可以通过useradd -d 指定目录 新的用户名,给新创建的用户指定家的目录

    给用户指定或者修改密码

    基本语法

    passwd 用户名

    删除用户

    userdel 用户名

    应用案例

    删除用户yang,但是 要保留家目录

    userdel yang

    删除用户 yang1以及用户主目录

    1584516546639

    思考题:

    在删除用户时,我们一般不会把家目录删除掉

    如何查询用户信息

    基本语法

    id 用户名

    应用实例

    查询root用户信息

    id root

    1584517741889

    切换用户

    su 要切换的用户

    例如 su root

    如果从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。

    当需要返回原来用户时,使用exit指令

    1584518128782

    查看当前用户/登陆用户

    两个指令

    who am i

    whoami

    1584518238202

    用户组

    用户组介绍

    类似于角色,系统可以对有共性的多个用户进行统一的管理。

    增加用户组

    groupadd 组名

    演示:

    1584518707510

    删除一个组

    groupdel组名

    案例演示

    指令(基本语法)

    useradd -g 用户组 用户名

    步骤:

    第一步创建一个组cat

    第二步创建一个用户并指定组

    第三步查询用户信息

    1584519164294

    修改用户组

    基本语法

    usermod -g 用户组 用户名

    演示案例:
    创建一个dog组,让cat用户修改到dog组中

    1584519727904

    查询所有的用户的信息

    cat /ect/passwd;

    查询所有的组信息

    cat/etc/group

    linux实用篇

    linux运行级别

    运行级别说明

    1. 关机
    2. 单用户【找回丢失密码】
    3. 多用户状态有网络服务
    4. 系统未使用保留用户
    5. 图形界面
    6. 系统重启

    常用的运行级别是3和5,要修改默认的运行级别可改文件

    /etc/inittab的id:5initdefault:这一行中的数字

    命令:init[0123456]

    切换到指定的运行级别

    案例1:通过init来切换不同的运行级别,比如5>3,然后关机

    init 3

    init 5

    init 0

    运行级别的面试题

    如何找回root密码,如果我们不小心,忘记了root密码,怎么找回

    思路:

    进入到单用户模式,然后修改模式,因为进入单用户模式,root不需要密码就可以登陆

    演示:

    1584521929485

    1584521992105

    1584522058768

    1584522105731

    然后就root身份进入单用户模式 然后就可以修改密码

    帮助指令学习

    介绍:
    当我们对某个指令不熟悉时,我们可以使用linux提供帮助指令来了解这个指令的使用方法。

    man指令 :获得帮助信息

    基本语法:

    man[命令或配置文件](功能描述:获得帮助信息)

    应用案例:

    案例:查看ls命令的帮助信息

    help指令

    功能描述:

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

    案例:

    查看cd的使用

    help cd

    文件目录指令

    pwd指令

    基本语法:

    pwd(功能描述:显示当前工作目录的绝对路径)

    应用实例

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

    1584524140296

    ls指令

    基本语法

    ls(选项)【目录或是文件】

    常用选项:

    • -a:显示当前目录所有的文件,包括隐藏文件
    • -l:以列表的方法显示信息

    应用案例:

    查看当前目录下的所有内容信息

    1584524359109

    cd指令

    基本语法:

    cd [参数] 【功能描述:切换到指定目录】

    常用参数:

    绝对路径和相对路径

    cd ~或者cd :回到自己的家目录

    1584525358108

    cd .. 回到当前目录的上一级目录

    1584525405204

    应用实例:

    案例1:使用绝对路径切换到root目录

    1584525264583

    案例2:使用相对路径到/root目录

    案例3:表示回到当前目录的上一级目录

    1584524818777

    案例4:回到家目录

    思考题:

    当前工作目录时/root.我们希望进入到/home下

    1584525135328

    绝对路径:/home即从根目录开始定位

    相对路径: ../home,从当前工作目录开始定位到需要的目录去

    mkdir指令

    mkdir指令用于创建目录

    基本语法

    mkdir [选项] 要创建的目录

    常用选项

    -p:创建多级目录

    应用实例:

    案例1:

    创建一个目录/home/dog

    1584525932811

    案例2:

    创建多级目录/home/animal/tiger

    1584526295374

    rmdir

    介绍:

    rmdir指令删除空目录

    基本语法:

    rmdir [选项] 要删除的空目录

    应用实例

    案例1:删除一个目录/home/dog

    1584526711023

    案例2:删除一个目录/animal/tiger

    1584527165966

    使用细节

    mdir删除的是空目录,如果目录下有内容时无法删除

    提示:如果需要删除非空白目录,需要使用 rm -rf 要删除目录

    touch指令

    touch指令创建空文件

    基本语法:

    touch 文件名称

    应用实例

    ​ 案例1:创建一个空问价 hellow.txt

    1584527548355

    一次性创建多个文件

    1584527646668

    cp指令(重要)

    cp指令拷贝文件到指定目录

    基本语法

    cp[选项] source dest

    常用选项

    -r:递归复制整个文件夹

    应用实例

    案例1:将/home/aaa.txt拷贝到/home/bbb目录下

    1584528252145

    案例2:递归复制整个文件夹,举例

    1584528362072

    使用细节

    强制覆盖不提示的方法:cp

    rm指令

    rm指令移除文件或目录

    基本语法

    rm【选项】要删除的文件或目录

    常用选项

    -r:递归删除整个文件夹

    -f:强制删除不提示

    应用实例

    案例1:将/home/1.txt删除

    案例2:递归删除整个文件夹/home/cp

    使用细节

    强制删除不提示的方法:带上-f参数即可

    mv指令

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

    基本语法:

    mv oldNameFile newNameFIle (功能描述:重命名)

    mv /temp/movefile /targetFolder(功能描述:移动文件)

    .应用实例

    案例1将/home/1.txt文件重命名为pig.txt

    1584584056586

    案例2:将/home/pig.txt文件移动到/root目录下

    1584584169765

    cat

    cat查看文件内容

    基本语法

    cat [选项] 要查看的文件

    常用选项

    -n:显示行号

    应用实例

    案例1: /etc/profile 文件内容,并显示行号

    1584584788075

    1584584764379

    案例2: /etc/profile 文件内容,不显示行号

    1584584853783

    使用细节

    cat只能浏览文件,而不能修改文件,为了浏览方便,一般会带上管道命令 |more

    cat /etc/profile |more

    分页显示 按回车键显示下一行

    more指令

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

    more指令中内置了若干快捷键

    基本语法

    1584585154687

    more要查看的文件

    操作说明

    应用实例

    案例:采用more查看文件 /etc/profile

    more /etc/profile

    1584585311076

    less指令

    1584585422643

    less 要查看的文件(大型文件推荐使用)

    >指令和>>指令

    {>输入重定向和>>追加}

    1584585814174

    ls -l >文件(注意如果文件不存在则载当前目录下床架一个文件 ,如果存在则直接覆盖问价内容)

    1584586469848

    ls -al >>文件

    1584586907859

    1584586879658

    cat 文件 >文件

    1584587220897

    echo "内容" >文件 将内容追加到文件的内容

    1584587353005

    echo "内容" >>文件 将内容追加到文件后面

    1584587446935

    应用实例:

    案例1:将/home目录下的问价列表写入到/home/info.txt中

    案例2:j将当前日历信息追加到/home/mysql文件中【提示cal】

    1584587594857

    cal日历信息

    1584587478435

    echo指令

    echo输出内容到控制台

    基本语法

    echo【选项】【输入内容】

    应用实例

    案例:使用echo指令输出环境变量,输出当前的环境路径

    1584587877158

    案例:使用echo指令输出hellow,wold!

    1584587977088

    head指令

    head用于显示文件开头部分内容,默认情况下head指令显示文件前10行内容

    基本语法

    head文件(功能描述:查看头文件10行内容)

    head -n5 文件 (功能描述:查看头文件5行内容,5可以是任意行数)

    应用实例:

    案例:查看etc/profile的前5行内容

    1584588312402

    tail指令

    tail用于输出文件中尾部内容,默认情况下tail指令显示文件的后10行内容

    基本语法

    tail 文件 (功能描述:查看问价后10行内容)

    tail -n5 文件 (功能描述:查看问价后5行内容,5可以是任意行数)

    tail -f 文件 (功能描述:实时追踪该文档的所有更新,工作经常使用)

    应用实例

    案例:查看/etc/profile最后5行的内容

    1584588666134

    案例:实时监控mydata.txt,看看到文件有变化时,实时日期追加

    tail -f mydata.txt

    1584588788947

    IN指令

    软链接也叫符号连接,类似于windows里的快捷方式,主要存放了连接其他文件的路径

    基本语法

    in -s[原文件或目录] [软连接名] (功能描述:给原文件创建一个软连接)

    细节说明

    当我们使用Pwd指令查看目录时,仍然看的是软连接所在目录

    hestory指令

    查看已经执行过历史命令,也可以执行历史指令

    基本语法

    history(功能描述:查看已经执行过历史命令)

    应用实例

    案例:显示所有的历史命令

    1584589529216

    案例:显示最近使用过的10个指令

    1584589569834

    案例:执行历史编号为382的指令

    1584589642134

    时间日期类相关指令

    date指令-显示当前日期

    基本语法

    date (功能描述:显示当前时间)

    1584589814821

    date +%Y (功能描述:显示当前年份)

    1584590188021

    date +%m (功能描述:显示当前月份)

    1584590218662

    date +%d (功能描述:显示当前是哪一天)

    1584590245276

    date "+%Y-%m-%d %H:%M:%S"(功能描述:显示年月日时分秒)

    1584590303162

    应用案例

    案例:显示当前时间信息

    1584590457835

    案例:显示当前时间年月日

    1584590392259

    案例:显示当前时间年月日时分秒

    1584590370596

    设置时间日期

    基本语法:

    date -s 字符串时间

    应用实例

    案例:设置系统当前时间,比如设置成 2020-3-20 12:00:00

    1584590822203

    cal指令

    查看日历指令

    基本语法:

    cal [选项] (功能描述 :不加选项,显示本月日历)

    应用实例

    案例:显示当前日历

    1584596075354

    案例:显示2020年日历

    1584596119232

    搜索查找类

    find指令

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

    基本语法

    find [搜索范围] [选项]

    选项说明

    1584596743017

    应用实例:

    案例1:按文件名,根据名称查找/home目录下的hellow.txt文件

    1584597125480

    案例2:按拥有者:查找/opt目录下,用户名称为nobdy的文件

    1584597198432

    案例3:查找整个linux系统下大于20m的文件(+n 大于 -n小于 n等于)

    1584597257910

    locate指令

    1584597555374

    1584597533019

    grep指令和管道符号|

    1584597624457

    1584598031563

    压缩和解压缩指令

    gzip和gunzip

    gzip用于压缩文件,gunzip用于解压缩文件

    基本语法

    gzip文件 (功能描述:压缩文件,只能将文件压缩为*.gz)

    gunzip文件.gz (功能描述:解压文件命令)

    应用实例

    案例:gzip压缩,将/home下的hellow.txt文件进行压缩

    1584598858693

    案例:gunzip压缩,将/home下的hellow.txt.gz文件进行解压缩

    细节说明:

    当我们使用gzip对文件经行压缩后,不会保留原来的文件

    zip和unzip指令

    zip用于压缩文件,unzip用于解压缩的,在这个项目打包发布中使用很有用的

    基本语法:

    zip [选项] xxx.zip将要压缩的内容(功能描述:压缩文件和目录的命令)

    unzip [选项] xxx.zip (功能描述:解压缩文件)

    zip常用的选项

    -r:递归压缩,即压缩目录

    unzip常用选项

    -d<目录> :指定解压文件的存放目录

    应用实例:

    案例1:将/home下的所有文件进行压缩成mypackge.zip

    1584599603698

    1584599620364

    案例2:将mypackge.zip解压到/opt/tem目录下

    1584599830324

    1584599793058

    tar指令

    tar指令是打包指令,最后打包后的文件是.tar.gz文件。

    基本语法

    tar [选项] xxx.tar.gz打包内容(功能描述:打包目录,压缩后的文件格式.tar.gz )

    选项说明

    1584600028335

    应用实例

    案例1:压缩多个文件,将/home/a1.txt和/home/a2.txt压缩成a.tar.gz

    1584600921801

    1584600954174

    案例2:将/home的文件夹压缩成myhome.tar.gz

    压缩 tar zcvf

    1584601061129

    1584601037862

    1584601018438

    案例3:将a.tar.gz解压缩到当前目录

    解压 tar -zxvf

    1584601194339

    案例4:将home.tar.gz解压到/home/cp/目录下

    1584601450777

    细节注意:

    指定解压到的目录一定要存在,不存在的话会报错(解压不成功)

    组管理

    在linux中的每一个用户必须属于一个组,不能独立于组外。在linux中每一个文件所有者、所在组、其他组的概念。

    所有者

    所在组

    其它组

    改变用户所在组

    目录/文件所有者

    一般文件的创建者,谁创建了文件,就自然成为该文件的所有者。

    查看文件的所有者

    指令:ls -ahl

    应用实例:创建一个组test,在创建一个用户tt,然后使用tt来创建一个文件。

    1584668086367

    1584668113888

    做完上述操作后删除组和用户

    1584668342416

    修改文件的所有者

    指令:chown用户名 文件名

    应用案例:

    要求:使用root创建一个文件apple.txt,然后将其所有者修改成tom

    1584668687809

    1584668738009

    组的创建

    基本指令:

    groupadd组名

    应用实例:

    创建一个组,test

    创建一个用户fox,放到test组中

    1584668909244

    文件/目录所在组

    查看文件/目录所在组

    基本指令:

    ls -ahl

    修改文件所在组

    基本指令:

    chgrp 组名 文件名

    应用实例:

    使用root用户创建文件orange.txt,看看当前这个文件属于那个组,修改文件到police组中

    1584669486466

    1584669599188

    其他组

    除了文件的所有者所在组的用户外,系统的其它用户都是文件的其他组

    改变用户的所在组

    基本指令

    usermod -g 组名 用户名

    1584669851497

    删除上述创建组和用户

    1584669928591

    权限的基本介绍

    ls -l 中显示的内容如下:

    -rwxrw-r-- 1 root root 1234 Feb 2 09:03 abc

    0-9为说明

    第0位说明确定文件类型(d,-,1,c,b)

    第1-3为确定所有者(该文件的所有者)拥有该文件的权限

    第4-6为确定所属组(同用户组的)拥有该文件的权限

    第7-9位确定其他用户拥有该文件的权限

    1584670748380

    rwx权限详解

    1584670811750

    文件及目录的实际案例

    1584670926043

    修改权限

    基本说明:
    通过chmod指令,可以修改文件或者目录的权限

    修改权限的第一种方式:+、-、=变更权限

    u:所有者 g:所有组 o:其他人 a:所有人(u,g,o的总和)

    chmod u=rwx,g=rx,o=x 文件目录名

    chmod o+w 文件目录名

    chmod a-x 文件目录名

    案例演示:

    给abc文件的所有者读写执行 权限,给所在组读执行权限,给其它组读执行权限

    1584673117573

    给abc文件的所有者除去执行权限,增加组写的权限

    1584673129016

    给abc文件的所有组用户添加读的权限

    1584673147395

    第二种方式:通过数字变更权限

    1584673327166

  • 相关阅读:
    2019中山纪念中学夏令营-Day19 数论初步【GCD(最大公约数),素数相关】
    2019中山纪念中学夏令营-Day14 图论初步【dijkstra算法求最短路】
    2019中山纪念中学夏令营-Day12[JZOJ]
    2019中山纪念中学夏令营-Day9[JZOJ](第六次模拟赛)
    2019中山纪念中学夏令营-Day4[JZOJ]
    2019中山纪念中学夏令营-Day2[JZOJ]
    2019中山纪念中学夏令营-Day1[JZOJ]
    CCPC2019江西省赛-Problem G.Traffic
    T137223 节能主义
    T137226 彩虹海
  • 原文地址:https://www.cnblogs.com/liu-xin-yang/p/12581053.html
Copyright © 2020-2023  润新知