标签:linux shell shell 命令 常用shell命令
Shell 常用命令
这篇博客记录了一些 Shell 常用命令 供未来查阅。
添加ll
为了简化 “ls -l”,可以在~/.bash_profile
中加入:
获得参数
$0
是命令本身
$1
是第一个参数
$
$可以认为是 获取内容 。
内置变量
bash有很多内置变量,我们可以使用$
获取到它们,例如:
读取配置
配置数据可以像下面一样:
| Fansy:UtilTools fansy$ cat .meta Installed=False Version=1.0 |
写在一个文件中。当读取它的内容时,可以加入如下代码:
|
configPath=.meta;
source
$configPath;
echo
$Installed;
echo
$Version;
|
更改配置
使用sed
来替换配置文件中的内容,在上面的例子中,我可以更改配置文件中的值为True :
| sed -i $configPath ‘s/^Installed.*/Installed=True/g‘ $configPath |
‘s/aaa/bbb/g‘ file.txt
是将aaa替换为bbb,这里使用正则表达式,匹配以 “Installed” 开始的行。
-i 意味着 替换源文件,否则只在内存中做替换,无法保存。
写入文件 重定向
|
>
输出重定向
>>
追加到输出重定向
<
输入重定向
<<
追加到输入重定向
|
因此在文件末尾添加内容可以使用:
| echo "something" >> file.txt |
#!/bin/bash
它叫做 shebang, 它告诉shell执行时的程序类型,例如:
|
#!/bin/sh — Execute the file using sh, the Bourne shell, or a compatible
shell
#!/bin/csh — Execute the file using csh, the C shell, or a compatible
shell
#!/usr/bin/perl -T — Execute using Perl with the option for taint checks
#!/usr/bin/php — Execute the file using the PHP command line interpreter
#!/usr/bin/python -O — Execute using Python with optimizations to code
#!/usr/bin/ruby — Execute using Ruby
|
echo
使用-e
可以格式化输出字符串。
条件测试
[ condition ]
可以测试一个表达式。$?
可以获取判断结果,0表示condition=true.
| ln -s $fullpath $linkpath; if [ $? -eq 0 ]; then echo "link success"; fi |
字符串比较
= 两字符串相等
!= 两字符串不等
-z 空串 [zero]
-n 非空串 [nozero]
|
[
-z
"$EDITOR"
]
[
"$EDITOR"
=
"vi"
]
[
"$1"x
=
""x
]
#for empty parameter
|
数字比较
| -eq 数值相等(equal) -ne 不等(not equal) -gt A>B(greater than) -lt A<B(less than) -le A<=B(less、equal) -ge A>=B(greater、equal) N=130 [ "$N" -eq 130 ] |
if-else
|
if
condition1
then
//do
thing a
elif
condition2
then
//do
thing b
else
//do
thing c
fi
|
or
| if condition; then # do something fi |
函数
定义:
|
function
func_name()
{
}
func_name()
{
//do
some thing
}
|
传递参数:
| function copyfile() { cp $1 $2 return $? } copyfile /tmp/a /tmp/b or result=`copyfile /tmp/a /tmp/b` |
搜索匹配
判断文件中是否含有某个字符串:
|
if
grep
-q
"$Text"
$file;
then
echo
"Text found";
else
echo
"No Text";
fi
|
字符串处理
使用 ${expression}
| ${parameter:-word} ${parameter:=word} ${parameter:?word} ${parameter:+word} |
上面4种可以用来进行缺省值的替换。
上面这种可以获得字符串的长度。
| ${parameter%word} 最小限度从后面截取word ${parameter%%word} 最大限度从后面截取word ${parameter#word} 最小限度从前面截取word ${parameter##word} 最大限度从前面截取word |
详细使用可以参考这个
ln 软连接
使用软连接可以直接执行一个程序。命令为:
|
ln
-s
source_file
target_file
|
其中 source_file 要写绝对路径。
常用shell命令总结
标签:linux shell shell 命令 常用shell命令
原文地址:http://blog.csdn.net/tham_/article/details/42638623