用Linux命令行生成随机密码的十种方法

2014-6-7 杜世伟 Linux

用Linux命令行生成随机密码的十种方法

1、这种方法使用SHA算法来加密日期,并输出结果的前32个字符:

date +%s | sha256sum | base64 | head -c 32 ; echo
2、这种方法使用内嵌的/dev/urandom,并过滤掉那些日常不怎么使用的字符。这里也只输出结果的前32个字符:

< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;
3、 这种方法使用openssl的随机函数。如果你的系统也许没有安装openssl,你可以尝试其它九种方法或自己安装openssl。

openssl rand -base64 32
4、 这种方法类似于之前的urandom,但它是反向工作的。Bash的功能是非常强大的!

阅读全文>>

标签: linux openssl passwd sha

评论(0) 浏览(18587)

shell 随机从文件中抽取若干行的实现方法

2014-6-4 杜世伟 shell

方法一

        通过shuf命令:

  • shuf 命令的选项:
  • -e, --echo :将每个参数视为输入行
  • -i, --input-range=LO-HI :将LO 到HI 的每个数字视为输入行
  • -n, --head-count=行数 : 最多输出指定的行数
  • -o, --output=文件 :将结果输出到指定文件而非标准输出
  • --random-source=文件 :从指定文件获得随机比特
  • -z, --zero-terminated :以0 结束行而非新行
  • --help :显示此帮助信息并退出
  • --version :显示版本信息并退出

阅读全文>>

标签: linux sort awk shuf

评论(0) 浏览(10765)

高性能网站架构之负载均衡 Nginx的简介

2014-6-3 杜世伟 Nginx

什么是Nginx

         Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、新浪、网易、腾讯等。

阅读全文>>

标签: nginx 负载均衡 反向代理服务器

评论(0) 浏览(11209)

linux 符号链接与硬链接的区别

2014-5-23 杜世伟 Linux

linux下我们可以把符号链接,也就是软连接 当做是 windows系统里的 快捷方式。

硬链接 就好像是 又复制了一份.

ln 1.txt 2.txt   这是硬链接,相当于复制,不可以跨分区,但修改1.txt,2.txt会跟着变,若删除1.txt,2.txt不受任何影响。

ln -s 3.txt 4.txt  这是软连接,相当于快捷方式。修改4.txt,3.txt也会跟着变,若删除3.txt,4.txt就坏掉了。不可以用了。

阅读全文>>

标签: linux ln

评论(0) 浏览(16310)

linux sed

2014-5-22 杜世伟 Linux

    sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等

阅读全文>>

标签: linux sed

评论(0) 浏览(13394)

使用sed awk bash提取行的范围

2014-5-15 杜世伟 Vim

使用sed awk bash提取行的范围


以下是根据行号打印或提取文件部分的几种不同方式。


方式一使用sed把文件中指定行的内容重定向到/tmp/file1中

sed -n ’27,99p’ file.txt > /tmp/file1

等同于

sed '27,99 !d' file.txt > /tmp/file2


方式二使用awk NR

awk 'NR >= 27 && NR <= 99' file.txt > /tmp/file3


方式三使用head和tail

head -99 file.txt | tail -73 > /tmp/file4

阅读全文>>

标签: linux vim sed awk

评论(0) 浏览(18904)

vim 编辑远程文件

2014-5-13 杜世伟 Vim

vim 编辑远程文件


unstableme.log 是一个存放在172.21.20.104服务器/root目录下的一个文件. 通过从本地的编辑该文件的命令是:


vim scp://root@172.21.20.104//root/unstableme.log


这个时候会提示你输入172.21.20.104服务的密码


(转)http://www.unixcl.com/2008/08/edit-remote-file-using-vi-and-scp-linux.html

标签: linux vim vi

评论(0) 浏览(16027)

Php 安全设置

2014-5-11 杜世伟 Php

1) 打开 php 的安全模式
php 的安全模式是个非常重要的内嵌的安全机制,能够控制一些 php 中的函数,比如 system(),
同时把很多文件操作函数进行了权限控制,也不允许对某些关键文件的文件,比如/etc/passwd,
但是默认的 php.ini 是没有打开安全模式的,我们把它打开:
safe_mode = on
2) 用户组安全
当 safe_mode 打开时,safe_mode_gid 被关闭,那么 php 脚本能够对文件进行访问,而且相同
组的用户也能够对文件进行访问。
建议设置为:
safe_mode_gid = off
如果不进行设置,可能我们无法对我们服务器网站目录下的文件进行操作了,比如我们需要
对文件进行操作的时候。
3) 安全模式下执行程序主目录
如果安全模式打开了,但是却是要执行某些程序的时候,可以指定要执行程序的主目录:
safe_mode_exec_dir = /usr/bin
一般情况下是不需要执行什么程序的,所以推荐不要执行系统程序目录,可以指向一个目录,
然后把需要执行的程序拷贝过去,比如:
safe_mode_exec_dir = /tmp/cmd
但是,我更推荐不要执行任何程序,那么就可以指向我们网页目录:
safe_mode_exec_dir = /usr/www
4) 安全模式下包含文件
如果要在安全模式下包含某些公共文件,那么就修改一下选项:
safe_mode_include_dir = /usr/www/include/

阅读全文>>

标签: PHP linux nginx

评论(0) 浏览(12449)

vim 打开文件并跳动指定的行数

2014-5-10 杜世伟 Vim

vim 打开文件并跳动指定的行数


有时我们需要在vim中打开一个文件,然后需要去一个特定的行号,以便检查某些东西或编辑某些东西。 这就是我们如何在vim中打开一个文件,并直接把光标放在我们感兴趣的所需行上。


方法-

使用vim -c 参数

From VIM(1) man page:


-c {command}

{command} will be executed after the first file has been read.  {command} is interpreted as an

 Ex command.  If the {command} contains spaces it must be enclosed in double quotes (this

depends on the shell  that is used).  Example: Vim "+set si" main.c

阅读全文>>

标签: linux vim vi

评论(0) 浏览(11969)

linux shell 将多行文件转换为一行

2014-5-8 杜世伟 Linux

说实话,虽然对shell编程包括awk有所了解,但是对sed的多行与一行的处理还是不甚理解,在网上搜罗了一篇文章觉得还不错,记录一下:
 
 
今天一个工程师问我,怎么将一个文件中的多行转换成一行。
      我给出了如下三种方法:
      1. 采用awk
      awk BEGIN{RS=EOF}'{gsub(/\n/," ");print}' file
      说明:awk默认将记录分隔符(record separator即RS)设置为\n,此行代码将RS设置为EOF(文件结束),也就是把文件视为一个记录,然后通过gsub函数将\n替换成空格,最后输出。
      2. 采用sed
      sed ':a ; N;s/\n/ / ; t a ; ' file
      说明:sed默认只按行处理,N可以让其读入下一行,再对\n进行替换,这样就可以将两行并做一行。但是怎么将所有行并作一行呢?可以采用sed的跳转功能。:a 在代码开始处设置一个标记a,在代码执行到结尾处时利用跳转命令t a重新跳转到标号a处,重新执行代码,这样就可以递归的将所有行合并成一行。

阅读全文>>

标签: linux shell awk

评论(0) 浏览(9654)

Powered by emlog 沪ICP备2023034538号-1