月度归档:2018年02月

Linux对文件打包压缩

如果你经常使用Linux,一定会遇到很多类似:*.tar.gz、*.tar.bz2、*.tar.xz这样的文件。因为很多软件是以这种文件形式发布的,甚至Linux内核也是如此。这些文件统称为”tar”包,其不同的结尾表明所使用的压缩算法不同。压缩比从低到高排序是gz<bz2<xz,压缩速度正好相反gz>bz2>xz。鱼与熊掌岂能兼得? 解压缩”tar”包非常简单只需要:

$ tar -vx -f filename
或
$ tar -vxf filename

就可以解压缩所有的”tar”包


创建”tar”包稍微麻烦点,但也只是多一了个命令选项来决定使用何种压缩算法。z代表gz,j代表bz2,J代表xz。所以要创建一个”tar”包,可以使用如下命令:

$ tar -zcvf filename.tar.gz FILES
或
$ tar -jcvf filename.tar.bz2 FILES
或
$ tar -Jcvf filename.tar.xz FILES

其中FIES代表被打包和压缩的文件或目录的名称

0

Linux常用命令

目录和文件处理

命令说明
mkdir建立目录,用法:mkdir [OPTION] DIRECTORY,例:$ mkdir dir1
ls列出目录下的内容,用法:ls [OPTION]…[FILE]…,例:ls -al /root
cd更换工作目录,用法:cd [DIRECTORY],例:$ cd /root
pwd显示当前工作目录,用法:pwd
cp拷贝文件及其目录,用法cp [OPTION]…SOURCE DEST,例:$ cp a.txt a.bak
mv移动(重命名)文件,用法:mv [OPTION]…SOURCE DEST,例:$ mv old new
rm删除文件可目录,用法:rm [OPTION]…[FILE]…,例:$ rm -rf dir1

文本处理

命令说明
cat连接文件打印到标准输出,用法:cat [OPTION][FILE]…,例:$cat pic.png love.txt>pic1.png 此命令经常用来查看小文件内容
more查看文件内容,当画面在显示满一页的时候暂停,按空格继续或按Q结束,用法:more [OPTION]FILE,例:$ more /etc/group
less与more类似,但是less允许利用光标键上下卷动文本内容进行浏览
head查看文件头部内容,用法:head[OPTION]…[FILE]…,例:$ head /etc/group
tail查看文件尾部内容,用法:tail[OPTION]…[FILE]…,例:tail /etc/group, -f是常用的命令选项,用于监控在线日志等
echo显示一行文本。用法:echo [OPTION][string],例:echo $HOME

系统管理

命令说明
ps强悍的进程查看命令,用法:ps[OPTION],例:ps -aef
kill删除执行中的程序或工作。用法:kill[OPTION],例:kill -9 3154
jobs通过jobs命令查看后台正在执行的命令的序号(非进程号pid)。用法:jobs
bg指定号码(非进程号)的命令进程放到后台运行。用法:输入’ctrl+z’ 然后输入 ‘bg
fg指定号码(非进程号)的命令进程放到前台运行。用法:fg
uname -sr查看linux内核版本号
lsb_release -a查看centos发行版本号

文件系统

命令说明
du查看目录或文件所占用磁盘大小,用法:du[OPTION]…[FILE]…,例:du
df检查文件系统的磁盘占用情况。用法:df[OPTION]…[FILE]…,例:df

计划任务

命令说明
crontab -l列出当前计划任务列表
0

理解BFC(Block Formatting Contexts)

BFC是满足以下至少一项的盒子:

  • “float”的值不是“none” ,
  • “overflow”的使用值不是“visible”,
  • “display”的值是“table-cell”,“table-caption”或“inline-block”,
  • “position”的值既不是“static”也不是“relative”。

何时触发BFC

以下内容将建立新的块格式上下文:

  • 浮动,
  • 绝对定位元素,
  • inline-blocks,
  • table-cells,
  • table-captions,
  • elements styled with “overflow” (any value other than “visible”)
  • elements styled with “display:flex” or “inline-flex” (flex boxes)

通过BFC特性能做些什么

  • 块格式化上下文可防止边缘折叠
  • BFC可以包含浮动的元素,防止父元素因为子元素脱离文档流,造成父元素的高度塌陷
  • BFC可以阻止元素被浮动元素覆盖,阻止元素因浮动引起的环绕效果
0

hello,2018

时光飞逝,岁月如歌。原来距两位天后同台的春晚,已经过去20年了。激情被岁月打磨,见闻和听闻已经失去了太多的敏感,一切可能发生的都没有什么特别,在这个小小的世界里没有什么事情是不能容纳的。唯独感慨时光,它悄无声息让人无法察觉。过年的鞭炮声制造着别样的喧闹,提醒着人们的日程。酒桌上的推杯换盏,酒后的把酒言欢。酒是不真实的,酒桌上说的话只有酒桌上才信,没有人指望着兑现承诺。朋友亲人相聚,少些客套,多点真实,轻轻松松相聚一堂,瓜子热茶,足矣。礼太多人受累,简单多好?2018,一脚油门,一脚刹车。

0

阿里备案I

想要在互联网上安个窝,按行情必须给自己的网站做个备案才行。于是踏上了愉(keng)快(die)的备案之旅。

