04—Linux

远程工具

在工作中,Linux系统一般安装在公司机房的服务器上,因此需要使用远程工具连接Linux服务器进行操作,下载安装XShell和Xftp工具,下载地址:https://www.xshell.com/zh/free-for-home-school/

常用命令 

磁盘管理 

① 切换目录:cd 目录名

由当前目录切换到 /usr/local

cd /usr/local

回到根目录

cd /

返回上一级目录

cd ..

② 列出当前目录下的文件及文件夹:ll  ls

查看当前目录下的目录及文件,显示详细信息

ll

查看指定目录下的目录及文件,显示详细信息

ll /usr/local

查看当前目录下的目录及文件,只显示名称

ls

查看指定目录下的目录及文件,只显示名称

ls /usr/local

使用ll命令展示出的详细信息,如果是 - 开头,表示这是一个文件;如果是 l 开头,表示这是一个链接;如果是 d 开头,表示这是一个目录

③ 显示当前所在目录位置:pwd 

pwd

文件管理

① 创建目录:mkdir 目录名

在当前目录下创建文件夹

mkdir test01

在指定路径下创建文件夹

mkdir /usr/test01

② 删除文件或目录:rm  rm -rf

使用 rm 删除文件

# echo 内容 > 文件名 创建一个文件并写入内容
echo "hello,world" > my.txt
# 删除文件
rm my.txt # 出现提示时,输入 y 表示同意删除
# 无视提示进行删除
rm -f my.txt

使用 rm 删除文件夹

# 删除文件夹
rm -r test01 # 出现提示时,输入 y 表示同意删除
# 无视提示进行删除
rm -rf test01

③ 复制文件命令:cp  cp -rf

复制文件 cp 被复制文件名 新文件名

# 复制文件
cp my.txt my02.txt
# 重复执行时会询问是否覆盖 y表示同意覆盖 n表示取消

复制文件夹 cp -rf 被复制的目录名 新目录名

cp -rf test01 test02

④ 查看文件内容

查看文件的全部内容

# 查看当前目录下的文件内容
cat my.txt
# 查看指定目录下的文件内容
cat /root/anaconda-ks.cfg

分页查看文件内容

# 逐屏输出 按空格space就往下一页、Enter 一行一行展示
more /root/anaconda-ks.cfg

查看文件开头的n行数据

head -5 /root/anaconda-ks.cfg # 查看开头5行数据
head /root/anaconda-ks.cfg # 默认查看10行

查看文件末尾的n行数据

tail -5 /root/anaconda-ks.cfg # 查看末尾5行数据
tail /root/anaconda-ks.cfg # 默认查看末尾10行

⑤ 文件搜索

搜索文件内容

# 搜索文件内容
grep "hello" my.txt # 在指定文件中搜索关键字
# 搜索文件内容,忽略大小写
grep -i "hello" my.txt
# 搜索多个文件
grep "hello" my.txt my02.txt
grep -i "hello" my.txt my02.txt

搜索以关键字开头的内容

# 以关键字开头搜索文件内容
grep "^hello" my.txt
grep "^hello" my.txt my02.txt #查询多个文件
# 忽略大小写
grep -i "^hello" my.txt
grep -i "^hello" my.txt my02.txt #查询多个文件

使用管道搭配搜索

cat my.txt | grep "hello" # 从文件搜索内容并输出

系统命令

① 当前时间

date # 查看当前系统时间

② 切换用户

su 用户名 # 切换为其他用户

从普通用户切换到管理员 su root 回车后需要输入密码,输入密码时,密码是不显示的 

③ 清除屏幕

clear # 清除屏幕 也可以使用快捷键 CTRL+L

 ④ 重启系统

reboot

⑤ 关机

shutdown -h now

⑥ 查看系统进程

ps -ef # 查看当前所有进程
ps -ef | grep vim # 查看当前正在执行vim的进程

常用参数

-e:显示当前所有进程

-f:显示UID,PPID,C与STIME栏位信息

UID:拥有该进程的用户

PID:程序的进程id

PPID:父进程id

C:CPU使用的资源百分比

STIME:系统启动时间

TTY:登录系统的终端位置(客户端的标识)

TIME:使用掉的CPU时间

CMD:进程是有哪些程序启动的

⑦ 杀死进程

kill pid值 # 杀掉进程
kill -9 pid值 # 强制杀掉进程

一般会使用ps -ef 查询进程id,然后再使用kill pid

压缩和解压缩

tar压缩(归档),tar用来压缩和解压缩文件,tar压缩后的文件也叫归档文件

语法:tar 参数 要压缩或解压缩的文件或目录

常用参数

  • z:使用压缩,生成的文件名是 xxx.tar.gz 这是Linux中常用的压缩格式
  • c:创建压缩文档
  • v:显示压缩,解压过程中处理的文件名
  • f:指定规定文件名,tar参数后面是归档文件名
  • x:从归档文件中释放文件,就是解压
  • t:列出归档文件,查看文件内容
  • C:解压到指定名录,使用方式 -C 目录 

