Linux操作系统

Linux操作系统

一、常用命令

1.1.1、Linux安装

安装教程:
https://blog.csdn.net/qq_15057857/article/details/89841590

1.1.2、常用命令

一、登录与注销

1)	sudo useradd lilei  //添加用户 (不能被立即使用,需设置密码 sudo passwd lilei)  
2)	sudo adduser lilei  //添加用户
3)	login  //登录或切换用户
4)	logout //注销用户(命令行)  exit(shell-退出控制台)
5)	shutdown -h 10  //10分钟后自动关机	shutdown -c  //取消
6)	halt(root用户)  //关闭所有进程后自动关机
7)	poweroff //同上
8)	shutdown -r 10 //十分钟后自动重启
9)	init 6  //重启 (0-停机,1-单用户,2-多用户,3-完全多用户,4-图形化,5-安全模式,6-重启)
10)	reboot  //重启
    二、目录与文件
11)	pwd   //显示当前工作目录
12)	mkdir mydir  //创建工作目录
13)	cd mydir  //更改工作目录
14)	rmdir mydir //删除工作目录
15)	touch myfile  //创建文件
16)	mv myfile mydir  //移动目录或文件
17)	cp myfile myfir  //复制目录或文件
18)	rm -rf mydir  //删除目录或文件
19)	ls -l myfile  //查看文件最后被编辑时间
20)	ls -lu myfile //查看文件最后被访问时间
21)	touch -at 01011212 myfile  //修改文件最后被访问时间
22)	ls //列出所有文件和目录
23)	ls -a //查看所有文件
24)	ls -i //显示文件索引节点号
25)	ls -l //详细显示
26)	ls -m //以逗号分隔
27)	sudo apt-get install tree 
28)	tree -l//以树状图列出目录内容
29)	tree -a //所有
30)	tree -i //不以阶梯状
31)	tree -s  //列出文件或目录大小
32)	tree -t  //按更改时间
33)	file -b myfile  //显示目录或文件的详细信息
34)	stat myfile  //同上

三、文件内容显示

1)	cat > myfile  //创建文件并编辑内容(ctrl+D结束编辑)
2)	cat -n myfile  //查看文件
3)	chmod [u/g/o/a][+/-/=][r/w/x] myfile  //更改文件权限
   u-user,g-group,o-others,a-all  .   +-添加,--删除,=-重置   .
   r-read读(4),w-write写(2),x-execute执行(1)
4)	more myfile  //分页往后显示文件(Space空格)
5)	less myfile  //分页自由显示文件(Page Down / Page Up)
6)	head (-10) myfile  //指定显示文件前若干行(默认前10)
7)	tail (-10) myfile  //指定显示文件后若干行(默认后10)
   四、文件内容处理
8)	sort myfile  //对文件内容进行排序
9)	sort -r myfile  //逆序
10)	uniq myfile  //检查文件中的重复内容
11)	grep (-c)‘a’ myfile  //在文件中查找指定内容 (显示行号)
12)	diff myfile01 myfile02  //对不同文件进行比较
13)	diff3 myfile01 myfile02 myfile03  //三个文件
14)	sdiff myfile01 myfile02  //合并
15)	cmp myfile01 myfile02  //通过字节对不同文件进行比较
16)	comm myfile01 myfile02  //对有序文件进行比较
17)	cut -b(-c)(-d) 2(3) myfile  //对文件内容进行剪切
18)	paste myfile02 myfile01 //对文件内容进行粘贴 02-)01
19)	wc (-参数) myfile  //对文件内容进行统计 (c-字符数,w-单词数,l-行数)
    五、压缩
20)	zip myfile.zip myfile  //压缩
21)	zip -d myfile.zip myfile  //添加
22)	zip -m myfile.zip myfile  //删除
23)	unzip -o myfile.zip  //解压(覆盖)
24)	unzip -n myfile.zip  //解压(不覆盖)
25)	zipinfo myfile.zip  //列出压缩文件信息
    六、获取帮助
