Lnixu Bash

一.简单命令

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}

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/lchd/p/3470948.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值