- 查看文件权限,如 -rw-------1 root root 1523 sep 28 12:05 anaconda-ks.cfg 中,-r 是类型,w-------1 是权限,root root 是所属用户和组,anaconda-ks.cfg 是文件名。
- 文件类型,如下所示:
- - 普通文件
- d 目录文件
- b 块特殊文件
- c 字符特殊文件
- l 符号链接
- f 命名管道
- s 套接字文件
- 文件权限的表示方法,如下所示:
- 字符权限表示方法,r 是读,w 是写,x 是执行
- 数字权限的表示方法,r=4,w=2,x=1
- -rw-r-xr-- 1 username groupname mtime filename 中,rw- 是文件属主的权限,r-x 是文件属组的权限,r-- 是其他用户的权限
- 创建新文件有默认权限,根据 umask 值计算,属主和属组根据当前进程的用户来设定
- 目录权限的表示方法,如下所示:
- x 进入目录
- rx 显示目录内的文件名
- wx 修改目录内的文件名
- 修改权限命令,如下所示:
- chomd 修改文件、目录权限,如 chmod u+x /tmp/testfile、chmod 755 /tmp/testfile
- chown 更改属主、属组
- chgrp 可以单独更改属组,不常用
- 特殊权限,如下所示:
- SUID 用于二进制可执行文件,执行命令时取得文件属主权限,如 /usr/bin/passwd
- SGID 用于目录,在该目录下创建新的文件和目录,权限自动更改为该目录的属组
- SBIT 用于目录,该目录下新建的文件或目录,仅 root 和自己可以删除,如 /tmp
- 网络管理,如下所示:
- 网络状态查看
- 网络配置
- 路由命令
- 网络故障排除
- 网络服务管理
- 常用网络配置文件
- 网络状态查看工具,net-tools 和 iproute,如下所示;
- net-tools,有 ipconfig、route、netstat
- iproute2,有 ip、ss
- 网络状态查看命令,ifconfig,eth0 第一块网卡,也就是网络接口,第一个网络接口可能叫做下面的名字,如下所示:
- eno1 板载网卡
- ens33 PCI-E 网卡
- enp0s3 无法获取物理信息的 PCI-E 网卡
- CentOS 7 使用了一致性网络设备命名,以上都不匹配则使用 eth0
- 网络接口命名修改,如下所示:
- 网卡命名规则受 biosdevname 和 net.ifnames 两个参数影响
- 编辑 /etc/default/grub 文件,增加 biosdevname=0 net.ifnames=0
- 更新 grub,如 grub2-mkconfig -o /boot/grub2/grub.cfg
- 重启,reboot,网卡命名组合如下:
| biosdevname | net.ifnames | 网卡名 |
|---|---|---|
| 0 | 1 | ens33 |
| 1 | 0 | em1 |
| 0 | 0 | eth0 |
- 查看网关命令,可以使用 route -n,使用 -n 参数不解析主机名。
- 查看网络情况,查看网卡物理连接情况,可以使用 mii-tool eth0。
- 网络配置命令,如下所示:
- ifconfig <接口>
[netmask 子网掩码] - ifup <接口>
- ifdown <接口>
- 网关配置命令,添加网关,如下所示:
- route add default gw <网关ip>
- route add -host <指定ip> gw<网关ip>
- route add -net <指定网段> netmask <子网掩码> gw <网关ip>
- 网络命令集合,ip 命令,如下所示:
- ip addr ls,ifconfig
- ip link set dev eth0 up,ifup eth0
- ip addr add 10.0.0.1/24 dev eth1,ifconfig eth1 10.0.0.1 netmask 255.255.255.0
- ip route 10.0.0/24 via 192.168.0.1,route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.0.1
- 网络故障排除命令,如下所示:
- ping
- traceroute
- mtr
- nslookup
- telnet
- tcpdump
- netstat
- ss
- 网络服务管理,网络服务管理程序分为两种,分别为 SysV 和 systemd,如下所示:
- service network start|stop|restart
- chkconfig -list network
- systemctl list-unit-files NetworkManager.service
- systemctl start|stop|restart NetworkManager
- systemctl enable|disable NetworkManager
- 网络配置文件,ifcfg-eth0,/etc/hosts。
- 软件安装,如下所示:
- 软件包管理器
- rpm 包和 rpm 命令
- yum 仓库
- 源代码编译安装
- 内核升级
- grub 配置文件
- 软件包管理器,包管理器是方便软件安装、卸载,解决软件依赖关系的重要工具,如下所示:
- CentOS、RedHat 使用 yum 包管理器,软件安装包格式为 rpm
- Debian、Ubuntu 使用 apt 包管理器,软件安装包格式为 deb
- rpm 包,rpm 包格式,如 vim-common-7.4.10-5.el7.x86_64.rpm,其中 vim-common 是软件名称,7.4.10-5 是软件版本,el7 是系统版本,x86_64 是平台。
- rpm 命令,rpm 命令常用参数,如下所示:
- -q 查询软件包
- -i 安装软件包
- -e 卸载软件包
- yum 包管理器,如下所示:
- rpm 包的问题,需要自己解决依赖关系,软件包来源不可靠
- CentOS yum 源
- 国内镜像
- yum 配置文件,如下所示:
- /etc/yum.repos.d/CentOS-Base.repo
- wget -O /etc/yum.repos.d/CentOS-Base.repo
- yum 命令常用选项,如下所示:
- install 安装软件包
- remove 卸载软件包
- list|grouplist 查看软件包
- update 升级软件包
- 其它方式安装,二进制安装和源代码编译安装,源代码编译安装如下所示:
- wget https://openresty.org/download/openresty-1.15.8.1.tar.gz
- tar -zxf openresty-VERSION.tar.gz
- cd openresty-VERSION/
- ./configure --perfix=/usr/local/openresty
- make -j2
- make install
- 升级内核,rpm 格式内核,如下所示:
- 查看内核版本,uname -r
- 升级内核版本,yum install kernel-3.10.0
- 升级已安装的其它软件包和补丁,yum update
- 源代码编译安装内核,如下所示:
- 安装依赖包,yum install gcc gcc-c++ make ncurses-devel openssl-devel elfutils-libelf-devel
- 下载并解压内核,https://www.kernel.org,tar xvf linux-5.1..10.tar.xz -C /usr/src/kernels
- 配置内核编译参数,cd /usr/src/kernels/linux-5.1.10/,make menuconfig | allyesconfig | allnoconfig
- 使用当前系统内核配置,cp /boot/config-kernelversion.platform /usr/src/kernels/linux-5.1.10/ .config
- 查看 CPU,lscpu
- 编译,make -j2 all
- 安装内核,make modules_install,make install



