2017年3月

最近买了个香港的vps,于是想着装个面板统一管理起来比较方便,就百度了下 Linux面板,发现宝塔面板界面看起来,还挺好看的,抱着尝试的心态是去试了下,于是就在vps上安装了一个,等安装好,迫不及待的就安装了一个小博客试试,typecho 轻量简洁,轻车熟路的安装完了,网站主页但是无法登录后台,点击前台链接或者后台登录时出现"404, not found" 于是去百度得知 "这是nginx的设置时没有注意支持pathinfo导致的"
以上内容来自typecho官方文档,根据官方的文档,然后结合宝塔面板的的实际情况,我做了如下修改
1 修改php配置文件,我使用的是php7 所以我复制了一个php7的配置文件 操作如下
cd /www/server/nginx/conf (切换到配置目录)
cp enable-php-70.conf enable-php-70-typecho.conf (复制一个配置文件)
vim enable-php-70-typecho.conf
清空里面的内容 输入

location ~ .*\.php(\/.*)*$ { try_files $uri =404; fastcgi_pass unix:/tmp/php-cgi-70.sock; fastcgi_index index.php; include fastcgi.conf; include pathinfo.conf; }

wq 保存
接下来
cd vhost 找到该网站配置文件
vim 打开

箭头标注的那行改成我们之前修改的php配置文件。
重启 php nginx 就OK了。

Remarkable 可能是 Linux 上最好的 Markdown 编辑器了,它也适用于 Windows 操作系统。它的确是是一个卓越且功能齐全的 Markdown 编辑器,为用户提供了一些令人激动的特性。
一些卓越的特性:
支持实时预览
支持导出 PDF 和 HTML
支持 Github Markdown 语法
支持定制 CSS
支持语法高亮
提供键盘快捷键
高可定制性和其他
访问主页: https://remarkableapp.github.io

 

用了这个编辑器,就对其他的没想法了。

修改hosts文件之后能用

ubuntu16.04

找到etc/hosts在终端中打开
$sudo gedit hosts加上一行 0.0.0.0 account.jetbrains.com就可以了

mac 找到/private/etc/hosts 加上一行 0.0.0.0 account.jetbrains.com

