fushuanglin

linux'基础

 

https://m.luffycity.com/linux-book/Linux基础/Linux云计算运维工程师.html

一:dell服务器

 

 

 

 二:buffer和cache的区别

写入(缓冲区)

数据-->内存(buffer)-->磁盘

读取(缓存区)

读取<--内存(cache)<--磁盘

 

三:解决数据丢失的方法:

  1. 服务器主板上安装蓄电池,在断电后宕机前瞬间把内存的数据会写到磁盘
  2. UPS(一组蓄电池)不间断供电
  3. 双路电机房,使用双电源,分别接不同路的电,以及将服务器放到不通的机柜,将企业业务放置到不通的地区
  4. 柴油发电机+油罐

 

四:

随机存储:随意写入和读取,效率低(使用消息队列将其变为顺序存储可以提高效率)

顺序存储:按一定的顺序写入和读取,效率高

 

五:Raid(磁盘阵列卡)

  1. 可以吧所有硬盘整合到一起(扩充容量)
  2. 可以保证数据安全(数据冗余)
  3. 可以提升读写性能
  4. Raid级别(整合方式)raid0,raid1,raid5,raid10

Raid0原理:把多块盘整合成一块盘,容量相加,性能提升,但没冗余,(对整个raid0做备份及实现冗余及raid10)

Raid1原理:只能双盘整合到一起,50+50=50,实现百分之百冗余,性能为单盘性能,

Raid10原理:两个raid0使用raid1原理组合到一起

服务器托管在idc机房,通过远程控制卡控制服务器

远程控制卡分为集成/独立远程控制卡,集成的无法显示开关机过程,服务器左下角黄色的网线为远程控制卡网线

 

 

 

六:企业真正dell服务器硬件拆卸介绍视频

http://v.qq.com/page/g/x/y/g616789xvxy.html

 

七:专业和不专业的差别

http://blog.51cto.com/oldboy/2083789

 

八:快速学会画逻辑架构图(要钱)

http://edu.51cto.com/course/course_id-4991.html

 

 

 九:

冯洛伊曼计算机结构

  1. 计算机由计算器,控制器,存储器,输入设备,输出设备组成
  2. 以二进制的形式表示数据和指令
  3. 程序预先存入存储器中,使计算机在工作中能自动的从存储器中取出程序指令病甲乙执行

 

 

 

 

 

十:数据转换关系

1Byte=8bit

1kb=1024b

1gb=1024kb

 

 

十一:进制转换:

十进制转任何进制都是除以r进制数至商0倒序取余数,小数部分乘以r取整数,用取整剩余的小数部分继续乘以r,直到乘以r为整数或达到要求的精度

 

二级制转十进制:

1001

1*2~3+1*2~0

 

二进制转八进制

1001

001 001

1*2~0 1*2~0=11(八进制转2进制每一位除以2取余,没有3位用0)

 

二进制转十六进制

11001

0001 1001

1*2~0   1*2~3+1*2~0 =19(十六进制转2进制同八转二,没有4位用0)

 

八进制,十六进制转十进制

226()

2*8~2+2*8~1+6*8~0(十六进制同理)

 

 

十二:Linux操作系统组成

 

linux内核

GUN组件(gcc,bash)

其他必要应用程序

开发者linus Torvalds

项目发起人 Richard Stallman

BSD Unix和X Windows

 

 

 

十三:Linux下载:

Mirrors.163.com

Mirrosrs.aliyun.com

 

 

十四:域名购买:新网

 

 

十五:修改CentOS7网卡名称为传统名称eth0格式

在图形安装界面:

tab键进入内核参数配置界面

手工输入: net.ifnames=0 biosdevname=0

回车

https://blog.51cto.com/oldboy/1722101

nmtui:可修改网卡相关信息

 

 

十六:Installation summary

Network & host name

Configure

General:automatically connect to this network when it is available

Ipv4 settigs:

Method:manual

Address:10.0.0.200

Netmask:255.255.255.0

Getway:10.0.0.254

Dns servers:223.5.5.5

 

 

 

十七:Linux磁盘命名

IDE:hd开头,第一快盘hda,第二块盘hdb...

SAS/SATA/SSD:sd开头,第一块盘sda,第二块盘sdb

 

Windows分区独立,c,d,e

 

Linux目录结构:有一个顶点,根,即/

Linux每个目录都可能是一个分区

 

 十八:linux分区

普通linux分区方式

/根分区:linux系统必须有的,相当于windows的c盘,系统程序相关的

/boot分区:存放内核相关程序,linux5,6给200m,linux7给256m工作中(1-2g)

