我常用的命令

   
说明:此文件为常用的命令笔记
规则:  
1、使用"[组名]"分组,如[linux]
2、使用"<标题一>"标示知识点,可用"<<二级>>",类推"<<<三级>>>"
3、关键词以字典序排列
4、linux相关放置最末尾

[超级常用命令]
netstat -tunpl | grep 3128		#查看是否开启3128端口			
pstree -p |grep mongod                  #查看进程

sudo ./redis-server /data/server/redis/etc/redis.conf
sudo ./mongod --dbpath=/data/server/mongodb/data/ --logpath=/data/server/mongodb/dblogs --fork

<redis>
keys *		#查看所有的key

<mongo>
show dbs  #查看所有的数据库



{"author": "Mike","text": "My first blog post!", "tags": ["mongodb", "python", "pymongo"],"date": datetime.datetime.utcnow()}

[nob-note]
<squid代理服务器>
同一个网段里的两台设备通信不需要网关。

[快速查找,熟悉后归类到对于目录]
<vim块注释>
#用v进入virtual模式
#用上下键选中需要注释的行数

1.插入注释:
按Control+v进入列模式
按大些“I”进入插入模式,输入注释符“#”,然后立刻按下ESC

2.删除注释
先按Control+v进入列模式
选中要删除的注释符,然后按d ,进行删除


[cmd]
#自动关机,电脑就会在18:00自动关机,注意:-s是控制符,不能缺省。 
at 18:00 shutdown -s
#取消自动关机,在运行中输入“shutdown -a”。另外输入“shutdown -i”,则可以打开设置自动关机对话框,对自动关机进行设置。 

<cmd-linux风格>
#给windows添加ls命令
#C:\windows目录下新建一个文件 命名为 ls.bat,输入: 
	@echo off 
	dir

<h4>利用笔记本自带网卡搭建虚拟wifi</h4>
#启用虚拟网卡,设置wifi的ssid和密码
netsh wlan set hostednetwork mode=allow ssid=nob key=12345678
netsh wlan start hostednetwork

#DNS刷新
ipconfig /flushdns

#回车后出现一块虚拟无限网卡,将已连接到网络的网卡共享给虚拟无线网卡
#启动wifi基站
netsh wlan start hostednetwork
#回车后虚拟无限网卡红叉消失,一切ok

tracert 183.94.94.71
<服务管理>
#在cmd下可有两种方法打开,net和sc,net用于打开没有被禁用的服务,语法是:
net start 服务名
net stop 服务名

用sc可打开被禁用的服务,语法是:
sc config 服务名 start= demand    		#手动
sc condig 服务名 start= auto      		#自动
sc config 服务名 start= disabled 		#禁用
sc start 服务名
sc stop   服务名

[git]
现在git上建立工程
git clone [email protected]:nob/yiqiwanshua.git #注意git@oschina使用https好像有问题

新增或改动文件
git add * #添加
git commit -m "nob commit"#提交

删除文件
git rm file1
git commit -m "del file1"

git push origin master #推送到远程


[httpd]
<ubuntu下安装>
sudo apt-get install apache2
sudo /etc/init.d/apache2 restart

[java]
#CentOS-6.3安装配置JDK-7
	http://www.cnblogs.com/zhoulf/archive/2013/02/04/2891608.html

[maven]
<常见mvn命令>
 
mvn compile						#编译源代码:
mvn package						#打包
java -jar target/xxx-0.1.0.jar	#运行打包生成的jar
mvn install						# install your project’s JAR file to that local repository
mvn site						#生成site


#maven仓库配置,oschina示例
	http://maven.oschina.net/help.html
#创建一个简单的maven示例
mvn archetype:create -DgroupId=oschina -DartifactId=simple -DpackageName=net.oschina.simple  -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

#查看maven系统配置
mvn help:system

[mysql]
yum install mysql mysql-server mysql-devel
<数据导出导入>
导出:mysqldump -u 用户名 -p 数据库名 > 导出的文件名 
如:mysqldump -u root -p voice>voice.sql

