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. JVM进阶:JVM的监控利器

    每次聊起性能测试,最后的终极话题就是怎么做优化.其实在Java的复杂项目中都会有内存不足问题.内存泄露问题.线程死锁问题.CPU问题.这些问题在小压力的情况下有可能并不明显,很容易被忽视.但是真正到了 ...

  2. 学妹问的Spring Bean常用配置,我用最通俗易懂的讲解让她学会了

    你好呀,我是沉默王二,一枚有趣的程序员,写的文章一直充满灵气,力求清新脱俗.昨天跑去王府井的小米店订购了一台小米 10,说是一周之内能到货,但我还是忍不住今天就想见到她.见我茶不思饭不想的,老婆就劝我 ...

  3. R|tableone 快速绘制文章“表一”-基线特征三线表

    首发于“生信补给站” :https://mp.weixin.qq.com/s/LJfgxbTqsp8egnQxEI0nJg 生物医学或其他研究论文中的“表一”多为基线特征的描述性统计.使用R单独进行统 ...

  4. h5微信中视频禁止全屏

    <video id="videoPlayer" v-show="isShowVideo" class="video" ref=&quo ...

  5. 谈谈一些逻辑相同,性能差异却很大的sql

    总结写在前面: 1. 本篇讲述了三个例子,其本质都是揭示了若对索引字段做函数操作,可能会破坏索引值的有序性,由此优化器就决定放弃走树搜索功能. 2. 由第1点提供了一个优化思路,即我们能否避免或转化s ...

  6. Python-hashlib、OS、Random、sys、zipfile模块

    # print(sys.version) #python 版本 # print(sys.path) # print(sys.platform) #当前什么系统 # print(sys.argv) #当 ...

  7. 测试工程师需要了解的shell变量知识

    欢迎访问个人博客 什么是变量 本地变量:手动定义的,在当前系统的某个环境下才能生效,作用范围小 普通变量: 单引号:原字符输出,变量名='变量值' ➜ shell name='tom' ➜ shell ...

  8. JWT签发token

    目录 一. 认证的发展历程简介 二. JWT签发Token源码分析 2.1 JWT工作原理及简介 2.2 JWT生成token源码分析 返回目录 一. 认证的发展历程简介 这里真的很简单的提一下认证的 ...

  9. 第四周java实验

    实验四 类与对象的定义及使用 实验时间 2018-9-20 1.实验目的与要求 (1) 理解用户自定义类的定义: 类是具有相同属性和行为的一组对象的集合.java中,用构造器构造并初始化对象. 类是构 ...

  10. JDBC(四)----数据库连接池

    ##  数据库连接池 *  概念:其实就是一个容器(集合) *  当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后会将连接对象归还给容 ...