Linux浅入浅出之常用几个命令和概念
来源:互联网 发布:淘宝兼职赚钱是真的吗 编辑:程序博客网 时间:2024/05/16 05:15
一、
echo "some text": 将文字内容打印在屏幕上
ls: 文件列表 -la 列出所有文件和文件夹 包括隐藏的
wc –l file wc -w file wc -c file: 计算文件行数计算文件中的单词数计算文件中的字符数
cp sourcefile destfile: 文件拷贝
mv oldname newname : 重命名文件或移动文件
rm file: 删除文件
grep 'pattern' file: 在文件内搜索字符串 -n显示行数 -i不区分大小写
chmod [+ | - | =] [mode] 文件名 改资源权限
file somefile: 得到文件类型
find: 搜索文件比如:根据文件名搜索find . -name filename -print
dirname file: 返回文件所在路径比如:dirname /bin/tux将返回 /bin
tar:压缩、解压 eg: 压:tar -zcvf test.tar.gz test.sh 解到指定目录:tar -xzvf test.tar.gz -C /home/end
mkdir 创建目录 -p 一次性创建多层目录
二、
1.管道 | 将一个命令的输出作为另一个命令的输入:grep "hello" file.txt | wc -l 在file.txt中搜索包含有”hello”的行并计算其行数。
2.重定向 > 或 >> 将命令的结果输出到文件而不是标准输出。>覆盖旧文件 >>加到文件尾
3.反短斜线(普通键盘数字1前面的键) 将一个命令的输出作为另一个命令的参数。
eg:tar -zcvf test.tar.gz `find -name test.sh -print`
三、流程控制
1.if
<span style="font-size:18px;"><pre name="code" class="plain"><span style="font-size:18px;">if....; then...elif....; then....else....fi</span></span>通常用[ ]表示条件,注意方括号中内容的前后要有空格。
[ -f "somefile" ] :判断是否是一个文件
[ -x "/bin/ls" ] :判断/bin/ls是否存在并有可执行权限
[ -n "$var" ] :判断$var变量是否有值
[ "$a" = "$b" ] :判断$a和$b是否相等
eg:
<span style="font-size:18px;"><span style="font-size:18px;">#!/bin/shif [ `ls -la | wc -l` == "4" ]; thenecho "yes 4"elsea=`ls -la | wc -l`echo "$a"fi</span></span>
2.case eg: $1 表示传进来的第一个参数 脚本名为test.sh 使用:test.sh ***.tar.gz
<span style="font-size:18px;">#!/bin/shtype=`file "$1"`case "$type" in"$1: gzip"*)tar -xzvf "$1" -C /home/end;;"$1: Zip "*)unzip "$1";;*) echo "file can not been unzip";;esac</span>
3.select 用户可以从一组值中选择一个 eg:
<span style="font-size:18px;"><span style="font-size:18px;">#!/bin/shecho "what is your favourite language?"select lan in "java" "c" "c++" "python" "Ruby";dobreakdoneecho "you selected $lan"</span></span>
4.loop
(1)while loop
<span style="font-size:18px;">#!/bin/sha=0while [ "$a" -lt 5 ]; doecho "a is $a";((a=a+1))done</span>-lt less than 小于
-gt great than 大于
-ge great equal 大于等于
-le less equal 小于等于
-eq equal 等于(2)for loop
eg:
<span style="font-size:18px;">#!/bin/shfor a in 1 2 3 4 5; doecho "current is $a";done</span>eg:
<span style="font-size:18px;">#!/bin/shfor a in $*; doecho "current is $a";done</span>$*表示传进来的所有参数
5.引号
bash程序在参数传递之前,会扩展通配符和变量。比如 * 或 $SHELL 等。引号可以阻止这种扩展,且单引号比双引号更为严格。
6. Here documents
将多行文字传递给命令,以<<开头,和面接一个字符串 然后是想要的文字 最后以相同的开始字符串结尾
eg:
<span style="font-size:18px;">#!/bin/shcat << !here!this is my sample bash programdo you want to learn it?we can work together!!here!</span>
7.引入其他脚本
在脚本中引入其他脚本的内容有两张方式:
(1)source other.sh (2). other.sh "."和后面的脚本之间必须有个空格
eg:
child.sh
#!/bin/shparam="this is child"test.sh
#!/bin/shparam="this is test"echo "$param". child.shecho "$param"执行test.sh的结果是:
this is test
this is child
- Linux浅入浅出之常用几个命令和概念
- linux 常用几个命令
- linux常用几个命令?
- LINUX 常用几个命令
- 常用的几个Linux命令
- 几个常用的linux命令
- 几个常用的linux命令
- 几个常用的linux命令
- 几个常用的linux命令
- linux常用的几个命令
- linux常用的几个命令
- linux/windows下几个常用简单命令
- Linux最常用的几个命令
- Linux下几个常用的键盘命令
- Linux常用的几个系统监控命令
- Linux服务器常用的几个管理命令
- linux常用的几个系统监控命令
- linux中常用的几个命令技巧
- 给总理留言
- 【C#基础】【语法01】课堂作业题 01-07
- http接口测试总结
- 近场Communicationthe最有效的方式交流信息与NFC功能的智能
- java oci 连接oracle抛java.lang.UnsatisfiedLinkError: ocijdbc11...
- Linux浅入浅出之常用几个命令和概念
- eclipse安装freemarker插件
- .net 支付宝接口
- List集合 remove
- 1.git学习分享--新建本地仓库提交到服务器
- 解锁的GSM手机的好处
- 23中设计模式
- 解锁的Facebook其实是很容易的
- struts2中对指定方法进行校验以及校验流程