linux'基础
https://m.luffycity.com/linux-book/Linux基础/Linux云计算运维工程师.html
一:dell服务器
二:buffer和cache的区别
写入(缓冲区)
数据-->内存(buffer)-->磁盘
读取(缓存区)
读取<--内存(cache)<--磁盘
三:解决数据丢失的方法:
- 服务器主板上安装蓄电池,在断电后宕机前瞬间把内存的数据会写到磁盘
- UPS(一组蓄电池)不间断供电
- 双路电机房,使用双电源,分别接不同路的电,以及将服务器放到不通的机柜,将企业业务放置到不通的地区
- 柴油发电机+油罐
四:
随机存储:随意写入和读取,效率低(使用消息队列将其变为顺序存储可以提高效率)
顺序存储:按一定的顺序写入和读取,效率高
五:Raid卡(磁盘阵列卡)
- 可以吧所有硬盘整合到一起(扩充容量)
- 可以保证数据安全(数据冗余)
- 可以提升读写性能
- 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
九:
冯洛伊曼计算机结构
- 计算机由计算器,控制器,存储器,输入设备,输出设备组成
- 以二进制的形式表示数据和指令
- 程序预先存入存储器中,使计算机在工作中能自动的从存储器中取出程序指令病甲乙执行
十:数据转换关系
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) 编辑 收藏 举报