① 创建归档文件(压缩)

语法:tar -zvcf 归档文件名 要归档的文件列表

tar -zvcf fileTar.tar.gz test01 test02 test01.txt test02.txt # 将目录和文件夹压缩到压缩包中
tar -zvcf fileTar02.tar.gz *.txt # 使用通配符将以.txt结尾的文件压缩

② 查看压缩包文件内容

语法:tar -tf 归档文件名

t:列出归档(压缩)文件的内容

f:归档文件名

tar -tf fileTar02.tar.gz # 查看压缩包中的文件内容

③ 释放压缩的文件内容

语法:tar -zxvf 已归档的文件名

x:解压,从归档文件中释放文件

tar -zxvf fileTar.tar.gz # 将归档文件解压到当前目录 
tar -zxvf fileTar.tar.gz -C 目录 # 将归档文件解压到指定目录

网络通讯 

① 查看IP信息

ifconfig 
ip addr

② 测试网络连通

ping ip或者域名

查看之后,CTRL+C,退出查看返回Linux命令行

权限管理 

权限指用户或程序能够对目录,文件执行的操作

执行ll 或 ls -l 显示文件和目录详细信息

文件类型

- :文件

d :目录

l :软链接文件(快捷方式)

c :字符设备文件,一次传输一个字节的设备被称为字符设备

Linux权限机制采用UGO模式。其中u(user)表示所属用户、g(group)表示所属组、o(other)表示除了所属用户、所属组之外的情况

r表示读权限,读取文件内容,对文件执行cat,more,less这样的查看命令,对目录来说可以读取目录文件列表

w表示写权限,编辑,新增,修改文件内容

x表示执行权限,进入目录,访问目录中的文件内容

常见权限设置

r-4 ,w-2,x-1

rwx = 4 + 2 + 1 = 7

常见644、755、770三种权限

644:拥有者有读写权限,所属组和其他用户只有读权限

755:拥有者有读写权限,所属组和其他用户有读和执行权限

770:拥有者和所属组有读写执行权限,其他用户没有权限

创建文件用户就是文件的拥有者,用户所在组就是文件的所在组。除了创建文件的用户都是其他用户。root有最高的权限

① 修改文件权限

chmod 606 a.txt # 设置a.txt文件权限,给当前用户分配读写权限,所属组无权限,其他用户读写权限

只有管理员用户可以分配权限,普通用户无法执行命令

② 修改文件拥有者

chown 新的拥有者用户 被修改的文件 # 修改原来用户拥有的文件改为新用户下

管道与重定向

① 重定向输出覆盖

echo "hello java" # 将内容输出在命令行
echo "hello java" > a.txt # 将内容输出到a.txt文件中,如果文件不存在会先新建文件
echo "hello world" > a.txt # a.txt文件存在,会将原内容进行覆盖

② 重定向输出追加

echo "hello java" >> b.txt # 将内容输出到b.txt文件中,如果文件不存在会先新建文件
echo "hello world" >> b.txt # b.txt文件存在,会将内容追加到文件中

③ 管道

管道就是用 “ | ” 连接两个命令,以前面一个命令的输出作为后面命令的输入,用于把管道左边的输出作为右边的输入

例如搜索文件内容

cat a.txt | grep "hello"  # 从a.txt文件中搜索hello

查看某个进程是否存在

ps -ef | grep vim 

编辑器

vi是Linux下标配的一个纯字符界面的文本编辑器,由于不是图形界面,相关的操作都要通过键盘输入命令来完成,需要记住一些常用的操作命令

vim是vi的升级命令,完全兼容vi,vim也可以完全当成vi使用,vim是在vi的基础上增加了一些功能,比如语法着色等

启动vi编辑器的语法:vi 文件名

如果文件存在,则打开文件;如果文件不存在,则会新建该文件(不是立即创建,而是在保存的时候创建)

vi操作分为 命令模式 和 编辑模式

命令模式:按ESC键,进入命令模式,命令模式下无法编辑

编辑模式:按a或者i字母进入编辑模式(此时,底部会出现insert)。在命令模式下输入 :wq 保存退出,按 :q! 不保存退出

编辑文件命令(在命令模式下使用)

  • dd:删除光标所在行
  • yy:复制光标所在行到缓冲区
  • p:粘贴缓冲区中的内容
  • gg:光标回到文件第一行
  • GG:光标回到文件最后一行
  • ^:光标移动到行首
  • $:光标移动到行尾
  • /:斜杠键,可以输入想搜索的字符,然后确定进行搜索,如果第一次查找的关键字不是想要的,可以一直按 n 键往后查找到想要的关键字为止 

安装软件 

