查询Linux ip :ip addr
命令篇
文件处理
1.查询目录的内容
<#--查看所有-->
ls -alh
<#--展示列表-->
ls [选项] [文件或目录]
选项:
-a 显示所有文件,包括隐藏文件
-l 显示详细信息
-h 人性化显示文件大小
2.切换目录
cd [目录]
命令英文原意: change directory
简化操作:
cd ~ :切换到用户目录(家目录)
cd :切换到用户目录
cd - :切换到上一个访问目录
cd .. :切换到上一级目录
cd . :切换到当前目录
3.当前所在的工作空间
pwd
命令英文原意:print working directory
4.创建文件
touch 文件名 :创建文件
5.创建目录
mkdir -p [目录名]
-p 递归创建
命令英文原意: make directories
mkdir 目录名 :创建目录
mkdir -p xx/yyy/zz :创建多级目录
6.删除<font color=red>空目录</font>
rmdir [目录名]
命令英文原意:remove empty directory
rmdir 目录 :删除目录(目录为空时执行)
7.删除文件或者目录
rm -rf [文件或目录]
命令英文原意:remove
选项:
-r 递归删除目录
-f 强制
rm -r 目录 :递归文件夹 带提示
rm -f 文件 :删除文件
rm -rf 文件/文件夹 :递归删除,无提示
禁止: rm -rf / 删除所有文件
8.复制文件或文件夹
cp [选项] [原文件或目录] [目标目录]
命令英文原意:copy
选项:
-r 复制目录
cp 源文件 备份文件 :备份文件[复制文件]
cp -r 源目录 目标目录 [复制目录]
9.剪切和改名命令
mv [原文件或目录] [目标目录]
命令英文原意:move
mv 文源文件件 目标文件目录 :剪切
mv 源文件 不存在的文件 :重命名
mv 源文件 文件夹/不存在的文件 :剪切重命名
剪切并重命名
mv a.txt /root/test_bak/bb.txt
文件搜索
1.环境变量
PATH环境变量:定义的是系统搜索命令的路径
相当于window下的path
//之间有空格
echo $PATH : 查看环境变量
2.文件搜索
find [搜索范围] [搜索条件]
示例:
find / -name install.log
#避免大范围搜索,会非常耗费系统资源
#find是在系统当中搜索符合条件的文件名.如果需要匹配,使用通配符匹配,通配符是完全匹配
find /root -name install.log #按名字查询: 不区分大小写
find /root -user root #按照所有者搜索
find /root -nouser #查找没有所有者的文件
https://www.xuebuyuan.com/683276.html
假如匹配到多个就会报错,错误提示如下:
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exe
find /root -name 'test*'
加了单引号之后解决
3.按文件的大小查询
find / -size 25k
#查找文件大小是25KB的文件,注意k是小写的.
-25k 小于25KB的文件
25k 等于25KB的文件
+25k 大于25KB的文件
find / -size 25M
#查找文件大小是25MB的文件,注意M是大写的.
4.复合条件查询
find /etc -size +20k -a -size -50k
#查找/etc/目录下,大于20KB并且小于50KB的文件
-a and 逻辑与,两个条件都满足
-o or 逻辑或,两个条件满足一个即可
find /etc -size +20k -a -size -50k -exec ls -lh {} \;
#查找/etc/目录下,大于20KB并且小于50KB的文件,并显示详细信息
#-exec {} \;这是固定格式
5.字符串的搜索命令
grep [选项] 字符串 文件名
#在文件当中匹配符合条件的字符串
选项:
-i 忽略大小写
-v 排除指定字符串
cat anaconda-ks.cfg 查看内容
grep timezone anaconda-ks.cfg
经典使用:
ps -ef |grep java
ps
ps -ef 显示出的结果:
1.UID 用户ID
2.PID 进程ID
3.PPID 父进程ID
4.C CPU占用率
5.STIME 开始时间
6.TTY 开始此进程的TTY----终端设备
7.TIME 此进程运行的总时间
8.CMD 命令名
[图片上传失败...(image-f69f87-1571065750332)]
TIP
find命令:在系统中搜索符合条件的文件名.
grep命令:在文件中搜索符合条件的字符串.
帮助命令
1.man命令[manual n.手册]
man ls
#查看ls的帮助
man 命令名 :
查看帮助命令f b键翻页 q退出
2. 命令 --help[简洁版]
命令 --help
#获取命令选项的帮助
实例:
ls --help
命令 --help :简洁版帮助
但是不适用内部命令,如cd:
help cd
命令特殊时,使用
help 命令 比如: help cd
压缩命令
1.zip压缩
zip 压缩文件名 原文件
#压缩文件
zip -r 压缩文件名 原文件
先安装zip 软件
yum install zip
yum install -y zip : 不带确认的安装
yum install -y unzip
卸载: yum remove
zip 压缩文件名 原文件 :压缩文件
zip a.zip a.txt
zip -r 压缩文件名 原文件夹 :递归要是文件夹
zip -r a.zip a.txt
2.zip解压
unzip 压缩文件
#解压缩.zip文件
unzip 压缩文件名 ;解压
3.gz压缩
gzip 原文件
#压缩为.gz格式的压缩文件,原文件会消失
gzip -c 原文件 > 压缩文件
#压缩为.gz格式,原文件保留
#-c的意思不是说需要保留文件,而是要把压缩的结果输出到控制台.
#>的意思是把结果输出到什么地方去.
gzip -r 目录
#压缩目录下的所有子文件,但是不能压缩目录
gzip 原文件: 压缩文件, 源文件会消失
gzip a.txt
gzip -r 原文件夹:遍历文件夹,压缩文件夹中文件,目录不压缩
gzip -r learn
4.gz解压
gzip -d 压缩文件
#解压缩文件
gunzip 压缩文件
#解压缩文件
gunzip -r 压缩文件目录;解压
5.打包命令
打包命令:
tar -cvf 打包文件名 源文件
选项:
-c 打包
-v 显示过程
-f 指定打包后的文件名
tar -cvf learn.tar learn
解打包命令:
tar -xvf 打包文件名
选项:
-x 解打包
6..tar.gz格式压缩
tar -zcvf 压缩包名.tar.gz 源文件
选项:
-z 压缩为.tar.gz格式
tar -zcvf learn.tar.gz learn
7.tar.gz格式解压
tar -zxvf 压缩包名.tar.gz
选项:
-x 解压缩.tar.gz格式
#加上-C表示解压到指定的目录
tar -zxvf 压缩包名.tar.gz -C 指定目录
tar -zxvf learn.tar.gz -C ./
重启命令
重启命令
init 0 :关机
init 6 :重启
init 3 :切换字符界面
inti 5 :切换可视化界面
reboot :重启
其他命令
[图片上传失败...(image-afacfc-1571065750332)]
cat:显示全部
tail默认在屏幕上显示指定文件的末尾10行
参数:
-f 显示文件最新追加的内容。
-行数 在屏幕上显示指定文件的末尾参数设置的行数
Vi编辑器
1.编辑器的三种模式
模式之间的相互转换:
编辑-->输入
i:在光标所在字符前开始插入
a:在光标所在字符后开始插入
o:在光标所在行的下面另起一新行插入
s:删除光标所在的字符并开始插入
---------------------------------------
I:在光标所在行的行首开始插入 如果行首有空格则在空格之后插入
A:在光标所在你行的行尾开始插入
O:在光标所在行的上面另起一行开始插入
S:删除光标所在行并开始插入
输入模式-->编辑模式
ESC(键盘左上方的按键)
编辑模式--->末行模式
:
末行模式:-->编辑模式
ESC(键盘左上方的按键)(一次或者多次)
2.保存文件
打开文件
vi /path/to/file
关闭文件
在末行模式下
wq: 保存退出
q!: 退出不保存
3.编辑时移动光标
逐字符移动:
h:左移动
l:右移动
j:向下移动
k:向上移动
行内跳转:
0:跳转到行首
$: 跳转到行尾
行间跳转;(末行模式)
num: 跳转到某一行(末行模式)
G: 跳转行最后一行(编辑模式)
gg: 跳转到第一行(编辑模式)
4.翻屏操作
在编辑模式下:
ctrl+f 向下翻一页
ctrl+b 向上翻一页
5.删除操作
dd:删除光标所在行 (编辑模式)
3dd:从光标行开始删除3行(编辑模式)
: 1,4d 删除第一行到第四行(末行模式)
[图片上传失败...(image-d2d0a1-1571065750332)]
6.复制行操作
yy 复制光标所在行 (编辑模式)
2yy 从光标行开始复制2行(编辑模式)
p: 粘贴命令[paste]
7.查找和替换
文件的查找
/parttern 从前往后查找
?parttern 从后往前查找
n: 下一个匹配的字符串
N: 上一个匹配的字符串
文本的替换(末行模式)
startNum,endNums/partter/string/gi
g:全局替换
i:忽略大小写
%s/f/F/gi
:.,$s/F/f/gi
/关键字 按n找下一个
set number 设置行号
或者
set nu
取消行号
set nu!
用户管理
1.添加用户
创建用户 :useradd [用户名]
创建用户并分配一个组:useradd -G [组名] [用户名]
查看系统用户:cat /etc/passwd
1 用户名
2 用户的密码,用x替代
3 用户的uid,一般情况下root为0,1-499默认为系统账号,有的更大些到1000,500-65535为用户的可登录账号,有的系统从1000开始。
4 用户的gid,linux的用户都会有两个ID,一个是用户uid,一个是用户组id,在我们登录的时候,输入用户名和密码,其实会先到/etc/passwd查看是否有你输入的账号或者用户名,有的话将该账号与对应的UID和GID(在/etc/group中)读出来。然后读出主文件夹与shell的设置,然后再去检验密码是否正确,正确的话正常登录。
5 用户的账号说明解释
6 用户的家目录文件夹
7 用户使用的shell,如果换成/sbin/nologin/就是默认没有登录环境的。
2.查看系统用户组
查看系统用户组:cat /etc/group
3.usermod
修改用户组属性
usermod -G [组名] [用户名]
4.删除用户
userdel删除用户:
-f:强制删除用户,即使用户已登录
-r:删除与用户相关的所有文件。
5.修改用户的密码
设置用户密码: passwd 用户名
查看密码:
cat /etc/shadow
WolfCode_2017
注销: logout
重新登录:
文件权限
1.chmod命令
chmod [选项] 模式 文件名
选项
-R 递归
模式
[guoa] [+-=] [rwx]
[mode=421]
2.修改用户的权限
修改权限的方式:
chmod u+x 文件
#给当前用户添加指定文件的x执行权限
chmod g+w,o+w 文件
#给该文件用户组合其他人添加指定文件的w写的权限
chmod a=rwx 文件
#给该文件的当前用户,当前组,其他人 添加rwx可读可写可执行的权限
3.权限的数字表达式
权限的数字表示
r 4
w 2
x 1
111--->7 rwx
110--->6 rw-
100--->4 r--
示例:
rwxr-xr-x
7 5 5
chmod 755 文件
4.sudo权限
root把本来只能超级用户执行的命令赋予普通用户执行.(可以理解为权限代理)
sudo的操作对象是系统命令
visudo
#实际修改的是/etc/sudoers文件
需求: 想让root 用户将 shutdown -h 10 定时关机命令赋予 dafei用户
#用户名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)
root ALL = (ALL) ALL
#%组名 被管理注解的地址=(可使用身份) 授权命令(绝对路径)
%wheel ALL=(ALL) ALL
sudo shutdown -h 10
系统服务管理
1.进程查看
用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。
ps -ef 显示出的结果:
1.UID 用户ID
2.PID 进程ID
3.PPID 父进程ID
4.C CPU占用率
5.STIME 开始时间
6.TTY 开始此进程的TTY----终端设备
7.TIME 此进程运行的总时间
8.CMD 命令名
2.杀死进程
kill 进程UID
防火墙的配置
关闭防火墙
systemctl disable firewalld
systemctl stop firewalld
centos7的防火墙程序服务名为:firewalld
防火墙配置命令:firewall-cmd
防火墙帮助:
firewall-cmd --help
查看防火墙状态:
firewall-cmd --state
查看所有打开的端口:
firewall-cmd --zone=public --list-ports
开启端口:
firewall-cmd --zone=public --add-port=端口号/tcp --permanent(--permanent参数为永久生效,不加则重启后失效)
更新防火墙规则:
firewall-cmd --reload
删除端口:
firewall-cmd --zone=public --remove-port=端口号/tcp --permanent
快速查找命令
netstat -ano| grep 80
静态IP的修改
文件 /etc/sysconfig/network-scripts/ifcfg-eth0在/etc/sysconfig/network-script在这个目录下面,存放的是网络接口(网卡)的脚本文件(控制文件),ifcfg-eth0是默认的第一个网络接口,如果机器中有多网络接口,那么名字就将依此类推ifcfg-eth1,ifcfg-eth2,ifcfg-eth3......(这里面的文件是相当重要的,涉及到网络能否正常工作)。
TYPE=Ethernet #网卡类型
DEVICE=eth0 #网卡接口名称
ONBOOT=yes #系统启动时是否自动加载
BOOTPROTO=static #启用地址协议 --static:静态协议 --bootp协议 --dhcp协议
IPADDR=192.168.1.11 #网卡IP地址
NETMASK=255.255.255.0 #网卡网络地址
GATEWAY=192.168.1.1 #网卡网关地址
DNS1=8.8.8.8 #网卡DNS地址
BROADCAST=192.168.1.255 #网卡广播地址
查看ip:
ip addr
重启网络
[图片上传失败...(image-8d0521-1571065750332)]
JDK 安装
1:将jdk拉入linux路径: /usr/local/software
2:将jdk解压到指定的路径
cd /usr/local/software
tar -zxvf jdk-8u161-linux-x64.tar.gz -C /usr/local
3:给解压后的文件目录改过好操作的名字, 可以不改
mv jdk1.8.0_161 jdk1.8
4:备份配置环境变量文件
注意,设置前先备份,养成习惯
cp /etc/profile /etc/profile_bak
5:修改配置环境变量文件
vi /etc/profile
在随便空白地方输入:
export JAVA_HOME=/usr/local/jdk1.8 #设置java_home
export PATH=$JAVA_HOME/bin:$PATH #设置环境变量, 跟window区别,是 : 分隔的
看清楚,大小写必须一致
6:重写加载环境变量
source /etc/profile
7:测试
java -version
看到这个结果表示安装成功
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
部署项目篇
1.rpm
rpm 常用命令
安装一个包
# rpm -ivh <包名>
rpm -ivh --nodeps <包名> : 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。
--force 即使覆盖属于其它包的文件也强迫安装
查询一个包是否被安装
# rpm -q <软件名>
得到被安装的包的信息
# rpm -qi < 软件名>
列出该包中有哪些文件
# rpm -ql < 软件名>
列出服务器上的一个文件或目录属于哪一个RPM包
#rpm -qf <文件或目录名>
列出所有被安装的rpm package
# rpm -qa
卸载一个包
# rpm -e <软件名>
有安装包,知道依赖关系使用rpm
2.yum
1 配置一个自定义的仓库地址
/etc/yum.repos.d
local.repo
2 安装命令
yum install
3 查看软件包
yum list |grep mysql
yum list installed
4 卸载软件包
yum remove
没安装包, 不知道依赖关系,使用yum
3.修改yum源
从国内镜像下载
yum install wget -y
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
#更新系统软件,不执行
yum -y update
修改为静态IP,安装MQ
vi /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens32"
UUID="ca125296-65cb-4308-8b83-8a56794fbf34"
DEVICE="ens32"
ONBOOT="yes"
ZONE=public
IPADDR=192.168.91.129
NETMASK=255.255.255.0
GATEWAY=192.168.91.2
DNS1=8.8.8.8
BROADCAST=192.168.91.255
4.加文件执行权限
chmod +x 文件名
5.重启nginx
./nginx -s reload
6.查看端口
netstat -ano| grep 80
网友评论