Swap分区:虚拟分区,作用是内存不够的时候,系统就会把swap当做内存用,物理内存8g,swap为8g,小于8g,swap为物理内存的1.5倍

 

LVM:逻辑卷管理(动态分配主机磁盘大小的工具),高并发时性能下降,使用软件实现的磁盘管理功能

不要选择lvm,选择standard partition

 

分区顺序:

/boot 256m

Swap  768m

/

 

十九:如果在安装过程中落下了备份包组,使用yum进行安装

补充安装yum group install “Compatibility libraries” “Base” “Development tools”

补充安装 yum group install “debugging Tools””Dial-up Networking Support”

通过yum groupinfo 包组名,查看具体安装的包组组件

 

Windows管理员 administrator

linux管理员 root

 

二十:虚拟机不能连接外网解决方案:https://blog.csdn.net/flynetcn/article/details/85954357

 

看内核:uname -r

ip地址:ip add

看网关:ip route

 

查看网卡配置文件

cat /etc/sysconfig/network-scripts/

重启网卡命令

systemctl restart network

查看dns设置命令

cat /etc/resole.conf

nmtui可图形化配置网卡(c6 使用setup)

 

 

二十一:更改yum源,下载软件的安装源

curl -s -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/Centos-7.repo

 

或者用yum安装一个下载的工具

yum install wget -y

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

 

把软件更新到最新

yum update -y

 

二十二:centos6,centos7都要安装的企业运维常用哪个基础工具包

yum install tree nmap dos2unix lrzsz nc lsof wget tcpdump htop iftop iotop sysstat nethogs -y

解释:

tree:以树形结构显示文件目录

nmap:扫描端口的工具

dos2unix:转换脚本格式的工具

lrzsz:包含上传(rz)下载(sz)文件工具

nc:文件传输,端口检查工具

lsof:反查端口进程,以及服务开发文件工具

wget:下载软件包工具

tcpdump:抓包,监听等重要排错工具

htop:系统进程相关信息查看工具

iftop:查看主机网卡带宽工具

sysstat:含有sar,iostat等重要系统性能查看工具

nethogs:显示进程的网络流量

 

centos7要安装的企业运维常用基础工具包

yum install psmisc net-tools bash-completion vim-enhanced -y

解释:

psmisc:含有killall,pstree等命令

net-tools:含有netstat,ifconfig,route,arp等命令

bash-completion,bash-completion-extras:tab补全功能工具包

vim-enhancced:vim编辑器工具包

 

二十三:安装遗漏的包组

yum groups markconvert

yum grouplist  #查看所有的包组名称,包括以安装的和未安装的

yum groupinstall "Cninamon" -y

 

二十四:linux挂载:http://c.biancheng.net/view/2859.html

https://www.cnblogs.com/congcongdi/p/10138074.html

 

 

二十五:安装lrzsz

yum install lrzsz

上传rz

下载sz

 

二十六:生产场景中服务器分区

(1)普通分区方式

/boot:引导分区

swap:内存大于8g给8g,小于8g给1.5倍内存

/:给所有空间

上边使用条件:数据不重要或者有实时备份

内部人员发布数据,同时发布到两台以上生产服务器里,是三个备份

外部用户写入数据,同时发布到两台服务器后面共享的服务器上(对共享服务器做备份)

 

(2)存储服务器的分区方式(含数据库):
在普通分区方式的基础商上多加一个/data

 /:100g

/data:剩余空间给数据分区

 

(3门户网站的分区方案)

在(2)的基础上,剩余空间保留,未来什么地方使用就继续分区

 

二十七:ip地址:

互联网上的计算机都会有一个唯一的32位地址,这个ip地址就相当于服务器的躲在位置

局域网(只在我们目前环境生效)里也有预留ip地址,通常以192.168.0.0/172.16开头,每个局域网内的ip地址也是唯一的

 

私网:办公室局域网内使用的地址,不能在互联网上使用

192.168

172.16

10.0.0

 

二十八:端口的概念:

ip地址唯一标识一台计算机

端口:一台计算机里唯一标识一个服务的数字(不通软件运行的服务用端口区分)

协议:计算机之间的通信方式(语言),采用相通的协议进行沟通

 

 

 

 

二十九:连接linux

服务:ssh服务 security shell

[root@localhost myusb]# rpm -qa openssh openssl
openssh-7.4p1-21.el7.x86_64#ssh服务端软件

openssl-1.0.2k-19.el7.x86_64#连接和传输过程中加密

包含客户端和服务端

服务端:openssh(rpm -qa openssh openssl)

 

 