首先买了两个域名,博主是以人民的名义,啊呸!!以个人的名义做网站备案。知识点1:域名的所有者和网站的所有者必须是同一个人,否则备案不会通过。 接下来,选择备案的区域,最好选择自己所属的区域,在其他省份备案需要上传暂住证信息。

填写网站备案信息,本人手机归属地是上海的,居然填不进去,只能是江苏的手机号!知识点2:备案手机的归属地和备案省份须保持一致! 博主第一个想到岳母的手机号是江苏的,于是就填了岳母的号码,并上老人发了个验证码给我,当时老人把一串阿里的短信号码抄下来发过来,大概是106XXXXXXXXXX!

虽然顺利通过了初审!还申请了幕布~ 但后来得知夫人的手机号也是江苏的,于是想着把号码改了,至少会方便一点点。 于是将备案撤回修改为老婆的手机号码,重新提交审核。 第二天一大早,就收到了阿里的快递,嚯,速度666啊,幕布就到了?快过年了,本以后年前不能收到了,点个赞~ 下午夫人微信告知,阿里电话回访,说问了几个问题,全答错了,备案初审失败了!!

本来以为只是走个形式,原来这么严格。没办法,只好放弃这个选择了,在淘宝上买了阿里通信的归属地为苏州的号码。快递停发了,年后才能收到新卡。 晚上拆开了阿里的快递,是一张纸质的幕布。让夫人帮我拍了一下照片,不知道能不能达到要求,能做的都做完了,等年后才能把备案流程走完了。气死急性子,明年继续……

0

sql克隆数据表

有些情况下,你可能需要原样拷贝某张数据表。但是,CREATE TABEL 却不能满足你的需要,因为复制表必须和原表拥有一样的索引、默认值等等。 如果你在使用 MySQL 关系型数据库管理系统的话,下面几个步骤可以帮你解决这个问题: 使用 SHOW CREATE TABLE 命令来获取一条指定了原表的结构、索引等信息的 CREATE TABLE 语句。 将语句中的表名修改为克隆表的名字,然后执行该语句。这样你就可以得到一张与原表完全相同的克隆表了。 如果你还想要复制表中的数据的话,请执行 INSERT INTO … SELECT 语句。 示例:

请尝试下面的示例,为 TUTORIALS_TBL 创建一张克隆表,其结构如下所示: 步骤一:

获取数据表的完整结构:

SQL> SHOW CREATE TABLE TUTORIALS_TBL \G;
*************************** 1. row ***************************
       Table: TUTORIALS_TBL
Create Table: CREATE TABLE `TUTORIALS_TBL` (
  `tutorial_id` int(11) NOT NULL auto_increment,
  `tutorial_title` varchar(100) NOT NULL default '',
  `tutorial_author` varchar(40) NOT NULL default '',
  `submission_date` date default NULL,
  PRIMARY KEY  (`tutorial_id`),
  UNIQUE KEY `AUTHOR_INDEX` (`tutorial_author`)
) TYPE=MyISAM
1 row in set (0.00 sec)

步骤二:

改变表名,创建新表:

SQL> CREATE TABLE `CLONE_TBL` (
  -> `tutorial_id` int(11) NOT NULL auto_increment,
  -> `tutorial_title` varchar(100) NOT NULL default '',
  -> `tutorial_author` varchar(40) NOT NULL default '',
  -> `submission_date` date default NULL,
  -> PRIMARY KEY  (`tutorial_id`),
  -> UNIQUE KEY `AUTHOR_INDEX` (`tutorial_author`)
  -> ) TYPE=MyISAM;
Query OK, 0 rows affected (1.80 sec)

步骤三:

执行完步骤二之后,数据库就会有克隆表了。如果你还想要复制旧表中的数据的话,可以执行 INSERT INTO… SELECT 语句。

SQL> INSERT INTO CLONE_TBL (tutorial_id,
    ->                        tutorial_title,
    ->                        tutorial_author,
    ->                        submission_date)
    -> SELECT tutorial_id,tutorial_title,
    ->        tutorial_author,submission_date,
    -> FROM TUTORIALS_TBL;
Query OK, 3 rows affected (0.07 sec)
Records: 3  Duplicates: 0  Warnings: 0

最终,你将如期拥有一张完全相同的克隆表。

0

Jquery AJAX 的全局事件

Jquery AJAX 的全局事件

  • AjaxStart()和AjaxStop()的使用
    *在jquery 1.8之后的版本,全局事件是作用在$(document)对象上的
$().ready(function () {     
            $(document).ajaxStart(function(){

                $("#loading").show();//在ajax请求开始的时候,显示友好提示,提高用户体验
            });

            $("input:button").click(function(){
                $.ajax({
                    "type":"POST",
                    "url":"2.php",
                    "data":$("#form1").serialize(),
                    "dataType":"json",
                    "success":function(data){
                        console.log(data);
                    },

                });


            $(document).ajaxStop(function(){

                $("#loading").hide();//当ajax请求结束时,隐藏提示
            });
            });
            //$.ajaxPrefilter(function (options){options.global = true;});
        });

Ajax其它全局事件

方法名称说明
ajaxComplete(callback)Ajax请求完成时执行回调函数
ajaxError(callback)Ajax请求发生错误时执行回调函数,捕捉到的错误可作为最后一个参数传递
ajaxSend(callback)Ajax请求发送前执行回调函数
ajaxSuccess(callback)Ajax请求成功时执行回调函数
0