linux命令总结及服务器搭建(VIP典藏版)
目录
一、Linux简史
Linux起源与发展
Linux简介
Linux系统的组成
Linux和Windows优缺点
二、Linux命令
磁盘命令
文件搜索
文件浏览
文件操作
创建
删除
复制
移动
服务器发送文件
文件操作
vi/vim下字符串搜索
文件授权
查询系统信息
Linux查看日志
查看实时变化的日志(比较吃内存)
搜索关键字附近的日志
Java项目脚本启动等操作
命令
解析
查询进程与关闭
启动Jar包
三、Linux环境安装
Jdk安装配置等操作
Tomcat安装配置等操作
GitLab安装配置等操作
Mysql安装配置等操作
Maven安装配置等操作
Nginx安装配置等操作
Redis安装配置等操作
Dubbo安装配置等操作
Fastdfs安装配置等操作
Netty安装配置等操作
Docker安装配置等操作
K8S安装配置等操作
一、Linux简史
Linux起源与发展
Linux内核项目主要作者:芬兰赫尔辛基大学的李纳斯.拓沃兹(linus Torvalds)
1984年,Andrew S.Tanenbaum开发了用于教学的Unix系统,命名为MINIX
1989年,Andrew S.Tanenbaum开始在MINIX系统运行于x86的PC计算机平台1990年,芬兰赫尔辛基大学学生Linus Torvalds首次接触MINIX系统
1991年,Linus Torvalds开始在MINIX上编写各种驱动程序等操作系统内核组件
1991年10月,发布了0.02版(第一个公开版),这里公开的Linux内核源码并不是现在使用的Linux系统的全部,而仅仅是Linux内核kernel部分的代码。1993年,Linux1.0版发行,Linux转向GPL版权协议。
1994年3月,Linux的第一个盛世发行版Slackware问世1996年,美国国家标准及数据的计算机系统实验室确认Linux版本1.2.13
1999年,Linux的简体中文发行版问世2000年后,Linux系统日趋成熟,涌现大量基于Linux服务器平台的应用,并广发应用于基于ARM技术的嵌入式系统中。
Linux内核的标志——企鹅Tux,取自芬兰的吉祥物官方网站:http://www.kernel.org(Linux内核的网站)Linux简介
linux是一套开放源代码程序的,并可以自由传播类Unix操作系统软件
Unix系统是Linux系统的前身,具有很多优秀特征
其设计之初,就是基于Intelx86系列CPU架构计算机的,它是一个基于POSIX的多用户,多任务并且支持多线程和多CPU的操作系统。
注:POSIX,全称为(Portable OpenratingSysrem Interface),中文翻译为可移植操作系统接口,POSIX标准定义了操作系统应该为应用程序提供的接口标准。Linux是由世界各地成千上万的程序员设计和开发实现的。
当初开发Linux系统的目的就是建立不受任何商业化软件版权制约的,全世界都能自由使用的类Unix操作系统兼容产品。
在过去的20年里,Linux系统主要被应用于服务器端,嵌入式开发
手机安卓就是Linux,苹果是Unix,交换机路由器防火墙全是Unix和linux)、个人PC端(主要是windows,其次Ubuntu,)其中服务器端领域是重中之重。
我们熟知的大型,超大型互联网企业(百度,淘宝,QQ,谷歌,58等…)都在使用Linux系统操作为服务器的程序运行平台。全球及国内排行前十的网站使用的主流系统几乎都是Linux系统。
总结:
Linux操作系统之所以如此流行,因为它具有一下一些特征:1.开放源代码的程序软件,可自由修改
2.Unix系统兼容,具备几乎所有Unix的优秀特性
3.可自由传播,无任何商业化版权制约
4.适合Intel等x86 CPU系列架构的计算机
Linux系统的组成
Linux操作系统由Linux内核和各种外围程序组成。
Liunx内核是一个特殊程序,用于实现CUP和内存分配,进程调节,设备调节,设备驱动等核心操作,以面向硬件为主。Linux和Windows优缺点
windows linux
多任务/多用户 多任务/多用户
不开源 开源
不安全/不稳定 安全/稳定
占用资源多 占用资源少
windows xp/windows7/windows8/windows10 ubuntu/red hat/麒麟系列/deepin等等二、Linux命令
磁盘命令
ls
显示当前目录下文件名称(不包含隐藏文件)
ls demo
显示指定目录下文件名称
ll
等价于 ls –l 命令
cd /
返回根目录
cd ~
返回root用户目录
cd ..
返回上一级目录
cd ../../
退出当前目录两级
pwd
查看当前绝对路径
文件搜索
whereis mysql whereis mysql find / -name mysql find / -name mysql 文件浏览
cat catalina.out
文件浏览:不带分页,不带行号查看文件
tail -f 日志文件名
查看日志文件
文件操作
创建
mkdir dir
创建一个名为dir的目录
删除
rm dir 目录名
删除目录
复制
cp 文件名 新建文件
复制文件
cp aa.jar /home/java cp -r 源目录 新目录 复制目录 cp -r build/ /home/yl/gpio 移动
mv test.txt wbk.txt
将文件test.txt重命名为wbk.txt
mv /usr/udt/* .
将/usr/udt中的所有文件移到当前目录(用”.”表示)中
mv bb.txt ./demo2
将当前目录的文件移动到demo2文件夹
mv ./demo2/aa.txt/ demo1
把当前目录的一个子目录里的指定文件移动到另一个子目录里
mv ./demo2/* demo1
把当前目录的一个子目录里的所有文件移动到另一个子目录里
mv * ../
移动当前文件夹下的所有文件到上一级目录
服务器发送文件
scp 将文件发送到另外一台服务器 文件操作
vi/vim下字符串搜索
1. 命令模式下,输入:/字符串
eg: /appendonly
按下回车之后,可以看到vim已经把光标移动到该字符处和高亮了匹配的字符串
2. 查看下一个匹配,按下n(小写n)
3. 跳转到上一个匹配,按下N(大写N)
4. 搜索后,我们打开别的文件,发现也被高亮了,怎么关闭高亮?
命令模式下,输入:nohlsearch 也可以:set nohlsearch; 当然,可以简写,noh或者set noh。文件授权
444 r--r--r-- 600 rw------- 644 rw-r--r-- 666 rw-rw-rw- 700 rwx------ 744 rwxr--r-- 755 rwxr-xr-x 777 rwxrwxrwx
从左至右:
1-3位数字代表文件所有者的权限,
4-6位数字代表同组用户的权限,
7-9数字代表其他用户的权限。
而具体的权限是由数字来表示的:
读取的权限等于4,用r表示;
写入的权限等于2,用w表示;
执行的权限等于1,用x表示;
通过4、2、1的组合,得到以下几种权限:
0(没有权限);
4(读取权限);
5(4+1 | 读取+执行);
6(4+2 | 读取+写入);
7(4+2+1 | 读取+写入+执行)
以755为例:
1-3位7等于4+2+1,rwx,所有者具有读取、写入、执行权限;
4-6位5等于4+1+0,r-x,同组用户具有读取、执行权限但没有写入权限;
7-9位5,同上,也是r-x,其他用户具有读取、执行权限但没有写入权限。范例:
chmod a=rwx file 和 chmod 777 file 效果相同;
chmod ug=rwx,o=x file 和chmod 771 file 效果相同;
若用chmod 4755 filename可使此程序具有root的权限。查询系统信息
Linux查看日志
查看实时变化的日志(比较吃内存)
tail -n 1000 文件名
tail -f filename (动态监控日志尾部,默认最后10行,相当于增加参数 -n 10)
tail -10f filename (动态监控日志尾部10行)
Ctrl+c 是退出tail命令
其他情况:
tail -n 20 filename (显示filename最后20行)
tail -n 1000 filename (显示filename最后1000行)
tail -n +5 filename (从第5行开始显示文件)
搜索关键字附近的日志
cat -n filename | grep "关键字"
操作
- 关键字cat -n filename | grep "小明"
- 时间cat -n filename | grep "15:"
- 异常cat -n filename | grep "Exception"
- 日志级别cat -n filename | grep "ERROR"
- 大家自己探索...
其他情况
- cat filename | grep -C 5 '关键字' (显示日志里匹配字串那行以及前后5行)
- cat filename | grep -B 5 '关键字' (显示匹配字串及前5行)
- cat filename | grep -A 5 '关键字' (显示匹配字串及后5行)
进入编辑查找:vi(vim)
- 进入vim编辑模式:vim filename
- 输入“/关键字”,按enter键查找
- 查找下一个,按“n”即可
- 退出:
- 按ESC键后,接着再输入:号时,vi会在屏幕的最下方等待我们输入命令
- wq! 保存退出;
- q! 不保存退出;
Java项目脚本启动等操作
命令
nohup java -jar ./home/app/demo.jar > -Dspring.config.location=tmp/springboottmp/test.yml --spring.profiles.active=test -Dserver.port=8080 -Dserver.address=127.0.0.1 > logs/demo.log 2>&1 &
解析
nohup 不挂断运行命令,当账户退出或终端关闭时,程序仍然运行 java -jar 运行jar包 -Dspring.config.location 使用-Dspring.config.location指定配置文件,优先级高于jar包内部的配置文件 --spring.profiles.active=test 指定配置文件.yml -Dserver.port 指定端口号 -Dserver.address 指定IP 2>&1 在shell中,0表示标准输入,1表示标准输出,2表示标准错误。
而>表示重定向,而2>&1中的&则表示等同于的意思。> file 表示将标准输出输出到file中,即相当于1>file 2> error 表示将标准错误输出到error中 2>&1 表示将标准错误也输出到标准输出中 >/dev/null 相当于1>/dev/null 2>&1表示将标准错误重定向到标准输出中,并将标准输出输出到无底洞中(即不记录) & &是指在后台运行 之所以要重定向, 是因为有的时候我们需要记录全部日志, 而有的时候我们只需要记录错误信息, 或者有的时候我们程序内部已经记录了日志因此不需要额外再记录日志。
查询进程与关闭
❶查询demo进程
ps -ef | grep demo
本身也是一个进程, 可以发现每次使用进程号都不一样
❷查询demo进程排除当前进程
ps -ef | grep demo | grep -v grep
❸查看所有进程
ps -ef
❹查看哪个端口被占用
netstat -tln netstat -tln | grep 80
❺关闭进程
kill -9 123
❻实时查看日志
tail -100f ./demo.log
Linux查看日志文件cat、tail、vim
启动Jar包
❶java -jar demo.jar
Ctrl+C打断程序运行,关闭窗口程序退出
❷java -jar demo.jar &
关闭窗口程序退出
❸nohup java -jar demo.jar &
nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行 当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中, 除非另外指定了输出文件。
❹nohup java -jar demo.jar > ./demo.log 2>&1 &
nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行,并指定日志文件
启动脚本制作
#!/bin/sh cd /home/demo/ pid=`ps -ef|grep 'demo-0.0.1-SNAPSHOT.jar*'|grep -v grep|awk '{print $2}'` if [ -n "${pid}" ];thenkill -9 ${pid}echo "Process[WS] killed!"nohup java -jar demo-0.0.1-SNAPSHOT.jar > ./demo.log 2>&1 &echo "ReStart[WS] Success!"tail -100f /opt/demo/demo.log elsenohup java -jar demo-0.0.1-SNAPSHOT.jar > ./demo.log 2>&1 &echo "Start[WS] Success!"tail -100f /opt/demo/demo.log fi
三、Linux环境安装
Jdk安装配置等操作
Linux系统-JDK安装与环境配置_托尼Lee的博客-CSDN博客
Tomcat安装配置等操作
Linux安装tomcat_托尼Lee的博客-CSDN博客
GitLab安装配置等操作
Mysql安装配置等操作
Linux安装Mysql(丰富图文)_托尼Lee的博客-CSDN博客
Maven安装配置等操作
Maven本地安装与开发工具配置_托尼Lee的博客-CSDN博客
Nginx安装配置等操作
Redis安装配置等操作
Linux安装Redis图文(VIP典藏版)_托尼Lee的博客-CSDN博客_linux redis 客户端安装
Dubbo安装配置等操作
Fastdfs安装配置等操作
Netty安装配置等操作
Docker安装配置等操作
K8S安装配置等操作
linux命令总结及服务器搭建(VIP典藏版)相关推荐
- Linux操作系统实践——Samba服务器搭建
文章目录 Linux操作系统实践--Samba服务器搭建 一.实验目的 二.实验内容 ② 学生教师服务 三. 题目分析及基本设计过程分析 ② 学生教师服务 1) 整体思路 2) 系统用户和组分配设计说 ...
- Linux网络实战——Samba服务器搭建
Linux网络实战--Samba服务器搭建 安装Samba服务软件 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Message ...
- Linux下的SVN服务器搭建
鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结 /******开始****** ...
- Linux下的DNS服务器搭建
Linux下的DNS服务器搭建 一.DNS介绍 1.dns域名系统 2.正向解析和反向解析 二.检查环境 三.搭建主DNS 1.安装dns相关包 2.设置服务开机自启 3.编辑DNS主配置文件 4.编 ...
- Linux学习之云服务器搭建嵌入式Linux开发环境
Linux学习之云服务器搭建嵌入式Linux开发环境 第一步:购买云服务器 进入腾讯云官方网站腾讯云官方网站 选择云+校园云+校园 进入控制台 将云服务器系统设置为Ubuntu系统 使用Xshell6 ...
- Linux 命令行查看服务器ip地址
##Linux 命令行查看服务器ip地址 1.1 查询对外IP地址 [root@bogon starblock]# curl cip.cc IP : 1.19.143.140 地址 : 中国 北京 运 ...
- Ubuntu云服务器搭建饥荒联机版服务器教程
Ubuntu服务器搭建饥荒联机版服务器教程 为方便各位小伙伴开荒,弄了一个dst-admin的开源项目,方便小伙伴搭建服务器. 本教程主要介绍的是如何安装dst-admin饥荒管理平台,使用他来快速的 ...
- RoboMaster机甲大师:裁判系统服务器搭建(完全版)
RoboMaster机甲大师:裁判系统服务器搭建(完全版) 更新 2022.03.28 更新 2022.03.23 前言 准备 搭建步骤 MySQL安装 配置环境 组建局域网 路由器端(Router) ...
- Linux centos7 下 svn 服务器搭建
摘自:https://www.cnblogs.com/mymelon/p/5483215.html 鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在 ...
最新文章
- html底部沉底显示,Footer部分永远沉底。
- office老是提示Microsoft office word 遇到问题需要关闭,问是否发送错误报告
- 通过源码分析MyBatis的缓存
- vue-manage-system 后台管理系统开发总结
- [USACO07NOV]牛继电器Cow Relays
- 准备好跟机器人正面交锋了吗?
- 英特尔® 实感™ SDK 架构
- 计算机主机的三大部分,计算机系统的三大组成部分
- 等红灯时使用车轱辘扫描车牌
- 做软件测试有发展前景吗?
- NC65在日常开发中常用的代码写法
- 浅析某城商行手机银行水平授权漏洞问题
- python 轨迹分析_Python语言:程序代码分析铅球运动轨迹
- 华为机试C语言-服务失效判断
- 树莓派 CM4 启动时 GPIO口输出
- 原来脑残一词是李时珍发明的,本草纲目中就有”脑残者无药医也“
- leetcode-只出现一次的数字 III-42
- BMZCTF:Fix it
- 字号-磅-毫米对应关系
- csv转成Excel