服务端运行的ssh服务#ps -ef|grep ssh

[root@localhost myusb]# ps -ef|grep ssh
root 1363 1 0 Nov02 ? 00:00:00 /usr/sbin/sshd -D

 

 

协议:ssh

端口:22

ss -lntup|grep ssh

[root@localhost myusb]# ss -lntup|grep ssh
tcp LISTEN 0 128 *:22 *:* users:(("sshd",pid=1363,fd=3))

查ip:ipadd

查端口:ss -lntup|grep ssh

netstat -lntup

服务停止:systemctl stop sshd.service

开启服务:systemctl start sshd.service

 

三十:ssh连接故障排查:

1.ip add 或ifconfig

2.ss -lntup|grep ssh 或netstat -lntup

3.ps -ef|grep ssh

ping不通:地址或物理链路有错误(vm环境编辑虚拟网络机器)

能ping通:telnet 10.0.0.200  22#检查有没有开启服务,若telnet连不上服务端开启了防火墙(6:iptables,7:firewall)

查看防火墙状态:systemctl status firewalld.service

关闭防火墙:systemctl stop firewalld.service

防火墙开机自动启动开启/关闭:systemctl enable firewalld.service/systemctl disable firewalld.service

 

三十一:linux命令行提示符介绍

#代表超级管理员

$代表普通用户

临时更改PS1

PS1='[\u@\h \W \t]'

永久更改PS1:通过全局配置文件/etc/bashrc或者/etc/profile按需进行配置和调整

 

三十二:linux快捷键

tab:补全

Ctrl + a:光标移至开头*

Ctrl + e:光标移至结尾*

Ctrl + f:光标向右移动一个字符

Ctrl + b:光标向左移动一个字符

Ctrl + u:剪切,光标处到行尾字符*

Ctrl + k:剪切,光标处到行首字符*

Ctrl + y:黏贴

Ctrl + insert:复制*

shift + insert:黏贴*

Ctrl + c:中断*

Ctrl +d:退出当前shell命令行*

ctrl + r:搜索命令行使用过的历史命令记录*

esc + . :获取上一条命令的最后部分(空格分隔)*

ctrl + l:清屏

ctrl +z暂停执行在终端的任务

ctrl + q:解锁

ctrl +s:锁定

!pw:执行最近以pw开头的命令

 

三十三:linux查找帮助

man 命令

命令 --help

普通命令是系统中存在的文件

内置命令在系统中不存在文件,存在于bash解释器里

 

三十四:linux关机重启注销命令

shutdown -r now #-r代表reboot

reboot

restart

shutdown -h now #-h代表halt,直接关机

 

三十五:linux命令操作语法格式

命令 [参数选项] [文件或路径]

rm -rf /etc/hosts

 

三十六:linux基础命令

pwd:print working directory

cd :change directory

cd - :去上一次所在的目录

cd ~ :去当前用户的家目录

 

ls:list显示目录下内容

-l:长格式显示目录下内容

-a:显示所有文件,包含隐藏目录

-d:显示目录

 

cp:copy files and directores/默认值复制文件

cp [OPTION]... SOURCE... DIRECTORY

-r:递归复制

-p:保持文件属性

-a:递归拷贝文件保持文件属性和链接

-f:强制拷贝

-i:确认(系统默认添加)

复制的时候如何不提示直接覆盖

1.命令前加反斜线:\cp fsl.txt /opt/test/

2.命令全路径:/bin/cp fsl.txt /opt/test/

常用选项组合:cp -aprf

 

 

alias查看或设置别名

alias cp='cp -i'

 

unalias:取消别名

unalias cp

 

相对路径:不以/开头

绝对路径:以/开头

 

tree /boot #树形目录

tree -L 1 /boot #制定能够层数

-d #只显示目录

 

mkdir #make directory

mkdir -p /oldboy/test #递归创建目录

 

touch #创建文件,对于重复的文件忽视

{}#生成数字或者字母序列

touch {1..100}.txt #批量创建

 

rm :remove删除文件或目录

-f:强制删除

-r:递归

如何防止误删数据,用mv或find替代,为rm设置别名

alias rm='echo 不允许使用rm命令'

 

mv:移动目录或文件,默认也会提示覆盖,也可取消别名

-t:mv -t  /opt/ c.txt ==mv c.txt /opt

 

echo:输出

-n:不换行输出

-e:支持转义字符

  \t 代表tab

  \n 回车换行

echo $PS1

 

 

 

 

 三十七:linux目录结构

/ #存放系统相关程序

/usr #存放unix系统商(比如IBM和HP)开发的程序,unix software resource