BIG3CLIK6F-eyJsaWNlbnNlSWQiOiJCSUczQ0xJSzZGIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFpbCI6IiIsImxpY2Vuc2VSZXN0cmljdGlvbiI6IkZvciBlZHVjYXRpb25hbCB1c2Ugb25seSIsImNoZWNrQ29uY3VycmVudFVzZSI6ZmFsc2UsInByb2R1Y3RzIjpbeyJjb2RlIjoiQUMiLCJwYWlkVXBUbyI6IjIwMTctMTEtMjMifSx7ImNvZGUiOiJETSIsInBhaWRVcFRvIjoiMjAxNy0xMS0yMyJ9LHsiY29kZSI6IklJIiwicGFpZFVwVG8iOiIyMDE3LTExLTIzIn0seyJjb2RlIjoiUlMwIiwicGFpZFVwVG8iOiIyMDE3LTExLTIzIn0seyJjb2RlIjoiV1MiLCJwYWlkVXBUbyI6IjIwMTctMTEtMjMifSx7ImNvZGUiOiJEUE4iLCJwYWlkVXBUbyI6IjIwMTctMTEtMjMifSx7ImNvZGUiOiJSQyIsInBhaWRVcFRvIjoiMjAxNy0xMS0yMyJ9LHsiY29kZSI6IlBTIiwicGFpZFVwVG8iOiIyMDE3LTExLTIzIn0seyJjb2RlIjoiREMiLCJwYWlkVXBUbyI6IjIwMTctMTEtMjMifSx7ImNvZGUiOiJEQiIsInBhaWRVcFRvIjoiMjAxNy0xMS0yMyJ9LHsiY29kZSI6IlJNIiwicGFpZFVwVG8iOiIyMDE3LTExLTIzIn0seyJjb2RlIjoiUEMiLCJwYWlkVXBUbyI6IjIwMTctMTEtMjMifSx7ImNvZGUiOiJDTCIsInBhaWRVcFRvIjoiMjAxNy0xMS0yMyJ9XSwiaGFzaCI6IjQ3NzU1MTcvMCIsImdyYWNlUGVyaW9kRGF5cyI6MCwiYXV0b1Byb2xvbmdhdGVkIjpmYWxzZSwiaXNBdXRvUHJvbG9uZ2F0ZWQiOmZhbHNlfQ==-iygsIMXTVeSyYkUxAqpHmymrgwN5InkOfeRhhPIPa88FO9FRuZosIBTY18tflChACznk3qferT7iMGKm7pumDTR4FbVVlK/3n1ER0eMKu2NcaXb7m10xT6kLW1Xb3LtuZEnuis5pYuEwT1zR7GskeNWdYZ0dAJpNDLFrqPyAPo5s1KLDHKpw+VfVd4uf7RMjOIzuJhAAYAG+amyivQt61I9aYiwpHQvUphvTwi0X0qL/oDJHAQbIv4Qwscyo4aYZJBKutYioZH9rgOP6Yw/sCltpoPWlJtDOcw/iEWYiCVG1pH9AWjCYXZ9AbbEBOWV71IQr5VWrsqFZ7cg7hLEJ3A==-MIIEPjCCAiagAwIBAgIBBTANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMB4XDTE1MTEwMjA4MjE0OFoXDTE4MTEwMTA4MjE0OFowETEPMA0GA1UEAwwGcHJvZDN5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxcQkq+zdxlR2mmRYBPzGbUNdMN6OaXiXzxIWtMEkrJMO/5oUfQJbLLuMSMK0QHFmaI37WShyxZcfRCidwXjot4zmNBKnlyHodDij/78TmVqFl8nOeD5+07B8VEaIu7c3E1N+e1doC6wht4I4+IEmtsPAdoaj5WCQVQbrI8KeT8M9VcBIWX7fD0fhexfg3ZRt0xqwMcXGNp3DdJHiO0rCdU+Itv7EmtnSVq9jBG1usMSFvMowR25mju2JcPFp1+I4ZI+FqgR8gyG8oiNDyNEoAbsR3lOpI7grUYSvkB/xVy/VoklPCK2h0f0GJxFjnye8NT1PAywoyl7RmiAVRE/EKwIDAQABo4GZMIGWMAkGA1UdEwQCMAAwHQYDVR0OBBYEFGEpG9oZGcfLMGNBkY7SgHiMGgTcMEgGA1UdIwRBMD+AFKOetkhnQhI2Qb1t4Lm0oFKLl/GzoRykGjAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBggkA0myxg7KDeeEwEwYDVR0lBAwwCgYIKwYBBQUHAwEwCwYDVR0PBAQDAgWgMA0GCSqGSIb3DQEBCwUAA4ICAQC9WZuYgQedSuOc5TOUSrRigMw4/+wuC5EtZBfvdl4HT/8vzMW/oUlIP4YCvA0XKyBaCJ2iX+ZCDKoPfiYXiaSiH+HxAPV6J79vvouxKrWg2XV6ShFtPLP+0gPdGq3x9R3+kJbmAm8w+FOdlWqAfJrLvpzMGNeDU14YGXiZ9bVzmIQbwrBA+c/F4tlK/DV07dsNExihqFoibnqDiVNTGombaU2dDup2gwKdL81ua8EIcGNExHe82kjF4zwfadHk3bQVvbfdAwxcDy4xBjs3L4raPLU3yenSzr/OEur1+jfOxnQSmEcMXKXgrAQ9U55gwjcOFKrgOxEdek/Sk1VfOjvS+nuM4eyEruFMfaZHzoQiuw4IqgGc45ohFH0UUyjYcuFxxDSU9lMCv8qdHKm+wnPRb0l9l5vXsCBDuhAGYD6ss+Ga+aDY6f/qXZuUCEUOH3QUNbbCUlviSz6+GiRnt1kA9N2Qachl+2yBfaqUqr8h7Z2gsx5LcIf5kYNsqJ0GavXTVyWh7PYiKX4bs354ZQLUwwa/cG++2+wNWP+HtBhVxMRNTdVhSm38AknZlD+PTAsWGu9GyLmhti2EnVwGybSD2Dxmhxk3IPCkhKAK+pl0eWYGZWG3tJ9mZ7SowcXLWDFAk0lRJnKGFMTggrWjV8GYpw5bq23VmIqqDLgkNzuoog==