导入:
\. d:/test.sql 或 souce d:/test.sql 

<新建表>
CREATE TABLE `user` (
`id`  int(8) NOT NULL AUTO_INCREMENT ,
`username`  varchar(16) NOT NULL ,
`password`  varchar(16) NOT NULL ,
PRIMARY KEY (`id`)
)
ENGINE=InnoDB
;

<<安装配置>>
#安装无需多说,yum快速安装
1、安装
查看有没有安装过:
    yum list installed mysql*
    rpm -qa | grep mysql*
 
查看有没有安装包:
    yum list mysql*
 
 
安装mysql客户端:
    yum install mysql
 
安装mysql 服务器端:
    yum install mysql-server
    yum install mysql-devel
	
2、启动&&停止
 数据库字符集设置
    mysql配置文件/etc/my.cnf中加入default-character-set=utf8
 
启动mysql服务:
    service mysqld start或者/etc/init.d/mysqld start
开机启动:
    chkconfig -add mysqld,查看开机启动设置是否成功chkconfig --list | grep mysql*
    mysqld             0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
停止:
    service mysqld stop
2、登录
创建root管理员:
    mysqladmin -u root password 123456
  
登录:
    mysql -u root -p输入密码即可。
忘记密码:
    service mysqld stop
    mysqld_safe --user=root --skip-grant-tables
    mysql -u root
    use mysql
    update user set password=password("new_pass") where user="root";
    flush privileges;  
 
3、远程访问
 开放防火墙的端口号
mysql增加权限:mysql库中的user表新增一条记录host为“%”,user为“root”。

4、Linux MySQL的几个重要目录
数据库目录
    /var/lib/mysql/
配置文件
    /usr/share /mysql(mysql.server命令及配置文件)
相关命令
    /usr/bin(mysqladmin mysqldump等命令)
启动脚本
    /etc/rc.d/init.d/(启动脚本文件mysql的目录)
		 
service mysqld start			#初次启动mysqld会进行初始化,其中下面内容尤其注意:

/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h localhost.centos password 'new-password'
#以上指令在初始化的时候创建了账号root的密码,所以可用以上账号修改密码
/usr/bin/mysqladmin -u root password 'root'		#设置root的密码为root

<<字符集设置>>
#查看编码
show variables like 'collation_%';
show variables like 'character_set_%';
vi /etc/my.cnf
#在[client]下添加
default-character-set=utf8
#在[mysqld]下添加
default-character-set=utf8

<<创建mysql用户>>

#update方式管理用户
use mysql;
select Host,User,Password from user;				#查看可登录的mysql用户
update user set Host='%' where Host='localhost';	#把Host='localhost'的用户Host改为%,这样不会限制登录ip
flush privileges;									#刷新更改

#grant方式创建,INSERT也可创建用户 
#创建新账号monty,密码为some_pass,本地账号
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
    ->     IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
#创建新账号monty,密码为some_pass,连接主机为%,可从任何主机连接
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
    ->     IDENTIFIED BY 'some_pass' WITH GRANT OPTION;

<<创建数据库>>
GBK: create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

UTF8: CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;


[php]

<apache+php+mysql>
<<安装apache>>
cd httpd-2_x_NN
./configure --enable-so
make
make install

<<安装php>>
cd ../php-NN
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
make
make install
#配置php.ini
cp php.ini-development /usr/local/lib/php.ini

#编辑 httpd.conf 文件以调用 PHP 模块。
#LoadModule 表达式右边的路径必须指向系统中的PHP.以上make install命令可能已经完成了这些但务必要检查
#LoadModule php5_module modules/libphp5.so

#告知 Apache 将特定的扩展名解析成 PHP,例如,让 Apache 将扩展名 .php 解析成 PHP。
	<FilesMatch \.php$>
		SetHandler application/x-httpd-php
	</FilesMatch>

#然后,可以将 .phps 文件由 PHP 源码过滤器处理,使得其在显示时可以高亮源码,设置如下: 
	<FilesMatch "\.phps$">
		SetHandler application/x-httpd-php-source
	</FilesMatch>

