说说Linux下的文件和目录的权限

文件的权限

r 可以读取文件
w 可以编辑该文件的内容(但不能删除该文件)
x 该文件可以被系统执行

目录的权限

 r 可以读取目录结构列表,表示可以查询该目录下的文件名数据
 w 在该目录内新建新的文件和目录,删除该目录内已经存在的文件和目录(不论该文件的权限为何),转移该目录内的文件和目录的位置,重命名该目录内的文件和目录
 x 是否可以进入(cd)该目录,如果没有x权限,无法读取该目录下的文件的内容

总结

如果你要读取一个文件的内容,不仅要拥有文件的 r 权限,而且要拥有文件所在目录的 x 权限

如果你要删除一个文件,只需要拥有该文件所在目录的 w 权限即可


Liunx

这篇文章: 有用 无用
创建 2017-08-28 10:47:10 / 更新 2017-08-29 07:02:11

说说Linux下的mv命令

当我们使用mv命令移动文件overwrite的时候,会不会有提示呢?

mv 有两个 option

-f # do not prompt before overwriting
-i # prompt before overwrite

此外我们还需要使用

$ alias mv

来查看mv命令有没有设置别名


Liunx

这篇文章: 有用 无用
创建 2017-07-11 23:01:31 / 更新 2017-07-11 23:05:13

说说Linux下的diff命令

diff 的语法

diff [options] from-file(修改前的文件) to-file(修改后的文件)

diff 的 options

-u  # Use the unified output format.
-r  # When compare directories, recursively compare any subdirectories found.
-d  # Change the algorithm to perhaps find a smaller set of changes.  This makes diff slower (sometimes much slower).
-q  # Report only whether the files differ, not the details of the differences.

Liunx

这篇文章: 有用 无用
创建 2017-07-06 22:16:50 / 更新 2017-07-06 22:16:50

在Perl中如何获得一些特殊的变量

如何打印Perl程序的进程号

$ perl -e 'print $$, "\n"' # just use $$

如何打印Perl的版本号

$ perl -e 'print $], "\n"'

参考:

http://perldoc.perl.org/perlvar.html


Perl

这篇文章: 有用 无用
创建 2017-06-12 02:07:20 / 更新 2017-09-15 05:58:07

Mojo::UserAgent下载大文件的时候,如何打印下载进度

利用 Mojo::Message

#!/usr/bin/env perl
use feature qw(say);
use warnings;

use Mojo::UserAgent;

my $url = "https://cpan.metacpan.org/authors/id/S/SR/SRI/Mojolicious-7.30.tar.gz";
my $ua  = Mojo::UserAgent->new();
my $tx  = $ua->build_tx(GET => $url);
$tx->res->on(progress => sub {
    my $msg = shift;
    return unless my $len = $msg->headers->content_length;
    my $size = $msg->content->progress;
    say 'Progress: ', $size == $len ? 100 : int($size / ($len / 100)), '%';
});
$ua->start($tx);
say($tx->res->code, ' ', $tx->res->message);

利用 Mojo::Content

#!/usr/bin/env perl

use 5.12.0;
use warnings;

use Mojo::UserAgent;

my $url = "https://cpan.metacpan.org/authors/id/S/SR/SRI/Mojolicious-7.30.tar.gz";
my $ua  = Mojo::UserAgent->new();
my $tx  = $ua->build_tx(GET => $url);

$tx->res->content->on(read => sub {
    my $content = shift;
    return unless my $len = $content->headers->content_length;
    my $size = $content->progress;
    say 'Progress: ', $size == $len ? 100 : int($size / ($len / 100)), '%';
});
$ua->start($tx);

say($tx->res->code, ' ', $tx->res->message);

参考:

  1. http://stackoverflow.com/questions/10086592/mojouseragent-get-with-userdefined-callback
  2. https://metacpan.org/pod/Mojo::UserAgent#build_tx
  3. https://metacpan.org/pod/Mojo::Message#progress
  4. https://metacpan.org/pod/Mojo::Content#read

Perl

这篇文章: 有用 无用
创建 2017-04-16 05:25:46 / 更新 2017-04-16 05:25:46