Linux常用命令与服务器运维,网站发布与维护

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 MongoDB,通用型 2核4GB
简介: 作为一个程序员,除了会开发项目,还需要懂得发布,并且需要懂得网站日常安全的防护,以及服务器日常维护。如果你们有自己的网站,希望本文对你们有用。网站的发布与运维都是基于服务器的,而我们使用的服务器大多数都是Linux系统。

作为一个程序员,除了会开发项目,还需要懂得发布,并且需要懂得网站日常安全的防护,以及服务器日常维护。如果你们有自己的网站,希望本文对你们有用。
网站的发布与运维都是基于服务器的,而我们使用的服务器大多数都是Linux系统。对于Linux系统主要是以命令为主,但是命令是在太多,不是专业人员几乎记不住,所以我们不需要全部都懂,我们只要知道基本的一些常用命令就足够运用了,好了不多说,现在列出一些我们常用到的命令。

基本命令:

创建文件夹
mkdir 文件夹名称

创建文件
touch /文件夹/test.log

编辑文件
vi 或 vim /文件夹/test.log
按 i 键

查看文件内容的命令:

cat     由第一行开始显示内容,并将所有内容输出

tac     从最后一行倒序显示内容,并将所有内容输出

more    根据窗口大小,一页一页的现实文件内容

less    和more类似,但其优点可以往前翻页,而且进行可以搜索字符

head    只显示头几行

tail    只显示最后几行

nl      类似于cat -n,显示时输出行号

tailf   类似于tail -f 

编辑文件命令
vim 与vi 

覆盖文件内容
echo "内容" >文件
> 是重写,覆盖式
>>是尾部追加


退出编辑状态
按Esc键

退出文件
按Shift + : 键
输入q

保存并退出文件
按Shift + : 键
输入wq

把文件设置为可执行
chmod -R +x /xxx.sh

删除文件
rm ./xxx.txt

强制删除文件
rm -rf ./xxx.txt

查看文件内容
cat ./xxx.txt

查看文件内容并显示行号
cat -n ./xxx.txt

实时查看日记记录文件(*.log、*.out等)
tail -f /tomcat/logs/catalina.out

查看所在目录
pwd

安装软件
yum install 插件

下载文件
wget 文件地址

压缩
tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg 
tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz 
tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2 
tar –cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z 
rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux 
zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux

解压
tar –xvf file.tar //解压 tar包 
tar -xzvf file.tar.gz //解压tar.gz 
tar -xjvf file.tar.bz2 //解压 tar.bz2 
tar –xZvf file.tar.Z //解压tar.Z 
unrar e file.rar //解压rar 
unzip file.zip //解压zip 

Linux下*.tar.gz文件解压缩命令

1.压缩命令:

命令格式:tar -zcvf 压缩文件名.tar.gz 被压缩文件名

可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。

2.解压缩命令:

命令格式:tar -zxvf 压缩文件名.tar.gz

解压缩后的文件只能放在当前的目录。

你可以使用 zip 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔:

zip -r filename.zip file1 file2 file3 /usr/work/school 
  

压缩单个目录命令zip -r filename.zip filename

上面的命令把 file1、file2、 file3、以及 /usr/work/school 目录的内容(假设这个目录存在)压缩起来,然后放入 filename.zip 文件中。

运维命令:

查看内存使用情况
free -m 
或者
free -g

查询硬盘挂载路径
fdisk -l

挂载硬盘
mount 路径

查看硬盘挂载情况
df -h

查看进程
top 或 top -c 或 top -p 等等
对进程进行排序(按消耗内存大小)
Shift + m

将某个程序或进程详细展现出来
ps -ef | grep mysql*

命令拆解:

ps:将某个进程显示出来
-A  显示所有程序。 
-e  此参数的效果和指定"A"参数相同。
-f  显示UID,PPIP,C与STIME栏位。 
grep命令是查找
中间的|是管道命令 是指ps命令与grep同时执行
这条命令的意思是显示有关Apachejetspeed有关的进程


