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

Linux基础:Day02的更多相关文章

  1. day02 Linux基础

    day02 Linux基础 1.什么是服务器 服务器,也称伺服器,是提供计算服务的设备.由于服务器需要响应服务请求,并进行处理,因 此一般来说服务器应具备承担服务并且保障服务的能力. windows: ...

  2. Linux基础练习题(二)

    Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...

  3. 大数据每日干货第四天(linux基础之一目录结构与常用命令)

           为了和qq空间同步,也写的第四天,前面几天明天会发布,本来打算把每天学的东西记录下来,通过朋友给的建议要发的话稍微系统化下,从大数据需要的linux基础,到离线数据分析包括hadoop. ...

  4. Linux课程实践一:Linux基础实践(SSH)

    一.SSH服务 1. 安装SSH (1)查看是否已经安装过ssh服务 rpm -qa |grep ssh (2)进行安装 sudo apt-get install openssh-server Ubu ...

  5. 还是不想改报告,伊阿忆啊哟-Linux基础继续

    hi 虽然今天是最最美好的周六(前不着工作日后不着工作日),但老子还要来改报告,但额就是不想改,你拿我有啥办法啊... 争取完结Linux基础 一.Linux常用命令(三) 4.帮助命令 4.1 帮助 ...

  6. 原来今天是感恩节-Linux基础继续&MySQL和PHP

    hi 原来今天是感恩节.虽然一直没有过这个节日的习惯,但仅仅是听到感恩的消息,都能想到一幅幅画面.愿大家安好! 下午开题会议还是有所收获,悄悄的,就变向那个不喜欢自己的人了. 一.Linux基础(二) ...

  7. 买错的电影票,含着泪也得看-LAMP搭建&Linux基础

    hi 没说过,上周五室友过生请客,在龙湖里吃嗨了喝爽了,回去的路上侃侃而谈.说好的这周一起去看年内最后的大片,火星救援的,谁知道老子眼神不好,买错了电影的时间...把周六的约定提前到了今儿个下午,ma ...

  8. Linux基础3(文件权限)

    文件权限 1.普通权限 (登陆用户对文件或目录的读写执行的权限) 普通权限对管理员用户无效 文件和目录 都有4中类型的用户u 所有者 : 文件.目录的创建者g 所属组 : 文件.目录属于的用户组o 其 ...

  9. Linux课程实践一:Linux基础实践(基础操作)

    一.软件源维护 1. 基本操作 (1)查看源列表 sudo vim /etc/apt/sources.list deb:二进制软件安装包 deb-src:源码包 (2)备份软件源列表 sudo cp ...

  10. 实践一:Linux基础实践

    一.Linux基础实践 1.1 1. 掌握软件源的维护方法,配置系统使用软件源镜像.掌握通过软件源来查找,安装,卸载,更新软件的方法. 这部分内容在许多学长学姐的报告里都有很详细的讲解,我在此就不赘述 ...

随机推荐

  1. JS实战(京东秒杀)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 「newbee-mall新蜂商城开源啦」GitHub 上最热门的 Spring Boot 项目,我也要做一次靓仔!

    没有一个冬天不可逾越,也没有一个春天不会到来. 介绍一下新蜂商城的近况,同时,新蜂商城 Vue 版本目前也在开发中,在这篇文章里我也向大家公布一下新蜂商城 Vue 版本的开发进度,和大家同步一下,在不 ...

  3. 超实用的Flask入门基础教程,新手必备!

    Flask入门基础教程 Flask简介 Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活.轻便.安全且容易上手.它可以很好地结合MVC模式进行开发,开发人员分工合 ...

  4. 《Explaining and harnessing adversarial examples》 论文学习报告

    <Explaining and harnessing adversarial examples> 论文学习报告 组员:裴建新   赖妍菱    周子玉 2020-03-27 1 背景 Sz ...

  5. Django之路由层和视图层详解

    路由层 首先我们来看一下,路由层都有哪些东西,其实你看django很人性化,将所有的介绍都放在了简介里面,不信,你看

  6. Asp.Net Core 中IdentityServer4 实战之角色授权详解

    一.前言 前几篇文章分享了IdentityServer4密码模式的基本授权及自定义授权等方式,最近由于改造一个网关服务,用到了IdentityServer4的授权,改造过程中发现比较适合基于Role角 ...

  7. Hive数据倾斜的原因及主要解决方法

    数据倾斜产生的原因 数据倾斜的原因很大部分是join倾斜和聚合倾斜两大类 Hive倾斜之group by聚合倾斜 原因: 分组的维度过少,每个维度的值过多,导致处理某值的reduce耗时很久: 对一些 ...

  8. test命令的使用以及判断语法

    test命令 Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值.字符和文件三个方面的测试. 语法:test EXPRESSION 或者 [ EXPRESSION ] 字符串判断( ...

  9. Android菜单(menu)

    Android  菜单 我们继续来进行学习,今天写一下在软件中用的还算较多的菜单. 1.Menu 菜单,很显然,作用就是点击不同的选项触发不同的方法.现在在安卓使用中推荐使用ActionBar,但这里 ...

  10. C语言自学网官方微信相关功能使用方法

    一.微信扫描关注微信公众账号(C语言自学网),我们会不定时更新关于编程的技术文章和相关资讯,了解大佬的成长之路. 二.回复“C语言学习资料”,将显示由我们精心整理的全套C语言学习资料的下载地址及链接. ...