#mod_rewrite 也有助于将那些不需要运行的 .php 文件的源码高亮显示,而并不需要将他们更名为 .phps 文件: 
	RewriteEngine On
	RewriteRule (.*\.php)s$ $1 [H=application/x-httpd-php-source]


[python]
# -*- coding: utf-8 -*-  
#检测python模块是否存在
if pygame.font is None:
    print "The font module is not available!"
    exit()

#安装依赖和导出依赖文件
(ENV)$ pip install Flask Flask-Cache Flask-SQLAlchemy
(ENV)$ pip freeze > requirements.txt

pip freeze > requirements.txt						#将包依赖信息保存在requirements.txt文件
pip install -r requirements.txt						#根据依赖文件安装依赖
pip install -d /path/to/save/ -r requirements.txt	#根据依赖文件下载依赖包

#创建虚拟独立的python环境
$ cd flask
$ virtualenv env
$ . env/bin/activate

virtualenv --system-site-packages [虚拟环境名称]
source env1/bin/activate

virtualenv --no-site-packages [虚拟环境名称]   #创建没有系统依赖的虚拟环境

#如果你建立virtualenv ——system-site-packages env ,你的虚拟 环境将会继承包 /usr/lib/python2.7/site-packages (或者无论你的全球网站目录)。
#这可以使用如果你控制全球网站目录, 和你想依赖包。 如果你想要隔离全局系统,不要使用这个标志。

#虚拟环境操作
#http://liuzhijun.iteye.com/blog/1872241

#发送get请求,hello word级别
>>> print urllib2.urlopen('http://tpai.qq.com/race/mobilecreative2014/work/19685').read()

#快速构建一个服务器,先切换到指定目录
python -m SimpleHTTPServer 8999

#django shell交互模式导入template前导入settings
>>> from django.conf import settings
>>> settings.configure() 

#python时间戳和datetime转换
datetime.fromtimestamp(timestamp)					#时间戳转换为datetime
time.mktime(datetime.datetime.now().timetuple())	#datetime转换为时间戳,注意time是time模块而非datetime中的time

<pip>
#下载安装
curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py
python get-pip.py
#不能联网可到这里下载:http://pypi.python.org/pypi/pip#downloads

#pip基本操作
pip install simplejson						#安装python包
pip install --upgrade simplejson			#升级python包
pip uninstall simplejson					#卸载python包


pip install Markdown				#安装package
pip freeze							#列出安装的packages

#安装特定版本的package,通过使用==, >=, <=, >, <来指定一个版本号。
pip install 'Markdown<2.0'
pip install 'Markdown>2.0,<2.0.3'
pip install -U Markdown				升级包,升级包到当前最新的版本,可以使用-U 或者 --upgrade
pip uninstall Markdown				#卸载包
pip search "Markdown"				#查询包

<python模块文档>
sudo pip install sphinx
cd flask-admin
sudo make html

<安装mod_python>
tar -zxvf mod_python-3.5.0.tgz
cd mod_python-3.5.0
./configure --with-apxs=/usr/sbin/apxs 		#配置apxs目录,如果是自己安装的apache通常在/usr/local/apache/bin/apxs

<安装mod_wsgi>
使用centos光盘中mod_wsgi.rpm包
    LoadModule wsgi_module modules/mod_wsgi.so

<部署一个web.py项目>
#在httpd.conf中配置Apache 加载 mod_wsgi模块和您的项目:
	  LoadModule wsgi_module modules/mod_wsgi.so

	  WSGIScriptAlias /appname /var/www/webpy-app/code.py/
	  Alias /appname/static /var/www/webpy-app/static/
	  AddType text/html .py

	  <Directory /var/www/webpy-app/>
		  Order deny,allow
		  Allow from all
	  </Directory>
	  
#演示文件 'code.py':
	  import web

	  urls = (
		  '/.*', 'hello',
		  )

	  class hello:
		  def GET(self):
			  return "Hello, world."

	  application = web.application(urls, globals()).wsgifunc()