在把这个博客做好后,上传到nginx服务器上却出现问题。

首先是wordpress官方的伪静态是通过.htaccess实现的,但nginx并不支持.htaccess,无奈只好在网上找到wordpress伪静态的方法。

配置代码如下。

location / { if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /index.php; } }

伪静态后页面什么的确实可以访问了,结果却出现新的问题,后台不能访问了,仔细观察发现后台所有地址都缺少wp-admin目录,又在网上去寻找答案,就是简单地加一行斜杠重定向而已,方法如下,

location / { if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /index.php; } } rewrite /wp-admin$ $scheme://$host$uri/ permanent;

完成之后重启nginx就好了。

手动设置ip地址

如果虚拟机不能自动获取IP,只能手动配置,配置方法如下:

输入命令

#vi /etc/sysconfig/network-scripts/ifcfg-eth0

编辑网卡的配置文件

输入上述命令后回车,打开配置文件,使用方向键移动光标到最后一行,按字母键“O”,进入编辑模式,输入以下内容:

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.4.10

NETMASK=255.255.255.0

GATEWAY=192.168.4.1

DNS1=119.29.29.29

DNS2=114.114.114.114

另外光标移动到”ONBOOT=no”这一行,更改为ONBOOT=yes

“BOOTPROTO=dhcp”,更改为BOOTPROTO=none

完成后,按一下键盘左上角ESC键,输入:wq 在屏幕的左下方可以看到,输入回车保存配置文件。

之后需要重启一下网络服务,命令为

#service network restart

网络重启后,eth0的ip就生效了,使用命令#ifconfigeth0 查看

1、从git官网下载windows版本的git:http://git-scm.com/downloads
2、一般使用默认设置即可:一路next,git安装完毕!
3、但是如果这时你打开windows的cmd,在里面打git命令会提示“不是内部或外部命令,也不是可运行的程序”,想要直接在windows的cmd里使用git命令要多加如下两步
3.1、找到git安装路径中git-core的位置,如:C:\Program Files (x86)\Git\cmd;
注:”C:\Program Files\Git\”是安装路径,可能与你的安装路径不一样,要按照你自己的路径替换”C:\Program Files\Git\”

3.2、右键“计算机”->“属性”->“高级系统设置”->“环境变量”->在下方的“系统变量”中找到“path”->选中“path”并选择“编辑”->将3.1种找到的git-core路径复制到其中->保存并退出
注:“path”中,每个路径之间要以英文输入状态下的分号“;”作为间隔

现在就可以在cmd里尽情的使用git了~

1 检查是否安装Samba

rpm -qa samba

2 安装samba

yum -y install samba samba-client samba-common

/etc/samba/smb.conf 配置文件位置

windows下查看linux samba服务器共享的办法

\\ ip\目录名称

service smb start 启动smb

3 核心配置文件smb.conf

默认的配置选项内容太多 先备份一个 自己建立一个新的smb.conf

[global] //全局配置必须要有

workgroup = onedog //工作组名称

netbios name = onedog //windows中现实计算机的名称

server string = my linux samba server //samba服务器的说明信息 随意填写

log file = /var/log/samba/%m.log // samba用户的日志文件 %m代表客户端主机名

security = user //定义数据共享的方式 有 user (用户验证) share(直接共享不要密码)

map to guest = Bad User

[onedog] //定义windows中现实出来的共享目录名称

path = /data/onedog // 指定共享的目录

writeable = yes //yes代表可写 no代表不可写

browsable = yes //定义是否可以在windows下工作组下看到共享的文件夹 no代表隐藏

guest ok = yes //定义是否匿名用户可以登录 如果security 设置为user 默认就是NO

4建立共享目录

mkdir -p /data/onedog

chown -R nobody:nobody /data/onedog 设置目录权限

5 重启SMB服务

service smb restart

6访问samba服务器的共享文件

\\ip

二 linux下访问samba服务器的共享文件

smbclient -L //ip -U 用户名 //-L list

useradd admin

pdbedit -a admin

登录samba服务器

smbclient //ip -U 用户名

smb: \> ls

通过mount命令 将samba服务器的共享资源挂载到linux客户端

