DAY11-12

2019-03-17  本文已影响0人  余仔丶

左脑如何进入右脑

1.及时复习、复述

2.分类记忆(命令思维导图方法)

3.框架思维

人品

态度

能力

image image image

符号链接(symbolic link)文件,也称软链接(soft link)

以l开头是软链接,软链接是一种快捷方式:

创建软链接:ln -s oldboy.txt oldboy_soft_link

                  cat oldboy_soft_link

实例:[root@localhost.localdomain

~]# ln -s 1.txt 1.12.txt_soft_link

  备注:1.txt ( 文件名)

            1.12    软链接名称(自由设置)

[root@localhost.localdomain

~]# cat 1.12.txt_soft_link

woshi keyan

删除:rm

4.字符(character)/块(block)设备文件

以C开头的就是字符设备(猫等串口设备)

以b开头的就是块设备(硬盘、光驱是块设备的代表)

image

5.套接口(socket)文件

以s开头:sock文件也是一类特殊的文件,这类文件通常用在网络之间进行数据连接,如我们可以启动程序来监听客户端的请求,客户端可以通过套接字来进行数据通信。

image

which 命令

实例:[root@localhost.localdomain

~]#which cp

alias cp='cp -i'

/usr/bin/cp

备注:如果有别名会显示别名

image

重点:

PATH变量

$PATH 命令行执行命令会从PATH对应的路径中查找命令

