说明:此文件为常用的命令笔记 规则: 1、使用"[组名]"分组,如[linux] 2、使用"<标题一>"标示知识点,可用"<<二级>>",类推"<<<三级>>>" 3、关键词以字典序排列 4、linux相关放置最末尾 [nob-note] <squid代理服务器> 同一个网段里的两台设备通信不需要网关。 netstat -tunpl | grep 3128 #查看是否开启3128端口 pstree |grep squid #查看进程 [cmd] #自动关机,电脑就会在18:00自动关机,注意:-s是控制符,不能缺省。 at 18:00 shutdown -s #取消自动关机,在运行中输入“shutdown -a”。另外输入“shutdown -i”,则可以打开设置自动关机对话框,对自动关机进行设置。 #<h4>利用笔记本自带网卡搭建虚拟wifi</h4> #启用虚拟网卡,设置wifi的ssid和密码 netsh wlan set hostednetwork mode=allow ssid=nobpc key=12345678 #回车后出现一块虚拟无限网卡,将已连接到网络的网卡共享给虚拟无线网卡 #启动wifi基站 netsh wlan start hostednetwork #回车后虚拟无限网卡红叉消失,一切ok tracert 183.94.94.71 [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快速安装 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用户>> #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; [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] #快速构建一个服务器,先切换到指定目录 python -m SimpleHTTPServer 8999 #django shell交互模式导入template前导入settings >>> from django.conf import settings >>> settings.configure() <安装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 [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 #解压 #修改主机名 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服务开机启动情况 #修改CentOS的默认启动项为文本模式 vi /etc/inittab 修改 id:5:initdefault中的5为3 <运行级别> 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 #列出所有服务查看开机启动状态 #把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 root@nobsu.net DocumentRoot /var/www/www1 </VirtualHost> <VirtualHost *:80> ServerName www2.nobsu.net ServerAdmin root@nobsu.net DocumentRoot /var/www/www2 </VirtualHost> #创建app的文件目录 cd /var/www/ mkdir www1 mkdir www2 chown apache www* #修改这两个目录的所属用户为apache #重启httpd服务,OK <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 #安装需要解决手动依赖 #配置网卡ip: ifconfig eth0 192.168.10.1 netmask 255.255.255.0 #配置网eth0网卡的ip和子网掩码 =============================================================== 软件安装: 先去网上下载四个文件 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)
原文:http://www.cnblogs.com/nobcool/p/3567202.html