yum install cifs-untils cifs-untils-devel

mount -t cifs -o username=admin,password=*****\

//ip/onedog /data

三 授权登录samba服务器

useradd -d /data/smb1 smb1

useradd -d /data/smb2 -s /sbin/nologin smb2

cp -r /root/* /data/smb1

smbpasswd -a smb1 //通过读取/etc/passwd文件中存在的用户名

smbpasswd -a smb2

配置smb.conf

vim /etc/samba/smb.conf

[global]

workgroup = onedog

netbios name = onedog

server string = my linux samba server

log file = /var/log/samba/%m.log

max log size =50 // 定义日志文件大小

security = user

encrypt passwords = yes //设定用户密码是否加密

smb passwd file = /etc/samba/smbpasswd //指定samba的密码文件

socket options = TCP_NODELAY SO_REVBUF=8192 SO_SNDBUF=8192 // 设定socket 用于优化

os level = 33 至少要大于33

[onedog]

path = /data/onedog

comment =This is onedog //共享目录的说明文件

writeable = yes

browsable = yes

guest ok = yes

[smb1]

path = /data/smb1

comment = This is smb1

vaild users = smb1 //用于定义可以访问该samba服务器的用户

writeable = yes

browseable = yes

[smb2]

path = /data/smb2

comment = This is smb2

vaild users = smb2

create mask = 664 // 定义客户端用户的创建文件的默认权限

directory mask = 755 // 定义客户端用户的创建目录的默认权限

writeable = yes

browseable = yes

1、安装Apache

[root@localhost ~]# yum -y install httpd

# 开机自启动

[root@localhost ~]# chkconfig httpd on

# 启动httpd 服务

[root@localhost ~]# service httpd start

### 安装apache 一些扩展

root@localhost ~]# yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql

现在直接在浏览器键入http://localhost 或 http://本机IP ,应该会看到Apache的测试页面

2、安装配置MySQL

# mysql 客户端程序

# mysql-server 服务端程序

# mysql-devel 开发设计的库

[root@localhost ~]# yum -y install mysql mysql-server mysql-devel

# 开机启动

[root@localhost ~]# chkconfig mysqld on

# 启动mysqld服务

[root@localhost ~]# service mysqld start

# 进行一些安全性配置

[root@localhost ~]# /usr/bin/mysql_secure_installation

[root@localhost ~]# netstat -tulpn | grep -i mysql

tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1723/mysqld

OK, 我们看到mysqld已经启动,监听在3306端口上。

添加数据库

mysql -u root -p #输入密码进入数据库

mysql > status; #检查联通性

mysql > create database onedog; #创建一个onedog 的数据库

mysql > show databases; #查看数据库

mysql > exit #退出 mysql 的命令行

3、安装php

安装相关模块:为了让PHP支持MySQL,我们可以安装php-mysql软件包;也可使用以下命令搜索可用的php模块

[root@localhost ~]# yum -y install php php-mysql

# 安装php常用扩展

[root@localhost ~]# yum search php

[root@localhost ~]# yum -y install gd php-gd gd-devel php-xml php-common php-mbstring php-ldap php-pear php-xmlrpc php-imap

### 重启httpd服务,这一步很重要

[root@localhost ~]# service httpd restart

然后,我们提供php页面,测试

[root@localhost ~]# cd /var/www/html/

[root@localhost html]# vim info.php

然后,我们再次在浏览器键入http://localhost 或 http://本机IP ,应该会看到如下页面

1,Linux是一个操作系统, 与windows的区别:

Linux:图形化界面简单,性能很快,在企业中当做服务器来使用.

Windows:图形化界面很炫,性能相对差,大众用户.

windows的服务器: windows2003,windows2008,windows2012

2,Linux的作用:

当做服务器来使用

3,Linux中目录结构:

bin:存放二进制可执行文件

sbin: 存放二进制可执行文件,只有root才能访问

etc:存放系统配置文件

usr:用于存放共享的系统资源

home:存放用户文件的根目录

root:超级的用户目录

dev:用于存放设备文件

lib:存放跟文件系统中的程序运行所需要的共享库及内核模块

mnt:mount系统管理员安装临时文件的安装点

boot:存放用于系统引导时使用的各种文件

tmp:用于存放各种临时文件

var:用于存放运行时需要改变数据的文件(log日志)

4,NetWork connection:

Host-only:本地跟远方的Linux通信需要用这个

NAT:多个Linux系统之间相互通信

5,使用SecureCRT

Linux命令:

ifconfig: 查看ip

service network restart:重启

命令分类:

内部命令:执行shell解析器的一部分,存放在bash目录,执行速度快,不需要创建子进程

cd:切换目录change directory

pwd:显示当前工作目录 print working directory

help:帮助

外部命令:独立于Shell解析器之外的文件程序,执行速度慢,一般存放在bin/sbin/usr/sbin/此类目录,执行时创建子线程.

ls:显示文件和目录列表

mkdir:创建目录

cp:复制文件或目录

操作文件或目录的命令:

pwd

touch:创建空文件

echo:写文件内容: echo “aaa”>a.txt

mkdir:创建目录

-p父目录不存在的情况下先生成父目录

cp:复制文件或目录

-r:递归处理,将指定目录下的文件与子目录一并拷贝

mv:移动文件或目录,文件或目录改名

rm:删除文件

-r同时删除该目录下的所有文件

-f强制删除文件或目录

rmdir:删除空目录

cat:显示文本文件内容

more,less:分页显示文本文件内容

head,tail:查看文本中开头或结尾部分的内容.

查看帮助文档:

内部命令 :help+命令(help cd)

外部命令: man+命令(man ls)

6,常见命令

===========常用命令=============

一,目录与文件命令

1,目录处理命令:mkdir,rm,ls,find,cd,mv,cp,pwd,chmod

2,操作文件命令:touch,rm,find,cat,more,less

3,压缩/解压命令:gzip,bzip2,tar

4,其他常用命令:head,tail,wc,in,mount

二,用户操作命令

useradd,userdel,usermod
useradd -m user1 #-m 是建立家目录
passwd user1 #设置密码
chsh -s /bin/bash user1 #登陆后使用bash

三,用户组操作命令

groupadd,groupdel,groupmod

四,安装软件命令

yum,rpm

五,网络命令

ping,ifconfig,netstat

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

echo “welcome to linux” > a.txt: 往a.txt中写入字符

cat a.txt: 查看a.txt中的内容

ctrl+L: 清屏

ctrl + z: 退出(cat > file 写入文件时使用这个键退出写入)

vi模式下: 编辑完成后点esc ,然后 如果要保存退出输入:wq,不保存退出输入:q!

点击esc, shift + z + z 退出并保存

============详解============

mkdir:创建目录 (touch a.txt :创建文件)

mkdir dir : 创建名称叫做dir目录, 创建单个目录

mkdir dir1 dir2 : 创建多个目录,dir1, dir2

mkdir dir{3..10}: 创建dir3 dir4…dir10

cp:copy复制

复制文件:

cp a.txt b.txt: 复制a.txt 且复制后的文件名为b.txt

cp a.txt dir: 将a.txt拷贝到dir文件夹下

cp *.txt dir

cp ../*.txt ../dir2:将上一级目录下的所有txt文件拷贝到上一级目录的dir2文件夹下

cp ../file* . //拷贝到上一级目录下的所有file文件到当前目录

复制目录:

cp -r dir1 dir2: 将dir1 目录复制到dir2目录中

cp -r dir/* dir1/ : 将dir中的所有文件和目录复制到dir1目录中

mv:目录移动(剪切)

移动文件:

mv file1 file2 //如果file2不存在,将file1重命名为file2

mv file2 file1//将file2命名为file1, 如果file1中有内容, 则覆盖

mv dir/* dir1//将dir 中所有目录及文件移动到dir1目录中

移动目录:

mv dir dir1//将dir目录移动到dir1目录中

mv dir2 dir3 dir1//将dir2和dir3移动到dir1中

rm:remove 删除

删除文件:

rm a.txt //删除a.txt

rm a.txt b.txt //同时删除a.txt b.txt

rm *txt//删除所有扩展名为txt的文件

rm -rf dir1/* //强制删除dir1下所有文件和目录

删除目录:

rm -rf dir1// 删除dir1 下的所有文件和目录, f是强制删除, 不需要提示

cd:切换目录

cd .. //跳转到上一级目录

cd ~ //跳转到根目录

cd /usr/local //跳转到usr下的local目录

pwd:显示当前的目录

touch:创建文件

语法:touch filename

touch myfile1//创建单个文件,文件名为myfile1

touch myfile2 myfile3//同时创建两个文件

touch myfile{1..10}//创建多个文件

cat

功能1: 查询文件内容,查询全部文件内容(如果文件过大, 会卡死)

cat filename// 查看文件名filename的文件内容

功能2: 可以创建文件, 并且写入内容

cat > myfile10

功能3:合并文件,合并内容

cat myfile1 myfile2 > myfile10//将myfile1 和 myfile2 中的内容合并到myfile10中, myfile10中内容被覆盖

more: 查看文件, 可以分页查看

+n 从第几行开始

-n 定义屏幕显示多少行

more myfile//分页查看myfile文件

more +3 myfile//从第三行开始查看myfile文件

more -2 myfile//每页显示两行

more +/pattern myfile//从myfile中搜索pattern, 结果显示在第三行

less: 查看文件, 分页上下翻滚页

head: 查看文件, 分页显示, 每页只显示10条

head myfile// 默认每页只显示10条

head -n 5 myfile//查看myfile1,每页显示5条记录

head -c 12 myfile//查看myfile,只显示前面12字节符

tail:查看文件, 实时监控文件

tail -f myfile// 实时监控myfile文件的变化

which:查找命令

which 命令

which mv//将mv命令的别名和mv所在的位置都给查询出来

whereis: 查找命令

whereis mv: 查找命令的所在位置, 帮助文档,命令源码

locate: 查找文件

locate myfile//搜索出来myfile所在目录, 需要先刷新db, 使用命令: updatedb

新创建的文件搜索不到,新创建的文件被放在Linux的文件数据库, 需要属性文件数据库才能够找到

find: 查找文件

find -name myfile//根据文件名, 在当前的目录进行查询

find -name “myfile”//和上面一个没有区别

find /etc/ /root/ -name “*[A-Z]*” //查询目录etc和root下以A-Z开头的所有文件

find /etc/ /root/ -name “*[A-Z]*” -exec ls -l {} \;// 把查询结果交给ls命令继续执行, 显示前面查询结果详细信息.

-exec:执行,执行后面的命令,执行ls -l命令

{}: 标识查询结果在一行显示

\; :命令要使用很好结束,斜杠是用来转义的.

| (管道命令)

把前面的查询结果交给后面的命令进行执行

ls -al | more -5 //查询所有,把查询的结果交给more命令去执行

grep (过滤命令) 经常和管道命令一起使用

ps -ef | grep svn//查询所有进程, 过滤查询svn

ln: 连接命令,创建快捷方式

ln -s myfile link//给myfile创建一个快捷方式link

top:显示当前系统中消耗资源的进程情况

top //每隔5秒显示徐偶有进程的资源占用情况

top -d 2//每隔2秒刷新

ps: 查看进程(常用)

ps -ef//查看所有进程

ps -ef | grep redis //查看redis进程是否存在

kill: 杀死进程(常用)

kill -9 PID

df: 显示磁盘使用情况

df -h//查看当前磁盘使用情况, 包括占用量单位

shutdown: 关机

shutdown 系统关机

shutdown -r 关机后立即重启

shutdown -h 关机后不重新启动

halt: 关机后关闭电源

reboot: 重新启动

=============================解压缩命令

gzip zip bzip2 压缩命令

gzip: 压缩文件, 不能够压缩目录

gzip file3// 把file3压缩, 压缩后文件名变为: file3.gz

gunzip: 解压

gunzip file3.gz//解压单个文件

gunzip file1.gz file2.gz //解压多个文件

通常使用 gzip -d 来解压

gzip -dv file1.gz// 解压file1, v 是视图可以看到解压过程

bzip2和gzip压缩方式一样

zip:

zip myzip.zip file1 //将file1 压缩成myzip.zip

unzip myzip.zip// 解压

tar: 打包命令, 将多个文件压缩成一个文件

tar -cvf dir.tar dir//将dir目录下所有文件打包成dir.tar

tar -xvf dir1.tar//解包

gzip dir.tar //压缩tar文件变成dir.tar.gz

tar -zxvf dir.tar.gz//解压dir.tar.gz到dir

-z:解压gz扩展名的文件

-x:解压tar包

-v:显示执行过程

-f:指定解压文件

bzip2 dir.tar//使用bzip2压缩tar包: dir.tar.bz2

tar -jxvf dir.tar.bz2//解压bzip2格式包

==============vim文本编辑器

vim进入编辑器

vi有3总模式: 插入模式,命令模式,低行模式

1,插入模式

i 进入插入模式

2,命令模式

esc 进入命令模式

3,底行模式

:或者/ 进入底行模式

在命令模式下:

基本:

a:在当前光标位置的右边添加文本

i:在当前光标的位置的左边添加文本

A:在当前行的末尾位置添加文本

I:在当前行的开始处添加文本

O: 在当前行上面创建一行

0: 在当前行下面创建一行

R:替换(覆盖)当前光标位置及后面的若干文本

J:合并光标所在行及下一行为一行

删除,撤销:

x:删除当前字符

nx: 删除从光标开始的n个字符

dd:删除当前行

ndd:删除n行

u:撤销上一步操作

U:撤销当前行的操作

搜索:

/vpser: 向光标下搜索vpser字符串

?vpser: 向光标闪搜索vpser字符串

n: 先下搜索前一个搜索动作

N: 向上搜索前一个搜索动作

跳转指定行:

n+: 向下跳转n行

n-: 向下跳转n行

nG: 调到行号为n的行

G: 跳至文件的底部

设置行号:

:set nu //显示行号

:set noun//取消显示行号

复制粘贴:

yy: 将当前行复制到缓存区

nyy:将当前行向下n行复制到缓存区

p: 当前行的下面进行粘贴

P: 当前光标所在行的上面进行粘贴

yw:复制光标到单词词尾

nyw:复制从光标开始的n个单词

y^: 复制从光标到行首的内容

y$: 复制从光标到行尾的内容

替换:

:s/old/new //用new替换行中首次出现的old 这个单词为new

:s/old/new/g //用new替换当前行中所有的old单词

:n,m s/old/new/g //用new替换从n到m行在哪个所有的old单词

:%s/old/new/g //用new替换当前文件中的所有old

7,权限管理

==================权限管理

-rwxrw-r–

– :类型

rwx:所属用户权限

rw-:所属组权限

r–:其他用户权限

最高位:文件类型

-: 普通文件

d: 目录

l: 快捷方式文件

高三位:u 所属用户权限(rwx)

中间三位:g 用户所属组权限(rw-)

第三位:o 其他用户权限(r–)

设置权限第一种方式举例:

———- file1: file1 无权限 (使用chmod 0 file1 就取消所有权限)

设置权限: (x:执行权限 r:读权限 w:写权限)

chmod u+x file1—-> —x—— file1

chmod u+r file1—-> -r-x—— file1

chmod g+w file1—-> -r-x-w—- file1

chmod g+rx file1—> -r-xrwx— file1

chmod o+rwx file1–> -r-xrwxrwx file1

chomod o=x file1—> -r-xrwx–x file1

设置权限第二种方式举例:

用421来代表rwx, 对应关系如下:

421 421 421

rwx rwx rwx

chmod后面每一位数字匹配三位: 3=2(w)+1(x) 5=4(r)+1(x)

chmod 421 file1—–> -r—w—x file1 (4代表用户的读权限,2代表组的写权限,1代表其他用户的执行权限)

chmod 354 file1—–> -rwxrwxw-x file1

8,安装软件

=======================安装软件

rpm: 安装麻烦 不建议使用

yum: 支持在线升级

1,关联dvd磁盘到本地: 右键CentOS 选择Settings, 然后找到CD/DVD 选择connected即可.

2,Yum命令支持在线升级,执行yum命令的时候,检测/etc/yum.repos.d/下面所有repo文件.

repo文件里面存储的是网址,yum命令检测repo文件里面网址直接去网上下载.

可以把repo文件修改, 让repo文件指向本地的dvd盘.

3,挂载dvd盘到mnt目录

挂载命令:mount /dev/cdrom/ mnt/

挂载成功截图:

4,修改repo文件

先备份repo文件: rename .repo .bak * //将所有repo扩展名的文件修改为后缀为.bak

创建自己的repo文件,指向本地文件:touch mine.repo

进入vim编辑repo文件: vim mine.repo

[centos6.6]

name=centos-dvd

baseurl=file:///mnt

gpgcheck=0

enabled=1

清空yum源:yum clean all

加载yum源:yum repolist all

安装mysql: yum install mysql-server

启动mysql:service mysqld start

登录数据库:mysql -uroot p

查询数据库:show databases;

======================安装jdk和tomcat

1, 先将jdk和tomcat传输到Linux root目录下

2, 在usr/local 下建立文件夹存放jdk和tomcat安装包: mkdir hadoop

3, 移动root目录下安装包 到 usr/local目录下: mv jdk-7u55-linux-i586.tar.gz apache-tomcat-7.0.47.tar.gz /usr/local/hadoop/

4, 解压安装包: tar -zxvf jdk-7u55-linux-i586.tar.gz

tar -zxvf apache-tomcat-7.0.47.tar.gz

5,配置环境变量: vim profile

在最后一行添加: export JAVA_HOME=/usr/local/hadoop/jdk1.7.0_55

export PATH=$JAVA_HOME/bin:$PATH

6,刷新设置: source /etc/profile

7,查看是否安装成功:java -version

常见问题:

1,修复/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory问题

解决方案:在64系统里执行32位程序如果出现/lib/ld-linux.so.2:

bad ELF interpreter: No such file or directory,

安装下glic即可:sudo yum install glibc.i686

2,error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory

使用:sudo yum install zlib.i686

====================安装lrzsz(可以上传文件到指定目录)

1,安装:yum install lrzsz

2,安装后使用命令: cd /usr/local/hadoop/

rz: 直接弹出传输对话框

3,将tomcat传递到hadoop目录下

4,启动tomcat

cd /usr/local/hadoop/apache-tomcat-7.0.47/bin/

./startup.sh

前面先BB几句 shell脚本在Linux系统管理员的运维工作中非常重要,所以学好这个也是很重要的。
shell脚本并不能作为正式的编程语言,因为它在Linux的shell中运行的,所以称为shell脚本,事实上,shell脚本就是一些命令的集合。

一 :创建跟执行

!/bin/bash

This is my first shell script

Writen by one 2016-05-16

date
echo “Hello,World!”

二 数学运算

!/bin/bash

sum

a=1
b=2
sum=$[$a+$b]
echo “$a+$b=$sum”

三 和用户交互

!/bin/bash

++++

oneone

read -p “please input a number:” x
read -p “please input another number:” y
sum=$[$x+$y]
echo “the sum of the two numbers is $sum”

四 逻辑判断

不带else

!/bin/bash

read -p “please input you score:” a
if ((a<60));then echo "you did not pass the exam" fi 带else #!/bin/bash read -p "please input you score:" a if ((a<60));then echo "you did not pass the exam" else echo "good! you passed the exam" fi 带有elif #!/bin/bash read -p "please input you score:" a if ((a<60));then echo "you did not pass the exam" elif ((a>=60))&&((a<85));then echo "good you passed the exam" else echo "verygood! you passed the exam" fi 以上只是简单的介绍了if语句的结构。判断数值的大小除了可以用(())的形式外,还可以使用[]但是不能使用>< =这样子的符号了,要使用-lt(小于) -gt(大于) -le(小于或等于) -ge(大于或等于) -eq(等于) -ne(不等于) 五 和文档相关的判断 -e 判断文件或者目录是否存在 -d 判断是不是目录以及是否存在 -f 判断是不是普通文件以及是否存在 -r 判断是否有读权限 -w 判断是否有写权限 -x 判断是否可执行 #!/bin/bash if [ -f /home/ ]; then echo ok; else echo no; fi 六 case逻辑判断 case 格式 case 变量 in values1) command ;; calues2) command ;; ..... esac #!/bin/bash read -p "input a number:" n a=$[$n%2] case $a in 1) echo "the number is odd" ;; 0) echo "the number is even" ;; *) echo "it's not a number" ;; esac 未完待续,昨天晚上本来说写完了,因为太困,就睡觉去了。。。