/usr/local #存放用户自己安装的程序,相当于c:/program files,一般采用编译方式安装软件时默认的路径,而yum或rpm包的默认安装路径一般不在这里

/opt  #存放第三方厂商开发的程序,option

/home #存放用户的数据,普通用户的老家(家目录)

/tem #临时目录

/dev #设备文件的目录,比如声卡光盘

/etc #二进制软件安装包(yum,rpm)等配置文件默认路径,centos6下 服务启动命令存放的目录,主要在/etc/init.d/下

/lib #启动系统和运行命令所需的共享库文件和内核模块存放目录,例如/bin和/sbin下的某些命令

/sbin #大多涉及系统管理命令的存放,是超级权限用户root可执行命令的存放地,一般最好通过sudo让普通用户执行这些命令,常见命令有fdisk,reboot,fsck,halt

/srv #给用户使用的数据放这里

/var #variable data,变量,系统缓存等

/proc #虚拟的文件系统,存放进程和内核信息的目录

/sys #比/proc更先进的虚拟文件系统路径

/run #正在运行进程相关信息的文件

/
├── *****bin -> usr/bin
├──***** boot
├── *****dev
├── *****etc
├── fsl.txt
├── *****home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── *****mnt
├── opt
├── *****proc
├──***** root
├── run
├── *****sbin -> usr/sbin
├── srv
├── sys
├── test
├──***** tmp
├── *****usr
└── *****var

 

/etc 系统初始化及设置相关重要文件

/etc.sysconfig/network-scripts/ifcfg-eth0:网卡配置文件

c7:nmtui#图形化配置网卡文件

c6:setup

DNS:域名解析

cat /etc/resolv.conf:linux系统客户端配置文件,基本废弃,由网卡文件中的DNS代替

/etc/hosts #系统本地DNS解析文件,优先于网卡文件,用于局域网开发测试解析

/etc/fstab #配置开机自动挂载的文件,例如U盘开机自动挂载

 

设置开机自动挂载光盘
查看设备#blkid

[root@localhost etc]# blkid
/dev/sr0: UUID="2020-04-22-00-54-00-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/sda1: UUID="7e0ea868-f650-4a51-96c5-f1b678064e9a" TYPE="xfs"
/dev/sda2: UUID="32bc5e8c-92e3-4279-95de-b689b989dfa0" TYPE="swap"
/dev/sda3: UUID="a9a40b6e-cb76-471e-b0da-edbb7ad50d8f" TYPE="xfs"

编辑/etc/fstab
vim /etc/fstab

UUID=a9a40b6e-cb76-471e-b0da-edbb7ad50d8f / xfs defaults 0 0
UUID=7e0ea868-f650-4a51-96c5-f1b678064e9a /boot xfs defaults 0 0
UUID=32bc5e8c-92e3-4279-95de-b689b989dfa0 swap swap defaults 0 0
UUID=2020-04-22-00-54-00-00 /media iso9660 defaults 0 0

 

/etc/rc.local #存放开机自启动程序命令的文件/etc/rc.local -> rc.d/rc.local

c7的特殊:需要加执行权限#chmod +x /etc/rc.d/rc.local  #先使得此文件能够运行,加执行权限

 

 

2020-11-18

/etc/profile及/etc/bashrc #配置系统的环境变量/别名等文件

各种配置的永久配置文件

生效条件2选1:source执行此文件,退出重新登录

例如:alias rm='echo no command rm'

环境变量文件生效顺序

 

 

 

 

查看内核版本信息

 

 

 >表示清空,不可还原

 

 

 

 

 

 

 

 

/etc/motd #配置用户登录系统后显示提示内容的文件

 

 

 

 

 

 

 

 

 

 

/etc/sysctl.conf #linux内核参数设置文件

linux系统内核的配置和优化

 

 

/etc/redhat-release #查看系统版本

 

 

 

 

 

 

 

 

 

/etc/inittab

 

 

查看c6/7默认级别

c6 #runlevel

c7 #systemctl get-default

 

 c7设置默认级别

 

c6设置默认级别

 

2020-11-19

/etc/hostname#主机名配置文件

临时修改:hostname aaa

c6#/etc/sysconfig/network

 

 

 

/etc/sysctl.conf

 

 

/usr #目录

 

 

/var 目录

 

 

/var/log/secure #用户登录信息(安全日志文件)

/var/log/dmesg #记录硬件信息加载情况的日志文件

 

/proc 下重要路径知识

/proc/meminfo #查看内存   free -m

/proc/cpuinfo  #查看cpu