#在您的浏览器地址栏中输入' http://your_server_name/appname' 来验证它是否可用。	  

#如果您需要在mod_wsgi中使用sessions,您可以改变您的代码如下:
	app = web.application(urls, globals())

	curdir = os.path.dirname(__file__)
	session = web.session.Session(app, web.session.DiskStore(curdir + '/' + 'sessions'),)

	application = app.wsgifunc()

[redis]

./redis-server /data/server/redis/etc/redis.conf	#启动redis服务
#注意,默认复制过去的redis.conf文件的daemonize参数为no,所以redis不会在后台运行,这时要测试,我们需要重新开一个终端。修改为yes则为后台运行redis。
./redis-cli 
netstat -tunpl | grep 6379	#查看当前redis进程
	  
[other]
#在微信中用html语言跳转到指定微信的用户关注页面
<a href="weixin://addfriend/lzjtuxzs">点击关注</a>

[sublime]
ctrl+shift+d		#复制行
ctrl+shift+↑↓		#移动行
ctrl+shift+p		#命令定位
ctrl+l				#选择整行
ctrl+KU				#改为大写
ctrl+KL				#改为小写
alt+.				#自动完成tag
ctrl+d				#高亮当前所有词
ctrl+shift+r		#格式化

==========================================================================================================================
[linux]
<linux常识>
绿色代表可执行文件
深蓝色是目录
浅蓝色是链接
用户软件默认安装目录/usr/local/
应用程序文档目录/usr/share/doc/
如BIND的文档文件夹为/usr/share/doc/bind-9.8.2
linux命令的参数前加一个"-"是参数简写形式,参数前加两个"-"的参数单词通常完整


<未知命令>
getenforce
setenforce 0		#关闭掉

