无需言 做自己 业 ,精于勤 荒于嬉.

Android杂项 安卓生命周期

发表日期:2019-01-05 23:15:20 | 来源: | 分类:Android杂项

-----第一次进入

/              onCreate创建

/              onStart 开始

/              onResume继续

-----返回按钮

/              onPause暂停

/              onStop停止

/              onDestroy 销毁

-----再次进入

/              onCreate创建

/              onStart 开始

/              onResume继续

-----息屏

/              onPause暂停

/              onStop停止

/protected onSaveInstanceState

------亮屏

/              onRestart重新开始

/              onStart 开始

/              onResume继续

-----回到桌面

/              onPause暂停

/              onStop停止

/protected onSaveInstanceState

----进入

/              onRestart重新开始

/              onStart 开始

/              onResume继续

-----反回-》退出

/              onPause暂停

/              onStop停止

/              onDestroy 销毁

-----》》退出

-----》》打开

-----》》进入

/              onCreate

/              onStart

/              onResume

--------------------------------------------------

================第一次进入================

onCreate

onStart

onResume

-------finish

onPause

onStop

onDestroy

=====> 再次进入

onCreate

onStart

onResume

-------start activity

onPause

onStop

protected onSaveInstanceState

=======《返回按钮进入

onRestart

onStart

onResume

---------start activity ---finish

onPause

onStop

onDestroy

=========》再次进入

onCreate

onStart

onResume

---------finish--start activity

onPause

onStop

onDestroy


---------------------------------------------------

只要是startActivity()

/              onCreate创建

/              onStart 开始

/              onResume继续

只要是点返回按钮/finish

/              onPause暂停

/              onStop停止

/              onDestroy 销毁

只要是息屏/回到桌面/start activity

/              onPause暂停

/              onStop停止

/protected onSaveInstanceState

只要是亮屏/桌面返回/start activity后返回按钮  

/              onRestart重新开始

/              onStart 开始

/              onResume继续

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

只要是息屏/回到桌面/start activity 都不会执行onDestroy

只要不是start activity进入的都不会执行onCreate

只要没有执行onDestroy方法,再次回到该界面的时候UI不会受影响,数据不会丢失

而一旦执行onDestroy后,会清理非static的内存/变量,数据丢了,所以UI受影响

所以我们可以把主要数据存为static




阅读全文 »

PHP杂项 PHP高级扩展介绍,高手必学

发表日期:2019-01-05 23:09:33 | 来源: | 分类:PHP杂项


开源项目


yaf:在PHP扩展PHP框架


yar:Yar 是一个轻量级, 高效的RPC框架, 它提供了一种简单方法来让PHP项目之间可以互相远程调用对方的本地方法. 并且Yar也提供了并行调用的能力. 可以支持同时调用多个远程服务的方法.


yac:YAC是共享存储用户数据缓存PHP。它可以用来取代APC或本地缓存。YAC是无锁的,这意味着,这是非常快的,但有可能是一个机会,你会得到一个错误的数据(取决于很多关键的时隙分配多少密钥存储),所以你最好确保你的产品是不是很敏感。


yaconf:PHP持久配置容器,它解析INI文件,在PHP启动时预加载(储存/读取)结果


Taint:一个扩展用于检测XSS代码嗅探器(污染的字符串),也可用于防范的SQL注入漏洞,壳注入,等。


Lua:Lua是一个功能强大,速度快,轻量级,可嵌入的脚本语言。" 这个扩展嵌入Lua解释器,并对lua变量和函数提供面向对象的API。 


msgpack:是一个高效的二进制序列化格式。它让你像JSON一样可以在各种语言之间交换数据。但是它比JSON更快、更小。小的整数会被编码成一个字节,短的字符串仅仅只需要比它的长度多一字节的大小。