例如:[root@localhost.localdomain

~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

PATH 对应的路径中没有这个命令就会报command not found

whereis:显示命令、源码、说明文档等的路径

只查找二进制命令

例如:[root@localhost.localdomain

~]# whereis cd

cd: /usr/bin/cd /usr/share/man/man1/cd.1.gz

-b 查找可执行文件

例如:[root@localhost.localdomain

~]#whereis -b cd

cd: /usr/bin/cd

image

locate:快速定位文件路径

查找文件路径,是从数据库A(/var/lib/mlocate/mlocate.db)里查询

更新A数据库用updatedb

c7默认没安装,可不学

备注:找指定Yum安装命令(查看命令对应的软件包)

image

6.find: 查找目录下的文件*****

查找原理:磁盘遍历(从硬盘里一个个查找),速度慢。

[root@localhost.localdomain

~]# find ~ -name "keyan"

      路径    名字参数  具体文件

/root/keyan

image

模糊查找 用*表示所有

[root@localhost.localdomain

~]# find / -name "ifcfg*"

按文件类型查找-type

[root@localhost.localdomain

~]# find / -type f -name "ifcfg*"

查找目录 -d

[root@localhost.localdomain

~]# find / -type d -name "ifcfg*"

-type c

          File is of type c:

          b      block (buffered) special

          c      character (unbuffered) special

          d      directory

          p      named pipe (FIFO)

          f      regular file

          l      symbolic link; this is never true if the -L option or the -follow option  is  in  effect,

                 unless  the symbolic link is broken.  If you want to search for symbolic links when -L is

                 in effect, use -xtype.
image

如果取并集即或者用-o分割查找的项(-o 表示或的关系,表示前后两个条件满足其中一个即可)

image

-a and 并且

例如: find ~ -type f -a -name "1.txt"

-o or 或者

例如:[root@localhost.localdomain

~]#find ~ -type f -o -name "1.txt"

! 取反

[root@localhost.localdomain

~]# find ~ -type f ! -name "keyan6.txt"

取反:

[root@oldboyedu /data]# touch oldboy{1..10}.txt

[root@oldboyedu /data]# ls

oldboy10.txt oldboy2.txt oldboy4.txt oldboy6.txt oldboy8.txt

oldboy1.txt oldboy3.txt oldboy5.txt oldboy7.txt oldboy9.txt

[root@oldboyedu /data]# find /data -type f

/data/oldboy1.txt

/data/oldboy2.txt

/data/oldboy3.txt

/data/oldboy4.txt

/data/oldboy5.txt

/data/oldboy6.txt

/data/oldboy7.txt

/data/oldboy8.txt

/data/oldboy9.txt

/data/oldboy10.txt

[root@oldboyedu /data]# find /data ! -type f

/data

[root@oldboyedu /data]# mkdir {a..d}

[root@oldboyedu /data]# find /data ! -type f

/data

/data/a

/data/b

/data/c

/data/d

-exec 对查找的结果再处理

image

[root@oldboyedu /data]# find /data -type f -exec ls -l {} ;

-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy1.txt

-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy2.txt

-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy3.txt

-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy4.txt

-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy5.txt

-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy6.txt

-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy7.txt

-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy8.txt

-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy9.txt

-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy10.txt

image image

xargs 分组

[root@oldboyedu /data]# echo {1..10} >test.txt

[root@oldboyedu /data]# cat test.txt

1 2 3 4 5 6 7 8 9 10

[root@oldboyedu /data]# xargs -n 3 <test.txt

1 2 3

4 5 6

7 8 9

10

[root@oldboyedu /data]# xargs -n 4 <test.txt

1 2 3 4

5 6 7 8

9 10

[root@oldboyedu /data]# xargs -n 5 <test.txt

1 2 3 4 5

6 7 8 9 10

-d 指定分隔符,不指定默认空格

image image

备注:少用管道,效率低,

image

[root@oldboyedu /data]# cat test.txt

a.b.c.d

[root@oldboyedu /data]# echo "Oldboy" >test.txt

[root@oldboyedu /data]# echo "Oldgirl" >>test.txt

[root@oldboyedu /data]# echo "Oldboedu" >>test.txt

[root@oldboyedu /data]# echo "Oldboyedu" >>test.txt

[root@oldboyedu /data]# cat test.txt

Oldboy

Oldgirl

Oldboedu

Oldboyedu

[root@oldboyedu /data]# cat test.txt|grep "boy"

Oldboy

Oldboyedu

[root@oldboyedu /data]# grep "boy" test.txt

Oldboy

Oldboyedu

[root@oldboyedu /data]# ifconfig|grep 10

    inet 

10.0.0.201 netmask \255.255.255.0 broadcast

10.0.0.255

    ether 00:0c:29:2a:ca:54  txqueuelen 1000  (Ethernet)

    inet6 ::1  prefixlen 128  scopeid 0x10<host>

    loop  txqueuelen 1000  (Local Loopback)

[root@oldboyedu /data]#

[root@oldboyedu /data]# ifconfig|grep 10|grep 201

    inet 

10.0.0.201 netmask

255.255.255.0 broadcast

10.0.0.255

管道使用

[root@oldboyedu /data]# find /data -type f -name "oldboy*" -mtime -7 -exec ls -l {} ;

-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy1.txt

-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy2.txt

-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy3.txt

-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy4.txt

-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy5.txt

-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy6.txt

-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy7.txt

-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy8.txt

-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy9.txt

-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy10.txt

[root@oldboyedu /data]# find /data -type f -name "oldboy*" -mtime -7|xargs ls -l

-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy10.txt

-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy1.txt

-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy2.txt

-rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy3.txt

删除:

image

接啥执行啥

[root@oldboyedu /data]# find /data -type f|xargs rm -f

[root@oldboyedu /data]# ll

total 0

drwxr-xr-x. 2 root root 6 Mar 14 10:40 a

drwxr-xr-x. 2 root root 6 Mar 14 10:40 b

drwxr-xr-x. 2 root root 6 Mar 14 10:40 c

drwxr-xr-x. 2 root root 6 Mar 14 10:40 d

[root@oldboyedu /data]# touch oldboy{1..5}.txt

[root@oldboyedu /data]# ls

a b c d oldboy1.txt oldboy2.txt oldboy3.txt oldboy4.txt oldboy5.txt

[root@oldboyedu /data]# find /data -type f -exec rm -f {} ;

[root@oldboyedu /data]# ls

a b c d

删除:

find /data -type f -exec rm -f {} ;

相当于

rm -f oldboy1.txt

rm -f oldboy2.txt

rm -f oldboy3.txt

效率低。

find /data -type f|xargs rm -f

只是一条命令

rm -f oldboy1.txt oldboy2.txt oldboy3.txt

[root@oldboyedu /data]# find /data -type f|xargs -i cp {} /opt

[root@oldboyedu /data]# ls /opt/

oldboy1.txt oldboy2.txt oldboy3.txt oldboy4.txt oldboy5.txt

image

+未来

[root@oldboyedu /data]# date +"%Y-%m-%d %H:%M:%S"

2020-10-01 00:09:36

[root@oldboyedu /data]# date +"%F %T"

2020-10-01 00:09:39

打包 压缩

打包 框 放文件 压缩体积降低

文件压缩,大小会降低

tar *****

打包:

语法:

tar 参数 框 (压缩包)苹果(被打包的文件)

打包集合参数zcvf:

压缩包名字:data.tar.gz tar表示打包,gz表示gzip格式压缩

打包过程实例:

cd ~

[root@localhost.localdomain

~]#mkdir /data

mkdir: cannot create directory ‘/data’: File exists

[root@localhost.localdomain

~]# cd /data

[root@localhost.localdomain

/data]#touch {1..5}.txt

[root@localhost.localdomain

/data]#ls

1.txt 2.txt 3.txt 4.txt 5.txt

[root@localhost.localdomain

/data]#cd ..

[root@localhost.localdomain

/]# tar zcvf /opt/data.tar.gz ./data

./data/

./data/1.txt

./data/2.txt

./data/3.txt

./data/4.txt

./data/5.txt

[root@localhost.localdomain

/]# tar -tf /opt/data.tar.gz

./data/

./data/1.txt

./data/2.txt

./data/3.txt

./data/4.txt

./data/5.txt

[root@localhost.localdomain

/]#

解压过程:

image

指定位置:

image image image

![image](https://img.haomeiwen.com/i16833016/a21d3e6629ea0dbf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/700/format/webp

day12

1.相信可能你就无限可能,相信不可能,就自废武功。

为什么会缺乏自信?

对自己的能力不认可

学历不高,自动不自信

学历不高,既成事实

现在不自信,一辈子背着不自信的枷锁。

不管别人怎么看我们,我们要有一些自信。

自信是人成功的必备前提。——老男孩

自信一点,能力不够,就获得机会了。

祸从口出,病从口入。

永远不要在背后说别人坏话(当面直说),如果非要说说好话。

人品、态度、能力、价值

人品是根本

态度是原则

能力是基础

价值是砝码:给老板赚钱

作为运维人员怎么为老板赚钱?

1、买设备、买带宽、云服务 花钱

省了5玩,创造了50玩流水

传统企业3-10%,10%

要有正确的价值观,作为人何为正确?

2.CDN网站加速,网站图片被盗链。

几个小时27T流量,500M的带宽,1G-2G

损失10几万一个月。创造了100多万流水。

勇于承担责任,才是能力变强的最佳捷径。

要想比人人强,永远要比别人多做一点点,早做一点点。

半步领先

排除:

image image

排除:

image image

用户:管理linux系统而存在的。

用户一般分为用户名和用户ID(INDENTIFY)

相当于我们的名字和身份证,名字和学号。

linux 用户名是为了方便管理员使用,用户ID是唯一区别一个用户(计算机只识别ID_(

user UID

linu里所有的用户和进程都要有用户对应。

文件存在必须对应用户

进程运行必须应用用户

linux用户分为三类:

1.超级管理员 root

权限堪称皇帝。UID为0,换句话,UID为0的都有皇帝对应的权限

查用户的id id root

image

不要修改ID为0变管理员。

作业:root密码丢失了如何找回来?

下节课讲

2.虚拟用户 (傀儡)

实际存在的用户,但是又不允许它登录。

价值何在?

它能够满足相应的进程运行属主的要求,但是又不会带来管理风险。

UID 1-499

3.普通用户

实际存在的用户,又允许它登录。管理员身份创建的帮助管理员管理系统的

大臣、臣民一起管理。

权限仅仅限制家目录,在一些系统级目录可读不可写,不可以进入/root 目录

UID c7 1000起步 C6 500起步

[root@localhost.localdomain

/data/oldboy]#useradd oldgirl

tail /etc/passwd

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin

dbus:x:81:81:System message bus:/:/sbin/nologin

polkitd:x:999:998:User for polkitd:/:/sbin/nologin

tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin

abrt:x:173:173::/etc/abrt:/sbin/nologin

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

oldgirl:x:1000:1000::/home/oldgirl:/bin/bash

image

用户组:集合、组织

人的家庭、老男孩58期

linux里每个用户都必须要有一个组织。这个组织就叫做用户组

用户组也是给人看,用户组也有唯一表示,Group ID jiancheng GID

默认情况下创建用户,并没有创建用户组,它会自动创建一个和用户名相同的用户组以及相同的GID。

举例:

image

用户和用户组的对应关系

1.1对1

2.一个用户可以对应多个用户组

3.多个用户可以对应一个用户组

4.多对多

image

文件权限:严格的权限,linux安全权限严格。

rwxr-xr-x

9个字符

r read 可读取 4

w write 可写 2

x execute 可执行 1

. 表示selinux

字符分组:三个字符是一组

image

789列:文件的最后修改时间

文件时间有三种:

修改时间:modify ,文件内容被改过之后的时间。

访问时间:access ,文件内容北方问过的时间

变化时间:change,文件属性发生改变的时间。

ls -l 默认显示的是修改时间

stat 查看三个时间

例如:test@woshi

~]$ stat /etc/hosts

File: ‘/etc/hosts’

Size: 158 Blocks: 8 IO Block: 4096 regular file

Device: 803h/2051d Inode: 16819633 Links: 1

Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)

Context: system_u:object_r:net_conf_t:s0

Access: 2019-03-14 20:15:10.016483346 +0800

Modify: 2013-06-07 22:31:32.000000000 +0800

Change: 2019-03-04 21:30:45.505030856 +0800

Birth: -

拿字符权限:

[test@woshi

~]$ stat -c %A /etc/hosts

-rw-r--r--

修改时间具体例子

例子:

[root@oldboyedu /data]# echo oldboy>>test.txt

[root@oldboyedu /data]# stat test.txt

File: ‘test.txt’

Size: 14 Blocks: 8 IO Block: 4096 regular file

Device: 803h/2051d Inode: 33656257 Links: 1

Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)

Context: unconfined_u:object_r:default_t:s0

Access: 2020-10-01 11:07:28.953508888 +0800

Modify: 2020-10-01 11:07:53.119507988 +0800

Change: 2020-10-01 11:07:53.119507988 +0800

Birth: -

[root@oldboyedu /data]# cat test.txt

oldboy

oldboy

[root@oldboyedu /data]#cat test.txt

oldboy

oldboy

[root@oldboyedu /data]#stat test.txt

File: ‘test.txt’

Size: 14 Blocks: 8 IO Block: 4096 regular file

Device: 803h/2051d Inode: 33656257 Links: 1

Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)

