Linux的安装、Linux常用工具安装、Linux常用软件安装、Linux常用命令

Linux

一、Linux概述

Linux是基于Unix的开源免费的操作系统,继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境。由于源代码的开放性,现在已经衍生出了千上百种不同的Linux系统。

官网:http://www.kernel.org

二、安装Linux

2.1 在虚拟机上安装Linux

2.1.1 虚拟机安装

虚拟软件是一个可以使你在一台机器上同时运行二个或更多Windows、LINUX等系统。它可以模拟一个标准PC环境。这个环境和真实的计算机一样。

常用的虚拟软件:VMware workstation、VirtualBox

2.1.2 CentOS的安装

CentOS是一个Linux的发行版本,是目前企业中用来做应用服务器系统的主要版本。

CentOS的安装,其实是将该系统安装到VMware虚拟机软件中,让VMware虚拟机软件模拟出一台Linux系统的电脑。

CentOS安装

1、安装centos7之前需要电脑硬件支持虚拟化。

小部分电脑默认是关闭状态,如果没有开启,则系统无法安装,会报错。

不同的电脑进入到BIOS的命令不同,需要自己百度查询,一般为F1,F2,F10 …

2、重启电脑进入BIOS之后找到Virtualization Technology 改为 Enabled

3、在虚拟机中安装CentOS、、、安装步骤复杂可以百度。

三、远程工具连接Linux

常用的远程软件有:FileZilla、Xshell。。。

1、查看虚拟机或服务器IP地址:

​ 虚拟机:右上角设置/有线/有线设置/IPv4地址。

2、新建会话,输入虚拟机或服务器IP地址

3、输入Linux账户密码登录。登录成功后,我们使用远程工具操作Linux。

四、Linux目录结构

/ 根目录

/bin:是Binary的缩写, 这个目录存放着最经常使用的命令。

/boot:存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。

/dev :是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

/etc:用来存放所有的系统管理所需要的配置文件和子目录。

/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

/lib:放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。

/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

/media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

/opt:主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

/proc:是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

/root:为系统管理员,也称作超级权限者的用户主目录。

/sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

/selinux:是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

/srv:存放一些服务启动之后需要提取的数据。

/sys:linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs,sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

/tmp:是用来存放一些临时文件的。

/usr:用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

/usr/bin:系统用户使用的应用程序。

/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。

/usr/src:内核源代码默认的放置目录。

/var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

五、Linux基本命令

5.1 常用命令

Ctrl + C 停止当前进程

Ctrl+L 清屏

ifconfig 查看ip地址

Tap 补全

man 查看手册

man ls 查看ls相关命令手册(按q退出当前手册)

ls --help 查看ls相关命令手册

date 日期

cal 日历

history 查看历史命令

netstat -anp |grep 8080 查看8080端口是否被占用

5.2 目录切换

cd /usr 切换到usr目录

cd … 切换到上一层目录

cd …/… 跳到目前目录的上上两层

cd / 切换到系统根目录

cd ~ 切换到用户主目录(root)

cd - 切换到上一个所在目录

5.3 目录操作

pwd 显示当前目录

ls 查看该目录下的所有的目录和文件

ls -a 查看该目录下的所有文件和目录,包括隐藏目录

ls -l 查看该目录下的所有目录和文件的详细信息(ls -l 可以缩写成ll)

ls -al 查看该目录下的所有目录(包括隐藏目录)和文件的详细信息

ls -l |grep xxx 查看筛选后的目录和文件的详细信息

5.4 目录/文件–增删改查CV移动

5.4.1 创建

mkdir xxx 创建目录

mkdir -p x/y/z 创建多级目录

touch xxx 创建文件

vim xxx 创建文件并编辑

5.4.2 删除

rmdir xxx 删除空目录

rm xxx 删除子目录或文件

rm -r xxx 会询问,递归删除,可以删除子目录

rm -rvf xxx 不会询问,显示已删除信息

rm -rf xxx 不会询问,不显示已删除信息

5.4.3 修改

mv xxx (源文件名) xxx(新文件名) 重命名

5.4.4 查看

cat xxx 查看文件,一般查看较小的文件

more xxx 查看文件,一般查看较大的文件 //回车 和 空格 (显示百分比)

less xxx 和more类似,操作键不同 // 上下键(显示底行命令)

tail xxx 从尾部开始查看

tail -N xxx 从尾部查看N行

tail -f xxx 跟随查看,一般用于查看日志

5.4.5 复制粘贴

cp xxx (被复制文件) xxx(复制到某个位置) 拷贝文件

cp -rv xxx xxx连同子目录一起拷贝,并显示信息

5.4.6 移动