/proc/loadavg #查看负载(系统繁忙程度的综合指标)  uptime

 

 

/proc/mounts #查看当前挂载信息

 

三十八:c6 linux启动流程

参考#https://www.cnblogs.com/diantong/p/10734202.html

 

 

 2020-11-20

 c7 linux启动流程

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

三十九:

vi/vim #纯文本编辑器

 

 

 

 :set nu #显示行号

:set nonu #取消行号

移动光标

行首 0

行尾 $

文件尾部 G

文件开头 gg

到指定行 ngg #n是数字

普通模式:搜索与替换操作

向下搜索 /3306 #继续搜 按n,反向搜按N

向上搜索 ?3306 #继续搜 按n,反向搜按N

替换 :%s/A/B/g     A需要替换的文本 B替换的文本 g全局

:4,6s/A/B/g    指定行号进行替换

 

 

 

 cat -n #显示行号

more #分页显示内容

less #分页显示内容

head #显示文件内容头部,默认10行  ,head -n test.txt (n是数字)

tail #显示文件内容尾部,默认后10行  ,tail -n test.txt (n是数字),-f  跟踪显示文件尾部的信息

 

 

2020-11-30

day10:

tr # tr - translate or delete characters

tr "1" "t" <test.txt  #<把test.txt当做tr的一个参数
批量替换

tr "0-9" "a-z" <test.txt

 

grep #过滤

[root@olboyedu opt]# grep "to" test.txt
welcome to shanghai
[root@olboyedu opt]# grep -v "to" test.txt #-v取反
WWWWWelcome
[root@olboyedu opt]# grep -i "w" test.txt#-i不区分大小写
welcome to shanghai
WWWWWelcome

grep -n #显示行号

grep -w #按单词为单位过滤

grep -o #只显示输入的匹配内容

grep -E #扩展的grep

 

find #

find -name "test*" -a -type f

find.-size -25m

选项:

  • -name: 按照文件名搜索;
  • -iname: 按照文件名搜索,不区分文件名大小;
  • -inum: 按照 inode 号搜索;
  • -size[+-]大小:按照指定大小搜索文件
  • -type d:查找目录
  • -type f:查找普通文件
  • -type l:查找软链接文件
  • 选项:
  • -a:and逻辑与
  • -o:or逻辑或
  • -not:not逻辑非

echo $JAVA_HOME  输出变量JAVA_HOME的值

 

whoami  查询当前登陆的用户名


which ls  查询ls命令的$PATH路径

 备份 :cp test.txt{,.ori}

mkdir test && cd test
只有在 && 左边的命令返回真(命令返回值 $? == 0),&& 右边的命令才会被执行。 
只要有一个命令返回假(命令返回值 $? == 1),后面的命令就不会被执行。

https://www.luffycity.com/study/special
15250280726
jie1105!

 

 

2020-12-07

重定向符号核心知识

>重定向,箭头方向就是数据流方向,会清空之前的数据,不可恢复

>>追加输出重定向

< 标准输入重定向   #tr "am" "01" </data/test.txt

<< 追加输入重定向

固定定义:

1  #标准输出 1>    1>>

0  #标准输入  0<    0<<

2  #错误输出  2>    2>>

 

2020-12-08

 

将多行内容输出到文件中

cat >test.txt  <<EOF

111111

2222222

EOF

 

 

ls -i #显示inode

ls -h #文件大小带单位

 

 

 

 

 

 

 

 

 

 

2020-12-09

 

 

 

 

 

 

符号链接(sysmbolic link)文件,软链接(soft link)#以l开头

ln -s #软链接

ln  #硬链接

 

字符设备(character)#以c开头的字符设备文件

块设备(block)#以b开头的块设备文件

 

套接口文件(socket)#以s开头

以p开头的为管道文件

ls -l

 

 

which命令

查看命令完整路径

which cp

 

echo $PATH#显示全部命令所在路径

whereis :显示命令及相关文件全路径

 

yum provides locate#显示locate命令属于哪个包,然后通过yum命令进行安装

yum install locate -y 

updatedb

locate cp#显示cp命令相关信息

 

2020-12-16

find:查找目录下的文件

find ~ -name 'oldboy.txt'

路径/名字参数/具体文件

模糊查找 *

find ~ -name 'old*'

 

按文件类型查找

find / -type f -name "oldboy"

find / -type d -name "oldboy"

-a

-o

-not

! #取反

-exec #对查找的结果在进行处理

find . -type f -exec ls -l {} \;

 

 

find / -perm 755 #按照权限查找

 

 

 find / -type f -mtime +3 -exec rm -rf {} \; #按照更改时间查找

