一.简单命令

1.创建文件(vi)
vi hellowold.txt
2.创建目录(mkdir)
mkdir linux_bash
3.删除文件(rm)
rm helloworld.txt
4.复制文件(cp)
cp src des
5.移动文件或重命名(mv)
mv oldname newname
6.脚本中打印(echo)
echo "some print str"
7.文件中搜索字符串(grep)
grep 'searchworld' filename
8.指定输出文件中字符长度(cut)
cut -b 5-9 filename
9.输出文件内容到屏幕上(cat)
cat filename
10.得到文件类型(file)
file fimename
11提示用户输入。并将输入赋值给变量(read)
read var
12.对文件中的行进行排序(sort)
sort filename
13.删除文本文件中出现的行列(uniq)
sort filename | uniq
14.进行数学运算(expr)
add 2 and 3 expr
15 搜索文件(find)
find . -name filename -print
16 将数据输出到屏幕或文件中(teee)
somecommand | tee outfile
17 回返不包含路径的文件名(basename)
basename /bin/filename 返回filename
18 返回文件所在路径(dirname)
dirname /bin/filename 返回bin
19 打印文件开头几行或者末尾几行
head filename
tail filename
20 查找替换 可以从标准输入(如命令管道)读入文本,并将结果输出到屏幕
sed 's/linuxfocus/LinuxFocus'(待定)
21 从文本文件中提取字段awk
cat filename | awk -F,'{print $1 "," $3}' 使用","作为字段分割符,同时打印第一个和第三个字段
eg: srouce: Adam Bor,33,IndiaKerry Miller,22,USA
dest: Adam Bor,Indiakerry Miller,USA

23
管道 | 将一个命令的输出作为另一个命令的输入
eg: grep "hello" file.txt | wc -l
在file.txt从搜索包含有"hello"的行并计算其行数
重定向 >写入文件并覆盖旧文件
>>加入文件的尾部,保留旧文件内容
\ 将一个命令的输出作为另外一个命令的一个命令行参数

find . -mtime -1 -type f -print
用来查找过去24小时(-mtime -2则表示过去48小时)内修改过的文件,
tar -zcvf lastmod.tar.gz 'find . -mtime -1 -type f -print'
打包查找的文件

二:流程控制语法

1.流程控制if else
if [-f "somefile"] ;then
echo "somefile 是一个文件"
elif [-x "/bin/ls"] ;then
echo "/bin/ls有权限"
else
echo "if fi为固定格式"
fi

“if” 表达式,如果条件为真则执行then后面的部分
[-f "somefile"] 判断是否是一个文件
[-x "/bin/ls"] 判断/bin/ls是否存在并有可执行权限
[-n "$var"] 判断var变量是否有值
["$a"="$b"] 判断$a $b是否相等

2.流程控制 case 可以用来匹配一个给定的字符串而不是数字

ftype='file "$1"'
case "$ftype" in
"$1:Zip archve"*)
unzip "$1";
"$1: gzip compressed"*)
gunzip "$1";
"$1: bzip2 compressed"*)
bunzip2 "$1";
*) echo "File $1 can not be uncompressed with smartzip";
esac

3.流程控制 select表达式是一种bash的扩展应用,擅长于交互式使用,用户可以从一组不同的值中进行选择

echo "what is your favourite OS?"
select var in "Linux" "Gnu Hurd" "Free BSD" "Other";do
break
done
echo "You have selected $var"

如果你输入 1 ,输出 You have selected Linux

4 流程控制loop
4.1 while-loop 将运行直到表达式测试为真

while ...;do
...
done

4.2 for-loop 表达式查看一个字符串(字符串用空格分隔)然后将其赋给一个变量

for var in ....;do
.....
done

for var in A B C do
echo "var is $var"
done

3.简单脚本

#! /bin/sh

a="hellowold,boy!"
echo "A is"
echo ${a}