26)	man ls  //获取帮助
27)	man -k ls  //不清楚完整名字
28)	whatis ls  //获取帮助
29)	help cd  / cd –help  //获取帮助 -d(简短描述) -s(用法简介)
30)	info who  //获取帮助
    七、其他命令
31)	clear  //清楚屏幕信息
32)	echo xx  //显示文本  x=0  echo $x . echo -e \$x . echo $(pwd)
33)	date  //显示日期和时间(+%y 年  +%m 月  +%d日)
34)	cal  //显示当前日期  cal -y
35)	ps  //查看当前进程  -A(所有)  U  lilei (用户lilei)
36)	kill -9 2315  //终止某一进程  
37)	ps -ef | grep Jincheng
38)	pkill Jincheng
39)	killall Jincheng
40)	last  //显示最近登录系统的用户信息-6列
41)	history (10) //显示历史指令-默认1000行
42)	sudo adduser lilei sudo  //给普通用户赋予root权限
43)	sudo usermod -G sudo lilei  //同上
44)	alias l=’ls’  //定义命令别名
45)	unalias l  //删除别名

二、学习手册

2.1.1、常用目录

/            根目录
/bin         系统启动时需要的执行文件(二进制)
/dev         设备文件目录
/etc         操作系统的配置文件目录(防火墙、启动项)
/home        用户信息存放的目录,用户的默认工作目录
/usr         程序和数据存放目录
/var         包含再正常操作种被改变的文件:假脱机文件、记录文件、加锁文件、临时文件和页格式化文件
.和..        隐藏文件夹,.是当前目录,..是上一级

2.1.2、常用命令