+3 #3天前

3 #第3天

-3 #3天内

 

 

xargs#分组

 

把查找出来的文件复制到另外一个文件夹

 

 

 

 

date命令

-s #设置时间

 

tar 命令:

语法:tar 参数  框(包)  苹果(文件)

 -z #压缩

-c #创建

-v #输出打包过程

-f #文件

-t #查看文件

-x  #解压

-h  #跟随软链接

[root@olboyedu opt]# tar -zcvf ./yasuo.tar.gz a.txt
a.txt
[root@olboyedu opt]# ls
a.txt oldboy_soft_link oldboy.txt rh r.txt test.txt x.txt yasuo.tar.gz
[root@olboyedu opt]# tar -tf yasuo.tar.gz
a.txt

tar -tf #表示查看压缩文件

 

解压

tar -zxvf yasuo.tar.gz -C /tmp/

默认解压到当前目录,-C指定解压的目录

 

 

tar 排除不打包的文件

[root@oldboyedu /data]# tar zcvf oldboy.tar.gz ./* --exclude=4.txt --exclude=5.txt

tar 根据文件里的文件名排除不打包-X

[root@oldboyedu /data]# cat paichu.txt
1.txt
2.txt
3.txt
[root@oldboyedu /data]# tar zcvfX oldboy.tar.gz paichu.txt ./*
./4.txt
./5.txt
./oldboy.tar.gz
./paichu.txt

 

 

用户:

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

2、虚拟用户(傀儡)
实际存在的用户,但是又不允许它登录。
价值何在?
满足文件或进程运行属主的要求。但是又不会带来管理风险。
UID 1-499

3、普通用户
实际存在的用户,又允许它登录。管理员身份创建的,帮助管理员管理系统的。
大臣、臣民一起管理。
权限仅仅限制家目录,在一些系统级目录可以读不可以写,不可以进入/root目录。
UID C7 1000起步 C6 500起步
[root@oldboyedu ~]# useradd oldgirl

 

用户组:集合、组织
人的家庭、老男孩58期

Linux里每个用户都必须要有一个组织,这个组织就叫做用户组
用户组也是给人看,用户组也有唯一标识,Group ID 简称GID
默认情况创建用户,并没有创建用户组啊,它会自动创建一个
和用户名相同的用户组以及相同的GID。
[root@oldboyedu ~]# id oldgirl
uid=1001(oldgirl) gid=1001(oldgirl) groups=1001(oldgirl)


用户和用户组的对应关系
1、1对1
2、1对多个用户组
3、多个用户对应一个用户组
4、多对多

 


文件权限:严格的权限,Linux安全权限严格。
rwxr-xr-x
9个字符
r read 可读取 4
w write 可写 2
x execute 可执行 1
- 没有权限 0

字符分组:3个字符是一组
d rwx r-x r-x . 2 root root 6 Mar 13 2019 test
用户权限 用户组权限 其他权限

 

 

文件时间有三种:
修改时间:modify,文件内容被改过之后的时间。
访问时间:access,文件内容被访问过的时间。
变化时间:change,文件属性发生改变的时间。

[root@oldboyedu ~]# stat /etc/hosts
File: ‘/etc/hosts’
Size: 158 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 16829878 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:net_conf_t:s0
Access: 2020-10-01 00:00:21.849999186 +0800访问时间
Modify: 2013-06-07 22:31:32.000000000 +0800修改时间
Change: 2019-03-04 11:15:49.426692303 +0800变化时间

 

[root@oldboyedu ~]# stat -c %A /etc/hosts
-rw-r--r--

 

 

[root@oldboyedu /data]# ls -lhi
total 12K
33631841 -rw-r--r--. 1 root root 0 Oct 1 00:19 1.txt

第一列:
表现形式是数字 33631841 叫做文件的索引节点(Index Node)
类似人的身份证,索引节点是文件在系统中的唯一标识。
找一个文件最终都要通过索引节点才能找到
索引节点的概念出在ext文件系统中(ext2 ext4 ext3).

索引节点是硬盘上的一块存储空间。大小256字节或512字节。

索引节点里存放是数据是文件的属性(大小、时间、用户和组、权限等)都
在索引节点里,唯独不包含文件名(文件名在上级目录的block里)。

磁盘要想使用,先分区,格式化(创建文件系统)。
格式化创建文件系统时,就会生成大量的inode和block。
inode作用存储文件的属性信息,同时存放指向文件实体(block)的指针(类似软链接)
block作用是存放文件内容的(大片)。


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

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

 