mv xxx /目录名 移动xxx文件到某个位置(如果只有一个目录不用加 / )

5.5 vi/vim编辑器

vim对文件中注释的内容会改变其颜色,vi不会改变。

vim的三种模式:命令模式、输入模式、底线命令模式。

5.5.1 命令模式

进入到文件中以后默认就是命令模式

:set nu 显示行号

:set nonu 隐藏行号

dd 删除当前行

u 撤销当前操作

yy 复制

p 粘贴

shift+g 光标移动至文件末尾

输入N,然后shift+g 光标移动到第N行

5.5.2 输入模式

进入到文件中以后输入i/a/o进入输入模式

i 光标前编辑

a 光标后编辑

o 光标移至下一行编辑

[Esc] 按ESC键退出编辑模式

5.5.3 底线命令模式

编辑完成之后,点击[Esc],然后 shift+: 进入底线命令模式

:q! 强制退出(修改了内容,不保存)

:wq 保存并退出

5.6 压缩与解压

tar -zcvf xx.tar.gz xxx.txt 压缩文件

-z 使用gzip压缩

-c 创建压缩文件

-x 解开压缩文件

-v 显示文件信息

-f 指定压缩后的文件名

tar -zxvf xxx.tar.gz 解压缩

5.7 进程

ps -aux 查看系统中的进程信息

-a 显示所有进程信息

-u 以用户格式显示进程信息

-x 显示后台进程运行参数

ps -aux|grep xxx 筛选进程

ps -ef 以全格式显示当前所有进程

kill pid 通过进程pid杀死当前进程

kill -9 pid 强行杀死进程(常用)

5.8 查找搜索

find [搜索路径] [匹配条件] 查找文件或目录,如果没有指定搜索路径,默认从当前目录查找。

locate xxx 和find类似,通过索引来查,速度更快,和updatedb一起用

updatedb 创建索引,然后再使用locate xxx会显示该索引

-name 按名称查找,精准查找

-iname 按名称查找,忽略大小写

*: 匹配所有

?: 匹配单个字符,比如find /etc -name “init???”在目录/etc中查找以init开头的,且后面有三位的文件。

5.9 服务

systemctl start 服务名(xxx.service) 启动该服务

systemctl restart 服务名(xxx.service) 重启该服务

systemctl stop 服务名(xxx.service) 停止该服务

systemctl status 服务名(xxx.service) 查看该服务

5.10 用户

useradd xxx(用户名) 新增用户

passwd xxx(用户名) 设置该用户密码

su - xxx(用户名) 切换至该用户

whoami/who am i 查看当前用户

id xxx(用户名) 查看当前用户

groupadd xxx(组名) 新增用户组

usermod -g xxx(组名) yyy(用户名) 修改用户的用户组

useradd -g xxx(组名) yyy(用户名) 新增用户时直接添加组

vim /etc/passwd 可以查看系统中的所有用户

vim /etc/shadow 可以查看系统中的所有用户的密码

vim /etc/group 可以查看系统中的所有用户组

5.11 文件权限管理

权限标识符共十个符号,下标从0开始。

第 0 位:文件类型(d 目录,- 普通文件,l 链接文件)

第1-3位:所属用户(所有者)权限,用u(user)表示

​ 第一位:读取权限

​ 第二位:写入权限

​ 第三位:执行权限

第4-6位:所属组权限,用g(group)表示

​ 第四位:读取权限

​ 第五位:写入权限

​ 第六位:执行权限

第7-9位:其他用户(其他人)权限,用o(other)表示

​ 第七位:读取权限

​ 第八位:写入权限

​ 第九位:执行权限

r:代表权限是可读,r也可以用数字4表示

w:代表权限是可写,w也可以用数字2表示

x:代表权限是可执行,x也可以用数字1表示

-: 表示无此权限

修改文件/目录的权限:chmod u=rwx,g=rw,o=r a.txt 或者 chmod 764 a.txt(常用)

执行ls -l(ll)

注意:root用户是超级用户,不管有没有权限,root都能进行更改, 用普通用户测试权限

5.12 软件包管理

rpm –qa 查看已安装软件

rpm –qa|grep xxx 筛选查看已安装软件

rpm -e xxx 卸载已安装软件

rpm -ivh xxx 安装软件

​ -i 安装(install)

​ -v 查看信息

​ -h 查看进度条

5.13 YUM软件包管理工具

1、自动解决软件包依赖关系(类似MAVEN)

2、方便的软件包升级

[root@localhost Packages]# yum list|grep firefox 自动联网查看firefox可用安装包

[root@localhost Packages]# yum install firefox 自动选择安装firefox

5.14 永久关闭防火墙

