随笔分类 -  linux shell

shell编程
摘要:basename将目录路径去掉,返回文件的实际文件名(此处也可以是最后一级目录)。如与$0一起 dirname与basename刚好相反,返回目录部分。 阅读全文
posted @ 2017-05-23 15:10 daduryi 阅读(260) 评论(0) 推荐(0)
摘要:可以按照各种标准进行排序、可以检查与合并排序过的文件、可以按照不同的键进行排序,甚至可以在这些键中按照不同的字符排序。sort -u删除重复,等价于sort file.txt | uniq 例子:-k 按ip地址排序,关键以.作为分界符 按时间排序 sort命令常见的参数和意义 Linux中sort 阅读全文
posted @ 2017-05-02 14:38 daduryi 阅读(162) 评论(0) 推荐(0)
摘要:translate将单个字符转化为其他字符 [:alnum:] 字母和数字 [:digit:] 数字 [:space:] 空白字符 可查看tr(1)手册。 -s删除重复, -d:delete,删除SET1中所有的字符,不转换 应用 **shell中tr的用法** linux tr命令详解 阅读全文
posted @ 2017-05-02 14:30 daduryi 阅读(154) 评论(0) 推荐(0)
摘要:删除连续的重复行,但如果相同的行在输入中稍后出现则还是会显示出来。 因此常用的组合是sort | uniq,可以用sort -u更高效实现。shell中uniq与sort -u 两种去重的对别 -w -w 32只会比较前32个字符 -s -s 32会忽略前32个字符 -f -f N会忽略前N个字段, 阅读全文
posted @ 2017-05-02 14:09 daduryi 阅读(227) 评论(0) 推荐(0)
摘要:wc (word count)统计字符(-c)、行数(-l)、单词(-w) 可以对一个文件、多个文件、或通过管道对标准输入进行统计;注意返回的空格问题,可以结合cut(单输入时),awk对结果进行取数字。 阅读全文
posted @ 2017-05-02 10:15 daduryi 阅读(235) 评论(0) 推荐(0)
摘要:默认从0开始索引;也可以单独(像字典一样)pid[35420]=httpd -k ssl, 只能是一维的 bash4.0增加了关联数组 数组赋值: declare -a myarray声明数组 一次一个(可以定义稀疏数组) numberarray[0]=zero numberarray[1]=one 阅读全文
posted @ 2017-04-25 16:07 daduryi 阅读(214) 评论(0) 推荐(0)
摘要:1) 2)函数返回码:可以通过return控制,但只能返回单个字节,由$?变量来表示的0~255的整数 返回字符串:thisip=`func $eth0` 3)在定义函数内部可以通过重定向写入文件 将整个函数的输出重定向 func > file 阅读全文
posted @ 2017-04-25 14:10 daduryi 阅读(142) 评论(0) 推荐(0)
摘要:#!/bin/bash getconfig() { echo "PCI Devices," lspci | sed s/" "/','/1 #显示系统中所有PCI总线设备或连接到该总线上的所有设备的工具 echo "CPU Specification," lscpu | sed s/":"/','/1 | tr -d ' ' } getcon... 阅读全文
posted @ 2017-04-25 10:30 daduryi 阅读(132) 评论(0) 推荐(0)
摘要:它的脚本以#!/usr/bin/expect开头,执行时用expoct,而不是bash。我的一个给samba自动创建用户并且自动填写默认密码的脚本如下: smb_expect脚本也可由由python调,如果修改两个密码由外部读入,可实现web 可以使用sleep 阅读全文
posted @ 2017-04-23 22:30 daduryi 阅读(330) 评论(0) 推荐(0)
摘要:提供了替换文本的查找替换功能,如 sed s/Wintel/Linux/g data (将Wintel替换为Linux) 大命令 下边是基于变量的小命令: 1)查找与替换 ${data/Wintel/Linux} 从开头找,替换一个 ${data//Wintel/Linux} 从开头找,替换所有 $ 阅读全文
posted @ 2017-04-20 22:14 daduryi 阅读(622) 评论(0) 推荐(0)
摘要:2)使用模式裁剪字符串 可以从复杂url中截取出域名 阅读全文
posted @ 2017-04-20 22:11 daduryi 阅读(418) 评论(0) 推荐(0)
摘要:一、for循环 1、向for提供数据 1)写死 或 变量 2)read 3)从命令行读取$* $@ for fruit in $*; do 或者 for fruit; do(这一技术使用于函数,乱入函数:) 4)使用seq命令给for输入数据(用于产生从某个数到另外一个数之间的所有整数) # seq 阅读全文
posted @ 2017-04-20 20:57 daduryi 阅读(211) 评论(0) 推荐(0)
摘要:一、 bash下. : () {} [] [[]] (())的解释 : 1).(点)与source命令一样,从文件中读取并执行命令,无论该文件是否都有可执行权限都能够正确的执行。且是在当前shell下执行,而不是产生一个子shell来执行(我们通常使用“./filename.sh”去执行一个文件是在 阅读全文
posted @ 2017-04-20 17:48 daduryi 阅读(259) 评论(0) 推荐(0)
摘要:bc *、 let 阅读全文
posted @ 2017-04-11 17:00 daduryi 阅读(446) 评论(0) 推荐(0)
摘要:一、”一切皆文件“与“管道” 1)管道:grep foo /path/to/file | grep -n -k 3 | more 实际过程与我们直观认为的相反,最好通过实际过程理解。首先运行的是more,它的输入被连接至一个管道。然后是sort,并且其输出被连接至之前的那个管道。接着创建第二个管道, 阅读全文
posted @ 2017-04-11 00:22 daduryi 阅读(542) 评论(0) 推荐(0)
摘要:Linux 查看文件修改时间(精确到秒)(简单) ls --full-time 查看文件时间戳命令:stat test.txt linux 下查看文件修改时间 等(详细) 查看文件时间戳命令:stat test.txt 修改文件时间与创建新文件:touch ls命令 阅读全文
posted @ 2017-04-07 18:11 daduryi 阅读(246) 评论(0) 推荐(0)
摘要:echo 'xxxx'自带换行 echo -n ‘xxxxxx’ 取消换行 echo -e "xxxxxxxxxxxx"允许转义字符(两种引号对转以字符效果相同,影响$变量) 转义字符仅由-e决定,和引号类型无关 是否解释文字输出: \a 发出警告声; \b 删除前一个字符; \c 最后不加上换行符 阅读全文
posted @ 2017-04-07 13:07 daduryi 阅读(308) 评论(0) 推荐(0)
摘要:bash -x file.sh 这样会把执行到的语句全部打印出来 #!/bin/bash 不会打印的程序块 set -v 需要打印的程序块 set -v 不会打印的程序块 阅读全文
posted @ 2017-03-27 21:13 daduryi 阅读(133) 评论(0) 推荐(0)
摘要:1、顺序结构体 命令从上往下顺序执行 2、分支结构体 1)判断真假 test 表达式 或者 [ 表达式 ](必须有空格) 真返回0,假返回1 test的别名是[, 参数是] 文件存在?文件类型? 块文件、字符文件、符号连接 套接字、命名(FIFO)管道 rwx 属主、属组 -ef 比较两个文件是否为 阅读全文
posted @ 2017-03-27 21:07 daduryi 阅读(240) 评论(0) 推荐(0)
摘要:单引号、双引号都能引用字符和字符串 单引号:'$i'仅仅是字符,没有变量的意思了 双以号:变量等能表示出来 阅读全文
posted @ 2017-03-27 19:46 daduryi 阅读(186) 评论(0) 推荐(0)