linux

Linux介绍和软件安装

1.linux简介

liunx查看nginx源码地址_linux


linux系统的应用

服务器系统:web应用服务器,数据库服务器,接口服务器,DNS,FTP等等。

嵌入式系统:路由器,防火墙,手机,PDA,IP分享器,交换器等

高性能运算,计算密集型应用

桌面应用系统

移动手持系统

linux版本:

内核版本和发行版本

linux主流版本:

liunx查看nginx源码地址_mysql_02


2.虚拟软件安装

虚拟机安装

虚拟机软件:VmWare收费、VirtualBox免费

3.centos安装
创建新虚拟机
centos

4.linux目录结构

liunx查看nginx源码地址_tomcat_03

Linux的常用命令

ifconfig 看ip地址

1.切换目录命令 cd
到上一个路径 cd -

2.列出文件列表 ls, ll, dir
ls -a 显示所有包含隐藏的
ls -l 相当于 ll

3.创建目录,移除目录mkdir, rmdir
mkdir app 在当前目录下创建app目录
mkdir -p app2/test 级联创建app2以及test目录
rmdir app 删除app目录
4.cat, more, less, tail
cat 显示文件内容,cat[参数]<文件名>

more 一般用于要显示的内容会超过一个画面的长度的情况,按空格键显示下一个画面
回车显示下一行内容,按q退出查看

less 与more类似,用PgUp和PgDn键来控制

