• Linux 03


    1.重定向-echo-head-tail

    2.ln

    3.history

    4.时间日期类

    5.find

    6.grep

    7.压缩和解压

    8.组管理和权限管理

    补充一个less指令,跟more指令很像,但更厉害

    less 文件路径
    
    空格                向下翻一页
    pagedown          向下翻一页
    pageup              向上翻一页
    /字符串            向下查找[字符串],n下一个,N上一个
    ?字符串            向上查找[字符串],n下一个,N上一个
    q                  离开less

    一.重定向-echo-head-tail

    1.重定向 >:覆盖重定向      >>:追加重定向

    命令 >/>> 文件路径     :   命名执行结果写入后面的文件里
    会把箭头左边的结果写入右边的文件里
    把前方语句的结果存进文件,若**文件不存在会自动创建
    >:输出重定向            会覆盖原来文件内容
    >>:追加重定向        追加到文件末尾
    
    例子
    1.a.txt里写上任意内容
    vim a.txt
    2.把ll 查找的结果,用输出(覆盖)重定向写进a.txt
    ll > a.txt 用cat a.txt 查看没有我写的类容了,被覆盖了
    3.a.txt里写上任意内容 4.把ll 查找的结果,用追加重定向写进a.txt
    ls / >> a.txt 练习:
    1.把/etc/profile 的内容 写进 /home/c.txt中 2中方式 1.cp /etc/profile /home/c.txt 2.cat /etc/profile > /home/c.txt

    2.echo把内容输出到控制台指令

    把内容输出到控制台
    如下: echo
    "我是杨家三少" echo $PATH 这是看环境变量 练习: 1.用echo输出'hello world'

    3.head显示文件开头类容指令

    用于显示文件的开头部分内容,默认情况下
    head 指令显示文件的前
    10 行内容
    
    head 文件路径            查看文件前10行
    head -n 5 文件路径        查看文件前5行
    
    练习:
    1.查看/etc/profile 的前5行内容
    head -n 5 /etc/profile

    4.tail显示文件结尾类容指令

    用于显示文件的结尾部分内容,默认情况下tail指令显示文件的后10行内容
    
    tail 文件路径            查看文件前10行
    tail -n 5 文件路径        查看文件前5行
    tail -f 文件路径        实时追踪文件所有的更新-----经常使用
    
    练习:
    1.查看/etc/profile 的后5行内容
    2.实时追踪/home/myinfo.txt,在虚拟机上更新myinfo.txt,看xshell的效果

    二.ln

    软链接也叫符号链接,类似于 windows 里的快捷方式,主要存放了链接其他文件的路径
    
    ln  源文件或源文件夹 软连接名      硬链接 比如说程序升级时可以用软连接
    ln -s 源文件或源文件夹 软连接名    软链接 
    
    练习:
    1. 在/home目录下创建/root的软链接,名字为linktoroot
        ln -s /root linktoroot
    2. cd 到软链接,然后pwd,查看当前路径
        cd linktorppt/    pwd 查看
    3. 创建一个a.txt的文件
        touch a.txt
    4. cd 到 /root目录,查看是否有变化
    是有的 说明软连接就是root 的路径
    5. 删除/home下的linktoroot (需要注意,不能加/,最好不要加-r) rm -f linktoroot

    三.history

    查看已经执行过历史命令,也可以执行历史指令
    
    history         查看所有的历史指令
    history 10        查看最近执行的10条指令
    !100            执行编号为100的指令
    
    所以在公司指令不要瞎比输

    四.时间日期类 data-cal

    1.data指令

    date             显示当前日期
    data +%Y        显示当前年份
    data +%m        显示当前月份
    data +%d        显示当前天
    data +%Y-%m-%d %H:%M:%S
    
    
    小练习:
    1.显示当前时间信息
    2.显示当前时间年月日
    3.显示当前时间年月日时分秒

    2.cal查看日历指令

    cal         显示当前日历
    cal 2020     显示2020年的日历
    cal 10 2018  显示2018年10月份日历

    五.find

    指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端
    
    find [范围] [选项]
    范围:指路径,不写默认从当前向下找,类似于windows的查找
    
    选项:
    -name 文件名        按文件名查找
    -user 用户名        查找属于该用户的所有文件
    -size               按文件大小查找
        +20M
        -20M
        20M
        20K
    
    注意: *.txt  通配符要加引号
    
    练习:
    1.根据名称查找/home 目录下的 a.txt 文件
        find /home -name a.txt
        find /home -name "*.txt"
    2.查找/opt 目录下,用户名称为 lxx 的文件
        find /opt -user lxx
    3.查找整个 linux 系统下大于 20M 的文件
        find / -size +20M
    4.查询/ 目录下,所有.txt 的文件
        find / -name "*.txt"

    六.grep指令和管道符号 |

    管道符:"|",表示将前一个命令的处理结果输出传递给后面的命令处理
    grep:过滤查找
    
    grep [选项] 过滤内容
    选项:
    -n        显示匹配行及行号
    -i        忽略字母大小写
    
    练习:
    1.创建文件,写上多行,包含'yes''YES'
        
    2.查找'yes'所在行,并显示行号
        cat a.txt | grep -n "yes"
    3.忽略大小写,查找'yes'所在行
        cat a.txt | grep -ni "yes"

    七.压缩和解压 有三种方式

    1.gzip/gunzip指令(只能用于文件压缩)

    用于压缩和解压文件
    gzip 文件路径
    gunzip gz文件路径
    
    **说明:使用gzip压缩文件之后,不会保留原来的文件
    例子:
    1.将 /home 下的 1.txt 文件使用gzip压缩
    2.将 /home 下的 1.txt.gz 文件使用gunzip解压

    2.zip/unzip指令

    zip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的
    
    zip [选项] xxx.zip 被压缩内容            压缩文件或者目录
        -r                                 压缩目录
    
    unzip [选项] xxx.zip                  解压文件    
        -d 目录                            指定压缩后的存放目录
    
    例子:
    1.将 /home 下的 所有文件进行压缩成 mypackage.zip
        zip -r mypackage.zip /home
        zip -r mypackage.zip /home/*
    2.讲mypackge.zip解压到/opt/tmp下
        unzip -d /opt/tmp mypackge.zip

    3.tar指令

    tar 指令 是打包指令,最后打包后的文件是  .tar.gz  的文件
    
    压缩:
    tar -zcvf xx.tar.gz  被压缩内容(文件,文件夹,多个也行)                        压缩
    tar -zxvf xx.tar.gz     -C 目标路径                                        解压
    
    z:使用gzip格式压缩,否则是单纯打包
    c:压缩
    x:解压
    f:显示压缩解压过程
    v:显示提示信息
    
    例子:
    1.压缩多个文件,将  /home/a1.txt 和  /home/a2.txt 压缩成    a.tar.gz
        tar -zcvf a.tar.gz /home/a1.txt /home/a2.txt
    2.将/home 的文件夹 压缩成 myhome.tar.gz
    3.将  a.tar.gz    解压到当前目录
    4.将 myhome.tar.gz    解压到 /opt/ 目录下

    八.组管理和权限管理

    组管理

    Linux组基本介绍
    在 linux 中的每个用户必须属于一个组,不能独立于组外。在
    linux 中每个文件有**所有者、所在组、其它组**的概念

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

    1. 查看文件的所有者

    ls -ahl
    
    例子:
    1.创建一个组 police
    2.再创建一个用户 tom
    3.然后使用 tom 来创建一个文件 ok.txt,看看情况如何

    2.修改文件所有者

    chown 用户名 文件名
    
    例子:
    1.使用 root  创建一个文件 apple.txt
    2.然后将其所有者修改成 tom
    3.查看文件所有者

    3.组的创建

    groupadd 组名
    
    例子:
    1.创建一个组,monster
    2.创建一个用户fox,并放到monster组中

    4.文件/目录 所在组

    当某个用户创建了一个当某个用户创建了一个文件后,默认这个文件的所在组就是该用户所在的组。

    4.1查看文件/目录所在组

    ls –ahl

    4.2修改文件所在组

    chgrp 组名 文件名

    例子:
    1.使用 root 用户创建文件 orange.txt
    2.查看当前这个文件属于哪个组
    3.将这个文件所在组,修改到 police 组

    5.其他组

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

    6.改变用户所在组

    在添加用户时,可以指定将该用户添加到哪个组中,同样的用
    root 的管理权限可以改变某个用户所在的组

    usermod –g 组名 用户名

    权限基本介绍

    ls -l
    -rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
    
    0-9 位说明
    第 0 位确定文件类型(d,-,l)
    第 1-3 位确定所有者(该文件的所有者)拥有该文件的权限
    第 4-6 位确定所属组(同用户组的)拥有该文件的权限
    第 7-9 位确定其他用户拥有该文件的权限

    1.rwx权限详解

    rwx作用到文件

    r:可读
    w:可写[可写不代表可以删除,删除一个文件的前提是对文件所在的目录有写的权限]
    x:可执行

    rwx作用到目录

    r:可读(可用ls查看目录内容)
    w:可写[可在目录内创建+删除+重命名文件或目录]
    x:可执行[可以进入目录]

    2.文件及目录权限实际案例

    -rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
    
    - 表示类型为文件
    第一组rwx: 表示所有者 可读  可写 可执行
    第二组rw-: 表示同组用户  可读 可写 但不能执行
    第三组r--: 表示其他用户  只可读
    
    可用数字表示:
    r = 4
    w = 2
    x = 1
    因此rwx = 4+2+1 = 7

    3.修改权限

    chmod 权限变更格式 文件或目录路径
    
    权限变更格式一:
    u:所有者    g:所有组    o:其他用户    a:所有人
    
    1. u=rwx,g=rx,o=x
    2. o+w                    其它用户增加w权限
    3. a-x                    所有人减去执行权限
    
    例子:
    1.给 abc 文件 的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限
        chmod u=rwx,g=rx,o=rx abc
    2.给 abc 文件的所有者除去执行的权限,增加组写的权限
        chmod u-x,g+w abc
    3.给 abc 文件,所有用户添加读的权限
        chmod a+r abc

    权限修改个还是二(用数字表示,这样写着更快)

    r = 4   w = 2  x = 1    rwx = 7      rx = 5
    chmod u=rwx,g=rx,o=x   可以写成        chmod 751
    
    例子:
    1.将 /home/abc 文件的权限修改成    rwxr-xr-x, 使用给数字的方式实现
        chmod  755  /home/abc

    4.修改文件所有者

    chown newowner file            改变文件所有者
    chown -R newowner 文件夹      使得所有子文件或子目录生效
    
    例子:
    1.请将 /home/abc 文件的所有者修改成 tom
    2.请将 /home/xxx 目录下所有的文件和目录的所有者都修改成 tom

    5.修改文件所在组

    chgrp newgroup file            改变文件所有组
    chgrp -R newgroup 文件夹      使得所有子文件或子目录生效
    
    例子:
    1.请将 /home/abc 文件的所在组修改成 bandit (土匪) 
    2.请将 /home/xxx 目录下所有的文件和目录的所在组都修改成 bandit(土匪) 
  • 相关阅读:
    BZOJ1233 干草堆
    POJ1321棋盘问题【搜索】
    1008
    10.2训练赛
    2014 ACM/ICPC Asia Regional Shanghai Online【未完成】
    hdu5045||2014 ACM/ICPC Asia Regional Shanghai Online【数位dp】
    0926
    poj1007【求逆序数】
    hlg1287数字去重和排序II【hash】
    hlgChocolate Auction【并查集】
  • 原文地址:https://www.cnblogs.com/zahngyu/p/12060993.html
Copyright © 2020-2023  润新知