Couchbase:PHP的客户端库提供快速访问存储在Couchbase服务器中的文档。(Couchbase是一种NoSql数据库



APC:Alternative PHP Cache 官方翻译叫”可选PHP缓存”。它为我们提供了缓存和优化PHP的中间代码的框架。 APC的缓存分两部分:系统缓存和用户数据缓存。

APC一个开源的PHP opcode 缓存框架,高速缓冲储存器工具,它能够缓存opcode的php中间码。它的目标是提供一个自由、 开放,和健全的框架用于缓存和优化PHP的中间代码。 

opcode还有另一种称谓:字节码(byte codes)。


OPcache (Zend OPCache):通过将PHP脚本预编译的字节码存储到共享内存中来提升PHP的性能,存储预编译字节码的好处就是省去了每次加载和解析PHP 脚本的开销。

Zend OPCache的前身是Zend Optimizer + (Zend O+),在PHP5.5的发行版本中自带了Zend O+,并重新命名为:Zend OPCache。但是默认是没有启用的,可以在ini文件中enable一下。据统计,zend opcache比apc性能要好,可以提升提升 5%-9%。


Zend Optimizer:Zend代码优化器


memcache:Memcache模块提供了于memcached方便的面向过程及面向对象的接口,memcached是为了降低动态web应用 从数据库加载数据而产生的一种常驻进程缓存产品。 是一套分布式的高速缓存系统,由LiveJournal的Brad

Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著。

MemCache的工作流程如下:先检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作;如果请求的数据不在memcached中,就去查数据库,把从数据库中获取的数据返回给客户端,同时把数据缓存一份到memcached中(memcached客户端不负责,需要程序明确实现);每次更新数据库的同时更新memcached中的数据,保证一致性;当分配给memcached内存空间用完之后,会使用LRU(Least Recently Used,最近最少使用)策略加上到期失效策略,失效数据首先被替换,然后再替换掉最近未使用的数据。



memcached:memcached是一个高性能分布式的内存对象缓存系统,通常被用于降低数据库加载压力以提高动态web应用的响应速度。 此扩展使用了libmemcached库提供的api与memcached服务端进行交互。它同样提供了一个session处理器(memcached)。

是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。

Memcached是以守护程序(监听)方式运行于一个或多个服务器中,随时会接收客户端的连接和操作。


new memcache是pecl扩展库版本

new memcached是libmemcached版本

1、基于的库不同(我觉得这是本质区别,库的不同决定了后续差异)。memcache扩展是原生的(基于pecl扩展库)。memcached扩展是基于libmemcached库开发的,所以支持cas操作,cas操作就是多个线程并发修改同一个key的值的时候能够进行处理。

2、mc支持面向对象和面向过程两套接口操作服务端。而mcd扩展只支持面向对象方式操作。这也是库(libmemcached与libmemcache)的不同影响的。

3、 memcached支持Binary Protocol,而memcache不支持。还是库的不同导致。这意味着memcached会有更高的性能。


Memcached、memcached、memcache。

    其中首字母大写的Memcached,指的是Memcached服务器,就是独立运行Memcached的后台服务器,用于存储数据的“数据库”。

    而memcached和memcache指的是Memcached的客户端,就是通过memcached或memcache来访问Memcached服务器。

在PHP的插件中有一个memcache,还有一个memcached,两者在用法上不同。


Redis:Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便


Xcache:XCache 是一个开源的 opcode 缓存器/优化器, 这意味着他能够提高您服务器上的 PHP 性能. 他通过把编译 PHP 后的数据缓冲到共享内存从而避免重复的编译过程, 能够直接使用缓冲区已编译的代码从而提高速度. 通常能够提高您的页面生成速率 2 到5 倍, 降低服务器负载.


eAccelerator(ea):eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。 它还有对脚本起优化作用,以加快其执行效率。使您的PHP程序代码执效率能提高1-10倍。


Shmop:是一个易于使用的功能集,允许PHP读写创建和删除UNIX共享内存段。实现共享高速内存数据池。 类似asp/jsp的application。


php-fpm(FastCGI Process Manager:FastCGI进程管理器):是一个PHPFastCGI管理器,是只用于PHP的。性能貌似高过Fastcgi


SOA:面向服务的体系结构


SOAP:简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。SOAP、WSDL(WebServicesDescriptionLanguage)、UDDI(UniversalDescriptionDiscovery andIntegration)之一, soap用来描述传递信息的格式, WSDL 用来描述如何访问具体的接口, uddi用来管理,分发,查询webService 。具体实现可以搜索 Web Services简单实例 ; SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。SOAP使用基于XML的数据结构和超文本传输协议(HTTP)的组合定义了一个标准的方法来使用Internet上各种不同操作环境中的分布式对象。


RPC:RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。


cURL:(Client URL Library)curl是利用URL语法在命令行方式下工作的开源文件传输工具。PHP支持的由Daniel Stenberg创建的libcurl库允许你与各种的服务器使用各种类型的协议进行连接和通讯。libcurl目前支持http、https、ftp、gopher、telnet、dict、file和ldap协议。libcurl同时也支持HTTPS认证、HTTP POST、HTTP PUT、 FTP 上传(这个也能通过PHP的FTP扩展完成)、HTTP 基于表单的上传、代理、cookies和用户名+密码的认证。

主要用途是可以利用curl从不同服务器上获取资源。如用curl访问远程webservice数据接口资源,做网站的分布式。

例如:你访问一个web服务器 A,这个web服务器A可以从服务器B上读取数据,从服务器C中获取密集计算后的数据,从服务器D中获取网页图片。可以做网站的分布式。


SPL :Standard PHP Library 标准PHP类库


OAuth : (Open authorization)开放式授权协议,此扩展提供 OAuth 消费方和提供方之间的绑定。OAuth 是一种建立在 HTTP 之上的授权协议,用于允许应用程序安全访问数据而无需存储用户名和密码。 {第三方授权登录,帐号绑定功能,如用微信登录、QQ登录,深入点在于实现用我们的程序做第三方授权登录提供商}


阅读全文 »

PHP杂项 数组转XML

发表日期:2019-01-05 23:08:27 | 来源: | 分类:PHP杂项

<?php


/**

 * 数组转XML

 */

class ArrayToXML

{


private $xmlString;


private function header()

{

$this->xmlString .= '<?xml version="1.0" encoding="utf-8" ?>';

$this->xmlString .= '<root>';

}


private function footer()

{

$this->xmlString .= '</root>';

}

public function encode($array)

{


header('Content-type:text/xml;');


$this->header();


$this->paser($array);


$this->footer();


return $this->xmlString ;

}


private function paser($array)

{

foreach ($array as $key => $value)

{

$tag = is_numeric($key) ? 'item' : $key;

$this->xmlString .= "<$tag";



if (is_array($value))

{

if (isset($value['id'])) $this->xmlString .= " id=\"{$value['id']}\"";

$this->xmlString .= ">";


$this->paser($value);

}

else

{

$this->xmlString .= ">";


$this->xmlString .= $value;

}


$this->xmlString .= "</$tag>";

}

}

}


$array = array(

'code' => 200,

'message' => 'succeess',

'data' => array(

array(

'id' => 1,

'title' => 'demo2',

),

array(

'id' => 2,

'title' => 'demo3',

)

)

);



$xml = new ArrayToXML;


echo $xml->encode($array);

?>

阅读全文 »

PHP杂项 Memcache和Redis的区别

发表日期:2019-01-05 23:05:25 | 来源: | 分类:PHP杂项

1.Memcache和Redis都是用来管理数据的

2.他们的数据都是存放在内存里

3.Redis可以定期将数据备份到磁盘(永久化)

4.Memcache只是简单的key/value缓存

5.Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储



Redis常用操作:

1.开启Redis服务 redis-server.exe redis.windows.conf

开启Redis客户端新cmd窗口redis-cli.exe

2.设置键值对 set key value

3.查看键值 get key

4.设置key的过期时间,单位为秒 setex key time value

5.删除键值del key


阅读全文 »

PHP杂项 PHP7.0新特性

发表日期:2019-01-05 23:03:31 | 来源: | 分类:PHP杂项

PHP7.0新特性

php7的主题是线程优化

php之前版本,开发效率快,语言本身性能差

普通的PHP网站:IO密集型,瓶颈在mysql上,体现不出PHP的性能劣势,在密集计算的方面比C、C++、java差几十倍升至上百倍


PHP各版本 qps分数

PHP5.0 0

PHP5.1 0

PHP5.2 -------75

PHP5.3 ---------82

PHP5.4 -----------107

PHP5.5 ------------110

PHP5.6 -------------112

PHP7.0 ---------------------------------------------312


QQ农场曾经用PHP编写,后来因为线程问题,用C重构,性能提示70%

FaceBook曾经用PHP开发,后来因为性能原因,对PHP二次开发,重写了PHP核心引擎(HHVM,性能提升100%


PHP7.0 重写ZendVM 比 PHP 5.6 性能提升300%

据WordPress最新测试PHP7.0性能超越HHVM,可以说PHP的性能得到了很大的性能提升



新特性:

函数、方法支持类型声明

try{}catch(Excption e){} 异常捕获


性能优化:

zval 可以直接使用栈内存

PHP5: zval *val;MAKE_STD_ZVAL(val);

PHP7: zval val;

zend_string存储hash值,array查询不再需要重复计算hash

struct _zend_string{

zend_refcounted gc;

zend_ulong h;

size_t len;

char val[1];

}

hashtable桶内直接存储数据,减少了内存申请次数,提升了casche命中率和内容速度


阅读全文 »

idea小技巧 IntelliJ idea 、PhpStorm 、webStorm常用快捷键命令

发表日期:2019-01-05 23:02:38 | 来源: | 分类:idea小技巧

要快速打开编辑器中的任何类,请按Ctrl+N(Navigate|Class)并开始键入类的名称。然后,从建议列表中选择类

代码完成使您可以快速完成代码中的各种语句。例如,开始键入类名并按Ctrl + 空格完成它。当多个选项可用时,它们在查找列表中显示。

通过将插入符号定位在符号名称或在代码中使用,并按Alt+F7(Edit|Find|Find Usages),可以快速找到在整个项目中使用特定类、方法或变量的所有位置

若要快速查看编辑器插入符号中使用的类或方法的文档,请按CTRL+Q

若要导航到代码中某处使用的类、方法或变量的声明,请将插入符号定位到使用位置并按Ctrl+B(Navigate|.)。您还可以单击使用Ctrl(Windows或Linux)/Cmd(MacOS)键以跳转到声明。

您可以在CCTL+F12(导航文件结构)中快速浏览当前编辑的文件。

文件结构显示当前类的成员列表。选择要导航的元素,然后按Enter键或F4键。

要在列表中轻松定位一个项目,只需开始键入其名称即可。

您可以轻松地重命名类、方法和变量,并自动更正使用它们的所有位置。

将插入符号放在要重命名的符号上,按Shift +F6(重构因子重命名)。键入新名称并按Enter。

阅读全文 »

文档编辑 vi / vim 最好用的编辑器详解

发表日期:2019-01-05 22:58:54 | 来源: | 分类:文档编辑

i insert 切换到输入模式

o 在光标所在行的下一行插入一行,并切换到输入模式

p 在光标所在行的下一行粘贴

dd 删除光标所在行

yy 复制光标所在行

:wq 保存退出

vim + file  打开文件并将光标定位到最后一行

vim +3 file  打开文件并将光标定位到第三行

vim +/keywords file  打开文件光标定位到查询到的第一个keywords的行,按n可以切换下一个keywords所在行

vim file1 file2 file3 ,按:n 可以切换到下一个打开的文件; :N 切换到上一个文件 或:prev;

:! 强制执行;

:w 保存;

:q 退出;

:q! 不保存退出;

:wq 保存退出;

:ls 列出打开的所以文件;

:15 光标快速定位到15行;

/keywords 从光标当前位置向后搜索关键字

/keywords 从光标当前位置向前搜索关键字

命令模式下:光标 k上移 j下移 h左移 l右移

ctrl + f 向下翻页

ctrl + b 向上翻页

ctrl + d 向下翻半页

ctrl + u 向上翻半页

阅读全文 »

Linux实战应用 linux 目录权限详解

发表日期:2019-01-05 22:58:29 | 来源: | 分类:Linux实战应用


/**

 * @crd

 * c:create 创建

 * r:rename 重命名/移动

 * d:delete 删除;

 */



目录只有执行权限 <--x 1>

可以cd到其目录内

不可以列出目录内容

不可以crd目录内容

@note 无意义


目录只有写权限 <-w- 2>

权限不够,你什么也干不了

@note 无意义


目录只有读权限 <r-- 4>

可以列出目录内容

不能访问目录内文件的属性,会提示权限不够

不能cd进入该目录

不可以crd目录内容

@note 无意义

----------------------------


目录有写权限2和执行权限1 <-wx 3>

可以cd进入该目录

可以crd目录内容

不可以列出目录内容

@note 无意义


目录有读权限4和执行权限1<r-x 5>

可以cd进入该目录

可以列出目录内容

不可以crd目录内容

@note 可访问/列目录,但不许增加/删除/改名/移动目录内的文件,起到保护目录结构



目录有读权限4和写权限2<rw- 6>  # 同<r-- 4> 结果一样

可以列出目录内容

不能访问目录内文件的属性,会提示权限不够

不可以cd进入该目录

不可以crd目录内容

@note 无意义


目录有读权限4和写权限2和执行权限1<rwx 7>

拥有最高权限

@note 注意所有者,是否存在安全风险


阅读全文 »

Linux实战应用 解决ssh无法连接远程Ubuntu,Uuntu安装ssh-server

发表日期:2019-01-05 22:56:54 | 来源: | 分类:Linux实战应用

ssh无法连接Ubuntu原因:

Ubuntu安装完成默认情况下,只安装了ssh-client,也就是说你可以在该Ubuntu下用ssh连接其它服务器,但是没有安装ssh-server,因此你无法连接到此Ubuntu上,解决办法就是安装ssh-server。

一、安装ssh

命令:

sudo apt-get install openssh-server -y

二、查看ssh服务是否启动

命令:

sudo ps -e |grep ssh

#如果显示有sshd 这一项说明,说明ssh已经启动成功,到此结束。那么你可以远程连接ssh了。

#如果没有sshd、只有ssh-agent,说明ssh启动失败,需要配置,继续完成后续步骤。

三、启动ssh服务

sudo service ssh start  或 /etc/init.d/ssh restart

命令执行完成后,重复一次第二步,看看ssh是否启动成功。如果依旧没有启动成功,那么继续完成后续步骤。

四、修改ssh配置文件

命令:

vi /etc/ssh/ssh_config

#编辑配置文件,大约在39,40行,将这两句代码前的#取消掉保存退出。

Port 22

    Protocol 2,1

五、重启Ubuntu

到这一步本人试过多次,启动、重启ssh服务依然失败,但重启一下Ubuntu就好了,。不知道这是什么鬼,但是屡试不爽,不妨试一下。

(4)ssh还不能登录上,就修改sshd的默认配置

ssh出现permission denied (publickey)问题:

修改/etc/ssh/sshd-config文件.

PubkeyAuthentication yes修改为no

阅读全文 »

Linux实战应用 linux centos 安装配置 mysql

发表日期:2019-01-05 22:53:54 | 来源: | 分类:Linux实战应用

需要安装:

mysql.i686              5.1.73-5.el6_6    @base                                 

mysql-libs.i686         5.1.73-5.el6_6    @base                                 

mysql-server.i686       5.1.73-5.el6_6    @base                                 

php-mysql.i686          5.3.3-46.el6_6    @updates  


检查是否安装了这几项

yum list installed | grep mysql


安装mysql

yum install mysql-server mysql mysql-libs -y


添加php对mysql的支持(你最好先安装、apache、mysql、php 再做这件事

yum install php-mysql -y


设置mysql开机启动

chkconfig --level 3 mysqld on 


修改防火墙开放3306 端口

vim /etc/sysconfig/iptables

插入:

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT


保存配置

/etc/rc.d/init.d/iptables save


重启服务

service iptables restart

或/etc/init.d/iptables restart


开启mysql服务,注意服务名是:mysqld,不是:mysql

service mysqld start


修改 mysql 的登录密码 为123456

mysqladmin -uroot password '123456'; 


尝试登录mysql

mysql -uroot -p123456


退出mysql

exit


阅读全文 »

Linux实战应用 linux 安装lnmp Apache + mysql + php + 扩展

发表日期:2019-01-05 22:53:11 | 来源: | 分类:Linux实战应用

Apache + mysql + php + phpmyadmin + php自定义扩展 急速安装

需要的所有安装包如下


httpd.i686              2.2.15-47.el6.centos.1

httpd-tools.i686        2.2.15-47.el6.centos.1                                

mysql-server.i686       5.1.73-5.el6_6    @base

mysql.i686              5.1.73-5.el6_6    @base                                 

mysql-libs.i686         5.1.73-5.el6_6    @base 

php.i686                5.3.3-46.el6_6    @updates   

php-cli.i686            5.3.3-46.el6_6    @updates                              

php-common.i686         5.3.3-46.el6_6    @updates

php-devel.i686          5.3.3-46.el6_6    @updates                              

php-gd.i686             5.3.3-46.el6_6    @updates                              

php-mbstring.i686       5.3.3-46.el6_6    @updates                              

php-mcrypt.i686         5.3.3-4.el6       @epel 

php-soap.i686           5.3.3-46.el6_6    @updates                       

php-mysql.i686          5.3.3-46.el6_6    @updates                              

php-pdo.i686            5.3.3-46.el6_6    @updates         

phpMyAdmin.noarch       4.0.10.12-1.el6   @epel 

php-bcmath.i686         5.3.3-46.el6_6    @updates    

php-tcpdf.noarch        6.2.11-1.el6      @epel                                 

php-tcpdf-dejavu-sans-fonts.noarch

php-tidy.i686           5.3.3-46.el6_6    @updates                              

php-xml.i686            5.3.3-46.el6_6    @updates

php-php-gettext.noarch  1.0.11-12.el6     @epel                                 

php-process.i686        5.3.3-46.el6_6    @updates 


第一步、一键安装apache + mysql + php + php扩展

yum install httpd mysql-server php php-devel pcre-devel php-pear php-mbstring php-soap php-gd php-mysql -y


第二部、配置

#修改防火墙开放 80,3306端口

vim /etc/sysconfig/iptables


#在iptables中插入

-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT


#保存配置

/etc/rc.d/init.d/iptables save


#重启服务

service iptables restart 或 /etc/init.d/iptables restart


#设置httpd、mysql开机启动

chkconfig --level 3 httpd on

chkconfig --level 3 mysqld on


#启动apache、mysql

service httpd start

service mysqld start


#修改mysql密码

mysqladmin -uroot password '123456';


#在web根目录/var/www/html 中建一个index.php

写入

<?php phpinfo(); ?>


#访问web的php探针

浏览器打开 http://ip地址/


第三步、安装mcrypt

rpm -ivh http://mirrors.sohu.com/fedora-epel/6/i386/epel-release-6-8.noarch.rpm

yum install php-mcrypt


第四步、安装phpMyAdmin

yum install phpMyAdmin -y


#配置phpMyAdmin

vim /etc/httpd/conf.d/phpMyAdmin.conf

修改:

<Directory /usr/share/phpMyAdmin/>

   AddDefaultCharset UTF-8

.......

   <IfModule !mod_authz_core.c>

     # Apache 2.2

     Order Deny,Allow

     Deny from All

     #Allow from 127.0.0.1

     Allow from All #把上面这句删掉或注释了换成这句就OK了,默认是只允许本机访问phpMyAdmin

....

其它的自己看着改,不改也行,意思类同,注意安全性。尤其是[setup] ,建议设置为 Allow from 允许ip

....


#重启apache、mysql

service httpd restart

service mysqld restart


#打开phpMyAdmin

http://ip地址/phpmyadmin


-------------------------------------------------------------------


#添加Remi源

rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm


#启用Remi源

vim /etc/yum.repos.d/remi.repo

只修改 [remi]下面的 enabled=0 改为 enabled=1


http://rpms.famillecollet.com/ 

https://webtatic.com/



libjs-jquery-ui-docs libmcrypt-dev mcrypt php5-mcrypt



sudo apt-get install curl libcurl3 libcurl3-dev php5-curl

mcrypt安装:

sudo apt-get install php5-mcrypt

sudo mv -i /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available

sudo php5enmod mcrypt

service apache2 restart

这样就可以了。。。。


cp /etc/php5/mods-available /etc/php5/conf.d/mcrypt.ini 




mysql默认只允许本机访问。需要开启远程权限。

sudo vim /etc/mysql/my.cnf //打开配置文件

bind-address //表示进允许这个服务器进行访问。注释掉的话都可以访问。

phpmyadmin添加用户

sudo service mysql restart


阅读全文 »

Linux实战应用 centos 安装配置apache详细方法步骤

发表日期:2019-01-05 22:51:43 | 来源: | 分类:Linux实战应用

一、首先在系统上面查询一下是否已经安装了apache 软件【Apache软件在linux系统里的名字是httpd】

命令:

rpm -qa httpd


显示:

httpd-2.2.15-47.el6.centos.1.i686


如果有返回的信息,则会显示已经安装的软件。(我当前安装了)直接跳到第三步

如果没有则不会显示其它的信息。


二、以当前没有安装httpd为例,安装httpd


命令:

yum install httpd -y

#yum命令会自动下载并安装httpd及其依赖包

显示:

..... httpd及依赖包安装的过程,等待安装完成即可,


三、查看httpd的相关信息

命令:

yum info installed httpd

rpm -qc httpd  #查询已经安装的httpd配置文件地址

rpm -qd httpd  #查询已经安装的httpd的文档安装位置

rpm -qf httpd  #查询已经安装的httpd属于哪个软件包

rpm -qi httpd  #查询已经安装的httpd的信息

rpm -ql httpd  #查询已经安装的httpd都安装到何处

rpm -qR httpd  #查询已经安装的httpd所依赖的软件包及文件

#.... 其它命令 详见 rpm命令 及 yum命令


四、配置httpd


#设置httpd开机启动

chkconfig --level 3 httpd on


#修改防火墙开放 80端口

#不设置的话本地可以访问80端口(http://localhost/),但是外部无法访问80端口(http://ip地址/)

vim /etc/sysconfig/iptables

#[让vim显示行号,方便查看]打开文件后,在命令模式下输入: :set nu


#在文件中插入这句[如果不存在]:

-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT


#重新启动防火墙服务

service iptables restart


#在web根目录/var/www/html 中建一个index.html


#启动 httpd

service httpd start


#访问web  http://ip/  如果正常访问至此apache就安装好了

#如果不能正常访问,关闭一下防火墙试试:service iptables stop,

#如果关闭了防火墙可以正常访问,那么可能是没有配置成功,重新把第四步做一遍,记得设置后保存和重启服务


五、自定义httpd设置

#自定义修改httpd配置文件 /etc/httpd/conf/httpd.conf 详见apache配置

#重启 httpd 生效

service httpd restart



CentOS 配置httpd使局域网可以正常访问


问题: 

在CentOS上安装apache,配置好服务器本机可以访问,但是外部局域网IP不能访问

解决方法:

 1.修改配置文件/etc/httpd/conf/httpd.conf

<Directory "/var/www/cgi-bin">

    AllowOverride None

    Options None

    Order allow,deny

    Allow from all

</Directory>


 2.添加端口映射,这点是CentOS系统的安全特性,也是其适用于服务器的原因吧。

方法<1>:直接修改防火墙配置文件(/etc/sysconfig/iptables)

                -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

方法<2>:命令修改

               /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT


保存配置

/etc/rc.d/init.d/iptables save


重启服务

service iptables restart

或/etc/init.d/iptables restart


检查状态

/etc/init.d/iptables status



iptables开机自动启动:


开启: chkconfig iptables on 

关闭: chkconfig iptables off



iptables关闭服务:


开启: service iptables start 

关闭: service iptables stop


阅读全文 »

Linux实战应用 yum命令 centos软件安装

发表日期:2019-01-05 22:49:41 | 来源: | 分类:Linux实战应用

[centos]yum

yum 命令详解:

Redhat和Fedora的软件安装命令是rpm,但是用rpm安装软件最大的麻烦就是需要手动寻找安装该软件所需要的一系列依赖关系,超级 麻烦不说,要是软件不用了需要卸载的话由于卸载掉了某个依赖关系而导致其他的软件不能用是非常恼人的。令人高兴的是,Fedora终于推出了类似于 ubuntu中的apt的命令yum,令Fedora的软件安装变得简单容易。Yum 有以下特点:

*可以同时配置多个资源库(Repository)

*简洁的配置文件(/etc/yum.conf)

*自动解决增加或删除rpm包时遇到的倚赖性问题

*使用方便

*保持与RPM数据库的一致性

yum,是Yellow dog Updater Modified的简称,起初是由yellow dog这一发行版的开发者Terra Soft研发,用python写成,那时还叫做yup(yellow dog updater),后经杜克大学的Linux@Duke开发团队进行改进,遂有此名。yum的宗旨是自动化地升级,安装/移除rpm包,收集rpm包的相关信息,检查依赖性并自动提示用户解决。yum的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http或ftp站点, 也可以是本地软件池,但必须包含rpm的header, header包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等.正是收集了这些 header并加以分析,才能自动化地完成余下的任务。

yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

yum的命令形式一般是如下:yum [options] [command] [package ...]

[options] 执行选项

-e 静默执行 

  -t 忽略错误

  -R[分钟] 设置等待时间

-h 帮助

-y 自动应答yes,当安装过程提示选择全部为"yes"

-q 不显示安装的过程

--skip-broken 忽略依赖问题

  --nogpgcheck 忽略GPG验证

[command] 为所要进行的操作。

* install package1 [package2] [...]  安装包[RPM包]

yum install 全部安装

yum install package1 安装指定的安装包package1

#使用yum安装和卸载软件,有个前提是yum安装的软件包都是rpm格式的。yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,那么最好,下载安装;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包,你可以自己作出判断

yum install package1 package2 package3 安装包package1、package2、package3

yum install yumex 安装yum图形窗口插件

yum install yum-fastestmirror 自动搜索最快镜像插件

* update [package1] [package2] [...][RPM包] 更新包

yum update 全部更新

yum update package1 更新指定程序包package1

* update-to [package1] [package2] [...]

* check-update 检查可更新的程序

* upgrade [package1] [package2] [...] 升级系统

yum upgrade package1 升级指定程序包package1

* upgrade-to [package1] [package2] [...]

* distribution-synchronization [package1] [package2] [...]

* remove | erase package1 [package2] [...] 卸载包[RPM包]

yum remove package1 删除软件package1,同安装一样,yum也会查询数据库,给出解决依赖关系的提示。

yum erase package1  删除软件package1

* list [...] 列出可安装和可更新的RPM包

  yum list 显示所有已经安装和可以安装的程序包

yum list package1 显示指定程序包安装情况package1

yum list updates 列出所有可更新的软件包

  yum list installed 列出全部已安装的包

  yum list extras 列出全部已安装且不在资源库的包

* info [...] 可安装和可更新的RPM包信息

  yum info 可安装和可更新的RPM包信息

yum info package1 显示安装包信息package1

  yum info installed 已安装包的信息(-qa 参数相似)

yum info updates 列出所有可更新的软件包信息

yum info extras 列出所有已安裝但不在 Yum Repository 內的软件包信息

* provides | whatprovides feature1 [feature2] [...] [关键词]搜索特定包文件名

yum provides 列出软件包提供哪些文件

* clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]

#yum 会把下载的软件包和header存储在cache中,而不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用yum clean指令进行清除,更精确的用法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all 清除所有

yum clearn | yum clean all 清除全部缓存目录下的软件包及旧的headers

yum clean packages 清除临时包/缓存目录下的软件包(/var/cache/yum 下文件)

yum clearn headers 清除缓存目录下的 headers/rpm头文件

yum clean oldheaders 清除缓存目录下旧的rpm头文件

* makecache

* groupinstall group1 [group2] [...]

yum groupinsall group1 安装程序组group1,程序组名有空格需要""包起来 如:yum groupinstall "Chinese Support"

* groupupdate group1 [group2] [...]

yum groupupdate group1 升级程序组group1

* grouplist [hidden] [groupwildcard] [...] 查看可能批量安装的列表

* groupremove group1 [group2] [...]

yum groupremove group1 删除程序组group1

* groupinfo group1 [...]

yum groupinfo group1 显示程序组group1信息

* search string1 [string2] [...][关键词] 搜索包

yum search string 根据关键字string查找安装包

* shell [filename]

* resolvedep dep1 [dep2] [...] 指定依赖

* localinstall rpmfile1 [rpmfile2] [...](maintained for legacy reasons only - use install) 安装本地的 RPM包

* localupdate rpmfile1 [rpmfile2] [...] (maintained for legacy reasons only - use update)

* reinstall package1 [package2] [...] [RPM包] 重新安装包

* downgrade package1 [package2] [...]

* deplist package1 [package2] [...] 列出包的依赖

yum deplist package1 查看程序package1依赖情况

* repolist [all|enabled|disabled] 显示资源库的配置

* version [ all | installed | available | group-* | nogroups* | grouplist | groupinfo ]

* history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]

* load-transaction [txfile]

* check

* help [command]

[package ...] 是操作的软件包对象。

yum list installed search httpd

yum info installed search httpd

-----------------------------------------------------------------------------------------------------------

yum的源文件 cd /etc/yum.repos.d/

CentOS-Base.repo 基本源文件 默认生效的

CentOS-Debuginfo.repo  

CentOS-Media.repo

CentOS-Vault.repo

CentOS-fasttrack.repo

1、yum的优点:将所有软件包放到官方服务器上,当进行yum在线安装时,可以自动解决依赖性问题。(rpm缺点:安装过程中,rpm包依赖性太强)

2、redhat的yum在线安装需要付费,centOS不需要。

3、在【/etc/yum.repos.d/】目录中,默认有4个yum源文件,其中【CentOS-Base.repo】是基本yum源文件,如果我们能上网,那它是默认生效的,而其他的都是默认不生效的。

4、[base]:名字可以随便起。

5、name:名字也是随便起。

6、mirrorlist和baseurl一个是主站点,一个是辅助站点,这两个有一个就行。可以找一个163或清华大学的yum源更换。

7、enabled:默认最后一个容器不生效,其他容器都生效。

8、gpgcheck:一般都要开启,开启后安装时会验证rpm包是否是官方的,以保证系统安全。

9、gpgkey:默认系统安装后,在目录【/etc/pki/rpm-gpg】下都会存在数字证书。注:前面的【file://】表示文件协议,后面的【/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6】是数字证书的位置。

#验证证书目录

ls /etc/pki/rpm-gpg 

RPM-GPG-KEY-CentOS-6

RPM-GPG-KEY-CentOS-Debug-6

RPM-GPG-KEY-CentOS-Security-6

RPM-GPG-KEY-CentOS-Testing-6

RPM-GPG-KEY-EPEL-6

RPM-GPG-KEY-remi

光盘搭建yum源:

1.挂载光盘:

>mkdir /mnt/cdrom --建立挂载点

>mount /dev/sr0 /mnt/cdrom/ --挂载光盘

2.使网络yum源失效:

>cd /etc/yum.repos.d/ --进入yum源目录

>mv CentOS-Base.repo CentOS-Base.repo.bak --修改yum源文件后缀名,使其失效

3.使光盘yum源生效:

>vim CentOS-Media.repo

yum的配置文件 /etc/yum.conf

[root@localhost ~]$ sudo more /etc/yum.conf

[main]

cachedir=/var/cache/yum/$basearch/$releasever #yum缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum。

keepcache=0 

debuglevel=2 #除错级别,0──10,默认是2

logfile=/var/log/yum.log   yum的日志文件,默认是/var/log/yum.log。

exactarch=1  #有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用686的包来升级。

obsoletes=1

gpgcheck=1  有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认好像也是检查的。

plugins=1

installonly_limit=5

#metadata_expire=1800

bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum

distroverpkg=centos-release

#  This is the default, if you make this bigger yum won't see if the metadata

# is newer on the remote and so you'll "gain" the bandwidth of not having to

# download the new metadata and "pay" for it by yum not having correct

# information.

#  It is esp. important, to have correct metadata, for distributions like

# Fedora which don~t keep old packages around. If you don't like this checking

# interupting your command line usage, it's much better to have something

# manually check the metadata once an hour (yum-updatesd will do this).

# metadata_expire=90m

# PUT YOUR REPOS HERE OR IN separate files named file.repo

# in /etc/yum.repos.d

-----------------------------------------------------------------------------------------------------------

yum install php-gd

yum install gd-devel

yum groupinstall 

#yum install samba-common  //该执行会一起安装 samba-client

#yum install samba

yum install gcc

yum install cpp

yum install gcc-c++

yum install ncurses

yum install ncurses-devel

yum install gd-devel php-gd

yum install gd-devel

yum install gcc

yum install cpp

yum install gcc-c++

yum install ncurses

yum install ncurses-devel

yum install gd-devel php-gd

yum install gd-devel

yum install zlib-devel

yum install freetype-devel freetype-demos freetype-utils

yum install libpng-devel libpng10 libpng10-devel

yum install libjpeg-devel

yum install ImageMagick

yum install php-gd

yum install flex

yum install ImageMagick-devel

yum install system-config-bind         

yum groupinstall "DNS Name Server"      //安裝 bind 及 bind-chroot 套件

yum groupinstall "MySQL Database"

yum clean all

阅读全文 »

Linux实战应用 rpm命令 centos软件安装

发表日期:2019-01-05 22:48:55 | 来源: | 分类:Linux实战应用

centos的软件安装大致可以分为两种类型:

[centos]rpm文件安装,使用rpm指令  类似[ubuntu]deb文件安装,使用dpkg指令


rpm命令

(一)查询系统装已经安装的软件信息

对于一个rpm包来说,都是有"-"和"."构成的,基本上有以下几部分组成: * 包名 * 版本信息 * 发布版本号 * 运行平台,当出现noarch,代表的是软件可以平台兼容


-a (all) 所有的

-i (install) 安装

-l (list) 列表

-h (hash) 显示进度

-v (verbose) 显示详细信息

-e (erase) 卸载

-q (query) 查询

-d (delete) 删除/卸载

-U (upgrade) 升级

-R (Requires) 查询软件包的依赖性

-p 查询未安装的包

--nodeps 不检测依赖性


#安装、升级、卸载

rpm -ivh 包全名 安装软件包

rpm -Uvh 包全名 升级软件包,不存在的话也可以安装

rpm -e 包全名 卸载软件包

#基本查询

rpm -a | grep <包名>   获得和<包名>相关的全部软件包

rpm -qa    查询系统中已经安装的全部软件

rpm -q <包名>     查询是否存在一个软件包

rpm -qc  <包名>   查询一个已安装软件的配置文件;

rpm -qd  <包名>    查询一个已经安装软件的文档安装位置

rpm -qi  <包名>     查询一个已安装软件包的信息

rpm -ql  <包名>    查询一个已安装软件包都安装到何处

rpm -qR  <包名>   查询一个已安装软件包的依赖性

rpm -qf  <文件名路径>  查询一个已经安装的文件属于哪个软件包

rpm -qV  <包名>   效验一个已经安装的软件包的安装文件(被修改的

#未安装查询

rpm -qcp <包全名>   查询一个未安装的软件包的配置文件;

rpm -qdp <包全名>   查询一个未安装的软件包的文档所在的位置;

rpm -qip <包全名>    查询一个未安装包的详细信息(用途、版本等信息

rpm -qlp <包全名>    查询一个未安装的包可能的安装目录及所包含的文件

rpm -qpR <包名>    查询一个未安装的软件包的依赖性


#导入签名

rpm --import 签名文件  rpm --import RPM-GPG-KEY


使用rpm -V 包名进行验证之后,验证内容中的8个返回值的信息具体内容如下:

S 文件大小改变

M 文件的类型或者文件的权限被改变

5 文件MD5校验和改变(可以理解成文件内容是否改变)

D 设备的主从代码改变

L 文件的路径改变

U 文件的所有者改变

G 文件的属组改变

T 文件的修改时间改变


#rpm包默认安装位置

/etc/ 配置文件安装目录

/usr/bin/ 可执行命令安装目录

/usr/lib/ 程序所使用的函数库保存位置

/usr/share/doc/ 基本的软件使用手册保存位置

/usr/share/man/ 帮助文件保存位置


提取未安装的RPM包中的文件

rpm2cpio <包全名> | cpio -idv <.文件绝对路径>


注:<.文件绝对路径>中的 . 代表当前路径,不能省略。文件绝对路径和包里文件的绝对路径对应,也就是告诉了cpio要去包里提取哪个文件。

注:cpio只知道提取文件,并不知道要从什么地方提取文件,因此我们通常要使用【|】管道符或【<】输入重定向告诉cpio我们应该从什么设备去取出文件。

使用输入重定向的cpio命令格式:

cpio 选项 < [文件|设备]

选项:

-i:copy-in模式,还原

-d:还原时自动新建目录

-v:显示还原过程

阅读全文 »

Linux实战应用 ssh 远程管理指定Linux服务器

发表日期:2019-01-05 22:48:27 | 来源: | 分类:Linux实战应用

#远程管理指定Linux服务器

ssh 用户名@ip


#下载文件

scp [-r] 用户名@ip:远程文件路径 本地路径


#上传文件

scp [-r] 本地文件 用户名@ip:上传路径


阅读全文 »

磁盘管理 ls 列出目录内容

发表日期:2019-01-05 22:46:00 | 来源: | 分类:磁盘管理

功能说明:列出目录内容。


语  法:ls [-1aAbBcCdDfFgGhHiklLmnNopqQrRsStuUvxX][-I <范本样式>][-T <跳格字数>][-w <每列字符数>][--block-size=<区块大小>][--color=<使用时机>][--format=<列表格式>][--full-time][--help][--indicator-style=<标注样式>][--quoting-style=<引号样式>][--show-control-chars][--sort=<排序方式>][--time=<时间戳记>][--version][文件或目录...]


补充说明:执行ls指令可列出目录的内容,包括文件和子目录的名称。


参  数:

  -1   每列仅显示一个文件或目录名称。

  -a或--all   下所有文件和目录。

  -A或--almost-all   显示所有文件和目录,但不显示现行目录和上层目录。

  -b或--escape   显示脱离字符。

  -B或--ignore-backups   忽略备份文件和目录。

  -c   以更改时间排序,显示文件和目录。

  -C   以又上至下,从左到右的直行方式显示文件和目录名称。

  -d或--directory   显示目录名称而非其内容。

  -D或--dired   用Emacs的模式产生文件和目录列表。

  -f   此参数的效果和同时指定"aU"参数相同,并关闭"lst"参数的效果。

  -F或--classify   在执行文件,目录,Socket,符号连接,管道名称后面,各自加上"*","/","=","@","|"号。

  -g   次参数将忽略不予处理。

  -G或--no-group   不显示群组名称。

  -h或--human-readable   用"K","M","G"来显示文件和目录的大小。

  -H或--si   此参数的效果和指定"-h"参数类似,但计算单位是1000Bytes而非1024Bytes。

  -i或--inode   显示文件和目录的inode编号。

  -I<范本样式>或--ignore=<范本样式>   不显示符合范本样式的文件或目录名称。

  -k或--kilobytes   此参数的效果和指定"block-size=1024"参数相同。

  -l   使用详细格式列表。

  -L或--dereference   如遇到性质为符号连接的文件或目录,直接列出该连接所指向的原始文件或目录。

  -m   用","号区隔每个文件和目录的名称。

  -n或--numeric-uid-gid   以用户识别码和群组识别码替代其名称。

  -N或--literal   直接列出文件和目录名称,包括控制字符。

  -o   此参数的效果和指定"-l" 参数类似,但不列出群组名称或识别码。

  -p或--file-type   此参数的效果和指定"-F"参数类似,但不会在执行文件名称后面加上"*"号。

  -q或--hide-control-chars   用"?"号取代控制字符,列出文件和目录名称。

  -Q或--quote-name   把文件和目录名称以""号标示起来。

  -r或--reverse   反向排序。

  -R或--recursive   递归处理,将指定目录下的所有文件及子目录一并处理。

  -s或--size   显示文件和目录的大小,以区块为单位。

  -S   用文件和目录的大小排序。

  -t   用文件和目录的更改时间排序。

  -T<跳格字符>或--tabsize=<跳格字数>   设置跳格字符所对应的空白字符数。

  -u   以最后存取时间排序,显示文件和目录。

  -U   列出文件和目录名称时不予排序。

  -v   文件和目录的名称列表以版本进行排序。

  -w<每列字符数>或--width=<每列字符数>   设置每列的最大字符数。

  -x   以从左到右,由上至下的横列方式显示文件和目录名称。

  -X   以文件和目录的最后一个扩展名排序。

  --block-size=<区块大小>   指定存放文件的区块大小。

  --color=<列表格式>   培植文件和目录的列表格式。

  --full-time   列出完整的日期与时间。

  --help   在线帮助。

  --indicator-style=<标注样式>   在文件和目录等名称后面加上标注,易于辨识该名称所属的类型。

  --quoting-syte=<引号样式>   把文件和目录名称以指定的引号样式标示起来。

  --show-control-chars   在文件和目录列表时,使用控制字符。

  --sort=<排序方式>   配置文件和目录列表的排序方式。

  --time=<时间戳记>   用指定的时间戳记取代更改时间。

  --version   显示版本信息。 


常用扩展

ls -lh [dir] 详细列出dir目录下的内容 等同于 ll [dir]


阅读全文 »

磁盘管理 lndir(link directory) 连接目录内容

发表日期:2019-01-05 22:45:25 | 来源: | 分类:磁盘管理

lndir(link directory)


功能说明:连接目录内容。


语  法:lndir [-ignorelinks][-silent][源目录][目的目录]


补充说明:执行lndir指令,可一口气把源目录底下的文件和子目录统统建立起相互对应的符号连接。


参  数:

  -ignorelinks   直接建立符号连接的符号连接。

  -silent   不显示指令执行过程。 

阅读全文 »

磁盘管理 eject 卸载外接设备

发表日期:2019-01-05 22:44:45 | 来源: | 分类:磁盘管理

功能说明:卸载外接设备。


语  法:eject [-dfhnqrstv][-a <开关>][-c <光驱编号>][设备]


补充说明:若设备已挂入,则eject会先将该设备卸除再退出。


参  数:

  [设备]   设备可以是驱动程序名称,也可以是挂入点。

  -a<开关>或--auto<开关>   控制设备的自动退出功能。

  -c<光驱编号>或--changerslut<光驱编号>   选择光驱柜中的光驱。

  -d或--default   显示预设的设备,而不是实际执行动作。

  -f或--floppy   退出抽取式磁盘。

  -h或--help   显示帮助。

  -n或--noop   显示指定的设备。

  -q或--tape   退出磁带。

  -r或--cdrom   退出光盘。

  -s或--scsi   以SCSI指令来退出设备。

  -t或--trayclose   关闭光盘的托盘。

  -v或--verbose   执行时,显示详细的说明。 


阅读全文 »

磁盘管理 edquota(edit quota) 编辑用户或群组的配额

发表日期:2019-01-05 22:43:51 | 来源: | 分类:磁盘管理

edquota(edit quota)


功能说明:编辑用户或群组的配额。


语  法:edquota [-p <源用户名称>][-ug][用户或群组名称...] 或 edquota [-ug] -t


补充说明:edquota预设会使用vi来编辑使用者或群组的quota设置。


参  数:

  -u   设置用户的quota,这是预设的参数。

  -g   设置群组的quota。

  -p<源用户名称>   将源用户的quota设置套用至其他用户或群组。

  -t   设置宽限期限。 

阅读全文 »

磁盘管理 du(disk usage) 显示目录或文件的大小

发表日期:2019-01-05 22:43:01 | 来源: | 分类:磁盘管理

du(disk usage)


功能说明:显示目录或文件的大小。


语  法:du [-abcDhHklmsSx][-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件>][--max-depth=<目录层数>][--help][--version][目录或文件]


补充说明:du会显示指定的目录或文件所占用的磁盘空间。


参  数:

  -a或-all   显示目录中个别文件的大小。

  -b或-bytes   显示目录或文件大小时,以byte为单位。

  -c或--total   除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。

  -D或--dereference-args   显示指定符号连接的源文件大小。

  -h或--human-readable   以K,M,G为单位,提高信息的可读性。

  -H或--si   与-h参数相同,但是K,M,G是以1000为换算单位。

  -k或--kilobytes   以1024 bytes为单位。

  -l或--count-links   重复计算硬件连接的文件。

  -L<符号连接>或--dereference<符号连接>   显示选项中所指定符号连接的源文件大小。

  -m或--megabytes   以1MB为单位。

  -s或--summarize   仅显示总计。

  -S或--separate-dirs   显示个别目录的大小时,并不含其子目录的大小。

  -x或--one-file-xystem   以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。

  -X<文件>或--exclude-from=<文件>   在<文件>指定目录或文件。

  --exclude=<目录或文件>   略过指定的目录或文件。

  --max-depth=<目录层数>   超过指定层数的目录后,予以忽略。

  --help   显示帮助。

  --version   显示版本信息。 


 

常用扩展


du -sh [dir] dir目录的总大小 

du -ah [dir] 递归方式显示dir极其所有子代目录及文件的大小


阅读全文 »

全部博文(1589)
集速网 copyRight © 2015-2025 宁ICP备15000399号-1 宁公网安备 64010402001209号
与其临渊羡鱼,不如退而结网
欢迎转载、分享、引用、推荐、收藏。