- 博客(21)
- 资源 (2)
- 收藏
- 关注
原创 [shell-命令] split
1生成大小为100kb的测试文件 dd if=/dev/zero bs=100k count=1 of=data.file # 内容全部都是0 2 将data.file分割成更多的文件 $ split -b 10k data.file #以字母命名 $ ls data.file xaa xab xac xad xae xaf xag xah xai xaj
2014-01-26 15:26:45
391
原创 [shell-命令] sort uniq
sort命令既可以从特定文件,也可以从stdin中获取输入,并将输出写入stdout。 sort对一组文件进行排序 sort abc.txt def.txt abcdefg def fanyl fanyl fanyunlong -n按数字进行排序 $ sort -n file.txt -r按逆序进行排序 $ sort -r file.txt
2014-01-26 15:11:54
414
原创 [shell-命令] tr
tr可以对来自标准输入的字符进行替换、删除、压缩,常被称为(translate命令). tr只能通过stdin,而无法通过命令行参数来接受输入。调用格式如下: tr [options] set1 set2 1 转换大小写 echo "HELLO WHO IS THIS" | tr 'A-Z' 'a-z' 2 数字加密解密 $ echo 12345 | t
2014-01-26 14:51:05
461
原创 [shell-命令] xargs
1 将一个命令的stdout作为另一个命令的stdin cat foo.txt | grep "test" 2 xargs将标准输入数据(stdin)转化成命令行参数 command | xargs 3 将多行输入转换成单行输出 $ cat example.txt # Example file 1 2 3 4 5 6 7 8 9 10 11 12
2014-01-26 14:41:02
352
原创 [shell-命令] cat
1. 压缩空白行 cat -s file 2.移除空白行 cat file | tr -s '\n' 3.显示制表符为 ^I cat -T file def function(): ^Ivar = 5 next = 6 ^Ithird = 7^I 4.显示行号 cat -n lines.txt 1 line 2 line 3
2014-01-26 14:35:41
298
原创 [shell-命令] find
搜索大全 1.-name(按照名称搜索) find /home/slynux -name "*.txt" –print find . \( -name "*.txt" -o -name "*.pdf" \) -print (多条件) -iname 与 -name相同,但是匹配时忽略大小写 2.-path(将路径文件名视为匹配的整体) find /h
2014-01-26 14:08:33
355
原创 [shell-命令] 摘要
find 搜索大全 1.-name(按照名称搜索) find /home/slynux -name "*.txt" –print find . \( -name "*.txt" -o -name "*.pdf" \) -print (多条件) -iname 与 -name相同,但是匹配时忽略大小写 2.-path(将路径文件名视为匹配的整体) find /home/user
2014-01-18 17:08:07
371
原创 [shell-脚本] 调用开始结束脚本
调用开始脚本 #!/bin/sh # start shell_procedure # shell_procedure path prefix=/cg/script RUNNING=0 PID="`pgrep -x shell_procedure`" if [ "`echo "$PID" | awk '{print length($1)}'`" -ne 0 ] then RUNNING=
2014-01-13 13:54:30
2797
原创 [shell-基础] 比较与测试
1 if条件 if condition; then commands; fi 2 else if 和else: if condition; then commands; elif condition; then commands else commands fi if的条件判断部分可能会变得很长,但是可以用逻辑运算符将它变得简洁一些: [ conditon ]
2014-01-07 01:04:35
307
原创 [shell-基础] 字段分隔符和迭代器
内部字段分隔符(Internal Field Separator,IFS) 在处理文本数据非常有用 IFS是存储界定符的环境变量,他是当前shell环境使用的默认的定界字符串 1考虑CSV数据的情况 data="name,sex,rollno,location" 可以使用IFS读取变量中的每一个条目 oldIFS=$IFS IFS=, #现在界定符是”,” for item in
2014-01-07 01:03:30
481
原创 [shell-基础] 以不回车的方式读取字符“n”
在游戏中按“+”向上,按“-”向下,如果每次都需要回车确定效率太低。 read 提供一种不需要回车就能搞定的方法 1从输入读取n个字符保存到变量 $ read -n 2 var $ echo $var 2不回显方式读取密码 read -s var 3显示提示信息 read -p "Enter input:" var 4特定时限内读取输入 read -t timeout var
2014-01-07 01:02:25
603
原创 [shell-基础] 读取命令序列输出
1.子shell cmd_output=$(COMMANDS) cmd_output=$(ls | cat -n) echo $cmd_output 2.反引用 cmd_output=`ls | cat -n` echo $cmd_output 3利用子shell生成一个独立的进程 zishell本身就是独立的进程。可以使用()操作符来定义一个子shell; pwd; (cd
2014-01-07 01:01:23
526
原创 [shell-基础] 函数和参数
1定义函数 functio { stateme } 或者 fnam { stat } 2调用函数 只需要使用函数名就能调用函数 $ fname ; # executes function $fname arg1 arg2 ; # passing args 3函数的定义 fname() { echo $1, $2; #访问参数1,参数2 echo "$@"; #
2014-01-07 00:59:10
353
原创 [shell-基础] 调试脚本
1 使用选项 -x 启动跟踪调试脚本 bash -x script.sh 或 sh -x script.sh -x标识将打印脚本里执行的每一行命令以及当前状态 2 使用选项 set built-in 启动跟踪调试脚本 set -x: 执行时显示参数和命令 set +x: 禁止调试 set –v: 当前命令读取时显示输入 set +v: 禁止打印输入 #!/bin/bash
2014-01-07 00:57:53
292
原创 [shell-基础] 获取终端信息
While writing command-line shell scripts, we will often need to heavily manipulate information about the current terminal, such as number of columns, rows, cursor positions, masked password fields, an
2014-01-07 00:56:40
469
原创 [shell-基础] 使用别名
别名就是一种快捷方式,省去输入一长串命令序列 别名可以有多种方式实现,可以使用函数,也可以使用alias命令 1.创建一个别名 $ alias new_command='command sequence' 为安装命令apt-get install创建别名: $ alias install='sudo apt-get install' alias命令的作用是暂时的,一旦终端关闭,设置的别
2014-01-04 19:10:32
326
原创 [shell-基础] 数组和关联数组
数组是shell脚本非常重要的组成部分,它借助索引将多个独立的数据存储为一个集合 Bash同时支持普通数组和关联数组, 普通数组只能使用整数作为数组索引,关联数组可以使用字符串作为数组索引. 1.定义数组 array_var=(1 2 3 4 5 6) #存储在以0为起始索引的连续位置上 2.索引-值定义 array_var[0]="test1" array_var[1]="test
2014-01-04 18:49:59
307
原创 [shell-基础] 文件描述符与重定向
文件描述符与重定向 0 – stdin(standard input) 1 – stdout(standard output) 2 – stderr(standard error) 1.输出文本 截取 重定向到文本 echo "This is a sample text 1" > temp.txt 2.输出文本 追加 重定向到文本 echo "This is sample te
2014-01-03 16:06:07
332
原创 [shell-基础] 环境变量
脚本语言变量不需要声明,可以直接赋值使用 Bash中每个变量的值都是字符串 特殊的变量会被shell环境和操作系统环境用来存储一些特殊的值,这类变量被视为环境变量 1.查看终端进程相关的环境变量 evn 2.查看进程运行时的环境变量 cat /proc/$PID/environ 3.获取程序进程ID pgrep grogramname 上述命令返回环境变量值得列表,每个变
2014-01-03 00:15:46
342
原创 [linux 基础] UNIX简史
UNIX的诞生 1965 年 麻省理工学院 通用电气公司 贝尔实验室(后来加入) 开发Mulitcs操作系统 大访问团体,同时访问,计算,存储 1969 年 研究组认为需要更长时间 贝尔实验室先退出 Multics随之终止 贝
2014-01-02 23:28:06
393
原创 [shell-基础] 终端打印
echo 1, 双引号(method.1) $ echo "Welcome to Bash" Welcome to Bash 2,不带双引号(method.2) $ echo Welcome to Bash Welcome to Bash 3,单引号(method.3) $ echo 'text in quote' 4,打印 ! 不能直接用在method.1,可以在method
2014-01-01 14:07:28
366
linuxC常用函数
2013-06-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人