zoukankan      html  css  js  c++  java
  • Linux基础:Day02

    Linux文件管理

    创建 touch vim/vi echo重定向

    touch 管理:atime mtime ctime

    touch 文件名  //如果文件不存在就创建文件

    touch -a -t [CC]YY]MMDDhhmm[.ss]

    20190827100322

    -C

    删除 1、mv /tmp

    2、find| xargs rm

    3、rm

    rm删除文件

    alias rm -i

    -i提示

    -f

    -r

    默认情况下rm-f /是不让删的(在centos 5以及以下版本)

    centos7和6要删是需要加一个参数的; --preserve-root 可以删根

    rmdir删除目录

    移动

    文件的传输都有两种行为:一种是“"一种是“"的方式; ,

    mv移动文件,改名

    -t

    mv a b c d /e //将多个文件同时移动到一个目录中

    mv a b //修改名字a文件名称改为b

    覆盖的问题 -i

    cp

    cp a b

    -t

    -a 可以复制目录以及目录里面文件的属性! !

    install 删除和复制文件

    -d 直接删除文件

    -t

    -g指定所属组

    -o指定所属主

    -m指定复制文件的权限

    scp - Linux机器之间进行文件传输的命令;

    linux1--linux2

    linux1: scp文件root@ip(linux2):/目录

    linux2 : scp root@ip(linux1:/文件 本地的那个目录

    4、查找

    locate

    需要生成一个查找库的--不常用

    updatedb 我在这个查找库中查找对应文件

    find

    可以根据文件的任何一个属性,来查找文件

    1、inode2、文件类型3、文件权限4、硬连接数5、所属主6.所属组7、文件大小8、修改时间9.文件名(globbing) -regex

    -type f d s p c b l

    -perm 007

    -maxdepth  查找最多几级目录

    -mindepth  查找最少几级目录

    find ./ -maxdepth 1 -perm + 1

    find ./ -maxdepth 2 -perm 755

    -links

    find ./ -maxdepth 1 -links 2

    -user -nouser

    -group -nogroup

    -size [默认单位是多少? ]

    -mtime -ctime -atime + -数字

    -name通配符

    -regex指定使用正则表达式

    ------------

    -ok

    -exec

    |xargs

    5、压缩和递归

    压缩- 1.只能对文件进行压缩; 2、能让源文件变小

    gzip    ---------  -z

    bzip2   ----------- -j

    xz    -------------  J

    归档-- 1、归档可以对目录进行操作2、不会让目录变小

    tar

    -c -x

    -v

    -f filename 指定创建压缩文件的名字

    【解压的时候,最好不要指定的压缩文件】

    6、编辑

    全屏编辑器:

    nano

    vi vim

    【区分 sed 流编辑器 行编辑器】

    vim

    1、默认为命令模式--------| il a A o O进入编辑模式

    | ESC 进入末行模式

    2、命令模式下的常用技巧

    2.1. 上下左右hjkI

    2.2 dd ndd 删除

    p np  复制

    u(上一个操作) U(退回到进入文件的初始状态)

    yy nyy

    gg 光标跳至文件内容行首  

    G 光标跳至文件内容行尾

    c=dd+i

    r替换光标所在字符为指定字符

    v进入可选模式,选出指定内容,然后进行相应的操作

    3、末行模式

    【末行模式很多操作和sed相同】

    ,$S/^#/ /g

    :$将光标移动到文件末尾:1 .

    :W

    :W filename 将当前文件保存到新的文件中去

    :q

    :wq! //!代表强制

    【在命令模式下ZZ也可以保存并退出文件】

    查找

    /向下操作   n下一个    N上一个

    ?向上查找   n上面一个  N下面一个

    多个文件同时编辑的情况

    :next

    vim a b

    5dd

    :next!

    p

    :perv

    :first

    :last

    :q //退出当前文件

    :q! :qa //退出所有的文件

    比较查看文件

    1、垂直分屏

    vim -O a b

    切换光标ctrl+w松开w

    再进行切屏ctrl+w 松开V

    2、水平分屏

    vim -o a b . .

    切换光标:ctrl+w松开w .

    再进行切屏: ctrl+w 松开S

    :qa!全部退出

    :wq! 全部保存并退出

    linux用户与用户、权限管理

    用户管理:

    1、useradd 创建用户

    -c 指定用户描述

    -d 指定家目录 默认家目录/home下同名的目录

    -g 指定主组

    -G 指定附加组

    【一个用户主组只能有一个,而附加组可以有两个】

    -s 指定shell程序

    特殊:/sbin/nologin --> 不允许登录系统的用户

    -u 指定UID

    -M 不创建家目录

    2、userdel

    -r 带着家目录块删除

    3、usermod -修改

    -c-d -m-g-G-s-u -o (容许UID相同,和-u-起使用)

    4、passwd

    -1 lock

    -u unlock

    -d 删除密码

    echo "密码" | passwd --stdin "用户名”

    组管理

    1、groupadd

    -g 添加组

    -o 删除组

    2、groupdel 删除组

    3、groupmod

    -g

    -O

    -n 修改组名

    -p 指定组密码【如果一个文件输入这个用户的附加组,而你要访问这个文件,别人就可以为这个组设置密码】

    常用文件

    /etc/passwd

    uname:x:uid:gid:描述家目录:shell程序

    超级用户 - root

    系统用户 1-499 1-999 普通用户 500-65535 1000-65535

    /etc/shadow

    uname:uid:密码:各种时间..

    /etc/group

    组:组密码:组ID:附加组

    /etc/gshadow

    /etc/skel

    这个目录下的文件均会被复制到每一个普通用户的家目录中,一般用来做警告;

    用户权限

     r w x

    执行

    4   2   1

    r 100

    w 010

    x 001

    chmod [a|o|g|u][+|-]文件

    chown :user10文件

    chown user10:文件

    chown user10:user10文件

    acl的授权管理:

    通过权限管理,给指定用户添加指定权限;

    setfacl --添加权限

    setfacl -m u:用户名:所添加的权限文件//文件- 定要是该用户的文件

    setfacl-x u:用户名文件//取消文件权限

    getfac

    查看acd添加的权限

    特殊权限位

    临时借权限:临时借权限;例如:有A B两个用户分别输入AA组和BB组; A创建了一个用户a.txt, B默认情况下去访问a.txt使用other; 但是,我如果想要越权,借用A的权限去访问a.txt,就需

    要将SUID位置位为1;同时也可以,去借SGID的权限去访问这个文件;

    粘黏位作用:授权给一个目录,在该目录下所有用户只能删除自己的文件,别人不能删除自己的文件; --给目录文件授予的;

    SUID

    chmod u+s 文件名 //授予SUID的特殊权限

    如果属主权限有x 显示为s

    如果属主权限没有x 显示为S

    SGID

    chmod u+s 文件名 //授予SGID的特殊权限

    如果属主权限有x 显示为s

    如果属主权限没有x 显示为S

    Sticky

    chmod o+t文件//授予粘粘位的特殊权限

    如果属主权限有t显示为s

    如果属主权限没有T显示为S

     sudu授权

    /etc/sudoers //在这个文件里面去添加权限即可;

    SU-

    sU

    sudo

    Linux磁盘管理

    磁盘的工作原理 -- 物理
      磁道 磁头 扇区 柱面
      
      磁盘的分类:机械盘(接口IO) 固态盘
       IO -- 串行sata scsi(iscsi)  并行ata
                FC二层协议  (施乐公司 POAR - 以太网 解释了面向对象的编程语言  图形界面)
     文件系统 -- 逻辑
      磁盘必须要有文件系统(数据存储) -- 数据库(数据管理平台)
      windows  fat32 ntfs exfat
      linux  单文件系统 -- ext2 3 4 xfs
      原理见图
       iNode -- 索引空间(文件属性)
       block -- 存储空间
       数据存储过程、数据复制过程、数据删除的过程
      fdisk -- 磁盘分区 parted
      mkfs -t
      mount -o remount,rw
                  -a                        /etc/fstab
      umount 过载点或者挂载文件
     动态管理--LVM 逻辑卷管理
      linux内核模块 -- dm 
       我们将一个或者多个磁盘融合起来,进行从新划分;
       首先,我们需要定义PV(物理卷)
       然后,再定义VG(卷组)
       最后,我们再从VG中获取空间--LV(逻辑卷)
      最大优点:
       可以自由删除或者添加空间,不再需要重新进行分区;
       pvcreate  vgcreate 命名  lv -l | -L 指定大小  -n 指定名字
       lvextend -- 添加磁盘空间
       lvreduce -- 删除磁盘空间
      最后一个操作:
       做镜像 lv 命令可以为lv逻辑分区做磁盘镜像;
       这个功能和数据库一块使用,实现数据被;
       lvcreate -n Morrie_LV -s -p r -L 1000M /dev/mapper/VGname-LVname
                     /dev/VGname/LVname
        

     磁盘冗余--RAID 磁盘管理
      (软RAID)linux内核模块 -- md
      廉价的冗余磁盘阵列
      独立的冗余磁盘阵列
       1、冗余
       2、提高读写性能
       raid0 -- 条带技术  磁盘1  磁盘2
       raid1 -- 镜像技术
       raid4 -- 校验盘 3快盘  (raid降级)
       raid5 -- 将校验值分别存储于多快盘上
       raid6 -- 二次校验
       raid10(好一点) raid01
       raid50
      硬raid -- 需要raid卡来实现
      软raid -- 在工作中不会做软raid,如果做:用磁盘去做raid即可(不要使用分区);
       mdadm -C /dev/md0 -l 1 -n 2 /dev/sdb1 /dev/sdb2 -x /dev/sdb3
       mdadm -S /dev/md0
       mdadm -D /dev/md0
       mdadm -A /dev/md0
       磁盘的命名: 
        md / sd / hd / vd
        a b c  sda sdb
        1 2 3 4 5 6 7 8 9 10 sda1 sda2
  • 相关阅读:
    猫眼 top_100 爬取 ___只完成了第一页
    内涵段子——脑筋急转弯——spider
    django 常用 详解
    获取定位信息
    对AFNetworking的二次封装
    对UIImageView+WebCache的封装
    CoreText 实现图文混排
    剖析RAC中的@weakify、@strongify
    实现点击按钮旋转动画
    java面向对象编程思想的理解
  • 原文地址:https://www.cnblogs.com/why098/p/11420455.html
Copyright © 2011-2022 走看看