<基本操作>
cp -rv /path1/* /path2/xxx		#复制/path1/下的所有文件到/path2/xxx,-rv显示复制过程
rsync -a dirname /path/			#拷贝文件
ls -l | wc -l					#查看当前的目录下文件的个数
tar xzf filename.tgz			#解压
grep 'dmtsai' /etc/passwd		#在文件中查找
rpm -q httpd					#查看软件是否安装
chomd -R 755 dirname			#将dirname文件夹下的所有文件递归的改为可执行
ps -ef|grep httpd				#查看启动的进程
df –h							#查看硬盘
fdisk -l						#查看分区,df -l无法查看未分区和格式化的磁盘
<安装后的一些配置>
#原窗口打开文件夹
1.打开一个文件夹
2.编辑 - 首选项 - 行为,勾选“总是在浏览器窗口打开”,点击关闭。

#修改CentOS的默认启动项为文本模式
vi /etc/inittab
修改 id:5:initdefault中的5为3



#修改主机名
hostname nobsu
vim /etc/sysconfig/network		#修改hostname
vim /etc/hosts文件				#添加hosts

#修改日期: 
#时间设定成2009年5月10日的命令如下: 
date -s 05/10/2009 
date  -s  10:12:13

#设置网卡ip
vim /etc/sysconfig/network-scripts/ifcfg-eth0

<linux命令获取帮助>
#使用-h或--help参数,如:
ls -help						#查看ls命令的帮助
#使用man(manual简写)命令
#man [相关命令],如:
man tar							#查看tar的手册
#man -k keyword,查询包含keyword的man文档,如:
man -k password
#info命令,info提供了比man更为详细的文档,用法类似man
info ls
#info和man都可以通过"/+关键字"进行文档内搜索
#help,man,info,都不行可以到/usr/share/doc/下查看软件本身提供的文档
#终极办法:please use google search

grep keyword					#过滤只显示含有keyword的内容,可加到显示结果为list的命令后
chkconfig --list | grep sshd	#查看sshd服务开机启动情况

<账号管理>
#每一个档案都会有所谓癿拥有者UID 不拥有群组GID ,弼我们有要显示文件属性癿需求时,系统会依据/etc/passwd和/etc/group中内容, 找到 UID / GID对应癿账号不组名再显示出来!
grep 'nob' /etc/passwd			#查找名为nob的用户

#passwd中每一行代表一个账户,有其部分组成使用:分割
	如:root:x:0:0:root:/root:/bin/bash


<运行级别>
cd /etc/rc.d/		#此目录下保存的是7linux个运行级别
runleverl			#查看当前运行级别

cd /etc/rc.d/rc.5d/
ll						#列出第五的运行级别下的服务,如下:
#都是一些链接,链接名三部分组成,K|S+数字+服务名,K代表开机不启动,S代表开机启动,数字代表启动顺序,服务名和实际的Sys V脚本名相同
	lrwxrwxrwx. 1 root root 16 Feb  4 17:41 K01smartd -> ../init.d/smartd
	lrwxrwxrwx. 1 root root 15 Feb  4 17:34 K15httpd -> ../init.d/httpd
	lrwxrwxrwx. 1 root root 13 Feb  4 17:35 K60nfs -> ../init.d/nfs
	...
	lrwxrwxrwx. 1 root root 18 Feb  4 17:33 S08iptables -> ../init.d/iptables
	lrwxrwxrwx. 1 root root 17 Feb  4 17:33 S10network -> ../init.d/network
	lrwxrwxrwx. 1 root root 17 Feb  4 17:34 S12rsyslog -> ../init.d/rsyslog

<linux服务>
#命令service可以用来调用指定服务的System V脚本,并执行指定动作
service 服务名 [start|stop|restart|status]
ps:所有的System V脚本保存在/etc/rc.d/init.d/目录下

#命令chkconfig用来指定服务的启用,启用是指开机是否启动
chkconfig 服务名 [on|off]		#设置服务开机启动|不启动
chkconfig --list				#列出所有服务查看开机启动状态

#查看所有服务状态
service --status-all

#把apache加入到系统服务中
cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd
#修改httpd,在文件头部加入如下内容:
	###
	# Comments to support chkconfig on RedHat Linux
	# chkconfig: 2345 90 90
	# description:http server
	###
chkconfig --add httpd
chkconfig --level 345 httpd on

#xinetd管理的服务
#xinetd自身是一个Sys V服务,xinetd服务是一些不常用的、功能简单的服务,
#xinetd类似于一个代理负责监听对这类服务的调用,xinetd服务也通过chkconfig启用



<dns服务>
<<dig域名解析查询>>
dig +trace www.nobsu.net 		#追踪指定域名DNS解析过程
dig -t mx gmail.com				#查询指定域名的mx记录,邮件解析
dig -x www.linuxcast.net		#逆向解析,从domain到ip的解析
dig -t soa linuxcast.net 		#查询soa配置,soa是dns的zone文件中对同步时间的配置

<<安装dns服务器软件BIND>>
#安装dns服务器软件BIND,BIND服务名称为named
yum install -y bind bind-chroot bind-utils 
#DNS默认使用UDP、TCP协议,使用端口号为53(domain),953(mdc)
#bind-chroot是linux的一种伪目录机制,出于安全考虑对真实配置文件目录改变
#bind-utils是一些工具,如检测配置文件语法错误:


<<BIND配置文件>>
#BIND配置文件目录
/etc/named.conf			#BIND服务主配置文件
/var/named/domain.zone				#zone文件
#如果安装了bind-chroot,BIND会被封装到一个伪根目录,配置文件位置变为:
/var/named/chroot/etc/named/conf	#/var/named/chroot/为伪根

#拷贝配置文件模板
cp -rv /usr/share/doc/bind-9.8.2/sample/etc/* /var/named/chroot/etc/
cp -rv /usr/share/doc/bind-9.8.2/sample/var/* /var/named/chroot/var/
#v参数显示拷贝过程

#主配置文件named.conf的最精简配置如下:
	options{
			directory "var/named";				//指定工作目录
			listion-on port 53 {127.0.0.1; };	//监听端口,如果此dns对外服务,必须删掉这行,或指定外网ip
			
	}
<<域主服务器配置>>
①在bind的主配置文件中添加该域的定义
#在named.conf中添加一行域的zone定义:
	zone "nobsu.net"{
		type master;
		file "nobsu.net.zone";
	},
③在/var/named/chroot/var/named中创建该域的zone文件
#拷贝模板创建nobsu.net.zone文件
cp named.localhost nobsu.net.zone
⑤编辑zone文件,添加需要的信息
#添加如下资源记录(RR)
			IN MX 10		mail.nobsu.net.
	www		IN A	192.168.75.131
	mail	IN A	192.168.75.222
⑦启动bind服务或使bind刷新配置
getenforce			#查看selinux配置
	Enforcing		#状态为Enforcing
setenforce 0		#为了方便先关掉,设置为Permissive状态

service named [start|reload]	#启动bing服务或刷新配置

⑨使用host或dig命令检测域信息是否正常
#将本机的dns配置指向本机:
vim /etc/resolv.conf
	nameserver	127.0.0.1		#就用刚才在本机配置的dns服务器作为本机的dns,做测试

host www.nobsu.net
#dig www.nobsu.net	
#检测结果如下:	
	[root@localhost etc]# host www.nobsu.net
	www.nobsu.net has address 192.168.75.1
	[root@localhost etc]# host mail.nobsu.net
	mail.nobsu.net has address 192.168.75.222	
	欧燕!!!
	
<<配置文件检测>>
named-checkconf /var/named/chroot/etc/named.conf
named-checkzone	nobsu.net nobsu.net.zone

<httpd>
<<配置文件>>
/etc/httpd/conf/httpd.conf			#apache配置文件路径
/etc/httpd/conf.d/					#模块配置文件保存路径
/var/log/httpd/						#默认网站日志目录
<<apache配置文件语法检查>>
#service httpd configtest			#以下三种相同
#apachectl configtest
httpd -t

<<日志>>
cd /var/log/httpd/					#日志目录
	access_log  error_log           #访问日志和错误日志
tail access_log     				#查看最近日志记录

<<配置虚拟主机>>
#基于域名的虚拟主机。ssl虚拟主机必须使用基于ip的方式
#首先确认DNS服务器将不同的域名解析到同一个ip,使用host或dig确定解析正常
host www1.nobsu.net
host www2.nobsu.net

#在apache配置文件httpd.conf中添加:
	NameVirtualHost *:80
	<VirtualHost *:80>
		ServerName www1.nobsu.net
		ServerAdmin [email protected]
		DocumentRoot /var/www/www1
	</VirtualHost>
	<VirtualHost *:80>
		ServerName www2.nobsu.net
		ServerAdmin [email protected]
		DocumentRoot /var/www/www2
	</VirtualHost>

#创建app的文件目录
cd /var/www/
mkdir www1
mkdir www2
chown apache www*		#修改这两个目录的所属用户为apache	
#重启httpd服务,OK

<mysqld>
#linux下使用yum安装mysql,以及启动、登录和远程访问。
#1、安装
yum list installed mysql*				#查看有没有安装过:
rpm -qa | grep mysql*
yum list mysql*							#查看有没有安装包:
yum install mysql						#安装mysql客户端:
yum install mysql-server				#安装mysql 服务器端:
yum install mysql-devel

#2、启动&&停止
#数据库字符集设置
	mysql配置文件/etc/my.cnf中加入default-character-set=utf8

service mysqld start或者/etc/init.d/mysqld start		#启动mysql服务:
chkconfig -add mysqld									#开机启动:
chkconfig --list | grep mysql*							#查看开机启动设置是否成功

#3、登录
mysqladmin -u root password 123456						#创建root管理员:
mysql -u root -p输入密码即可。							#登录:

#忘记密码:
service mysqld stop
mysqld_safe --user=root --skip-grant-tables
mysql -u root
use mysql
update user set password=password("new_pass") where user="root";
flush privileges;  

#4、远程访问
#开放防火墙的端口号
#mysql增加权限:
	mysql库中的user表新增一条记录host为“%”,user为“root”。

#5、Linux MySQL的几个重要目录
#数据库目录
	/var/lib/mysql/
#配置文件
	/usr/share /mysql(mysql.server命令及配置文件)
相关命令
	/usr/bin(mysqladmin mysqldump等命令)
启动脚本
	/etc/rc.d/init.d/(启动脚本文件mysql的目录) 	

<vim命令>
#命令模式:vim启动进入命令模式,任何模式按esc进入
i		#在光标前插入文本
o		#在当前行下面插入新行
dd		#删除整行
yy		#复制当前行
n+yy	#复制n行
p		#粘贴
u		#撤销上一个操作
r		#替换当前字符:先按r,再按目标字符
/		#查找关键字,n在结果之间切换

#插入模式:命令模式下按i进入插入模式

#ex模式:命令模式按":"进入ex模式
:w			#保存当前修改
:q			#退出
:q!			#强制退出,不保存修改
:x			#保存并退出,相当于:wq
:set number	#显示行号
:!系统命令	#执行一个系统命令并显示结果
:sh			#切换到命令行,使用ctrl+d切换vim


<源代码软件安装>
./configure				#检查编译环境、相关库文件以及配置参数并生成makefile
#./configure --help 	#获取配置帮助
make					#对源代码进行编译,生成可执行文件
make install			#将生成的可执行文件安装到当前的计算机中

<rpm基础命令>
rpm -i software.rpm			#安装软件
rpm -e software				#卸载软件,只跟程序名字
rpm -U software-new.rpm		#升级形式的安装
rpm -ivh http://www.nobsu.net/software.rpm		#通过http或ftp协议安装软件
#rpm相关参数
-v		#显示相关信息
-h		#显示进度条
#RPM查询
rpm -qa					#列出所有安装的rpm软件
rpm -qf filename		#查询目标文件处于哪个rpm包
rpm -qi packagename		#查询指定已安装rpm软件的信息
rpm -ql packagename		#查询指定已安装rpm软件包含的文件
#上面四个是查询已安装的文件,下面是在rpm仓库中查询
rpm -qip software.rpm	#查询rpm文件的信息
rpm -qlp software.rpm	#查询rpm文件中包含的文件

#常见的用法:
rpm -qa | grep telnet		#查询已安装的telnet相关程序

<yum基本命令>
yum install software-name		#安装软件
yum remove software-name		#卸载软件
yum update software-name		#升级指定软件
#yum查询
yum search keyword			#搜索
yum list (all|installed|recent|updates)		#列出全部、安装的、最近的、软件更新
yum info packagename		#显示指定软件信息,作用同rpm -qi software-name(已安装)和rpm -qip software.rpm(未安装)
yum whatprovides filename	#查询哪个rpm软件包含目标文件

#创建本地yum仓库
mkdir /local-yum-repo		#创建一个本地目录
cp -rv /media/CentOS_6.5_Final/Packages/* /local-yum-repo/		#把挂载的IOS镜像中的所有rpm包拷贝到本地目录
cd /local-yum-repo/			#进入创建的目录
ls -l | wc -l				#查看当前目录下的文件数目,这里3063

#使用createrepo命令对当前目录进行索引,createrepo需要安装见最后
#createrepo -v /local-yum-repo	#运行命令,-v显示详细信息
#如果有分组信息,则在运行命令的时候使用-g参数指定分组文件
#createrepo -g /tmp/*comps.xml /local-yum-repo
#最终使用下面的命令
createrepo -vg /media/CentOS_6.5_Final/repodata/*comps.xml .

ls -ld repodata		#创建索引后出现一个repodata目录,里面包含几个索引文件
cd /etc/yum.repo.d/	#切换目录
vim local-yum.repo	#创建本地yum源的配置文件
#内容如下:
	[linuxCast]
	name = LinuxCast yum local repo
	baseurl = file:///local-yum-repo/
	enabled = 1
	gpgcheck = 0
yum clean all		#每次更新yum后都要清除缓存
yum list			#验证仓库信息
#CentOS/RHEL的分组信息保存在光盘的repodata/目录下,文件名以comps.xml结尾的xml文件
#创建完毕通过file方式直接使用,也可以作为对外的YUM仓库,通过HTTP,FTP共享出去

rpm -ivh createrepo-0.9.9-18.el6.noarch.rpm		#安装需要解决手动依赖

<<更改163的yum源>>
1.#下载CentOS-Base-163.repo, 
	http://mirrors.163.com/.help/centos.html
#放入
cd /etc/yum.repos.d
cp CentOS-Base-163.repo ./
2.运行yum makecache生成缓存
3.yum search softwarename 查找软件
4.yum list softwarename 列出已装软件
5.yum install softwarename 安装软件
6.yun remove softwarename 卸载软件
(sohu yum源: http://mirrors.shou.com,使用方法相同)
#配置网卡ip:
ifconfig eth0 192.168.10.1 netmask 255.255.255.0  #配置网eth0网卡的ip和子网掩码


<<阿里云文档=配置163的yum源>>
http://help.aliyun.com/view/11108189_13435402.html?spm=0.0.0.0.tB8ExG
1.导入CentOS-6的GPG证书
#rpm --import http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6

2.让yum使用网易的源:
#cd /etc/yum.repos.d/
#wget http://mirrors.163.com/.help/CentOS-Base-163.repo

3.修改repo文件
在所有mirrorlist前面加上#,把所有$releasever替换成6,保存
#sed -i '/mirrorlist/d' CentOS-Base-163.repo
#sed -i '/\[addons\]/,/^$/d' CentOS-Base-163.repo
#sed -i 's/\$releasever/6/' CentOS-Base-163.repo
#sed -i 's/RPM-GPG-KEY-CentOS-5/RPM-GPG-KEY-CentOS-6/' CentOS-Base-163.repo

4.清理并重新生成yum缓存
#yum clean metadata
#yum makecache

===============================================================

<<编译安装apache>>
先去网上下载四个文件
1、apr-1.4.6.tar.gz
2、apr-util-1.5.1.tar.gz
3、pcre-8.32.tar.gz
4、httpd-2.4.3.tar.gz
这些都是安装Apache必须的文件,而且很好下载。

http://pan.baidu.com/share/link?shareid=169366&uk=1829018343
这个是我上传的,截至到2013-01-10日这些文件都是最新的版本

1、apr-1.4.6.tar.gz
tar xzf apr-1.4.6.tar.gz
./configure –prefix=/usr/local/apr
make && make install

2、  apr-util-1.5.1.tar.gz
tar xzf apr-util-1.5.1.tar.gz
.configure –with-apr=/usr/local/apr
make && make install

3、  prce
tar xzf pcre-8.32.tar.gz
./configure –prefix=/usr/local/prce
make && make install 

(如果上面安装过程出现/bin/rm: cannot remove `libtoolT’: No such file or directory这个问题,解决办法 vi configure 找到$RM “$cfgfile”这行删掉)

4、  apache
tar xzf httpd-2.4.3.tar.gz
./configure -prefix=/usr/local/apache --with-apr=/usr/local/apr/ --with-pcre=/usr/local/pcre/
make && make install

检查一下apache是否正确安装
/usr/local/apache/bin/apachectl -t
(出现AH00557: httpd: apr_sockaddr_info_get() failed for Chunk3这个问题,解决办法, vi /usr/local/apache/conf/httpd.conf 找到#ServerName www.example.com:80 这行,把注释拿掉,然后改成ServerName localhost:80)

启动apache
 service httpd start
(出现httpd: unrecognized service这个问题,解决办法
         #cd /usr/local/apache/bin/
         #cp apachectl /etc/rc.d/init.d/httpd
         #vi /etc/rc.d/init.d/httpd
         在#!/bin/sh这行下增加
         # chkconfig: 2345 50 90
         # description:Activates/Deactivates Apache Web Server)


你可能感兴趣的:(我常用的命令)