yum是一个在RedHat、Fedora以及CentOS中的一种软件包管理器,能够从指定的服务器自动下载软件包并且进行安装,可以自动处理软件包之间的依赖关系,并且一次安装所有依赖的软件包,无需繁琐的一次次下载安装

查找软件包命令:yum search 安装包名称中的部分关键字

例如:yum search java

① 安装指定的软件命令 yum install 安装包名称

② 删除软件包命令 yum remove 安装包名称

开发软件 

JDK 

下载jdk8Linux压缩包,使用xftp工具将压缩包上传到Linux服务器的home路径下

执行解压命令,将jdk压缩包文件解压到/usr/local目录下

tar -zxvf jdk-8u121-linux-x64.tar.gz -C /usr/local/

配置环境变量

vim /etc/profile
# 进入编辑模式,在最后一行添加一下命令
export JAVA_HOME=/usr/local/jdk1.8.0_121
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
# 进入命令行模式,:wq保存退出

# 使环境变量生效
source profile
# 查看jdk版本
java -version # 如果未生效,jdk版本还是openjdk

Tomcat 

下载Tomcat9.0Linux压缩包,使用xftp工具将压缩包上传到Linux服务器的home路径下

执行解压命令,将压缩包文件解压到/usr/local目录下

tar -zxvf apache-tomcat-9.0.0.M26.tar.gz -C /usr/local/

更改文件夹名

mv apache-tomcat-9.0.0.M26 tomcat-9.0.0

切换到Tomcat的bin目录下执行启动命令

./startup.sh

打开浏览器访问:http://Linux服务器IP:8080 ,查看是否可以打开Tomcat首页

需要关闭Linux服务器的防火墙,否则页面无法展示

# 防火墙相关命令
systemctl status firewalld # 查看防火墙状态
systemctl enable firewalld # 让防火墙可用
systemctl disable filewalld # 让防火墙不可用
systemctl start firewalld # 开启防火墙
systemctl stop firewalld # 关闭防火墙

关闭Tomcat服务,可以通过杀死进程,或者运行bin目录下的shutdown.sh命令

MySQL 

下载MySQLLinux压缩包,使用xftp工具将压缩包上传到Linux服务器的home路径下

检查Linux是否安装了mariadb数据库,mariadb数据库时MySQL的分支,是免费开源的。mariadb和MySQL会有冲突。首先要检查是否安装了mariadb,如果安装了需要卸载掉

检查命令:yum list installed | grep mariadb

卸载命令:yum -y remove mariadb软件包名称

将压缩包解压到/usr/local目录下

tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /usr/local/

将MySQL文件夹进行重命名

mv mysql-5.7.18-linux-glibc2.5-x86_64 mysql-5.7.18

创建数据文件夹data,data文件夹是MySQL用来存放数据库文件的,数据库的表数据都放在data目录。默认没有data目录,可以手动创建data目录

cd mysql-5.7.18
mkdir data

创建MySQL用户,用来执行MySQL命令mysqld,此命令用来初始化MySQL基础信息

useradd mysql

使用MySQL的mysqld命令初始化数据库的基本信息,切换到bin目录下执行

./mysqld --initialize --user=mysql --datadir=/usr/local/mysql-5.7.18/data --basedir=/usr/local/mysql-5.7.18

参数说明

  • --initialize 初始化MySQL,创建MySQL的root,随机生成密码。记住密码,登录MySQL使用
  • --user 执行mysqld命令Linux用户
  • --datadir mysql数据文件的存放位置
  • --basedir mysql安装程序的目录 

该命令执行后,会生成一个临时的mysql数据库root用户名的密码,请先拷贝出来,后续第一次登录mysql需要使用

在服务器与客户机之间来回传输的所有数据进行加密。通过证书提供了身份验证机制,mysql命令程序,mysql_ssl_rsa_setup提供了开启数据加密功能,生成数字证书

在bin目录下执行命令

./mysql_ssl_rsa_setup --datadir=/usr/local/mysql-5.7.18/data

mysql安装后,需要更改mysql整个文件夹目录权限,更改所属的用户和组,是之前创建的mysql用户。在mysql安装目录的上级(/usr/local)位置,执行命令chown

chown -R mysql:mysql /usr/local/mysql-5.7.18
# -R 表示递归,更改目录中的所有子文件夹的权限

启动mysql服务,在bin目录下执行命令

./mysqld_safe & #后台启动mysql服务

mysqld_safe程序会在启动mysql服务器后继续监控其运行情况,并在其死机后重启启动它

登录mysql并重置登录密码

./mysql -uroot -p
# 输入临时密码
alter user 'root'@'localhost' identified by 'root';

授权远程访问

# 执行授权命令
grant all privileges on *.* to root@'%' identified by 'root';
# 更新权限信息
flush privileges;

*.* :第一个 * 表示所有数据库名,第二个 * 表示所有的数据库表

root@'%' 中的root表示用户名,%表示ip地址,%也可以指定具体的ip地址

Navicat远程连接mysql

 

  • 20
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值