防火墙会随着虚拟机开机自动运行,避免麻烦,我们可以永久关闭防火墙

[root@localhost 桌面]# systemctl list-unit-files |grep firewalld 找到防火墙

[root@localhost 桌面]# systemctl disable firewalld.service 关闭防火墙

六、Linux安装开发软件

6.1 安装JDK

一、[root@localhost 桌面]# rpm -qa | grep java 查看系统中默认安装的jdk。

二、我们需要将opjdk都删除(1.7和1.8各有两个),后缀为.noarch的文件可以不用删除。

三、-bash: /usr/bin/java: 没有那个文件或目录。

四、把下载好的jdk安装包拷贝到当前虚拟机root目录下,一般我们解压到/usr/local目录下

​ [root@localhost ~]# tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local

五、配置环境变量 [root@localhost ~]# vim /etc/profile

	在该文件中添加如下信息:

​ JAVA_HOME=/usr/local/jdk1.8.0_151

​ CLASSPATH=.:$JAVA_HOME/lib.tools.jar

​ PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH

​ export JAVA_HOME CLASSPATH PATH

六、立即生效 [root@localhost ~]# source /etc/profile(如果不行可重启虚拟机再次尝试)

七、再次测试 [root@localhost ~]# java -version

​ 出现以下即为成功

​ java version “1.8.0_151”

​ Java™ SE Runtime Environment (build 1.8.0_151-b12)

​ Java HotSpot™ 64-Bit Server VM (build 25.151-b12, mixed mode)

6.2 Tomcat安装

一、把下载好的tomcat安装包拷贝到当前虚拟机root目录下,一般我们解压到/usr/local目录下

​ [root@localhost ~]# tar -zxvf apache-tomcat-8.5.23.tar.gz -C /usr/local

二、在启动tomcat之前记得关闭防火墙

​ [root@localhost ~]# systemctl stop firewalld.service

三、切换到tomcat的bin目录

​ [root@localhost ~]# cd /usr/local

​ [root@localhost local]# cd apache-tomcat-8.5.23/bin

四、启动tomcat

​ [root@localhost bin]# ./startup.sh

五、关闭tomcat

​ [root@localhost bin]# ./shutdown.sh

6.3 MySQL安装

CentOS中默认安装的是MariaDB,安装完MySQL之后会覆盖MariaDB。

由于安装MySQL需要添加很多依赖关系,所以这里使用yum安装。

一、下载MySQL源安装包

​ [root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

二、安装MySQL源(如果无法安装,先执行该命令:rm -f /var/run/yum.pid)

​ [root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm

三、安装MySQL

​ [root@localhost ~]# yum -y install mysql-community-server

四、启动MySQL

​ [root@localhost ~]# systemctl start mysqld.service

五、查看MySQL运行状态

​ [root@localhost ~]# systemctl status mysqld.service

六、设置MySQL自启动

​ [root@localhost ~]# systemctl enable mysqld

七、配置MySQL

​ [root@localhost ~]# vim /etc/my.cnf

​ 在/etc/my.cnf的[mysqld]中增加如下内容:

#不添加则在设置MySQL新密码时会错
validate_password=off
#用于设置MySQL的字符集
character_set_server=utf8
#用于设置MySQL的远程连接
skip-name-resolve

八、重新启动MySQL

​ [root@localhost ~]# systemctl restart mysqld.service

九、找到密码

​ 此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码。

​ 通过如下命令可以在日志文件中找出密码:

​ [root@localhost ~]# grep “password” /var/log/mysqld.log

2019-10-17T07:00:52.740835Z 1 [Note] A temporary password is generated for root@localhost: l0hN)kEXugYv

2019-10-17T07:14:54.867706Z 3 [Note] Access denied for user 'root'@'localhost' (using password: YES)

十、登录MySQL

​ [root@localhost ~]# mysql -uroot -p

​ 输入:l0hN)kEXugYv 进入到MySQL

十一、修改密码

​ 输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:

​ mysql> ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘新密码’;

十二、设置MySQL可以远程访问

​ mysql>grant all privileges on . to ‘root’@’%’ identified by ‘密码’ with grant option;

​ 此时可以使用我们的数据库客户端工具进行远程连接,如果连接不上,重启MySQL后再测试

十三、测试成功后,退出MySQL

​ mysql> exit;

十四、卸载Yum Repository

​ 否则每次yum操作都会自动更新

​ [root@localhost ~]# yum -y remove mysql57-community-release-el7-10.noarch

十五、测试远程连接

​ 连接未成功,需要再次关闭防火墙,重启MySQL

十六、关闭防火墙

​ systemctl stop firewalld.service

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值