作为一个程序员,除了会开发项目,还需要懂得发布,并且需要懂得网站日常安全的防护,以及服务器日常维护。如果你们有自己的网站,希望本文对你们有用。
网站的发布与运维都是基于服务器的,而我们使用的服务器大多数都是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
以上都是一些基本的命令操作,详情需要具体再做分析,往后会写一些关于开发的以及框架方面的文章,希望对大家有用!