Linux 3
一、查看服务器系统的版本信息
cat /etc/os-release cat /etc/redhat-release uname -a # 查看内核版本信息
二、用户管理
useradd 用户名 # 添加用户 passwd 用户名 # 修改密码 passwd # 修改当前登陆用户密码
userdel 用户名 # 删除用户
userdel -f 用户名 # 删除用户以及家目录 # 只有root可以指定修改密码的用户名,且不需要校验,其他用户都只能直接输入passwd修改自己的密码且长度必须大于8 su - 用户名 # 切换用户,-意味着完全切换,包括环境变量 whoami # 查看我是哪个用户
id 用户名 # 查看用户属于哪个组
/etc/passwd # 存放用户信息的文件 /etc/group # 存放用户组信息的文件 /etc/shadow # 存放密码信息的文件
三、sudo命令
以其他用户的身份执行命令
使用前需要在/etc/sudoers文件中配置
之后可以在其他用户中,通过sudo + 命令来执行root权限的命令。
四、文件权限
chmod u-rw /etc/xxx # 修改权限 chmod 777 /etc/xx chown root /etc/xxx # 修改所属用户 chgrp root /etc/xxx # 修改所属用户组
五、软链接
软连接也叫做符号链接,类似于windows的快捷方式。
常用于安装软件的快捷方式配置,如python,nginx等
ln -s 目标路径 软链接名
六、PS1变量
表示中括号中显示的格式,退出会话后失效。
[root@oldboy_python ~]# echo $PS1 [\u@\h \W]\$ 可以自行调整全局变量/etc/profile文件用于永久生效 PS1='[\u@\h \W\t]\$' \d 日期 \H 完整主机名 \h 主机名第一个名字 \t 时间24小时制HHMMSS \T 时间12小时制 \A 时间24小时制HHMM \u 当前用户账号名 \v BASH的版本 \w 完整工作目录 \W 利用basename取得工作目录名 \# 下达的第几个命令 \$ 提示字符,root为#,普通用户为$ PS1 > 变量名 $PS1 > 查看变量内容 PS1=新内容 重新赋值 变量赋值,查看 name='chaoge' echo $name PS1显示ip地址 export PS1="[\u@\h `/sbin/ifconfig ens33 | sed -nr 's/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'` \w]\$"
七、tar解压命令
tar -xf xxx # 解压文件到当前文件夹
tar -cf /xxx/xxx xxx.py # 压缩到xx/xx
八、netstat命令
netstat -tunple # 显示当前Linux所有网络情况
九、ps命令
ps -ef # 查看当前进程信息
十、kill命令
kill 进程号 # 结束进程 kill -9 进程号 # 强制结束进程
十一、防火墙关闭
1.关闭selinux
1.获取selinux状态 getenforce 2.临时关闭selinux,重启后又会生效 setenforce 0 3.永久关闭selinux,写入到selinux配置文件 vim /etc/selinux/config SELINUX=disabled #更改为这个 4.重启后selinux永久关闭
2.iptables (软件防火墙)
1.查看防火墙规则 iptables -L 2.清空防火墙规则 iptables -F 3.关闭防火墙软件,这个服务永久关闭 systemctl stop firewalld
十二、df命令
df -h # 显示磁盘空间大小
十三、修改主机名
hostnamectl set-hostname xxxx # 设置主机名,重新登录时生效
十四、DNS
nslookup 域名 # 解析域名获取ip
nslookup # 进入交互模式,输入域名就输出ip
十五、计划任务crand服务
计划任务就是指定系统在某时自动的做某事
crontab (选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该用户的计时器设置; -u<用户名称>:指定要设定计时器的用户名称。 存放定时任务的文件 /var/spool/cron
写计划任务时,命令必须加上绝对路径,否则会出现这种情况:从日志中看,确实触发了计划任务的执行,但是命令却没有执行成功,比如* * * * * reboot就会出现这种情况,需要将reboot写成/usr/sbin/reboot
在/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 分 时 日 月 周
* * * * * 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 每隔三分钟执行下时间同步
十六、软件包管理
Linux软件安装的三种方式:rpm包安装(需要手动解决软件依赖关系)、yum安装(自动解决软件依赖关系,但不可控安装到哪里)、编码编译安装(可自定制软件安装的需求,以及软件功能扩展)
1、yum安装方式
yum install 会去一个yum库中找到需要安装的软件下载,并且下载所有的依赖软件
默认的库源在国外,下载速度很慢,所以可以配置成阿里云的库源。
只有在/etc/yum.repos.d文件夹下的.repo文件才会被识别成yum源。
配置ali云软件源:
1.可以移除默认的yum仓库,也就是删除 /etc/yum.repos.d/底下所有的.repo文件(踢出国外的yum源) 2.配置yum源,找到阿里云的官方镜像源地址 https://opsx.alibaba.com/mirror 3.下载centos7的yum源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 4.清空旧的yum缓存 yum clean all 5.生成新的yum仓库缓存(这个缓存来自于阿里云的yum仓库,便于加速软件下载) yum makecache 6.配置一个第三方的 额外仓库源 (epel源),这个源的作用是,如果阿里云源找不到这个软件,就在这里找 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo 此时就可以通过yum命令自由的下载软件啦! yum install redis #这个redis就是从epel中下载
十七、文件上传下载