• O-Linux&Shell-W12 linux系统管理(下) step1:安装wget命令 step2: 官方下载mysql安装包 #wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm step3:运行ll命令查看rpm文件的下载...

    O-Linux&Shell-W12

    linux系统管理(下)

    step1:安装wget命令
    在这里插入图片描述

    step2: 官方下载mysql安装包

    #wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

    在这里插入图片描述

    step3:运行ll命令查看rpm文件的下载情况

    在这里插入图片描述

    step4:安装mysql的rpm包

    #rpm -ivh mysql57-community-release-el7-8.noarch.rpm

    在这里插入图片描述

    step5:安装mysql的服务器

    #yum -y install mysql-community-server(需要下载,可能会比较慢)

    在这里插入图片描述

    step6:重启mysql的服务器,服务器名为mysqld.service

    在这里插入图片描述

    step7: 查看mysql服务器的运行状态,服务名为mysqld.service

    在这里插入图片描述

    step8: 使用find命令查询my.cnf文件的位置。

    在这里插入图片描述

    step9:使用vi编辑my.cnf文件查询到关键字[mysqld],并在下面增加一行文字skip-grant-tables,作用为跳过密码验证。保存退出。

    在这里插入图片描述

    step10:使用root用户登录mysql数据库

    #mysql -u root

    在这里插入图片描述

    step11:查看mysql中有哪些默认数据库

    mysql>show databases;

    在这里插入图片描述

    step12:进入mysql数据库

    mysql>connect mysql;

    在这里插入图片描述

    step13: 查看mysql数据库中有哪些表

    mysql>show tables;

    在这里插入图片描述

    step14:在mysql数据库中创建表test,字段u_id integer,u_name varchar(12)

    在这里插入图片描述

    step15: 向test表中插入三条数据

    1,liukailin

    2,wanghaocun

    3,sunkangkang

    在这里插入图片描述

    step16:查看是否插入成功

    在这里插入图片描述

    step17:退出mysql命令行

    mysql>quit

    在这里插入图片描述

    展开全文
  • O-Linux&Shell-W14 Linux权限练习(共50分) 一、 操作题(共50分) 1、【root用户】新建两个工作组分别是class1和class2。(1分) 2、【root用户】根据自己班级新建四个普通用户,分别是:liulinlin,自己名字...

    O-Linux&Shell-W14

    Linux权限练习(共50分)

    一、 操作题(共50分)

    1、【root用户】新建两个工作组分别是class1和class2。(1分)

    2、【root用户】根据自己班级新建四个普通用户,分别是:liulinlin,自己名字,wangcuncun,隔壁班与自己关系最好的同学的名字,密码简单点随意。其中liulinlin在用户创建时直接派入class1组,wangcuncun在用户创建时直接派入class2组。自己的名字的用户与隔壁班与自己关系最好的同学的名字分别按照实际情况分别在创建时直接派入class1组和class2组内。(4分)

    3、【本班班长用户】在/tmp下新建一个文件,文件名为book,文件内容为That’s how Linux should learn.查看book文件的内容。并查看book文件的当前默认权限设定是什么。(3分)

    4、【本班班长用户】对book文件进行权限的修改,使用数字模式与字符模式均可。要求所有者用户可以读、写,权限组里的用户可以读,其他用户无任何权限。权限修改完毕后查看book文件的权限修改结果。(2分)

    5、【四个普通用户】依次使用本班班长,自己,隔壁班班长,隔壁班好友用户对book文件进行查看操作。四个操作结果依次列出。(2分)

    6、【root用户】将book文件的所有者由本班班长调整为隔壁班班长,其他权限不变。(1分)

    7、【四个普通用户】再次执行第5步的操作。并将四个操作结果依次列出。(2分)

    8、对比第5步和第7步的结果,描述一下原因,以及自己对linux权限的理解。(5分)

    开始建立的book文件属主是liulinlin,所属的组是class1,文件的权限是640,此时liulinlin可以对其读写,同属于class1中的Tianxu用户可以对其读操作,但是class2中的用户无法操作,当我们把属主改成wangcuncun之后,wangcuncun具有读写权限,但是book文件属于class1,所以class1中的两个用户可以对其进行读操作。

    9、【root用户】新建一个普通用户sunkangkang,密码简单点随意,不单独设置用户组,linux操作系统会同时新建一个sunkangkang的用户组。新建完成后将这个用户sunkangkang的附加组设定为隔壁班,并查看操作结果。(2分)

    10、 【sunkangkang用户】对book文件的权限组进行修改,将book文件的权限组由本班改成隔壁班。上述操作能否执行成功?(1分)

    11、 【root用户】将sunkangkang用户的附加组同时设定为class1和class2。(1分)

    12、 【sunkangkang用户】再次执行第10步流程。操作能否执行成功?(1分)

    13、 【root用户】将book文件的所有者改为sunkangkang。(1分)

    14、 【sunkangkang用户】再次执行第10步流程,操作能否执行成功?(1分)

    15、 通过第10~15步的练习,阐述一下你对权限组以及相关命令的使用的理解。(5分)

    权限组分基本组和附加组,基本组在创建用户时,如果不指定,会默认创建和用户名同名的组,有且仅有一个;而基本组,可有可无,也可以有多个基本组,用户会继承所在基本组和附属组的权限。

    16、 【自己用户】在book文件中增加一行文字sunkangkang love you!由于当前自己用户无法在book文件进行写操作,所以需要大家用任意方式,如,调整权限,调整所有者,调整权限组都可以,只要能达到使用自己的用户在文件中增加一行文字的目的就可以了。(3分)

    17、 【root用户】在系统根目录创建一个目录名为temp,并把它的权限设为最大,进入temp目录。(3分)

    18、 【本班班长用户】用户在temp目录里创建一个与本班班长同名的目录,并进入此目录。(2分)

    19、 【自己用户】在本班班长同名目录内新建一个与自己用户同名的目录。请问是否可以新建成功,为什么?(1分)

    20、 【本班班长用户】在本班班长同名目录内新建一个目录,名字为自己用户名。请问是否可以新建成功,为什么?(1分)

    21、 【root用户】将上一步新建的自己用户名的目录的所有者改为自己用户。(1分)

    22、 【自己用户】把book文件复制到本班班长目录内,是否可以成功,为什么?(1分)

    23、 【自己用户】把book文件复制到本班班长目录下的自己目录内,是否可以成功,为什么?(1分)

    24、 描述一下第17~24步过程操作中,你对目录权限的认识。(5分)

    【步骤解析】
    写在前面的话,由于我们曾经用过liulinlin / wangcuncun / sunkangkang等用户,我们可以在做这次作业之前将其删除

    userdel -r liulinlin
    userdel -r wangcuncun
    userdel -r sunkangkang
    

    注意每题前边的用户名

    • 1.新建两个组
    groupadd class1
    groupadd class2
    
    • 2.新建用户
    useradd -g class1 liulinlin
    passwd liulinlin
    
    useradd -g class1 yourname 
    passwd youname
    
    useradd -g class2 wangcuncun
    passwd wangcuncun
    
    useradd -g class2 others
    passwd others 
    
    • 3.在/tmp下建立book文件,注意:/tmp文件和/home文件是并列的都在根目录下
    cd tmp
    touch book
    vi book
    #进入插入模式,输入That's how Linux should learn,保存并退出
    cat book
    ls -l #查看权限
    

    会出现:-rw-r--r-- .1 liulinlin class1 xx Apr xx xx:xx /tmp/book

    • 4.修改权限,查看权限
    chmod 640 book
    ls -l
    
    • 5.切换到不同的用户中,
    cat book
    

    然后会发现liulinlin用户和自己的用户可以查看到,class2组的Permission denied

    • 6.文件所有者权限更改
    chown wangcuncun book
    
    • 7.再执行第五步,发现只有class2中的其他用户Permission denied
    • 8.你品,你细品一下,朝着属主和组的方向总结,同组的用户可以读取book文件,其他组的没有。
    • 9.新建sunkangkang,加到隔壁班的组中
    useradd -G classX sunkangkang
    id sunkangkang
    
    • 10.book文件权限组修改
    chgrp classX book
    

    上述操作不允许。

    • 11.附加组设置
    usermod -G class1,class2 sunkangkang
    
    • 12.再执行step 10,也是操作不允许
    • 13.更改文件所有者
    chown sunkangkang book
    
    • 14.再执行step10发现可以成功。
    • 15.用户可以实现基本组和附加组的权限……
    • 16.调整文件权限,添加文字……
    chmod 666 book
    vi book
    #添加要添加的文字,保存并退出。
    cat book
    
    • 17.创建目录,调整权限
    cd /
    mkdir temp
    chmod 777 temp
    cd temp
    
    • 18.注意切换用户
    su wangcuncun/liulinlin
    mkdir wangcuncun/liulinlin
    cd wangcuncun/liulinlin
    
    • 19.不能创建成功
    su yourname 
    mkdir yourname
    

    Permission denied !!!

    • 20.可以创建
    mkdir yourname
    
    • 21.又是修改属主
    chown yourusername yourfilename
    
    • 22.用到了以前的cp命令
    cp /tmp/book /temp/liulinlin
    

    不能成功,因为所在的用户没有写的权限

    • 23.切换到自己用户,重复step22的命令,可以操作,因为自己的用户有这个权限。
    • 24.总体而言,权限和属主,用户组相关,而且权限的大小也不一样。
    展开全文
  • Shell-W14 Shell程序设计(中) 一.判断题 Shell程序中字符串的连接可以直接连接。(√ ) 有双引号扩起来的字符,除$、倒引号``和转义字符\外,均作为普通字符对待。(√ ) set命令显示所有的环境变量。(× )...

    J-Linux&Shell-W14

    Shell程序设计(中)

    1. 一.判断题
    1. Shell程序中字符串的连接可以直接连接。(√ )
    2. 有双引号扩起来的字符,除$、倒引号``和转义字符\外,均作为普通字符对待。(√ )
    3. set命令显示所有的环境变量。(× )
    4. 环境变量SHELL的作用是显示当前用户使用的shell版本。(√ )
    1. 二.单项选择题
    1. 能够将shell程序中的本地变量设置为环境变量的命令是(D)

    A.global   B.public    C.except    D.export

    1. shell程序中声明数组类变量的方式是(B)

    A.declare -e    B.declare -a   C.declare -i    D.declare -v

    1. 变量的更改中可以删除左边第一个匹配字符的是(A)

    A.#    B.##    C.%%    D.%

    1. 三.不定项选择题
    1. shell程序中能够输出数组变量aaa第0位的值的写法有(AC)

    A.echo ${aaa[0]}    

    B.echo $aaa[0]    

    C.echo $aaa   

    D.echo $(aaa)

    1. 下列描述正确的是(C)

    A.declare -p是定义shell程序常量的方式。

    B.declare -i定义的数字类型的变量不可以给它赋值字符串。

    C.declare命令定义常量时如果想要赋值必须声明即赋值。

    D.declare -r可以查询当前已经定义的变量的信息。

    1. 四.填空题
    1. shell中能够起到在控制台输入参数功能的命令是_read__a______。
    1. 五.问答题
    1. 阐述一下环境变量与本地变量的联系与区别。

    环境变量:永久性变量,其值不会随shell程序执行结束而消失。

    本地变量:在shell程序内部定义的,其使用范围仅限于定义它的程序,出了程序就不能再用

    展开全文
  • O-Linux&Shell-W3

    2020-03-11 21:31:55
    O-Linux&Shell-W3 Linux系统管理(共10分) 一、操作题(每题1分,共10分) 1、 新建一个用户sam,将用户的主目录设置到 /usr/sam目录。 2、 新建一个用户gem,将用户的登录Shell设置为/bin/sh,用户组(源生组...

    O-Linux&Shell-W3

    Linux系统管理(共10分)

    一、操作题(每题1分,共10分)

    1、 新建一个用户sam,将用户的主目录设置到 /usr/sam目录。

    2、 新建一个用户gem,将用户的登录Shell设置为/bin/sh,用户组(源生组)设置为group,附加组(衍生组)设置为adm和root。

    3、 调整sam用户,主目录改为/home/z,用户组改为developer。

    4、 设置sam用户的密码。

    5、 删除sam用户。

    6、 新建group1组。

    7、 新建group2组并将组标识号设定为101.

    8、 删除group1组。

    9、 调整group2组的组标识号为102。

    10、将group2的组名改为group3。

    解析步骤

    1.建议用root用户登陆

    useradd -d /usr/sam -m sam
    

    其中 useradd [username] 是用来添加用户的命令, -d 是用来指定路径目录,由于我们的系统原来并没有 /usr/sam 这个目录,所以用 -m 命令来新建这个目录。
    在这里插入图片描述
    2.

    groupadd group 
    #groupadd adm 这一段注释的代码是新建adm组,
    #一般我们的系统中没有 group组,但是默认有 adm组,所以只建group即可
    useradd -s /bin/sh -g group -G adm,root gem
    

    groupadd [groupname] 是用来添加组的命令,-s 是用来指定这个新用户登陆的Shell目录,-g 是指定用户组(源生组)-G 是指定用户的附加组(衍生组)多个附加组用, 隔开,最后便是新建用户的用户名。
    在这里插入图片描述
    在这里插入图片描述
    3.

    groupadd developer
    #此处也是,我们的系统中并无 developer 组,所以要新建
    usermod -d home/z -g developer sam
    

    usermod 是用来更改用户信息的命令,-d-g 的作用上文已提及,此处不再赘述。
    在这里插入图片描述
    4.

    passwd sam
    

    passwd [username] 是在root用户下用来给任何用户更改密码的命令(如果在普通用户下更改所在用户的密码,直接键入passwd 回车 即可出现提示)。
    P.S.如果你输入的密码过短,系统会提示你,但是你可以忽略。
    在这里插入图片描述
    5.

    userdel sam
    

    userdel [username] 是用来删除用户的命令。(在本操作中,由于我们不仅建立了sam用户,还建立了sam组,单独的userdel命令只能删除用户,sam组依然存在)。
    在这里插入图片描述
    6.

    groupadd group1
    groupadd -g 101 group2
    #在此处 groupadd后的 -g 作用是来指定组的识别号,可理解为group_id
    groupdel group1
    groupmod -g 102 group2
    groupmod -n group3 group2
    # -n的作用是用来修改name组名,可理解为一个方法 -n new_name old_name 就是将old_name 更改为 new_name
    

    此处需要解释的是 groupmod命令,这是用来修改组信息的命令。
    在这里插入图片描述

    最后,这篇博客有助于你更加深刻的了解:
    https://www.cnblogs.com/monogem/p/9802593.html

    展开全文
  • O-Linux&Shell-W4

    2020-03-19 14:12:28
    Shell-W4 Linux系统文件与目录基本操作(共10分) 一、 操作题(每题1分,共10分) 以下练习请使用个人普通用户直接登录系统操作。 使用ls查看当前用户主目录里的情况,将命令与结果截图。 在个人用户主目录里一...

    写在前面的话:
    我自己的博客上线啦
    欢迎大家访问
    http://www.tianxu.top

    O-Linux&Shell-W4

    Linux系统文件与目录基本操作(共10分)

    一、 操作题(每题1分,共10分)

    以下练习请使用个人普通用户直接登录系统操作。

    1. 使用ls查看当前用户主目录里的情况,将命令与结果截图。

    2. 在个人用户主目录里一次性创建层级目录,要求三级嵌套目录,目录名使用你们各自心中同班学霸前三名的名字,将命令截图。

    3. 将工作区切换到上一步的三层嵌套目录的最内层里,将命令截图。

    4. 在当前位置创建一个自己名字的空文件,将命令截图。

    5. 使用vi编辑器对这个空文件进行编辑,在文件内任意用英语写一些自我介绍类的文字,并保存退出,将自我介绍文字截图。

    6. 将自己名字的文件复制到/tmp位置,并将文件名改名为同班与自己关系最好的同学的名字,将命令截图。

    7. 将自己名字的文件(三层嵌套目录最里面的文件,非复制到/tmp里的文件)创建一个硬链接,名字为自己名字文件名加前缀h_,一个软链接,名字为自己名字文件名加前缀s_,都创建在个人普通用户的主目录里,将命令截图。

    8. 把工作区切换到个人用户的主目录里,使用rmdir对三层层级目录一次性递归删除,将命令截图,并描述一下是否可以完成,原因是什么。

    9. 对于上一步的操作使用什么命令还可以实现这个功能,将命令截图。

    10. 层级目录删除成功后使用vi查看一下用户主目录中硬链接文件和软连接文件,将结果截图,并说明出现这个情况的原因是什么。

    解析步骤
    以下练习均在普通用户中操作

    1. 输入 ls 查看当前用户主目录。

    2. 创建目录的命令:mkdir 一次性创建加 -p 选项。

        mkdir -p xueba_1/xueba_2/xueba_3
      
    3. 切换工作区用到 cd命令。

        cd xueba_1/xueba_2/xueba_3
      
    4. 创建空文件的命令是 touch

      touch yourname
      
    5. vi 命令进入文件编辑,按键盘 i 键开启插入模式,然后按题目要求键入你的自我介绍。完成后按键盘左上角 ESC 推出插入模式,再输入 :wq 保存并退出。

    6. 复制的命令是cp 用法如下:

      cp [源文件目录][空格][目标目录]
      cp xueba_1/xueba_2/xueba_3/yourname  /tmp/friendname
      //以上方式是将文件复制并改名,若不改名采用以下方式
      cp xueba_1/xueba_2/xueba_3/yourname  /tmp/
      
    7. 硬链接:ln [源文件目录][空格][目标目录]
      软链接:ln -s [源文件目录][空格][目标目录]
      在创建链接的时候也可以改名字
      硬链接:

      ln xueba_1/xueba_2/xueba_3/yourname h_yourname
      

      软链接:

      ln -s xueba_1/xueba_2/xueba_3/yourname s_yourname
      
    8. 首先cd回到 用户主目录,删除命令有 rmdirrm -r
      而且要求用 rmdir 一次性删除三个层级目录,一次性需要加-p

      rmdir -p xueba_1/xueba_2/xueba_3
      

      我们会发现不能删除,提示目录非空
      如果用

       rmdir -p xueba_1/xueba_2/xueba_3/yourname
      

      就可以删除

    9. 我们已经提到过另一个删除命令rm -r也可以删除

        rm -r  xueba_1
      

      如果想要强制删除可以使用 rm -rf 不过轻易不要用这种破坏性强的命令。

    10. 此处用vi命令

      vi h_yourname
      vi s_yourname
      

      其中硬链接还可以访问文件,软链接已经无法访问文件了,这是因为:
      1)硬链接:A的node节点号与B的node节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。如果删除了其中一个,对另外一个没有影响。
      2)软链接:A的node节点号与B的node节点号不相同,A和B指向的是两个不同的node, A的数据块中存放的是B的路径名(可以根据这个找到B的目录项)。A和B之间是“主从”关系,如果A被删除了,B仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。

    最后附上一个讲解硬链接和软链接的文章:
    https://blog.csdn.net/yangxjsun/article/details/79681229

    展开全文
  • shell 之 -f -z -e -o -a -d

    2016-07-20 13:32:38
    # -f 文件存在 if[ -f /etc/sysconfig/network ];...# -z 字串为空/ -o or / -a and if[ -z "$HOSTNAME" -o "$HOSTNAME" = "(none)" ]; then HOSTNAME=localhost fi # ! if...
  • 工作中经常在shell脚本中看到set的这两个用法,但就像生活中的很多事情,习惯导致忽视,直到出现问题才引起关注。 1. set -e set命令的-e参数,linux自带的说明如下:"Exit immediatelyif a simple command ...
  • shell流程控制与其他语言有一点不同就是它的流程控制不可为空,即else分支没有语句执行,就不要写这个else。本文介绍if语法使用方法、特殊文本表达式-z -n -f -eq -ne -lt等及shell的逻辑表达式用法。 1.if语法 条件...
  • 这个选项说的是, 只输出匹配的部分, 在写shell抓取网页内容时, 开始不知道这个选项, 后来居然用上了perl的HTML::TokeParser, 我只想说, 喜新厌旧是人类最好的品质, 不然怎么来那么多创新…(心里一阵自嘲), 虽然走...
  • 1、if条件控制语句 一般语句格式 if 条件(可以是:一条语句、多条语句、函数等等) then  Command ...test.sh: line 14: syntax error: unexpected end of fi  ...这里的条件:返回值0为真 ,返回值1为假
  • Linux shell 各种比较运算汇总 一、文件比较运算符 e filename 如果 filename存在,则为真 如: [ -e /var/log/syslog ] -d filename 如果 filename为目录,则为真 如: [ -d /tmp/mydir ] -f filename 如果 ...
  • ssh -o参数解释

    2019-07-18 19:58:52
    ssh -o ConnectTimeout=3 -o ConnectionAttempts=5 -o PasswordAuthentication=no -o StrictHostKeyChecking=no $ip “command” 1 ConnectTimeout=3 连接时超时时间,3秒 2 ConnectionAttempts=5 ...
  • 在写脚本的时候,总是搞不懂[] [[]]的区别,这次写一个总结,把它掌握牢固应用场景分析:1、在中括号中,判断变量的值, 加不加双引号的问题?-z 判断 变量的值,是否为空; zero = 0- 变量的值,为空,返回0,为...
  • [-a file] 如果file存在则为真 [-b file] 如果file存在且是一个块特殊文件则为真 [-c file] 如果file存在且是一个字特殊文件则为真 [-d file] 如果file文件存在且是一个目录则为真 -d前的!是逻辑非 ...
  • 实例:-a,-o,!等同于&&,||,! ======>与,或,非 &&:如果&&左侧为假,则&&右侧表达式不执行. ||:如果&&左侧为假,则继续执行右侧表达式。 str1="down" str2="down" str3="down" while [ 1 ] sleep 1 do #if [ "up...
  • Linux_shell条件判断if中的-a到-z的意思   [ -a FILE ] 如果 FILE 存在则为真。  [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。  [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。  [ -d ...
  • if [ str1 = str2 ] 当两个串有相同内容、长度时为真 (等号两边有空格) if [ str1 != str2 ] 当串str1和str2不等时为真  if [ -n str1 ] 当串的长度大于0时为真(串非空)  if [ -z str1 ] 当串的长度为0时为...
  • 转载请注明出处: 遇到问题—linuxshell–Argument list too long 遇到的问题 在linux系统中执行shell命令 mv /mnt/nfs/misquitofile/all_m1/* /mnt/nfs/result 报错: Argument list too long 原因 ...
  • set命令的-e参数,linux自带的说明如下: "Exit immediately if a simple command exits with a non-zero status." 也就是说,在"set -e"之后出现的代码,一旦出现了返回值非零,整个脚本就会立即退出...
1 2 3 4 5 ... 20
收藏数 187,931
精华内容 75,172
热门标签