磁盘满原因有两种:
1、inode满了。
2、block满了。

提示:
no space left on device 报错,没有空间在设备上了。
磁盘满了。
[root@oldboyedu /]# cd /app/logs/
[root@oldboyedu /app/logs]# touch {1..100}.txt
touch: cannot touch ‘6.txt’: No space left on device
touch: cannot touch ‘7.txt’: No space left on device

检查步骤:
步骤1:df -h
步骤2: df -i 看是不是inode满了

为什么inode会满?
小文件太多

 

1)掌握Linux文件属性的各个列的含义(ls -lhi结果)及对应知识概念。
2)磁盘空间不足故障的多重判断和解决(面试常考)。
3)请描述软链接和硬链接的特点及区别(面试常考)。
4)请描述Linux系统文件删除的原理(面试常考)。

 

 

.是标识selinux的符号

1、selinux是什么?
安全规则,让Linux系统更安全的一套规则。
这个规则太严格了,一般的情况下都会关闭selinux。
自己开启防火墙啊,用其他手段来实现同样的安全目的。
2、怎么关掉Selinux?

查看方法:
[root@oldboyedu ~]# getenforce
Enforcing
临时关掉:
[root@oldboyedu ~]# setenforce
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
[root@oldboyedu ~]# setenforce 0
[root@oldboyedu ~]# getenforce
Permissive

永久关闭:
vim /etc/selinux/config
[root@oldboyedu ~]# grep dis /etc/selinux/config
# disabled - No SELinux policy is loaded.
SELINUX=disabled

 

Linux里防火墙C6 iptables C7 firewalld
作用:防护计算机,防止被入侵。
systemctl status firewalld.service

开启firewalld(C6 service iptables start 或者/etc/init.d/iptables start)
[root@oldboyedu ~]# systemctl start firewalld.service
[root@oldboyedu ~]# systemctl status firewalld.service

让firewalld开机自启动
[root@oldboyedu ~]# systemctl enable firewalld.service

总结两个命令systemctl和chkconfig。

 

硬链接数

[root@oldboyedu ~]# ls -lhi
total 32K
33631870 -rw-r--r--. 1 root root 4 Mar 13 2019 a.txt

1、什么是硬链接?
具有相同inode节点号的文件互为硬链接。
一个文件的两个入口。
[root@oldboyedu ~]# ls -ldi test test/.
16964029 drwxr-xr-x. 2 root root 4096 Oct 1 14:07 test
16964029 drwxr-xr-x. 2 root root 4096 Oct 1 14:07 test/.
[root@oldboyedu /data]# ls -ldi oldboy
33631853 drwxr-xr-x. 5 root root 45 Oct 4 21:03 oldboy
[root@oldboyedu /data]# ls -ldi oldboy oldboy/. oldboy/test{1..3}/..
33631853 drwxr-xr-x. 5 root root 45 Oct 4 21:03 oldboy
33631853 drwxr-xr-x. 5 root root 45 Oct 4 21:03 oldboy/.
33631853 drwxr-xr-x. 5 root root 45 Oct 4 21:03 oldboy/test1/..
33631853 drwxr-xr-x. 5 root root 45 Oct 4 21:03 oldboy/test2/..
33631853 drwxr-xr-x. 5 root root 45 Oct 4 21:03 oldboy/test3/..
2、硬链接原理。

一个文件被提供了多个访问入口,拥有多个文件名,有多个硬链接的文件rf 相当于只是删除了其中的一个文件名

3、测试
创建硬链接:
ln 源文件 硬链接文件

a.文件硬链接
[root@oldboyedu /data]# echo "I am oldboy." >oldboy.txt
[root@oldboyedu /data]# cat oldboy.txt
I am oldboy.
[root@oldboyedu /data]# ln oldboy.t
oldboy.tar.gz oldboy.txt
[root@oldboyedu /data]# ln oldboy.txt oldboy_hard_link
[root@oldboyedu /data]# ls -lirt
total 20
33631860 -rw-r--r--. 1 root root 0 Oct 1 00:19 5.txt
33631855 -rw-r--r--. 1 root root 0 Oct 1 00:19 4.txt
33631847 -rw-r--r--. 1 root root 0 Oct 1 00:19 3.txt
33631845 -rw-r--r--. 1 root root 0 Oct 1 00:19 2.txt
33631841 -rw-r--r--. 1 root root 0 Oct 1 00:19 1.txt
33656236 -rw-r--r--. 1 root root 18 Oct 1 09:01 paichu.txt
33631869 -rw-r--r--. 1 root root 187 Oct 1 09:01 oldboy.tar.gz
33656257 -rwxr-xr-x. 1 root root 14 Oct 1 11:07 test.txt
33631853 drwxr-xr-x. 5 root root 45 Oct 4 21:03 oldboy
33656238 -rw-r--r--. 2 root root 13 Oct 4 21:10 oldboy.txt
33656238 -rw-r--r--. 2 root root 13 Oct 4 21:10 oldboy_hard_link


