Shell 常用命令

Shell 常用命令

这篇博客记录了一些 Shell 常用命令 供未来查阅。

添加ll

为了简化 “ls -l”,可以在~/.bash_profile中加入:

1

2

alias ll=‘ls -l‘

获得参数

$0是命令本身
$1是第一个参数

$

$可以认为是 获取内容 。

内置变量

bash有很多内置变量,我们可以使用$获取到它们,例如:

1

2

3

4

5

$PWD

$HOME

$PATH

$(pwd)

读取配置

配置数据可以像下面一样:

1

2

3

4

Fansy:UtilTools fansy$ cat .meta

Installed=False

Version=1.0

写在一个文件中。当读取它的内容时,可以加入如下代码:

1

2

3

4

5

6

configPath=.meta;

source $configPath;

echo $Installed;

echo $Version;

更改配置

使用sed来替换配置文件中的内容,在上面的例子中,我可以更改配置文件中的值为True :

1

2

sed -i $configPath ‘s/^Installed.*/Installed=True/g‘ $configPath

‘s/aaa/bbb/g‘ file.txt 是将aaa替换为bbb,这里使用正则表达式,匹配以 “Installed” 开始的行。

-i 意味着 替换源文件,否则只在内存中做替换,无法保存。

写入文件 重定向

1

2

3

4

> 输出重定向

>> 追加到输出重定向

< 输入重定向

<< 追加到输入重定向

因此在文件末尾添加内容可以使用:

1

echo "something" >> file.txt

#!/bin/bash

它叫做 shebang, 它告诉shell执行时的程序类型,例如:

1

2

3

4

5

6

7

#!/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.

1

2

3

4

5

ln -s $fullpath $linkpath;

if [ $? -eq 0 ]; then

echo "link success";

fi

字符串比较

= 两字符串相等
!= 两字符串不等
-z 空串 [zero]
-n 非空串 [nozero]

1

2

3

4

[ -z "$EDITOR" ]

[ "$EDITOR" = "vi" ]

[ "$1"x = ""x ] #for empty parameter

数字比较

1

2

3

4

5

6

7

8

9

-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

1

2

3

4

5

6

7

8

9

10

if condition1

then

//do thing a

elif condition2

then

//do thing b

else

//do thing c

fi

or

1

2

3

4

if condition; then

# do something

fi

函数

定义:

1

2

3

4

5

6

7

8

function func_name() {

}

func_name() {

//do some thing

}

传递参数:

1

2

3

4

5

6

7

8

9

function copyfile() {

cp $1 $2

return $?

}

copyfile /tmp/a /tmp/b

or

result=`copyfile /tmp/a /tmp/b`

搜索匹配

判断文件中是否含有某个字符串:

1

2

3

4

5

6

if grep -q "$Text" $file; then

echo "Text found";

else

echo "No Text";

fi

字符串处理

使用 ${expression}

1

2

3

4

5

${parameter:-word}

${parameter:=word}

${parameter:?word}

${parameter:+word}

上面4种可以用来进行缺省值的替换。

1

2