Context: unconfined_u:object_r:default_t:s0

Access: 2020-10-01 11:08:32.147506535 +0800

Modify: 2020-10-01 11:07:53.119507988 +0800

Change: 2020-10-01 11:07:53.119507988 +0800

Birth: -

[root@oldboyedu /data]# chmod +x test.txt

[root@oldboyedu /data]#stat test.txt

File: ‘test.txt’

Size: 14 Blocks: 8 IO Block: 4096 regular file

Device: 803h/2051d Inode: 33656257 Links: 1

Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)

Context: unconfined_u:object_r:default_t:s0

Access: 2020-10-01 11:08:32.147506535 +0800

Modify: 2020-10-01 11:07:53.119507988 +0800

Change: 2020-10-01 11:08:57.442505593 +0800

Birth: -

显示修改时间的例子:

[test@woshi

~]$ ls --time-style=iso -l

total 12

-rw-rw-r--. 1 test test 7 03-15 11:41 test.txt

-rw-rw-r--. 1 test test 7 03-15 11:41 tets.txt

-rw-rw-r--. 1 test test 7 03-15 11:41 text.txt

[test@woshi

~]$ ls --time-style=long-iso -l

total 12

-rw-rw-r--. 1 test test 7 2019-03-15 11:41 test.txt

-rw-rw-r--. 1 test test 7 2019-03-15 11:41 tets.txt

-rw-rw-r--. 1 test test 7 2019-03-15 11:41 text.txt

[test@woshi

~]$

ls参数:

-t modify,文件内容被改过之后的时间。

-c change,文件属性发生改变的时间。

-a access,文件内容被访问过的时间。

image

第一列:

表现形式是数字 33631841 叫做文件的索引节点(Index Node)

类似人的身份证,索引节点是文件在系统中的唯一表示。

找一个文件最终都要通过索引节点才能找到。

索引节点的概念是处在ext文件系统中(ext 2 ext4 ext3)

索引节点是硬盘上的一块存储空间。大小256字节或512字节(这取决于系统)

索引节点里存放是数据是文件的属性(大小,访问时间,权限,用户和组)等。

在索引节点里,唯独不包含文件名。(文件名在上级目录的block里)

磁盘要想使用,先分区,格式化(创建文件系统)。

格式化创建文件系统时:就会生成大量inode和block (只要分区就会存在)

inode作用用于存储文件的属性信息,同时存放指向文件的指针(类似于软链接)。

block 作用是存放文件内容的(大片)。

读文件的过程:先看是否有权限,然后再读内容

image

文件系统的原理:

image image

Block叫做磁盘块,是用来存放实际数据的实体单元(ext文件系统一般最大为4KB),即用来真正存放数据,例如:照片、视频等普通文件数据,单个大的文件需要占用多个Block块来存储,特别小的单个文件如果不能占满整个Block块,剩余的空间也无法在利用。

image

一个Block 最多只能存一个文件的内容,一个block 4k ,放了一个0.1k文件,剩下3.9k浪费

df -i 查看分区对应的inode

image

磁盘满原因有两种:

1.inode满了。

2.block 满了。

提示:

报错:no space left on device 没有空间在设备上了

磁盘满了。

检查步骤:

步骤1:df -h

步骤2:df -i 看是不是inode满了

为什么inode回满?

小文件太多

初始化时候 block数量远大于inode数量。

上一篇下一篇

猜你喜欢

热点阅读