cd /         进入主目录
ll           以列的方式现实目录下的文件列表
pwd          查看当前所在目录
cd           打开目录
ls -a        查看目录下文件(包括隐藏文件)
mkdir        创建文件目录
rm -rf       删除文件或目录(删除目录时,若目录中有文件,则无法删除)
rm -ri       删除文件前询问用户
cp           复制文件命令
mv           移动文件或修改文件名
clear        清屏
rm -rf /*    删除整个Linux
head         从文件开始显示文件内容
head -n      显示指定文件开始的n行数据
tail         从文件结尾显示文件内容
tail -f      动态加载某个文件的内容(ctil c  出去)用于看日志
tail -n      查看某个文件结尾n行的内容
cat          直接查看指定文件的所有内容

2.2.1、文件编辑命令

vi            打开文件,若该目录下无此文件,则新建一个并打开该文件
i,a           进入编辑模式
按esc         退出编辑模式
“:”          进入命令模式
wq或x         保存并退出
q!           退出但不保存
w             保存
d             删除一行光标下移
D             删除一行,光标不动
yy            复制
p             粘贴
/             向后搜索(n跳转到下一个匹配的位置,N跳转到上一个匹配的位置)
网站:runoob.com/linux

2.3.1、用户与用户组

用户是指操作系统的实际操作者

用户组是具有相同特征的用户的集合体

UID:用户唯一标识
GID:用户分组唯一标识

root用户:Linux系统权限最高的用户

su[用户名]                 切换到指定用户
whoami                    查看当前登录用户
groups                    查看当前用户所属分组
id                        查看当前用户UID和GID
useradd[用户名]            添加用户
useradd -u[UID] 用户名     添加用户并指定UID
cat /etc/passwd           查看所有用户
passwd[用户名]             修改用户密码
userdel [用户名]           删除用户(只有root有权限)
usermod -l[新用户名][旧用户名]     修改用户登录名
usermod -g[新组名称][用户名]       修改用户所属分组
groupadd -g[组GID][组名]          添加分组并指定GID
kill -9 xxxx              杀死占用端口号的程序
写命令时不要把[]带进去了

2.3.2、权限

文件权限:读(r),写(w),执行(x)

查看/usr/目录下文件的用户权限

d rwx r-x r-x.2 root root 4096 Sep 23 2011 etc

d:“etc”是目录而不是文件

rwx:拥有者具有读、写、执行的权限

r-x:同组用户具有读、执行的权限,没有写权限

r-x:其他组用户具有读、执行的权限,没有写权限

赋权
权限模式
chmod -R U+X,G+W F01

u,g,o:拥有者,同组用户,其他组用户

a:所有人

chmod -R a+rwx hello.txt

+,-:赋予,收回权限

r,w,x:读,写,执行权限

chmod -R o+w hello.txt
数字模式

使用三位二进制数表示权限操作

chmod -R 753

777等同于a

三、Linux远程部署项目

3.1.1、Linux远程连接操作

遵循SSH协议
常用的SSH协议工具:

Xmanager

Securecrt

Putty

SSH工具版本:Xmanager5.0(Xshell和Xftp)
下载地址:http://www.netsarang.com

Xmanager包含两个常用的工具Xftp和Xshell

Xftp:远程文件传输软件

Xshell:远程终端模拟软件

ifconfig查看本机ip地址

命令行版本:ip addr

右键虚拟机,修改网络适配器为桥接模式,再重启虚拟机。

进程PID:Linux系统中的进程的唯一标识,在服务器管理中,通常会使用PID对进程进行管理

3.1.2、Linux进程管理命令

查看进程:ps -ef|grep 【进程标识(Pid)】

查看系统中的远程连接进程“ssh”是否开启

ps -ef|grep ssh

ps -aux 看更多进程

ps -aux|grep ssh
kill -9 889:强行杀掉进程

3.2.1、Linux安装配置jdk

Linux软件安装

tar:解压安装

安装包格式:tar、tar.gr、tar.bz

安装软件包:tar -zxvf【包名】

rpm:直接安装

安装包格式:rpm

安装软件包:rpm -ivh软件包路径

卸载软件包:rpm -e 软件包全名

yum:在线安装

安装软件包:yum -y install subversion(-y不带提示)

卸载软件包:yum -y remove subversion

3.2.2、安装jdk

安装方式:rpm安装

1、将下载的jdk安装包上传至服务器(使用ftp)
2、进入安装所在目录执行命令安装
rpm -ivh --prefix=/usr/local/mysoft/jdk jdk-8u201-linux-x64.rpm
3、配置系统参数

修改/etc/profile文件,添加以下内容

export JAVA_HOME=/usr/local/mysoft/jdk/jdk1.8.0_201-amd64
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
4、重新加载配置文件
source /etc/profile
5、检测是否安装成功
Javac -version

跑火车需要安装的程序:

yum install -y epel-release
yum install -y sl

安装后执行命令 sl

3.3.1、Linux安装tomcat

安装方式:tar安装

下载tar.gz格式的tomcat安装包

将tomcat解压到指定目录,并将文件名修改为tomcat7

使用sh命令启动tomcat

开启tomcat8080端口

iptables -A INPUT -ptcp --dport 8080 -j ACCEPT
service iptables save

宿主机浏览输入ip地址和端口号访问tomcat主页

1、将下载的tomcat压缩包上传至服务器
2、进入安装包所在目录执行命令解压
tar -zxvf apache -tomcat-8.5.39.tar.gz(gz格式的就带z,tar后缀的就别带)

(.gz压缩包,解压参数中必须带z)

3、防火墙配置

开启tomcat使用的端口

firewall -cmd --zone=public --add-prot=8080/tcp --permanent

重启防火墙

systemctl restart firewalld.sevice
4、外部通过ip地址访问测试

http://192.168.0.1:8080

5、运行tomcat
cd进入bin目录
ll列表查看整个目录下文件
./startup.sh启动tomcat
3.4.1、安装mysql

1、上传MySQL的tar包到虚拟机上并解压到指定的目录下,进入文件所在目录执行解压命令

tar -xvf MySQL-5.5.tar

2、卸载centos7自带的mariadb,不然安装MySQL的时候回合mariadb文件相冲突导致安装不成功。

查看系统中是否有Mariadb

rpm -qa|grep mariadb

完全卸载mariadb

rpm -e mariadb-libs-5.5.56-2.e17.x86_64--nodeps

安装依赖

yum install libaio

3、安装MySQL服务端和客户端

rpm -ivh MySQL-server-5.5.48-1.linux2.6.x86_64.rpm
rpm -ivh MySQL-client-5.5.48-1.linux2.6.x86_64.rpm

4、开启MySQL服务

开启服务

service mysql start

查看服务状态

service mysql status

5、修改密码

/usr/bin/mysql_secure_installation(输入密码的地方直接回车,因为当前没密码)
Disallow root login remotely?选择N

6、登录测试

mysql -uroot -p123

7、开启远程MySQL数据库访问

进入MySQL
mysql -uroot -p123
打开远程访问权限
GRANT ALL PRIVILEGES ON *.*TO'root'@'%'IDENTIFIED BY '123' WITH GRANT OPTION;

再次查询MySQL数据库远程访问是否授权:

select * from mysql.user where user='root'\G;

可以看到有一条记录HOST值为%,说明授权了。

8、防火墙开放mysql使用的3306端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent

重启防火墙

systemctl restart firewalld.service

查询防火墙开放的端口:

firewall-cmd --list-ports
3306/tcp

ctrl+c退出mysql

Linux中的数据库注意区分大小写

mysql在Linux下数据库名、表名、列名、别名大小写规则如下:

1、数据库名与表明时严格区分大小写的

2、表的别名时严格区分大小写的

3、列名与列的别名在所有的情况下均是忽略大小写的

4、变量名也是严格区分大小写的

查看大小写区分

mysql>show variables like "%case%"

lower_case_table_names 0-区分大小写(默认0) 1-不区分

解决方式:

1、复制MySQL配置文件到etc目录下

cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

2、编辑/etc/my.cnf文件,在【mysqld】节点下添加lower_case-table_names=1 参数

3、重启MySQL:service mysql restart

3.4.1、部署Java web项目

1、打成war包

2、用ftp扔到tomcat的wabapp文件夹里

3、启动tomcat

四、docker部署

4.1.1、安装docker

安装
yum install docker
检验是否安装成功
docker --version
启动
systemctl start docker
换镜像源
sudo vim /etc/docker/daemon.json
内容如下:
{
"registry-,irrors":["https://m8r2r2uj.mirror.aliyuncs.com"]
}
保存退出,重启docker
重启
systemctl restart docker

4.2.1、安装redis

首先上dockerHub搜索redis,点击进入详情页之后,拉到下面就可以看到how to use,如果需要选择特定的版本,有supported tags给我们先择,然后如果拉取最新的版本,拉到下面就有教程。

https://hub.docker.com/_/redis

拉取redis的镜像
docker pull redis
查看本地redis镜像
docker images
运行redis
docker run --name myredis -p 6379:6379 -d redis redis-server --appendonly yes

docker run表示运行

–name myredis 表示七个名字叫myredis

-p 6379:6379表示把服务器的6379映射到docker的6379端口,这样就可以通过服务器的端口访问docker的端口

-d表示以后台服务形式运行redis

redis redis-server–appendonly yes 表示开启持久化缓存模式,可以存到硬盘

4.3.1、安装MySQL

https://hub.docker.com/_/mysql

MYSQL_ROOT_PASSWORD=admin表示root的初始密码

mysql:5.7.27表示操作的是MySQL的5.7.27版本,没有后面的版本号的话,默认拉取最新版本的MySQL。

docker pull mysql:5.7.27
docker run --name mymysql -e MYSQL_ROOT_PASSWORD=admin -d -p
3306:3306 mysql:6.7.27

连上mysql,创建数据库,然后将数据库脚本导入进去

4.4.1、安装RabbitMq

一行命令搞定,注意RABBITMQ_DEFAULT_PASS=password是设置密码的意思。

docker run -d --hostname my-rabbit --name myrabbit -e
RABBITMQ_DEFAULT_USER=root -e RABBITMQ_DEFAULT_PASS=password -p
15672:15672 -p 5672:5672 rabbitmq:management

4.5.1、安装ElasticSearch

系统配置,不配置可能会启动失败

解决:sudo sysctl -w vm.max_map_count=262144

启动ES

docker run -p 9200:9200 -p 9300:9300 -d -name es_634 elasticsearch:6.4.3

进入镜像

docker exec -it es_643 /bin/bash

es配置文件位置:/usr/share/elasticsearc/config/elasticsearch.yml

安装中文分词插件

./bin/elasticsearch-plugin install
https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.3/elasticsearch-analysis-ik-6.4.3.zip

退出并重启镜像

exit

docker restart es_643

4.6.1、构建项目镜像

clone https://github.com/XXX/XXX
cd 项目
打包
mvn clean package -Dmaven.test.skip=true

然后把项目XXX-0.0.1-SNAPSHOT.jar包上传到服务器中,同XXX-0.0.1-SNAPSHOT.jar的目录,创建一个名称为Dockerfile文件,内容如下:

FROM java:8
EXPOSE 8080

VOLUME /tmp

ENV TZ=Asia/Shanghai
RUN ln -sf /usr/share/zoneinfo/{TZ} /etc/localtime && echo "{TZ}" >
/etc/timezone

ADD XXX-0.0.1-SNAPSHOT.jar /app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-jar","/app.jar"]

FROM java:8表示基于jdk8环境

EXPOSE 8080表示对外暴露的端口是8080

VOLUME /tmp表示挂在到/tmp目录

ADD XXX-0.0.1-SNAPSHOT.jar /app.jar表示把jar包复制到镜像服务里面的根目录,并改名称app.jar

RUN bash -c 'touch /app.jar’表示执行创建app.jar

ENTRYPOINT [“java”,“-jar”,“/app.jar”]表示执行启动命令Java -jar

4.6.2、启动项目

启动命令:

docker run -p 8080:8080 -p 9326:9326 --name XXXX --link es_643:ees --link myrabbit:erabbit --link mymysql:emysql --link myredis:eredts -d XXXX

-p 8080:8080 -p 9326:9326: 9326是因为即时聊天需要用到ws端口

–link es:ees 表示关联容器,把容器es起别名ees

XXXX:表示项目名称

查看项目打印日志

docker logs -f XXXX

5.1.1、后期部署

1、项目打包(注意线上环境的配置要更改)

build——buildArtifacts

2、打开Xshell连接主机运行命令cd common

3、打开ftp将源文件删除换上新的打包文件

4、运行命令vim Dockerfile查看当前脚本指向哪个项目,是当前项目则无需更改,运行命令shift+:然后q+!。不是当前项目则要更改项目名 命令为%s/当前项目名称/要替换的项目名字/g 执行则替换 然后运行命令shift+: 然后wq保存退出

5、运行命令docker ps查看当前项目版本号及端口号,然后运行命令vim build修改项目版本号

6、运行命令./build

7、运行命令./run-fast 格式为项目名 内存 端口号 版本号

8、日志查看 docker logs -f --tail=500 项目名

如何给项目分配端口:

根目录-data-wang-conf

(cd data,cd wang,cd conf)

打开base.conf文件(vim base.conf)

复制一个新的端口

docker exec -it rproxy nginx -t 监测配置的新端口是否正确

docker exec -it rproxy nginx -s reload 重启Nginx服务使下面部署可用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

甜甜圈的小饼干

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值