Linux分支:RedHat(代表:CentOS)、Debain(代表:Ubantu)
用双不用单,单为测试版,双为稳定版
网络连接方式:桥接、NAT
配置网络
修改网络配置文件:vi /etc/sysconfig/network-scripts/ifcfg-ens33
重启网络服务:systemctl restart network.service
配置防火墙
展示系统防火墙状态:systemctl status firewalld
关闭防火墙:本次开机状态:systemctl stop firewalld
服务重启后防火墙警用:systemctl disable firewalld
软件安装限制
修改配置文件:vi /etc/selinux/config
SELINUX=disabled
关机:shutdown -h now
上传文件:rz
安装插件:yum install lrzsz -y
常用命令:
清理:clear
查询命令文件位置;whereis
查看文件类型:file
查看当前在线用户:who
我是谁:whoami
我在那里:pwd
查看内核信息:uname -a
打印语句:echo
历史:history
-c 清除历史
查看当前进程编号:echo $$
文件命令:
cd:进入文件
ll:显示全部文件的详细信息 -a
ls:显示全部文件 -a
mkdir:创建文件夹
-p 创建不管有没有
mkdir -p a/b/c :当前目录创建此路径及文件夹
mkdir -p /a/b/c :从根目录创建此路径及文件夹
一次性创建多个文件夹
rm -rf a:删除文件夹a
rmdir:删除空的文件夹
cp 目标文件路径 目的地址:cp文件
cp -r 目标文件夹 目的地址:cp文件夹
mv 文件夹 目的地址:移动文件
mv 名字* 目的地址:匹配以名字开头的文件文件夹移动到目的地址
mv 文件名 新文件名:更改文件名字
rm :删除文件,
rm -f:强制删除文件
rm -rf:强制删除文件夹
touch:创建文件
stat:查看文件详情
详情参数:Inode:文件系统中的唯一标识
access:访问时间
modify:修改内容的时间
change:修改文件元数据信息时间
cat 文件名:正序展示文件内容
tac 文件名:到序展示文件内容
more 文件:一屏一屏展示内容 (less命令差不多)
回车:显示下一行
B:显示上一行
空格:显示下一屏
head -10 文件名:显示文件前10行
tail -10 文件名:显示文件后10行
tail -f 文件名:监听文件的Inode,监听此文件内容,一直打印文件当时写入的内容
tail -F 文件名:监听文件,监听此文件内容,一直打印文件当时写入的内容
head -10 文件名 | tail -1:显示第10行
ln:软连接:ln -s 文件名 链接名
硬链接:ln 文件名 链接名
软硬确别: 软:会有新的Inode,Inode指向目标文件
硬:直接指向目标文件的Inode。删除目标文件,Inode还存在,所以硬链接
内容还存在。
find:/ -name 文件名:全局搜索
/文件路径 -name 文件名:查找指定文件路径下
vi和vim编辑器
vi:
编辑模式:进入文档没有按 i 时
3 gg:光标定位到第三行
dd:删除一行
3 dd:删除3行
w:一个单词的跳
dw:删除后一个单词
y:复制(前面可带数字,复制数字行)
p:粘贴(同y)
u:回退撤销
. :回退u的操作
shift+ZZ:保存并退出
ctrl+S:锁屏
Ctrl+q:解锁
末行模式:按了:时
wq:保存退出
!q:强制退出
set nu:显示行号
set nonu:不显示行号
s/文本1/文本2/:将光标所在行中的第一个文本1替换成文本2
s/文本1/文本2/g:替换当前行所有文本1
1,2s/文本1/文本2/g:替换1、2行所有文本1
g/文本1/s//文本2/g:全文替换
文件查看:
df -h:查看分区信息
du -h --max-depth=1 路径:查看指定文件目录大小
tar -zxvf 文件名:解压tar.gz压缩包
tar -zc 文件名 目标文件:把目标文件压缩成文件名.tar.gz
针对zip文件:
安装插件:yum install zip unzip -y
zip -r 文件名 目标文件:压缩文件
unzip 目标文件:解压缩
主机名:vi /etc/hostname
DNS:vi /etc/hosts
网络相关命令:
yum install net-tools -y:安装相关ip相关工具
ifconfig:查看网卡信息
netstat:查看
-anp:查看使用的端口
-r:显示核心路由表
telnet ip 端口号:查看此ip端口是否能链接(安装:yum install telnet -y)
ping ip:
curl -X GET 地址:拿到此地址的所有信息
防火墙:
systemctl status firewalld.service:查看防火墙状态
systemctl stop firewalld.service:停止防火墙
systemctl start firewalld.service:停止防火墙
systemctl disable firewalld.service:禁止防火墙开机启动
开启端口:
添加:firewall-cmd --zone=public --add-port=80/tcp --permanent
重载:firewall-cmd --reload
查看:firewall-cmd --zone=public --query-port=80/tcp
删除:firewall-cmd --zone=public --remove-port=80/tcp --permanent
主机间相互免密:通过ssh命令免密链接到其他主机
1、生成密钥:ssh-keygen -t rsa -P " -f ~/.ssh/id_rsa
私钥保存在:/root/.ssh/id_rsa.
公钥保存在:/root/.ssh/id_rsa.pub.
2、发送公钥给其他主机:ssh-copy-id -i ~/.ssh/id_rsa.pub root@IP地址
3、免密链接:ssh ip地址
以上操作只能单向免密,相互免密需要相互发送公钥
主机名与host校验:(不用输入yes)
本次修改:-ssh -v -o GSSAPIAuthentication=mo root@IP地址
所有修改:修改配置文件/etc/ssh/ssh_config
最后添加:StrictHostKeyChecking no
UserKnownHostsFile /dev/null
日时间:
date:查看时间日期
yum install ntp -y:安装自动同步组件
ntpdate cn.ntp.org.cn:同步时间
同步本地主机时间:
1、被同步主机开启服务:service ntpd start
2、客户端主机同步时间:ntpdate 同步主机ip
用户:
useradd 用户名:添加用户
passwd 用户名:设置密码
userdel -r 用户名:删除用户
usermod -l 用户名 新用户名:修改用户名
usermod -L 用户名:锁定用户名
usermod -U 用户名:解锁用户名
cat /etc/shadow:展示用户名和密码
cat /etc/passwd:
su 用户名:切换用户
组:
groupadd 组名:创建组
groupdel 组名:删除组
groupmod -n 组名 新组名:修改组名
groups:查看用户对应的组
usermod -g 组名 用户名:修改用户的所属主组(只有一个)
usermod -G 组名 用户名:修改用户的所属附属组(只有一个)
权限:
此处解释的是在系统中执行了 ll 命令后显示的信息中第一列;
例子:drwxr-xr-x. 2 root root
root(第一个) ----drwxr:代表root这个用户拥有读、写、执行的操作
root(第二个) ----xr :代表root这个组拥有读、执行的操作
其他用户 ----x :其他用户拥有执行的操作
权限:
修改文件所属:
chown 用户名 文件路径或文件名
chown 用户名:用户名 文件路径或文件名
chown -R 用户名:用户名 文件夹名
chgrp 组名 文件名
修改文件的rwx
chmod o+2 文件名
chmod ug+rw 文件名
chmod ugo+rw 文件名
管道:将前面的查询结果传递给后面的
例子:netstat -anp | grep 22
将 | 前面的结果传递给后面
重定向:改变数据输出位置
覆盖:>
解释:将 ll /opt和 ll /root 打印的结果写入到test文件里面去
但opt 的被root的覆盖了,只保留root的信息
追加:>>
解释:test文件保留root 和 opt的
解释:信息黑洞,不想打印不想保存的打印信息直接写进去,不占空间相当于没写
进程信息:
ps -ef:进程信息
PID:当前进程编号
PPID:父进程编号
UID:所属用户
ps -ef | grep 搜索关键词:搜索对应的进程
ps -aux:所有信息
ps -aux --sort -pcpu:
top: 当前服务器内存使用率
杀死进程:
kill -9 PID:结束PID为PID的进程
后台进程:
添加后台进程:在命令后面添加&
例子:ping www.baidu.com >> baidu &
jobs -l:查看当前后台进程,只有当前用户界面可以获取
nohup:防止后台进程挂起
nohup ping www.baidu.com >> baidu 2>&1 &
环境变量:
文件路径:vi /etc/profile
软件安装:
1、rpm安装:
安装: rpm -ivh *.rpm
查看安装软件:rpm -qa | grep jdk
rpm -q jdk
卸载:rpm -e 软件名
配置变量:
whereis java:查看java安装路径
find / -name java
yum命令
yum search 软件名:搜索软件
yum install 搜索结果 -y: 安装‘
yum info 软件名:看软件明细
yum list 名字:查看安装结果
yum list | grep 名字:查看安装结果
更换yum源:
yum install wget -y:安装wget
将系统原始配置文件失效:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-
Base.repo.backup
使用Wget获取阿里yum源配置文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com
/repo/Centos-7.repo
清理缓存:yum clean all
获取阿里云缓存:yum makecache
cut
cut -d ':' -f1,2,3 password | grep root
解释:password文件内容以 :分割,-f123,显示前3列,grep root在内容中展示有的root
sort
sort 文件名:对文件内容按照字符串排序
sort -t ':' -k2 文件名:把文件内容按照:分割,并以第二列为排序内容,
sort -t ':' -k2 -r 文件名:倒序
sort -t ':' -k2 -n 文件名:按照数值大小排序,如果有字母,字母在前
wc
wc 文件名:统计这个文件有多少个
输出结果: 第一个数字:行数
第二个数字:以空格分隔单词,单词总数
第三个数字:字符总数数
grep:对文本进行搜索
grep 搜索文本 文件名:在文件名里面搜索文本
grep 文本 文件名 其他文件路径:在两个文件里面寻找文本
grep -n 文本 。。。:在搜索结果前面显示行号
grep -nvi ....:忽略大小写
grep -E "正则表达式" 文件名:匹配正则表达式里面的内容
需系统学习:sed、awk