作用:
1、备份,防止误删。
[root@oldboyedu /data]# ln /etc/hostname /opt/hostname
[root@oldboyedu /data]# cat /opt/hostname
oldboyedu
[root@oldboyedu /data]# rm -f /etc/hostname
[root@oldboyedu /data]# cat /etc/hostname
cat: /etc/hostname: No such file or directory
[root@oldboyedu /data]# cat /opt/hostname
oldboyedu
[root@oldboyedu /data]# ln /opt/hostname /etc/hostname
[root@oldboyedu /data]# cat /etc/hostname
oldboyedu

 

 

useradd 

 

 

 

 

 

 

 useradd -o -u 0 -g 0user04

 

passwd

 

 root用户可以不受密码复杂度限制

root下:echo "456"|passwd --stdin fusx

 

 

userdel

 

 标准用户删除:userdel -r fsl

 

 

usermod

 

 将用户附加到root用户组 : usermod -G root -a fsl

移动家目录到/home/fsl: usermod -m -d /home/fsl fsl

 

chage

 

 change user :交互式修改

[root@localhost ~]# chage -x fusx
chage: invalid option -- 'x'
Usage: chage [options] LOGIN

Options:
-d, --lastday LAST_DAY set date of last password change to LAST_DAY
-E, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE
-h, --help display this help message and exit
-I, --inactive INACTIVE set password inactive after expiration
to INACTIVE -l, --list show account aging information
-m, --mindays MIN_DAYS set minimum number of days before password
change to MIN_DAYS
-M, --maxdays MAX_DAYS set maximum number of days before password
change to MAX_DAYS
-R, --root CHROOT_DIR directory to chroot into
-W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS

 

 

 

组管理

查看组信息:/etc/group

 

 

 

 

 

 

 

 

 

 

 

用户或组创建流程

 

 

特殊权限

 

chown命令

https://blog.csdn.net/jiayoudangdang/article/details/80157675?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161539332616780271578399%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=161539332616780271578399&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-80157675.pc_search_result_cache&utm_term=chown%E5%91%BD%E4%BB%A4

 

ACL权限

https://blog.csdn.net/Aizwz/article/details/89516527?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161539250316780265433299%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=161539250316780265433299&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-6-89516527.pc_search_result_cache&utm_term=acl%E6%9D%83%E9%99%90

 

sort 排序

 

 

uniq 去重(必须先使用sort进行排序)

 

zip

 

 

tar 在使用时tar zxvf 不加  "-"  可以不用在意顺序

 

 

 

 fdisk 分区

fdisk /dev/sdb

 

 mkfs  格式化文件系统

 

 man mount (-t 可查看文件系统类型)

mkfs -t ext4 /dev/sdb2

mkswap /dev/sdb7(格式交换分区)

 

mount 挂载

 

 

  

umount 卸载

 

 

 

df 命令(查看磁盘大小)

-T, --print-type ,print file system type

-h, --human-readable,print sizes in human readable format (e.g., 1K 234M 2G)

 

 

 

du 命令查看文件大小

du -sh :查看文件夹大小

 

 

 

rpm命令

 

ftp

systemctl restart vsftpd

mount /dev/sr0 /var/ftp/pub

/usr/sbin/setenforce 0 (临时关闭selinux)

vi /etc/selinux/config(将SELINUX=enforcing改为SELINUX=disabled )永久

访问:ftp://localhost

配置ftp yum源

vim /etc/yum.repos.d/ftp.repo

[ftp]

name=ftp repo
baseurl=ftp://localhost/pub
gpgcheck=0

 

配置本地yum源

[LocalRepo]
name=local repo
baseurl=file:///opt/mount_tmp
enabled=1
gpgcheck=0

 

ftp更多操作

https://blog.csdn.net/ningjiu9/article/details/82053387?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control

 

yum相关操作

 

 

源码安装

 

 ./configure --prefix=/usr/local/nginx (指定软件安转的路径)

 

 

独立服务

 

 

 

 

systemctl

 

 

 

 

进程优先级

nice

renice

 

posted on 2020-09-27 22:05  fushuanglin  阅读(69)  评论(0编辑  收藏  举报

导航