tail 用于显示文件后几行内容
tail -10 /etc/passwd 查看后10行数据
tail -f xxx.log动态查看日志
5.rm
rm 删除文件, rm 文件名 (删除需要用户确认 y/n)
rm 删除不询问 rm -f 名字 (不询问,直接删除)
rm 删除目录 rm -r 名字 递归删除
rm 删除目录 rm -rf 名字 递归删除(不询问 直接删除,慎用)
rm -rf * 删除所有文件
rm -rf /*自杀

6.cp, mv
cp复制
eg:

cp a.txt b.txt  将a.txt复制为b.txt
cp a.txt ../  将 a.txt文件复制到上一层目录中

mv移动

mv a.txt ../ 将a.txt文件移动到上一层目录中
mv a.txt b.txt 将a.txt文件重命名为b.txt

7.tar
tar命令位于/bin目录下,他能将用户所指定的文件或目录打包成一个文件,但不做压缩,一般linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件
常用参数

eg
tar -cvf xxx.tar ./*
tar -czvf xxx.tar.gz ./*

-c创建一个新tar文件
-v显示运行过程的信息
-f指定文件名
-z调用gzip压缩命令进行压缩

解压
tar -xvf xxx.tar
指定路径解压
tar -xvf xxx.tar.gz -C /usr/aaa

8.grep
查找符合条件的字符串
grep (选项) … PATTERN [FILE] …
示例:
grep lang anaconda-ks.cfg 在文件中查找lang
grep lang anaconda-ks.cfg -color 高亮显示
定位错误信息
前三行后五行
grep debug xxx.conf --color -A5 -B3

9.其他常用命令
pwd 显示当前所在目录
touch创建一个空文件
ll -h 友好显示文件大小
wget下载资料

10.VI和VIM编辑器
vi 既可以查看文件也可以编辑文件
三种模式 命令行、插入、底行模式
切换到命令模式:按esc
切换到插入模式:按i,o,a键
切换到底行模式:按:键

打开文件:vim file
退出 esc --> :q
修改文件:i 进入插入模式
保存并退出:esc–> :wq
不保存退出:esc–>:q!

进入插入模式:
i :在当前的光标所在处插入
o:在当前光标所在行的下一行插入
a:在光标所在的下一个字符插入

快捷键:
dd - 快速删除一行
R - 替换

11重定向输出

>重定向输出
>>重定向输出,又追加功能

例:
cat /etc/passwd > a.txt 将输出定向到a.txt中
cat /etc/passwd >> a.txt 将输出并追加

ifconfig > ifconfig.txt

12管道和命令执行控制
管道是将一个命令的输出用作另一个命令的输入
例:
ls --help | more 分页查询帮助信息
ps -ef |grep java 查询名称中 包含java的进程
ifconfig |more
cat index.html |more
ps -ef |grep aio
命令之间使用&& 连接,实现逻辑与的功能
只有在&&左边的命令返回真,&&右边的命令才会被执行
只要有一个命令返回假,后面的命令就不会被执行
13网络通讯的命令
ifconfig 显示或设置网络设备
ifconfig 显示网络设备
ifconfig eth0 up 启用eth0网卡
ifconfig eth0 down 停用eth0网卡

ping 探测网络是否通畅
ping 网址
nestat 查询网络端口
netstat -an | grep 2204 查询2204端口占用情况

14系统管理的命令
date 显示或设置系统时间
date显示当前系统时间
date -a “2020-10-10 10:10:10” 设置系统时间

df 显示错误信息
df -h 友好显示大小
free 显示内存状态
free -m 以mb单位显示内存组
top显示,管理执行中的程序

clear 清屏幕

ps正在运行的某个进程的状态
ps -ef 查看所有进程
ps -ef | grep ssh 查找某一进程

kill 杀掉某一进程
kill 2688 杀掉2688编号的进程
kill -9 2688 强制杀死进程

du 显示目录或文件的大小
du -h 显示当前目录的大小

who显示目前登入系统的用户信息

hostname查看当前主机名
修改:vi /etc/sysconfig/network

uname 显示系统信息
uname -a 显示本机详细信息
依次为:内核名称(类别),主机名,内核版本号,内核版本,内核编译日期,硬件名,处理器类型,硬件平台类型,操作系统名称

15用户管理的命令
useradd 添加一个用户
useradd test 添加test用户
useradd test -d /home/t1 指定用户home目录

passwd 设置、修改密码
passwd test 为test用户设置密码

切换登陆
ssh -l test -p 22 xxx.xxx.xx.xxx

su -用户名

userdel 删除一个用户
userdel test 删除test 用户(不会删除home目录)
userdel -r test 删除用户以及home目录

17.组管理的命令
当在创建一个新用户user时,若没有指定他所属于的组,就建立一个和该用户同名的私有组
创建用户时也可以指定所在组

groupadd 创建组
groupadd public 创建一个名为public 的组
groupadd ul -g public 创建用户指定组

groupdel 删除组,如果该组有用户成员,必须先删除用户才能删除组
groupdel public

18.权限管理
id命令
功能:查看一个用户的UID和GID
用法:id【选项】…【用户名】

直接使用id
直接使用id 用户名

su命令
功能:切换用户
用法:su【选项】…【-】【用户【参数】。。。】

su ul 切换到ul用户

账户文件
/etc/passwd 用户文件
/etc/shadow密码文件
/etc/group组信息文件

linux权限命令

liunx查看nginx源码地址_mysql_04


liunx查看nginx源码地址_tomcat_05


linux文件三种类型

liunx查看nginx源码地址_mysql_06


文件类型标识

liunx查看nginx源码地址_tomcat_07


文件权限管理

chmod 变更文件或目录的权限

chmod 755 a.txt

chmod u= rwx,g=rx a.txt

chmod 000 a.txt /chmod 777 a.txt

chown 变更文件或目录该文件所属用户和组

chown ul:public a.txt 变更当前的目录或文件的所属用户和组

chown -R ul: public dir 变更目录的所有的子目录和文件的所属用户和组linux的环境部署

1.linux下安装jdk

查看:rpm -qa | grep java

卸载:rpm -e --nodeps java-1.x.0-openjdk-1.x.0.xx-x.x.x.x…

创建安装路径:mkdir java

上传安装文件到linux:rz

安装依赖:yum install glibc.i686

解压:tar -xvf xxx.tar.gz -C weizhi

配置:进入 vim etc/profile

插入:

liunx查看nginx源码地址_linux_08


重新加载配置文件:source /etc/profile2.linux下安装mysql

上传:mysql包

查看:rpm -qa | grep mysql

卸载:rpm -e --nodeps mysql-libs…

创建目录:

解压到创建的目录:

解压:

安装依赖:yum -y install libalo.so.1 libgcc_s.so.1 libstdc++.so.6

yum update libstdc+±4.4.7-4.el6.x86_64

安装server:rpm -lvh MySQL-server-…

安装client:rpm lvh MySQL-client…

启动服务:service mysql start

使用root账号登录 ,产生随机密码

liunx查看nginx源码地址_liunx查看nginx源码地址_09


修改密码:set password = password(‘12345’);

系统启动时自动启动mysql服务

加入到系统服务:chkconfig --add mysql

自动启动:chkconfig mysql on

查询列表:chkconfig

说明:都没关闭(off)时是没有自动启动

开启远程访问

登录 mysql -uroot -p123456

设置远程访问(使用root密码)

grant all privilege on . to ‘root’ @’%’ identified by ‘123456’

flush privileges;

防火墙打开xx端口

/sbin/iptables-l INPUT -p tcp -dport xx -j ACCEPT

/etc/rc.d/init.d/iptables save

/etc/init.d/iptables status

3.linux下装tomcat
上传安装文件
创建安装路径
解压tomcat
设置防火墙
4.linux下还原mysql
启动tomcat
进入到tomcat/bin
执行./startup.sh
关闭tomcat
./shutdown
(1)备份windows上的数据库
mysqldump -u root -p 数据库 >C:
右键导出

(2)还原
create database store_v2.0
use store_v2.0
source /root/store_v2.0.sql

5.linux下发布web项目

Nginx

1.Nginx概述

liunx查看nginx源码地址_liunx查看nginx源码地址_10


liunx查看nginx源码地址_linux_11


liunx查看nginx源码地址_linux_12