Lnixu Bash的更多相关文章

  1. scp报错 -bash: scp: command not found

    环境:RHEL6.5 使用scp命令报错: [root@oradb23 media]# scp /etc/hosts oradb24:/etc/ -bash: scp: command not fou ...

  2. bash字符串操作

    参考 http://www.cnblogs.com/chengmo/archive/2010/10/02/1841355.html 问题:bash怎么提取字符串的最后一位?例如python中strin ...

  3. grep 查找bash脚本中的注释代码

    出于安全性的考虑,不建议在bash脚本中注释掉不使用的代码.也就是说如果某段代码不使用了,那么应该删除掉,而不是简单地注释掉.假如你突然意识到这一点,而以前并没有遵从这个原则,现在需要找出脚本中的注释 ...

  4. Bash 脚本编程语言中的美学与哲学

    我承认,我再一次地当了标题党.但是不可否认,这一定是一篇精华随笔.在这一篇中,我将探讨 Bash 脚本语言中的美学与哲学. 这不是一篇 Bash 脚本编程的教程,但是却能让人更加深入地了解 Bash ...

  5. cmder git bash 使用

    cmder 是一款 windows 下的命令集合软件,它可以集合各种系统下的命令,并且操作非常快速方便. 安装有两个版本,一个是简化版(4.27M),一个是完全版(75.7M),它们的唯一区别:完全版 ...

  6. 安装完成后在命令行运行bash时报错0x80070057

    在命令运行bash 提示如下: 解决方法,不启用旧版本控制台: 右键命令提示栏 打开属性,把勾选去掉如下图红色边框标识: 然后重启,就可以使用,也包括可以打开Bash on Unbuntu on Wi ...

  7. Bash简明教程--变量

    1. 前言 Bash是一门流行在*nix系统下的脚本语言.作为一门脚本语言,变量是一门语言的基本要素,在这篇教程中,我们将学习Bash中的变量是怎么表示的,以及变量相关的一些语法规则. 2. Bash ...

  8. 让BASH,VIM美美的Powerline

    前言  鉴于BASH及其周边强大的工具以及VIM高效快捷,加上现在我工作重心转移到前端开发上,因此我华丽地转向Linux阵营(当然从最傻瓜式的Ubuntu开始啦!).但BASH和VIM默认样式确实颜值 ...

  9. 解决Bash On Ubuntu On Window安装Zsh无效问题附安装说明

    前言 Zsh是一款非常棒的Shell,使用Linux和Mac系统的人,基本上都知道zsh的存在. 问题 在安装完Zsh后,zsh是可以使用的,但是重启之后,又恢复至默认的bash. 我在安装好之后,使 ...

随机推荐

  1. 内存区--Java

    一.概述 对于 Java 程序员来说,在虚拟机自动内存管理机制下,不再需要像C/C++程序开发程序员这样为内一个 new 操作去写对应的 delete/free 操作,不容易出现内存泄漏和内存溢出问题 ...

  2. 【JavaEE-面试总结】(未完,待续···)

    目录: 一.Java基础 二.JavaEE基础 三.JavaEE进阶 四.数据库 五.数据结构&算法 六.高级(服务器) 一.Java基础 1.1 面向对象(封装.继承.多态) 访问权限修饰符 ...

  3. python 学习总结1

    计算机与程序设计 一.计算机的概念 1.计算机是根据指令操作数据的设备. 2.计算机主要包括两个功能性一个是功能性另一个是计算性 功能性是对数据的操作,表现为数据计算,输入输出处理和结果存储 可编程性 ...

  4. Android布局之相对布局——RelativeLayout

    此博文主要是相对布局xml属性的解析及实例. android:layout_above:此控件底部的边缘位于设定ID控件的上方 <Button android:id="@+id/btn ...

  5. BZOJ 2734 洛谷 3226 [HNOI2012]集合选数【状压DP】【思维题】

    [题解] 思维题,看了别人的博客才会写. 写出这样的矩阵: 1,3,9,... 2,6,18,... 4,12.36,... 8,24,72,... 我们要做的就是从矩阵中选出一些数字,但是不能选相邻 ...

  6. String字符串的遍历

    StringTest.java /* * 变量字符串(获取字符串中的每一个字符) */ public class StringTest { public static void main(String ...

  7. hadoop格式化出错,提示IO异常

    配置好hadoop之后,在进行格式化的时候出现异常,原因是由于在core-site.xml 配置文件中写的路径格式不对. 不需要加 file:/ 或者 file:// 直接写绝对路径就行. <c ...

  8. Jquery 1.6+ .prop()与.attr()方法比较

    http://www.cnblogs.com/lujiahong/articles/2289867.html 今天在用JQuery的时候发现一个问题用.attr("checked" ...

  9. POJ1159:Palindrome【dp】

    题目大意:给出一个字符串,问至少添加多少个字符才能使它成为回文串? 思路:很明显的方程是:dp[i][j]=min{dp[i+1][j],dp[i][j-1],dp[i+1][j-1](str[i]= ...

  10. [转]GitHub 优秀的 Android 开源项目

    GitHub 优秀的 Android 开源项目 主要介绍那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageV ...