- 注册
- 2020/04/24
- 消息
- 266
- 金粒
- 5,417金粒
Linux命令参数可以重叠(前提是参数不冲突)
[所用用户@?? 所在目录]
vim
vim 文件位置 使用vim打开文件(如果没有找到文件将自动创建一个)
vim有三种模式,分别是一般模式;输入模式;命令模式
刚进入vim默认就是一般模式
一般模式输入i或a进入输入模式
一般模式输入:或/进入命令模式
输入模式输入esc进入一般模式
一般模式命令
dd 删除光标所在的行
xdd 删除以光标为起点的x行文字
yy 复制光标所在的行
xyy 复制以光标为起点的x行文字
p 粘贴
命令模式命令
q 退出编辑器
w 保存编辑
q! 强制退出
wq 保存并退出
set nu 显示行数
set nonu 取消显示行数
u 撤销上次编辑的内容
/ 用高亮标记出关键字
/east 就会用高亮显示出east
用户
useradd 用户名 新建用户(新用户默认在/home目录下创建用户的根目录,目录名默认跟用户名相同,任何用户都至少属于一个组,新建用户如果不指定组,则会新建一个和用户名相同的组并加入)
-d 目录 用户名 新建用户的同时设定用户的主目录
-g 组名 用户名 新建用户的同时给用户指定组
userdel 用户名 删除用户
-r 用户名 删除用户的同时删除它的主目录
su 用户名 切换用户
id 用户名 查看用户信息
组
linux中的组相当于角色的概念,可以对有共性的用户进行统一管理;
每一个用户至少属于一个组,不能独立组存在,也可以属于多的组;
groupadd 新建组
groupdel 删除组
gpasswd
-a 用户名 组名 将用户添加到组
-d 用户名 组名 将用户从组中移除
系统
shutdown 关闭gui
-h 关机
-r 重启
now 立即关机或重启
x 在x分钟后关机
reboot 立即重启
帮助
man 命令名 查看指定命令帮助信息
help 命令名 查看指定命令帮助信息(大部分为英文)
目录和文件
绝对目录 从根目录(/)或家目录(~)开始的目录就是绝对目录
相对目录 自身目录就是相对目录
. 当前目录 .. 上一级目录 * 全部文件
pwd 查看当前所在的目录路径
ls 查看当前目录下的文件和目录
-l 把当前目录下的文件和目录以列表的形式显示同ll
-a 显示目录下所有的文件和目录(包括虚拟的目录)
[指定目录] 查看指定目录下的文件列表
cd 指定目录 切换目录
mkdir 目录名 在当前目录中创建目录
[-p] 递归创建目录
[指定目录] 在指定目录中创建目录
rmdir 目录名 删除一个空目录
touch 文件名 创建文件
文件名 文件名 文件名 创造多个文件
cp 文件或空目录 目录 复制文件或空目录到指定目录
-r 原目录 指定目录 可以将非空目录递归的复制到指定目录里
cp命令如果指定目录中有重名的文件会提示是否复制,输入y确定复制,输入n即取消
rm 文件名 提示删除文件(需要二次确定;y确定,n取消)(此命令无法删除目录,哪怕是空目录)
-f 文件 强制删除文件(直接删除,无需二次确定)
-r 文件 递归删除文件(可以删除目录)
mv 文件或目录 指定目录 移动文件或目录(剪切)
未知位置 将原文件或目录名改为目标文件名
原文件 目标文件 将原文件内容覆盖到目标文件上并把原文件删除
echo 字符 输出字符
-e 字符 对于转义字符按对应的方式进行处理
命令 > 目标文件 把命令输出结果覆盖到指定文件中(如果目标文件不存在就会新建一个)
命令 >> 目标文件 把命令输出结果追加到指定文件中(如果目标文件不存在就会新建一个)
搜索
find [搜索范围] [搜索标准] linux中关于搜索文件或目录的命令
-name 默认,按名称搜索
-size 按大小搜索
-user 按所有者搜索(一般文件的所有者是文件创造者)
locate 关键字 在目录树中搜索文件或目录,只能根据名称搜索,效率快。
updatedb 更新数据库
ocate 与 find 不同: find 是去硬盘找,locate 只在 /var/lib/slocate 资料库中找。
locate 的速度比 find 快,它并不是真的查找,
而是查数据库,一般文件数据库在 /var/lib/slocate/slocate.db 中,
所以 locate 的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,
也可以手工升级数据库 ,命令为updatedb
日期和时间
date 查看系统当前完整的日期和时间
cal [年份] 查看当前月份的日历[查看指定年份的日历]
筛选
命令 |grep [参数] 关键字 只显示输出中带有关键字的行
-i 忽略大小写
-n 显示行号
压缩解压
gzip 文件 压缩单个文件(压缩会自动删除原文件)(.gz)
gunzip .gz文件 解压.gz文件(解压会自动删除压缩包)
zip 压缩名 文件或目录列表列表(用空格隔开)压缩;可以压缩多个文件,可以自定义压缩格式(.gz,.zip)
unzip 压缩包名 解压指定压缩包
tar [参数] 压缩包(xxx.tar.gz) 源文件或目录
参数 c 压缩 x 解压 C 指定解压位置(默认会解压到当前目录) f 指定压缩后的文件名 v 显示详细信息 z 打包同时压缩
文件与组
每一个用户都至少属于一个组,用户不能独立于组存在,但一个用户可以拥有多个组
一个文件至少属于一个组,且只能属于一个组
用户默认会有一个和用户名称相同的组
对于文件来说,用户有三总类型,分别是所有者(文件的所有者默认是创造者)、同组用户(跟所有者处于同一个组的用户)、其他用户(排除法)
任何文件和目录的三种权限;读(read)查看文件和目录的内容,写(write)修改文件和目录的内容,执行(execute)可以执行文件
chown 新的所有者[:组名] 文件名 修改文件的所有者[和组名]
-R 递归修改
chgrp 新的组 文件名 修改文件或目录所在组
ll [指定目录] 显示当前[指定]目录的文件型态、权限、拥有者、文件大小等信息
文件属性 文件数 拥有者 所属组(group) 文件大小 建档日期 文件名
第一个字符表示文件类型,d表示目录,l表示链接文件,-表示文件
后面三个字符表示所有者的权限,然后三个表示同组用户的权限,再三个表示其他人的权限
再后面的数字表示文件个数,如果是文件那么数量为一,如果是目录数量为该目录中文件的个数
然后就是所有者所属的组
再然后的数字表明文件大小,文件大小用byte来表示,空目录一般都是1024kyte,可以使用其他参数来使文件显示的单位不同,比如ls -k就算使用kb来显示一个文件的大小单位
下一个栏位就算创造时间了,以月,日,时间的格式表示,如Aug 15 5:15表示8月15日早上5:46分
最后一个栏位表示文件名,可以用ls -a显示隐藏的文件名
chmod [用户类型] [设置权限] [权限类型]
u=所有者 +增加权限 r读取
g=同组用户 -减少权限 w编辑
o=其他人 =重新赋值 x执行
a=全部人
chmod可以用数字来表明权限
chmod [所有者][同组用户][其他人] [文件或目录]
4=读 2=写 1=执行
多权限可以用数字和来表示,比如chmod 760表示给自己所有权限(4+2+1)给同组用户读和写的权限(4+2)其他人无权限(0)
linux网络管理
网络配置文件目录
/etc/sysconfig/network-scripts/ifcfg_ens33
进程管理
线程 一个程序的线路
进程 一个程序的执行,一个进程占用一个端口
ps 显示应用进程
-e 显示所有进程
-f 以全格式的形式显示所有进程
kill -[信号] PID
HUP 重新加载进程
KILL 杀死进程
TERM 正常停止进程
信号可以用数字表示
1 (HUP)9 (KILL)15 (TERM)
服务管理
systemctl [参数] [服务名称] 操作服务
start 开启 firewalld 防火墙
stop 关闭
status 查看状态
restart 重启
enable 开机启动
reload 重新加载
软件安装包
RPM是一种Linux的软件包的打包和安装工具,它操作的软件包后缀都是.rpm
rpm -qa 查看所有已安装的rpm包
-e 指定软件包关键字 卸载指定rpm软件包
-i(安装)v(提示)h(进度条) 安装包 安装软件包
YUN是一种基于RPM软件包的管理工具,它能够从指定服务器上自动下载RPM包并且自动安装,可以自动处理软件包之间的依赖关系
yun list installed 查看所有已安装的rpm包
yun remove 指定软件包 卸载指定软件包
yum install [关键字] 安装指定软件包(需要网络)
source 配置文件位置 让linux重新加载一个配置文件
运行环境
jdk安装
java -version 检测是否已安装jdk
which java 检测jdk目录
rpm -qa |grep java |xargs rpm -e --nodeps 卸载jdk
vim /etc/profile 配置环境变量
JAVA_HOME/usr/local/lib/jdk 这里的位置写解压jdk的位置
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
source /etc/profile 加载编辑好的文件
最后再检测一遍确认安装
comcat安装
百度查到压缩包,直接解压进入进入bin运行startup.sh
进入127.0.0.1:8080检查是否已开启
.sh是linux中的可执行文件,对应Windows的.exe
./文件名 即可运行文件
MySQL安装
检查是否已安装mariadb
很多linux自带mariadb,mariadb数据库是mysql的分支(两者会发生冲突)
使用yum来检查是否已安装mariadb
yum list installed |grep mariadb
再用yum remove卸载mariadb就行
然后在百度上下载mysql压缩包,解压
进入建立data文件夹 (用于存放数据库文件)
创建用来执行mysqld命令的Linux用户
这个用户通常是用来执行MySQL的命令mysqld,此命令用来初始化MySQL的基础信息,
这个用户的标准用户名是mysql,可以用其他,但不推荐
所以就是 useradd mysql 默认创建用户会有一个和名字相同的组名
设置权限chown mysql:mysql -R mysql目录
然后再在bin目录下运行一遍这条代码
./mysqld
--initialize 创建mysql的root,随机生成密码,记住密码,登录msyql使用
--user=mysql 执行mysqld命令的linux用户名
--datadir=/opt/mysql-5.7.34/data/ mysql数据文件存放位置
--basedir=/opt/mysql-5.7.34 mysql安装程序目录
此命令执行后会生成一个临时的mysql数据库root用户的密码
和
启用安全功能
./mysql_ssl_rsa_setup --datadir=/opt/mysql-5.7.34/data/ 加密数据文件
指定数据文件存放位置
修改权限
chown -R mysql:mysql /opt/mysql-5.7.34
启动mysql
./mysqld_safe & 启动mysql服务(&代表后台启动)
确认是否启动
ps -ef|grep mysql
[所用用户@?? 所在目录]
vim
vim 文件位置 使用vim打开文件(如果没有找到文件将自动创建一个)
vim有三种模式,分别是一般模式;输入模式;命令模式
刚进入vim默认就是一般模式
一般模式输入i或a进入输入模式
一般模式输入:或/进入命令模式
输入模式输入esc进入一般模式
一般模式命令
dd 删除光标所在的行
xdd 删除以光标为起点的x行文字
yy 复制光标所在的行
xyy 复制以光标为起点的x行文字
p 粘贴
命令模式命令
q 退出编辑器
w 保存编辑
q! 强制退出
wq 保存并退出
set nu 显示行数
set nonu 取消显示行数
u 撤销上次编辑的内容
/ 用高亮标记出关键字
/east 就会用高亮显示出east
用户
useradd 用户名 新建用户(新用户默认在/home目录下创建用户的根目录,目录名默认跟用户名相同,任何用户都至少属于一个组,新建用户如果不指定组,则会新建一个和用户名相同的组并加入)
-d 目录 用户名 新建用户的同时设定用户的主目录
-g 组名 用户名 新建用户的同时给用户指定组
userdel 用户名 删除用户
-r 用户名 删除用户的同时删除它的主目录
su 用户名 切换用户
id 用户名 查看用户信息
组
linux中的组相当于角色的概念,可以对有共性的用户进行统一管理;
每一个用户至少属于一个组,不能独立组存在,也可以属于多的组;
groupadd 新建组
groupdel 删除组
gpasswd
-a 用户名 组名 将用户添加到组
-d 用户名 组名 将用户从组中移除
系统
shutdown 关闭gui
-h 关机
-r 重启
now 立即关机或重启
x 在x分钟后关机
reboot 立即重启
帮助
man 命令名 查看指定命令帮助信息
help 命令名 查看指定命令帮助信息(大部分为英文)
目录和文件
绝对目录 从根目录(/)或家目录(~)开始的目录就是绝对目录
相对目录 自身目录就是相对目录
. 当前目录 .. 上一级目录 * 全部文件
pwd 查看当前所在的目录路径
ls 查看当前目录下的文件和目录
-l 把当前目录下的文件和目录以列表的形式显示同ll
-a 显示目录下所有的文件和目录(包括虚拟的目录)
[指定目录] 查看指定目录下的文件列表
cd 指定目录 切换目录
mkdir 目录名 在当前目录中创建目录
[-p] 递归创建目录
[指定目录] 在指定目录中创建目录
rmdir 目录名 删除一个空目录
touch 文件名 创建文件
文件名 文件名 文件名 创造多个文件
cp 文件或空目录 目录 复制文件或空目录到指定目录
-r 原目录 指定目录 可以将非空目录递归的复制到指定目录里
cp命令如果指定目录中有重名的文件会提示是否复制,输入y确定复制,输入n即取消
rm 文件名 提示删除文件(需要二次确定;y确定,n取消)(此命令无法删除目录,哪怕是空目录)
-f 文件 强制删除文件(直接删除,无需二次确定)
-r 文件 递归删除文件(可以删除目录)
mv 文件或目录 指定目录 移动文件或目录(剪切)
未知位置 将原文件或目录名改为目标文件名
原文件 目标文件 将原文件内容覆盖到目标文件上并把原文件删除
echo 字符 输出字符
-e 字符 对于转义字符按对应的方式进行处理
命令 > 目标文件 把命令输出结果覆盖到指定文件中(如果目标文件不存在就会新建一个)
命令 >> 目标文件 把命令输出结果追加到指定文件中(如果目标文件不存在就会新建一个)
搜索
find [搜索范围] [搜索标准] linux中关于搜索文件或目录的命令
-name 默认,按名称搜索
-size 按大小搜索
-user 按所有者搜索(一般文件的所有者是文件创造者)
locate 关键字 在目录树中搜索文件或目录,只能根据名称搜索,效率快。
updatedb 更新数据库
ocate 与 find 不同: find 是去硬盘找,locate 只在 /var/lib/slocate 资料库中找。
locate 的速度比 find 快,它并不是真的查找,
而是查数据库,一般文件数据库在 /var/lib/slocate/slocate.db 中,
所以 locate 的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,
也可以手工升级数据库 ,命令为updatedb
日期和时间
date 查看系统当前完整的日期和时间
cal [年份] 查看当前月份的日历[查看指定年份的日历]
筛选
命令 |grep [参数] 关键字 只显示输出中带有关键字的行
-i 忽略大小写
-n 显示行号
压缩解压
gzip 文件 压缩单个文件(压缩会自动删除原文件)(.gz)
gunzip .gz文件 解压.gz文件(解压会自动删除压缩包)
zip 压缩名 文件或目录列表列表(用空格隔开)压缩;可以压缩多个文件,可以自定义压缩格式(.gz,.zip)
unzip 压缩包名 解压指定压缩包
tar [参数] 压缩包(xxx.tar.gz) 源文件或目录
参数 c 压缩 x 解压 C 指定解压位置(默认会解压到当前目录) f 指定压缩后的文件名 v 显示详细信息 z 打包同时压缩
文件与组
每一个用户都至少属于一个组,用户不能独立于组存在,但一个用户可以拥有多个组
一个文件至少属于一个组,且只能属于一个组
用户默认会有一个和用户名称相同的组
对于文件来说,用户有三总类型,分别是所有者(文件的所有者默认是创造者)、同组用户(跟所有者处于同一个组的用户)、其他用户(排除法)
任何文件和目录的三种权限;读(read)查看文件和目录的内容,写(write)修改文件和目录的内容,执行(execute)可以执行文件
chown 新的所有者[:组名] 文件名 修改文件的所有者[和组名]
-R 递归修改
chgrp 新的组 文件名 修改文件或目录所在组
ll [指定目录] 显示当前[指定]目录的文件型态、权限、拥有者、文件大小等信息
文件属性 文件数 拥有者 所属组(group) 文件大小 建档日期 文件名
第一个字符表示文件类型,d表示目录,l表示链接文件,-表示文件
后面三个字符表示所有者的权限,然后三个表示同组用户的权限,再三个表示其他人的权限
再后面的数字表示文件个数,如果是文件那么数量为一,如果是目录数量为该目录中文件的个数
然后就是所有者所属的组
再然后的数字表明文件大小,文件大小用byte来表示,空目录一般都是1024kyte,可以使用其他参数来使文件显示的单位不同,比如ls -k就算使用kb来显示一个文件的大小单位
下一个栏位就算创造时间了,以月,日,时间的格式表示,如Aug 15 5:15表示8月15日早上5:46分
最后一个栏位表示文件名,可以用ls -a显示隐藏的文件名
chmod [用户类型] [设置权限] [权限类型]
u=所有者 +增加权限 r读取
g=同组用户 -减少权限 w编辑
o=其他人 =重新赋值 x执行
a=全部人
chmod可以用数字来表明权限
chmod [所有者][同组用户][其他人] [文件或目录]
4=读 2=写 1=执行
多权限可以用数字和来表示,比如chmod 760表示给自己所有权限(4+2+1)给同组用户读和写的权限(4+2)其他人无权限(0)
linux网络管理
网络配置文件目录
/etc/sysconfig/network-scripts/ifcfg_ens33
进程管理
线程 一个程序的线路
进程 一个程序的执行,一个进程占用一个端口
ps 显示应用进程
-e 显示所有进程
-f 以全格式的形式显示所有进程
kill -[信号] PID
HUP 重新加载进程
KILL 杀死进程
TERM 正常停止进程
信号可以用数字表示
1 (HUP)9 (KILL)15 (TERM)
服务管理
systemctl [参数] [服务名称] 操作服务
start 开启 firewalld 防火墙
stop 关闭
status 查看状态
restart 重启
enable 开机启动
reload 重新加载
软件安装包
RPM是一种Linux的软件包的打包和安装工具,它操作的软件包后缀都是.rpm
rpm -qa 查看所有已安装的rpm包
-e 指定软件包关键字 卸载指定rpm软件包
-i(安装)v(提示)h(进度条) 安装包 安装软件包
YUN是一种基于RPM软件包的管理工具,它能够从指定服务器上自动下载RPM包并且自动安装,可以自动处理软件包之间的依赖关系
yun list installed 查看所有已安装的rpm包
yun remove 指定软件包 卸载指定软件包
yum install [关键字] 安装指定软件包(需要网络)
source 配置文件位置 让linux重新加载一个配置文件
运行环境
jdk安装
java -version 检测是否已安装jdk
which java 检测jdk目录
rpm -qa |grep java |xargs rpm -e --nodeps 卸载jdk
vim /etc/profile 配置环境变量
JAVA_HOME/usr/local/lib/jdk 这里的位置写解压jdk的位置
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
source /etc/profile 加载编辑好的文件
最后再检测一遍确认安装
comcat安装
百度查到压缩包,直接解压进入进入bin运行startup.sh
进入127.0.0.1:8080检查是否已开启
.sh是linux中的可执行文件,对应Windows的.exe
./文件名 即可运行文件
MySQL安装
检查是否已安装mariadb
很多linux自带mariadb,mariadb数据库是mysql的分支(两者会发生冲突)
使用yum来检查是否已安装mariadb
yum list installed |grep mariadb
再用yum remove卸载mariadb就行
然后在百度上下载mysql压缩包,解压
进入建立data文件夹 (用于存放数据库文件)
创建用来执行mysqld命令的Linux用户
这个用户通常是用来执行MySQL的命令mysqld,此命令用来初始化MySQL的基础信息,
这个用户的标准用户名是mysql,可以用其他,但不推荐
所以就是 useradd mysql 默认创建用户会有一个和名字相同的组名
设置权限chown mysql:mysql -R mysql目录
然后再在bin目录下运行一遍这条代码
./mysqld
--initialize 创建mysql的root,随机生成密码,记住密码,登录msyql使用
--user=mysql 执行mysqld命令的linux用户名
--datadir=/opt/mysql-5.7.34/data/ mysql数据文件存放位置
--basedir=/opt/mysql-5.7.34 mysql安装程序目录
此命令执行后会生成一个临时的mysql数据库root用户的密码
和
启用安全功能
./mysql_ssl_rsa_setup --datadir=/opt/mysql-5.7.34/data/ 加密数据文件
指定数据文件存放位置
修改权限
chown -R mysql:mysql /opt/mysql-5.7.34
启动mysql
./mysqld_safe & 启动mysql服务(&代表后台启动)
确认是否启动
ps -ef|grep mysql