一 网卡配置
- ifconfig 查询、设置网卡和ip等参数
- ifup,ifdown 脚本命令,更简单的方式启动关闭网络
- ip 符合指令,直接修改上述功能
网络配置文件: /etc/sysconfig/network 网络接口配置文件: /etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME DEVICE=: 关联的设备名称,要与文件名的后半部“INTERFACE_NAME”保持一致; BOOTPROTO={static|none|dhcp|bootp}: 引导协议;要使用静态地址,使用static或none;dhcp表示使用DHCP服务器获取地址; IPADDR=: IP地址 NETMASK=:子网掩码 GATEWAY=:设定默认网关; ONBOOT=:开机时是否自动激活此网络接口; HWADDR=: 硬件地址,要与硬件中的地址保持一致;可省; USERCTL={yes|no}: 是否允许普通用户控制此接口; PEERDNS={yes|no}: 是否在BOOTPROTO为dhcp时接受由DHCP服务器指定的DNS地址;
eth0 网卡的代号
lo 回环地址loopback
inet IPv4的Ip地址
netmask 子网掩码
broadcast 广播地址
二 用户管理
- root (最高权限,群主)
它拥有最高的系统所有权,能够管理系统的各项功能,如添加/删除用户,启动/关闭进程,开启/禁用
硬件设备等等。
- 用户组GID
我们可以把多个用户加入到同一个组中,从而方 便为组中的用户统一规划权限或指定任务。
- 用户标识
系统管理员UID为0 系统用户UID为1~999 Linux安装的服务程序都会创建独有的用户负责运行。 普通用户UID从1000 开始:由管理员创建
2.1 新建用户
#添加用户 useradd oldboy #设置密码 passwd redhat
2.2 用户相关命令
id root #查看用户身份信息 su - 用户名 #切换用户 - 标识完全环境变量切换 logout #注销登录 userdel -r pyyu #删除用户,可用参数 :-f 强制删除用户;-r 同时删除用户和家目录
三 权限管理
3.1 sudo命令
sudo命令用来以其他身份来执行命令,预设的身份为root。(使用时候需要验证密码,有效期5分钟).
sudo使用需要配置,配置过程
1 visudo 编辑sudoers文件 (文件所在目录: /etc/sudoers) 2 给使用sudo命令的用户添加响应的权限,(以alex为例子) ## The COMMANDS section may have other options added to it. ## ## Allow root to run any commands anywhere root ALL=(ALL) ALL alex ALL=(ALL) ALL
配置完成后就可以使用sudo命令了
alex登录 : sudo ls /root/
3.2 文件与目录权限认知
- 文件类型
- 一般文件
d 文件夹
l 软连接(快捷方式)
b 块设备,存储媒体文件为主
c 代表键盘,鼠标等设备
- 文件权限
r read可读,可以用cat等命令查看
w write写入,可以编辑或者删除这个文件
x executable 可以执行
- 目录权限
r 可以对此目录执行ls列出所有文件
w 可以在这个目录创建文件
x 可以cd进入这个目录,或者查看详细信息
权限的数字转化
r 4 w 2 x 1
3.3 修改权限
- chmod
chmod [身份] [参数] [文件] u(user) +(添加) g(group) -(减去) o(other) =(赋值) a(all)
例如:
当前权限 -rw-rw-r-- 1 root root 0 8月 11 16:41 pyyu.txt 方法1 减去属主的写权限 chmod u-w pyyu.txt 属主添加可读可写可执行权限 chmod 700 pyyu.txt 属主可读可写可执行 属组可读可执行 其他人可读可执行 chmod 755 pyyu.txt
- chown 更改文件属主
chown alex file 更改file的属主是alex
- chgrp 更改属组
chgrp alex file 更改file的属组是alex
四 软连接(快捷方式)ln
- ln -s 目标文件 软连接名
2.在/home目录中建立软连接,指向/tmp/test.txt文件 ln -s /tmp/test.txt my_test 3.查看软连接信息 lrwxrwxrwx 1 root root 13 10月 15 21:35 my_test -> /tmp/test.txt 4.通过软连接查看文件 cat my_test
五 压缩/解压缩 tar
tar -zxvf 解压缩文件 tar -zcvf 压缩文件 -z 调用gzip命令 -x 解压缩文件 -v 显示解压/压缩过程 -f 指定一个文件 -c 压缩文件
栗子:
压缩文件的步骤 1. 准备三个文件 touch 123.txt 456.txt 789.txt 2.调用tar命令进行压缩,压缩当前的所有内容到 alltmp.tar.gz当中 tar -zcvf alltmp.tar.gz * 3.解压缩文件,一个一个后缀的去解压 alltmp.tar.gz 1.去掉.gz后缀 gzip -d alltmp.tar.gz tar -xf alltmp.tar 2.一条命令解压缩 alltmp2.tar.gz tar -zxf alltmp2.tar.gz
五 linux 查看进程信息 ps
linux查看进程信息
ps -ef|grep vim
六 查看端口号 netstat
netstat -tunlp 查看所有端口信息
参数
netstat [选项] -t或--tcp:显示TCP传输协议的连线状况; -u或--udp:显示UDP传输协议的连线状况; -n或--numeric:直接使用ip地址,而不通过域名服务器; -l或--listening:显示监控中的服务器的Socket; -p或--programs:显示正在使用Socket的程序识别码和程序名称; -a或--all:显示所有连线中的Socket;
七 结束进程命令 kill
kill pid kill -9 pid -9参数,发送一个强制终止信号 pkill 支持正则匹配的kill命令 pkill vim 一次性杀死所有关vim的进程
八 永久关闭selinux
1.找到配置文件 vim /etc/selinx/config SELINUX=disabled 2.重启服务器,永久生效 iptables -L #查看规则 iptables -F #清空规则 systemctl stop firewalld #关闭防火墙服务 systemctl disable firewalld #永久关闭防火墙,开机自启的服务
九 linux 设置中文
linux设置支持中文 1.第一个设置linux系统的编码 utf8 1.设置一个文件/etc/locale.conf vim /etc/locale.conf 2.写入新的变量 [root@qishione opt]# cat /etc/locale.conf LANG="zh_CN.UTF-8" 2.设置远程登录软件的编码 xshell utf8 保证xshell也是utf-8 就行
十 linux 查看磁盘命令 df
使用-h选项以KB以上的单位来显示,可读性高:
df -h
十一 DNS
dns本质:就是网路上一个key-value 的域名数据库.
dns 解析原理: 1 当用户在浏览器输入www.baidu.com的时候; 2 第一步去本地dns缓存中查找域名记录,如果没有, 3 在/etc/hosts文件中,查找是否有本地解析记录,如果没有; 4 去/etc/resolv.conf 指定的dns服务器中查找记录,如果没有,就是没有注册这个域名.
nslookup 域名查找
支持交互式
常识
114.114.114.114 114的dns服务器 119.29.29.29 腾讯的dns服务器 223.5.5.5 阿里巴巴的dns服务器 223.6.6.6 阿里巴巴的dns服务器
十二 计划任务crond服务
后台运行,到了预定的时间就会自动执行的任务,前提是:事先手动将计划任务设定好。这就用到了crond服务.
crontab -l 查看计划任务的规则
crontab -e 编辑定时任务
基本语法
在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed 分 时 日 月 周
使用格式
crontab任务配置基本格式: * * * * * command 分钟(0-59) 小时(0-23) 日期(1-31) 月份(1-12) 星期(0-6,0代表星期天) 命令 第1列表示分钟1~59 每分钟用*或者 */1表示 第2列表示小时1~23(0表示0点) 第3列表示日期1~31 第4列表示月份1~12 第5列标识号星期0~6(0表示星期天) 第6列要运行的命令 星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。 30 08 * * * 每天8.30去上班 逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9” 中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6” 正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。 */3 * * * * /usr/sbin/ntpdate ntp1.aliyun.com 每隔三分钟执行下时间同步
实例
分 时 日 月 周 命令的绝对路径 * * * * * 命令 每分钟执行一次命令 每天的下午4点28分 执行 重启nginx的命令 分 时 日 月 周 命令的绝对路径 * * * * * 28 16 * * * systemctl restart nginx #每分钟执行一次命令 分 时 日 月 周 命令的绝对路径 * * * * * #每小时的3,15分组执行命令 分 时 日 月 周 命令的绝对路径 * * * * * 3,15 * * * * 命令绝对路径 #在上午8-11点的第3和第15分钟执行 分 时 日 月 周 命令的绝对路径 * * * * * 3,15 8-11 * * * 命令 #每晚21:30执行命令 分 时 日 月 周 命令的绝对路径 * * * * * 30 21 * * * #没周六、日的下午1:30执行命令 分 时 日 月 周 命令的绝对路径 * * * * * 30 13 * * 6,7 #每周一到周五的凌晨1点,清空/tmp目录的所有文件 分 时 日 月 周 命令的绝对路径 * * * * * 0 1 * * 1-5 /usr/bin/rm -rf /tmp/* #每晚的21:30重启nginx 分 时 日 月 周 命令的绝对路径 * * * * * 30 21 * * * #每月的1,10,22日的4:45重启nginx 分 时 日 月 周 命令的绝对路径 * * * * * 45 4 1,10,22 * * 重启nginx #每个星期一的上午8点到11点的第3和15分钟执行命令 分 时 日 月 周 命令的绝对路径 * * * * * 3,15 8-11 * * 1 执行命令
十三 软件包管理工具 yum
- yum源的目录
#进入yum源目录 cd /etc/yum.repos.d/ #查看yum源文件 ls -l
- 配置阿里云yum源
1.好习惯,备份yum源 mkdir repo_bak mv *.repo repo_bak/ 2.下载阿里云repo文件 wget http://mirrors.aliyun.com/repo/Centos-7.repo 3.清空yum缓存并且生成新的yum缓存 yum clean all yum makecache 4.安装软件扩展源 yum install -y epel-release
- yum 常用命令
yum repolist all 列出所有仓库 yum list all 列出仓库所有软件包 yum info 软件包名 查看软件包信息 yum install 软件包名 安装软件包 yum reinstall 软件包名 重新安装软件包 yum update 软件包名 升级软件包 yum remove 软件包名 移除软件包 yum clean all 清楚所有仓库缓存 yum check-update 检查可以更新的软件包 yum grouplist 查看系统中已安装的软件包 yum groupinstall 软件包组 安装软件包组
十四 linux 下安装程序的方法
- rpm -ivh 包名.rpm 需要手动解决依赖关系
- yum install 包名 yum自动处理依赖关系
- 编译安装(源码安装)