Linux简单指令操作
Linux CentOS运维中,常用的操作和命令记录下:
1、DNS设置
在Linux服务器上,当我们ping出现这个错误时:ping: unknown host,很大可能是系统的DNS没有设置或者设置错误。在 /etc/resolv.conf 中,设置下即可:
# cat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
2、FTP客户端配置
当我们需要在Linux服务器上连某个FTP,输入ftp命名提示这个错误时:-bash: ftp: command not found,可能是服务器上没有安装FTP客户端。我们可以到http://mirror.centos.org/centos/5/os/i386/CentOS/ 下,找到ftp的rpm package的安装包地址下载后执行安装:
# rpm -Uvh http://mirror.centos.org/centos/5/os/i386/CentOS/ftp-0.17-38.el5.i386.rpm
3、防火墙配置
Linux的防火墙相信大家都不会陌生,iptables 功能很强大,我们暂时只列出我们常用的,比如当前系统只开放了SSH的22端口,
[root@localhost /]# cat /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
我们再加一行,
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT,放开对8080端口的访问;
-A INPUT -s 192.168.4.6 -p tcp --dport 22 -j ACCEPT,只允许192.168.4.6的机器进行SSH连接;
如果要允许或限制一段IP地址可用 192.168.0.0/24 表示192.168.0.1-255端的所有IP地址。
修改完后,需要重启下iptables,配置才能生效:
[root@localhost /]# service iptables restart
4、nginx部署
先到官网下载.tar.gz的安装包:http://nginx.org/en/download.html,然后解压到你想要的目录:
tar zxvf nginx-1.8.0.tar.gz
设置配置信息、编译、安装:
./configure --prefix=/home/nginx/nginx/nginx-1.8.0
make
make install
如果编辑和安装的过程中,没有出现 error 之类的错误描述,并且 nginx的根目录生成了sbin文件夹,那么恭喜你,安装成功了!
不过我的服务器环境在 make 编辑的时候,出错了:./configure: error: the HTTP rewrite module requires the PCRE library 。
错误提示是缺少PCRE库,因为nginx的rewrite依赖于PCRE库,所以需要在linux中编译安装下PCRE库。。。
我们可以到 http://sourceforge.net/projects/pcre/files/pcre/ 下,选择下载一个PCRE的版本,解压后,老规矩,配置编译安装:
tar zxvf pcre-8.36.tar.gz
./configure
make
make install
安装成功后,我们再接着编译安装下 nginx。嗯,这下没error提示,安装成功了。启动nginx:
cd /home/nginx/nginx-1.8.0/sbin
./nginx
但是又出错了:./nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
网上查了下,据说是因为没有给动态链接库创建链接,执行如下命令即可:
ln -s /usr/local/lib/libpcre.so.1 /lib #32位系统
ln -s /usr/local/lib/libpcre.so.1 /lib64 #64位系统
最后,再 ./nginx 启动。
可以通过 ps -ef | grep nginx 查看,如果有2个nginx进程(一个master 一个worker),那么 nginx 已经正常启动了,打开本机的浏览器,访问 http://服务器ip,亲切的画面迎面而来!
发现也可以用yum的方法来安装:
rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
查看下yum的nginx信息:
yum info nginx
然后安装:
yum install nginx
最后启动nginx:
service nginx start
5、Tomcat部署
先到官网下载.tar.gz的安装包: http://tomcat.apache.org/download-70.cgi,或者wget直接下载到服务器:
wget http://apache.fayea.com/tomcat/tomcat-7/v7.0.64/bin/apache-tomcat-7.0.64.tar.gz
然后解压到你想要的目录:
tar zxvf apache-tomcat-6.0.44.tar.gz
环境变量我没配,
到tomcat的bin目录启动tomcat:
./catalina.sh start
到tomcat的bin目录关闭tomcat:
./shutdown.sh stop
查看tomcat是否安装成功:
netstat -tnlp|grep java
6、date命令
# date -R
Wed, 19 Aug 2015 14:00:40 +0800
# date +%F
2015-08-19
# date +'%F %T'
2015-08-19 14:00:58
7、强大的Find和grep
当我们要删除某类文件,比如2天之前的日志文件时:
find /home/policy/log -mtime +2 -name "*.log" -exec rm -rf {} \;
-mtime:标准写法
+2:查找2天前的文件,这里用数字表示天数
"*.*":希望查找的文件类型,"*.log"表示查找扩展后缀名为log的所有文件,"*"表示查找所有文件
-exec:固定写法
rm -rf:强制删除文件,包括目录 (rm -rf 非常危险,执行之前一定要再三确认哟~)
{} \; :固定写法,一对大括号+空格+ \
比如查找某个文件夹
find / -name nginx
模糊查询
find / -name "*tomcat*"
模糊查找指定文件里面的内容
grep -n '192.168' config.properties
查找指定文件中某天的日志,并且含有android关键字(不区分大小写)的日志数量
grep "10/Nov/2017" host.access.log|grep -i "android" | wc -l
查询指定文件中含有 ipad或iphone关键字(不区分大小写)并且对关键字精确匹配的日志
grep -iwE "ipad;|iphone;" host.access.log
查询某类文件中含有error关键字的日志内容
find -type f -name '*.log'|xargs grep 'error'
8、端口占用情况
查看linux端口的使用情况:netstat -tlnp
netstat -nat
查看某个进程的端口使用情况,比如tomcat,先查看tomcat的进程号:ps -ef | grep tomcat*
(后面带*,是为了查看多个tomcat如tomcat6,tomcat7等)
再根据进程号查看端口号,比如上面查出来tomcat的进程id是5811:netstat -anop | grep 5811
检测端口是否启用:ss -tnl
9、实时监控网卡流量
单网卡:watch -n 1 "ifconfig eth0"
所有网卡:watch cat /proc/net/dev
watch more /proc/net/dev
10、服务器配置查看
系统版本:cat /etc/redhat-release、lsb_release -a
操作系统位数:getconf LONG_BIT
物理CPU个数:cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
每个物理CPU中core的个数(核数):cat /proc/cpuinfo| grep "cpu cores"| uniq
11、iconv批量转换windows文件成linux文件
windwos文件中的文件上传到linux后由于编码不同,可能会导致乱码。
先查看文件编码:
file filename
再递归转换(含子文件夹):
find test -type d -exec mkdir -p /home/maoniu/{} \;
find test -type f -exec iconv -f GBK -t UTF-8 {} -o /home/maoniu/{} \;
(将test目录下的文件由GBK编码转换为UTF-8编码,目录结构不变,转码后的文件保存在/home/maoniu/test目录下)
注意:如果原来就是utf-8编码,使用iconv -f GBK -t UTF-8命令转换后,会出现乱码,或截断等各种问题;一定要保证原文件是不是utf-8编码;
使用如下命令把文件编码先查出来:find test-type f -exec file -i {} \; > /tmp/test
查询是否存在已经是utf-8编码的文件:grep "charset=utf-8" /tmp/test
12、使用nc做TCP和UDP端口扫描
TCP扫描
nc -nvz 192.168.1.105 1-65535 进行扫描,
-z : 探测到端口后就退出,不进行连接。
UDP扫描
nc -nvzu 192.168.1.105 1-1024 进行扫描,
-u : UDP
13、windows与linux通过sftp上传下载
按下ALT+P 开启新的会话,进行sftp操作。可输入: help命令,显示所有支持的命令
pwd: 查询linux主机所在目录(也就是远程主机目录)
lpwd: 查询本地目录(指windows上传文件的目录:我们可以通过查看"选项"下拉框中的"会话选项")
ls: 查询连接到当前linux主机所在目录有哪些文件
lls: 查询当前本地上传目录有哪些文件
lcd: 改变本地上传目录的路径
cd: 改变远程上传目录
get: 将远程目录中文件下载到本地目录
put: 将本地目录中文件上传到远程主机(linux)
quit: 断开FTP连接
14、CP
例 复制源目录 为 dir1 ,目标目录为dir2
如果dir2目录不存在:cp -r dir1 dir2
如果dir2目录已存在:cp -r dir1/. dir2
若不想看到提示直接覆盖使用 -rf 。如果还是提示是否覆盖,可以在CP命令前面加一个斜杠\ ,即: \cp -rf dir1/. dir2
14、查看进程启动和执行时间
ps -eo pid,lstart,etime,cmd | grep redis
Linux简单指令操作的更多相关文章
- VMware与CentOS的安装与Linux简单指令
一 . VMware与CentOS系统安装 下载CentOS系统的ISO镜像 # 官方网站,国外网站,下载速度会很慢 www.centos.org # 由于国外的下载速度慢,我们可以使用国内的镜像源 ...
- linux常见的操作指令
一:非正确退出程序,再次启动显示端口被占用 netstat -ntulp n --- 显示ip代替网络接口信息,显示出网络连接情况 t --- 显示TCP协议的链接状况 u --- 显示UDP ...
- Linux基础指令
Linux基础指令 只写了最简单的一些文件操作,基本没有带参数 查看当前目录 pwd 跳转到某路径 cd 查看当前目录下的文件 ls ls -l // -l 查看详细信息 打开当前所在文件夹 open ...
- linux下时间操作1
本文是对我之前写的文章:C++时间操作 的更深入补充.之前那个文章就是一个快速入门的东西,后面力图把一些更深入的细节补充完整. 时间分类的基本介绍 在介绍一些时间相关的操作函数之前,先来介绍一下lin ...
- Linux常用指令(三)
进入京东运维组实习,收到了很多同事的热心指导,自己也努力学习,按照他们给出的学习计划,真的很充实,学到了很多不只是开发方面的知识. 以下简单记录下自己的笔记,方便以后查阅. 1.文件系统 Linux系 ...
- 一篇文章带你了解服务器操作系统——Linux简单入门
一篇文章带你了解服务器操作系统--Linux简单入门 Linux作为服务器的常用操作系统,身为工作人员自然是要有所了解的 在本篇中我们会简单介绍Linux的特点,安装,相关指令使用以及内部程序的安装等 ...
- linux终端指令总结
一直没机会进行linux指令的系统学习,但是工作中总能遇到通过指令操作文件或数据库的情况,总不能一味地依赖后端开发者的帮忙.上任领导说过,要是在同一个地方跌倒,那么你就是傻子.我可不想成为傻子,so, ...
- linux常用指令
整理下来的linux常用指令 mount [-t 文件系统] 设备文件名 挂载点挂载命令,一般用于在挂载ISO,或者其他比如U盘等设备时使用,[-t iso9660]为固定格式,可写可不写,非必写项. ...
- Linux压缩指令
1.windows系统和Linux系统的压缩文件只有zip格式的是通用的 2.windows系统可以解压几乎所有的Linux压缩格式 3.Linux压缩指令 gzip 指令 格式: gzip 压缩的文 ...
随机推荐
- 05.LoT.UI 前后台通用框架分解系列之——漂亮的时间选择器
LOT.UI分解系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#lotui LoT.UI开源地址如下:https://github.com/du ...
- AES加密
package com.edu.hpu; import java.math.BigInteger; import java.security.MessageDigest; import java.se ...
- EntityFramework Core 1.1是如何创建DbContext实例的呢?
前言 上一篇我们简单讲述了在EF Core1.1中如何进行迁移,本文我们来讲讲EF Core1.1中那些不为人知的事,细抠细节,从我做起. 显式创建DbContext实例 通过带OnConfiguri ...
- UWP开发之Mvvmlight实践七:如何查找设备(Mobile模拟器、实体手机、PC)中应用的Log等文件
在开发中或者后期测试乃至最后交付使用的时候,如果应用出问题了我们一般的做法就是查看Log文件.上章也提到了查看Log文件,这章重点讲解下如何查看Log文件?如何找到我们需要的Packages安装包目录 ...
- inline-block元素间距问题的几种解决方案
不知道大家有没有碰到过设置了display:inline-block;的几个相邻元素之间有几px间距的问题,这里提供几种简单实用的解决方法,希望能够帮到大家! 方法1. 将<li>标签 ...
- 代码的坏味道(21)——中间人(Middle Man)
坏味道--中间人(Middle Man) 特征 如果一个类的作用仅仅是指向另一个类的委托,为什么要存在呢? 问题原因 对象的基本特征之一就是封装:对外部世界隐藏其内部细节.封装往往伴随委托.但是人们可 ...
- python10作业思路及源码:类Fabric主机管理程序开发(仅供参考)
类Fabric主机管理程序开发 一,作业要求 1, 运行程序列出主机组或者主机列表(已完成) 2,选择指定主机或主机组(已完成) 3,选择主机或主机组传送文件(上传/下载)(已完成) 4,充分使用多线 ...
- windows 7(32/64位)GHO安装指南(U盘制作篇)~
本篇接着上篇的介绍,为同学讲解U盘启动盘的制作.虽然本篇大白菜的官网上也有类似的教程,但是为了完整性,我将在这里为大家细细的讲解.在这里说一下,系统包和软件包的下载大家可以自行下载,很简单的,小主就不 ...
- BZOJ 1006 【HNOI2008】 神奇的国度
题目链接:神奇的国度 一篇论文题--神奇的弦图,神奇的MCS-- 感觉我没有什么需要多说的,这里简单介绍一下MCS: 我们给每个点记录一个权值,从后往前依次确定完美消除序列中的点,每次选择权值最大的一 ...
- Android(1)—Mono For Android 环境搭建及破解
0.前言 最近公司打算开发一款Android平台的简单报表查询软件,因本人之前一直是.NET开发的,和领导商定之后决定采用Mono For Android 进行开发,暂时采用破解版进行开发: 下文是记 ...