UID PID PPID C STIME TTY TIME CMD
各相关信息的意义:

UID: 程序被该 UID 所拥有

PID :就是这个程序的 ID

PPID :则是其上级父程序的ID

C: CPU 使用的资源百分比

STIME :系统启动时间

TTY: 登入者的终端机位置

TIME: 使用掉的 CPU 时间

CMD :所下达的指令为何


对进程进行停止
kill 进程名(如:mysql)

强制停止进程
kill -9 进程Pid(如:1234)

查看内核版本
uname -a

查看Linux防火墙
iptables -L -n

检查是否已安装crond(定时器)
rpm -qa|grep cron
或service crond status

安装crond
rpm -ivh vixie-cron-4.1-72.el5.i386.rpm


查看定时任务
service crond status
启动定时任务
service crond start
停止定时任务
service crond stop
重启定时任务
service crond restart
重新加载定时任务配置
service crond reload

添加mongodb定时备份脚本( 每天晚上6点开始)
crontab -e
i
输入
0 18 * * * /home/mongo_bak.sh


运行sync将dirty的内容写回硬盘

Linux手动释放内存
echo 1 > /proc/sys/vm/drop_caches

drop_caches的值可以是0-3之间的数字,代表不同的含义:
0:不释放(系统默认值)
1:释放页缓存
2:释放dentries和inodes
3:释放所有缓存

释放完内存后改回去让系统重新自动分配内存
echo 0 >/proc/sys/vm/drop_caches

网站简单启动命令:

1、redis启动
/usr/local/bin/redis-server /usr/local/redis-3.0.7/redis.conf

2、mysql启动
service mysql start

3、mongodb停止
/usr/local/mongodb-2.6.11/bin/mongod --config /usr/local/mongodb-2.6.11/mongo.conf --shutdown
4、mongodb启动
/usr/local/mongodb-2.6.11/bin/mongod -f /usr/local/mongodb-2.6.11/mongo.conf

5、tomcat启动
sh /usr/local/tomcat/bin/startup.sh

6、nginx启动
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

以上都是一些基本的命令操作,详情需要具体再做分析,往后会写一些关于开发的以及框架方面的文章,希望对大家有用!

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
4小时前
|
安全 网络协议 Linux
linux必学的60个命令
Linux是一个功能强大的操作系统,提供了许多常用的命令行工具,用于管理文件、目录、进程、网络和系统配置等。以下是Linux必学的60个命令的概览,但请注意,这里可能无法列出所有命令的完整语法和选项,仅作为参考
|
4小时前
|
Linux
Linux的find命令使用
【5月更文挑战第11天】Linux的find命令使用
10 3
|
4小时前
|
网络协议 前端开发 Java
如何在Linux系统部署Tale并实现无公网IP远程管理内网博客网站
如何在Linux系统部署Tale并实现无公网IP远程管理内网博客网站
14 4
|
4小时前
|
关系型数据库 MySQL Linux
服务器Linux系统配置mysql数据库主从自动备份
这是一个基本的配置主从复制和设置自动备份的指南。具体的配置细节和命令可能因您的环境和需求而有所不同,因此建议在操作前详细阅读MySQL文档和相关资源,并谨慎操作以避免数据丢失或不一致。
12 3
|
4小时前
|
监控 Linux 数据处理
|
4小时前
|
编解码 Ubuntu Linux
|
4小时前
|
JSON Linux 数据格式
Linux命令发送http
请注意,`curl`命令非常灵活,可以根据您的需求进行多种配置和自定义。您可以查看 `curl`命令的文档以获取更多详细信息。
11 0
|
4小时前
|
Oracle Java 关系型数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
14 6
|
4小时前
|
安全 Linux 测试技术
|
4小时前
|
安全 Linux Windows
Linux中Shutdown命令使用介绍
Linux中Shutdown命令使用介绍
11 2