zoukankan      html  css  js  c++  java
  • Linux常用命令与权限简析


    1.文件权限处理( ll 命令可查看当前文件的具有的权限)

        进入文件后执行 cd /  命令;可查看主目录列表文件,执行 ll 命令可查看各顶级目录相关权限信息
        drwxr-xr-x. 2 root root 12288 Dec 21 11:49 bin
        所属组 所属用户 文件大小 文件最后更改时间  文件名称
        drwxr-xr-x:(d表示文件夹,后面三个一组表示权限):
        d:表示 bin为 文件夹
        rwx:表示 具有读写执行即 111(二进制数)--->7(十进制数) :第一部分 代表 文件所属者 具有的权限
        r-x:表示 具有读 不能写 执行权限 101---->6 :第二部分 代表 用户组的权限
        r-x:表示 具有读 不能写 执行权限 101---->6 :第三部分 代表其他用户的权限
        所以drwxr-xr-x 该组权限可以用 766表示

        如果需要将一个文件设置为 drwxr-xr-x  即可使用chmod 766 filename (只设置这一个文件)  chmod  -R 766 filename(该filename文件夹及其子目录文件 都会被设置为 rwxr-xr-x )
      1.1读写执行权限的简单理解
          用户进入文件夹:需要有 执行的权限(如果没有执行的权限也不能使用 clear命令;当然一个可执行文件如果用户没有执行权限也不能执行)
          进入文件夹后查看文件夹下的数据:需要读取的权限(进入文件夹后没有读取权限,看不到文件夹下的内容及子目录等,ls命令不能使用)
          进入文件夹后删除文件创建文件:需要 写入的权限(没有写的权限不能实现删除创建的操作)

    2.用户添加删除基本操作

    以 jiang 表示用户名 group1 表示组名

    useradd jiang //添加一个叫jiang的新用户

        whoami        //查看当前用户
        passwd jiang    //回车后直接给jiang这个用户设置秘密
                   //(输出完密码回车后需要再确认输入一次,提示密码太简单不影响密码的设置)
        userdel jiang         //删除用户(/home/目录下的jiang文件夹不会被删除)
        userdel -r jiang      //连同用户的主目录也会一起删除
        vim /etc/passwd     //添加用户或者用户组后会在passwd文件记录
        //例如:jiang:x:500:500::/home/jiang:/bin/bash
        //但是用户实际的密码保存在 vim /etc/shadown
        //例如:jiang:$6$6SXYEHrT$r9e0.sRLSwhOItaWlLr5DnX1RIyfLLM70UpxzB59UuBNut7o8zWRnEzw2PD6aEuQjb9aFe5yDGK61GupFN6TQ/:17521:0:99999:7:::¥
        //密码有三部分组成$id$salt$encrypted 根据id选择相应的加密方式(md5、SHA256、SHA512...) salt:定长(8)随机字符串 encrypted经过salt影响的实际加密密码
    3. groupadd group1 //添加用户组
        groupdel group1       //删除用户组
        useradd test1 -g tests         // 添加用户test1,并使属于tests组
        grep gid /etc/group              //【gid(每个组有唯一gid)】查看某个group下的所有用户
        usermod -G group1 jiang :       //把jiang这个用户添加到group1组,但是会将该用户从其他用户组删除
        //注意usermod -g groupname username是把username的主组变成groupname,而usermod -G groupname username只是把用户加到groupname组,并没有改变主组
        groups //查看当前用户所属的group
    4. 查看日志
        tail -n 10 test.log         //查询日志尾部最后10行的日志;
        tail -n +10 test.log       // 查询10行之后的所有日志;
        head -n 10 test.log      //查询日志文件中的头10行日志;
        head -n -10 test.log               // 查询日志文件除了最后10行的其他所有日志;
        cat -n test.log |grep "error"    //可以查询到 error 在该文件中的行号(有几处就能查询到几个行号)

        cat -n test.log |tail -n +92|head -n 20
        tail -n +92表示查询92行之后的日志
        head -n 20 则表示在前面的查询结果里再查前20条记录
        sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log
        关于日期打印,可以先 grep '2014-12-17 16:17:20' test.log :该命令语句表示:在test.log文件中查找 2014-12-17 16:17:20

        (1)使用more和less命令, 如: cat -n test.log |grep "地形" |more 这样就分页打印了,通过点击空格键翻页
        (2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析.如:
        cat -n test.log |grep "地形" >xxx.txt

        linux 如何显示一个文件的某几行(中间几行)

        从第3000行开始,显示1000行。即显示3000~3999行
        cat filename | tail -n +3000 | head -n 1000
        显示1000行到3000行
        cat filename| head -n 3000 | tail -n +1000
        *注意两种方法的顺序
          分解:
            tail -n 1000:显示最后1000行
            tail -n +1000:从1000行开始显示,显示1000行以后的
            head -n 1000:显示前面1000行
            用sed命令
            sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。
            例:cat mylog.log | tail -n 1000 #输出mylog.log 文件最后一千行
    ------------------------------------------
    5.cat主要有三大功能:
        1.一次显示整个文件。$ cat filename
        2.从键盘创建一个文件。$ cat > filename
        只能创建新文件,不能编辑已有文件.
        3.将几个文件合并为一个文件: $cat file1 file2 > file
         参数:
            -n 或 --number 由 1 开始对所有输出的行数编号
            -b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
            -s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
            -v 或 --show-nonprinting
            例:
              把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
              cat -n textfile1 > textfile2

            把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。
            cat -b textfile1 textfile2 >> textfile3
            把test.txt文件扔进垃圾箱,赋空值test.txt
            cat /dev/null > /etc/test.txt
            注意:>意思是创建,>>是追加。千万不要弄混了。
    ------------------------------------------
      tac (反向列示)
          tac 是将 cat 反写过来,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上,
          而 tac 则是由最后一行到第一行反向在萤幕上显示出来!
    ------------------------------------------
          在Linux中echo命令用来在标准输出上显示一段字符,比如:
          echo "the echo command test!"
          这个就会输出“the echo command test!”这一行文字
          echo "the echo command test!">a.sh
          这个就会在a.sh文件中输出“the echo command test!”这一行文字!
          该命令的一般格式为: echo [ -n ] 字符串其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。
          用echo命令输出加引号的字符串时,将字符串原样输出;
          用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。

    人生没有彩排,每天都是现场直播!
  • 相关阅读:
    apache+tomcat分布式搭建
    maven 加入本地jar包
    一步一步搭建Jenkins环境
    缓存详解
    nginx配置文件注释
    mybatis like的用法
    Golang聊天室
    windows 10安装gensim、nltk
    理解矩阵乘法
    超赞的 Go 语言 INI 文件操作
  • 原文地址:https://www.cnblogs.com/northern-light/p/8082269.html
Copyright © 2011-2022 走看看