${#parameter}

上面这种可以获得字符串的长度。

1

2

3

4

5

${parameter%word} 最小限度从后面截取word

${parameter%%word} 最大限度从后面截取word

${parameter#word} 最小限度从前面截取word

${parameter##word} 最大限度从前面截取word

详细使用可以参考这个

ln 软连接

使用软连接可以直接执行一个程序。命令为:

1

2

ln -s source_file target_file

其中 source_file 要写绝对路径。

本文出自: [ 松阳的博客 ]/[ blog.csdn.net/fansongy ] 禁止用于商业用途 转载请注明出处
原文链接: http://www.songyang.net/shell-command/

时间: 2024-12-26 12:14:23

Shell 常用命令的相关文章

adb shell常用命令

adb shell常用命令: 按下OK键   device.press('KEYCODE_DPAD_CENTER','DOWN_AND_UP') 长按某个按键:  device.drag((236,440),(236,440),2,10) 相应的按键对应的名称如下: home键:KEYCODE_HOME back键:KEYCODE_BACK send键:KEYCODE_CALL End键:   KEYCODE_ENDCALL 上导航键:KEYCODE_DPAD_UP 下导航键:KEYCODE_D

hbase shell常用命令

hive常用命令 show tables; 列出hive里面所有数据表名 desc userProfile; 显示数据表userProfile的基本表字段及字段type desc extended trackinfo; 显示数据表trackinfo的详细信息,包括字段说明,数据表等 /usr/local/cloud/hive/bin/hive 进入hive数据库 select attribute_name from pms_attribute where attribute_id=21000 a

Shell 常用命令总结

Shell常用命令总结 1  ls命令:列出文件 ls -la 列出当前目录下的所有文件和文件夹 ls a* 列出当前目录下所有以a字母开头的文件 ls -l *.txt 列出当前目录下所有后缀名为txt的文件 2  cp命令:复制  cp a.txt b.txt : 把文件a的内容复制到b文件 cp a.txt ./test : 把文件a复制到text目录下 cp -a test test2:递归的把目录test下所有文件(包括隐藏的文件)复制到新的目录 test2 3  cat命令:查看 组

ANT编译打包&WIFI调试& adb shell常用命令

ANT编译打包 1:用ADT工具自带的打包:    1:切换到项目目录: 运行,android update project -p . android update project -p ./ --library ../com.example.plugin1.ifs 2:刷新:多了两个目录, 3:local.properties配置: sdk.dir=E:\\samy\\adt-huixin_x86-20140321\\sdk  key.store=./keystore/**** key.sto

Linux——note shell常用命令 cut 、sort、unqi、tee、tr、split和shell中连接符&& ||

1.cut 常用作将一个文件分段 cut -d'分隔符' [-cf] n -d 后面指定分隔符,用单引号引起来. -f 指定第几段 -c 后面只有一个数字表示截取第几个字符,后面跟一个数字区域,表示截取从几到几. [[email protected] ~]# cut -d: -f 3 /etc/passwd [[email protected] ~]# cut -d: -f 3,4 /etc/passwd [[email protected] ~]# cut -c 10 /etc/passwd

SHELL常用命令总结

http://blog.chinaunix.net/uid-25311424-id-2956521.html 一.mkdir命令 1.用途:创建目录 2.参数: (1).-p :如果路径中的某些目录不存在,则会自动创建目录,默认的mode由执行环境中的umask决定,即mode = 0777 - umask;无参数则路径中的目录不存在则将无法创建 (2).-m : 指定目录的权限; 3.例子: 示例一 [[email protected] ~]# umask 0022 [[email prote

Linux Shell常用命令总结

1.   find       find pathname -options [-print -exec -ok]       让我们来看看该命令的参数:       pathname find命令所查找的目录路径.例如用.来表示当前目录,用/来表示系统根目录.       -print find命令将匹配的文件输出到标准输出.       -exec find命令对匹配的文件执行该参数所给出的shell命令.相应命令的形式为'command' {} \;,注意{}和\:之间的空格,同时两个{}

hbase shell 常用命令

hbase shell 常用命令: 名称 ------- 命令表达式 创建表 ------- create '表名称', '列名称1','列名称2','列名称N' 添加记录 ------- put '表名称', '行名称', '列名称:', '值' 查看记录 ------- get '表名称', '行名称' 查看表中的记录总数 ------- count '表名称' 删除记录 ------- delete '表名' ,'行名称' , '列名称' 删除一张表 ------- 先要屏蔽该表,才能对该

Shell常用命令与vim编辑命令

原博地址:https://www.cnblogs.com/BaiYiShaoNian/p/4831022.html Shell常用命令总结: 1.ls命令:列出文件 ls -a 列出当前目录下的所有文件和文件夹 ls a* 列出当前目录下所有以a字母开头的文件 ls -l *.txt 列出当前目录下所有后缀名为txt的文件 2.cp命令:复制 cp a.txt b.txt 把文件a的内容复制到b文件 cp a.txt ./test 把文件a复制到test目录下 cp -a test test2