随笔分类 - bash
关于shell编程的一切知识
摘要:.bashrc 配置命令别名 # git alias # alias gs='git status' # alias gss='git stash' alias gsl='git stash list' alias gsa='git stash apply' alias gsp='git stash
阅读全文
摘要:$ type cd 【显示cd命令的实现】 // cd is a shell buit in $ type -a pwd 【显示pwd命令的所有实现】 // pwd is a shell built in // pwd is /bin/pwd
阅读全文
摘要:1. 查看命令历史及写入文件 $ history 最近用过的命令列表 $ history -a 将命令历史记录写入.bash_history 文件 2. 执行命令历史中的命令 $ !! 执行上一次执行过的命令 $ !2 执行历史命令编号为2的命令
阅读全文
摘要:执行一个命令使其在后台运行的方式有两种: 1. 在bash 命令后加 & tar -zcvf dist.tgz dist & (tar -zcvf dist.tgz dist; cp dist.tgz ../) & 2. 利用 coproc 命令, 此命令会产生一个新的shell进程来执行命令 co
阅读全文
摘要:fold 格式化行 使用: 1. fold -w 40 file 格式化行的宽度 2. fold -s -w 40 格式化行的宽度并不分隔单词 fmt 格式化段落 使用: 1. fmt -w 50 file 格式化段落设置行宽为50 2. fmt -u -w 50 file 格式化段落,减少空格,单
阅读全文
摘要:expand 将制表符转为空格 使用: 1. expand file > file-expanded 将制表符转为空格 2. expand -t 4 file > file-expanded 设置制表位为4个字符,并转为空格 3. expand -i file > file-expanded 只转换
阅读全文
摘要:wc 统计文件行、单词、字符数量 使用: 1. wc file 统计文件行数,单词数,字符数 2. wc file1 file2 file3 统计 file1 file2 file3 的行数,单词,字符数 以及总数 3. wc -l file 仅仅统计行数 4. wc -w file 仅仅统计单词数
阅读全文
摘要:nl 创建行号 使用: 1. nl file 创建行号,默认从1开始 2. nl -v 100 file 设置起始行行为100 3. nl -i 2 file 设置增量为2 4. nl -b a file 强制为包括空行的所有行进行编号 5. nl -n ln file 设置行号左对齐没有前导0 6
阅读全文
摘要:diff 比较无序文本文件 使用: 1. diff old new 默认格式输出,输出信息为如何将第一个文件进行改变后变为与第二个文件相同 字符: c, a, d 分别代表 change, append, delete 字符: < 代表第一个文件的行, > 代表第二个文件的行 情况一:改变文件内容
阅读全文
摘要:paste 组合数据列 使用 1. paste file1 file2 file3 > file 将文件1,2,3按列组合在一起为新的文件,默认间隔字符为8个空格 2. paste -d ' ' file1 file2 file3 > file 将文件1,2,3 按列组合在一起,设置间隔字符为一个空
阅读全文
摘要:cut 抽取数据列和字段 抽取数据列: 1. cut -c 1,3,5 file 抽取数据的第1,3,5 列 2. cut -c 1-5 file 抽取数据1-5列 3. cut -c 1,3-5 file 抽取数据第一列以及3-5列 4. cut -c 3-5 file > new 抽取数据3-
阅读全文
摘要:comm 比较两个有序的文本文件 使用: 1. comm file1 file2 比较两个有序的文本文件 结果以3列显示输出: 第一列包含只在第一个文件中有的行 第二列包含只在第二个文件中有的行 第三列包含两个文件中都有的行 选项: -1 抑制第一列显示 -2 抑制第二列显示 -3 抑制第三列显示
阅读全文
摘要:cmp 比较两个文件是否相同 使用: cmp file1 file2 1. cmp 程序逐字节地比较两个文件,查看两个文件是否相同。 2. 如果两个文件相同则没有任何消息,如果不同则显示一条消息。 3. cmp 程序可以比较二进制文件或者文本文件。
阅读全文
摘要:colrm 删除数据列 使用: 1. colrm 10 20 < file 删除第10列到第20列 2. colrm 10 < file 删除第10列以后的全部内容 3. colrm 5 8 < file > new 删除第5列到第8列后保存到new 4. colrm 5 8 < file | le
阅读全文
摘要:rev 反转字符顺序 使用: 1. rev data 反转文件每行字符顺序 2. rev data | tac 先反转文件每行的字符顺序再将行顺序反转
阅读全文
摘要:tac 反转文本行的顺序 使用: 1. tac log > reverse-log 反转log文件行的顺序输出到 reverse-log 2. tac log | less 反转log文件并利用less进行显示 3. tac log1 log2 log3 | less 将3个文件分别反转后再进行合并
阅读全文
摘要:Split 分割一个大文件为多个小文件 使用: 1. split file 默认将文件以每5000行进行分割, 生成的文件名为xaa xab xac xad .... 2. split -l 100 file 设置文件以每 100 行进行分割,后缀默认为两个字符,前缀默认为x,生成的文件名为xaa
阅读全文
摘要:tr 对字符进行转换 使用: 1. tr a A < old 将old文件中所有小写a替换为大写A 2. tr a A < old > new 将old文件中所有小写a替换为大写A并保存到new文件中 3. tr abc ABC < old > new 按照字符映射进行替换 a => A , b =
阅读全文
摘要:cat 合并多个文件 使用: 1. cat > file 从键盘读取数据,创建新文件或者替换已有文件 3. cat >> file 从键盘读取数据,将数据追加到已有文件中 4. cat < file 显示一个已有文件 5. cat file 显示一个已有文件 6. cat < file1 > fil
阅读全文