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	]$'
d  日期
H  完整主机名
h  主机名第一个名字
	  时间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
 分 时  日 月  周
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  每隔三分钟执行下时间同步
crond命令格式

十六、软件包管理

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中下载

十七、文件上传下载

原文地址:https://www.cnblogs.com/yinwenjie/p/11344222.html