关键词:
又是老文章的搬移。
最近在工作之余常用的是Bash shell,其它shell以前也写过,还是觉得BASH好用,下文只说明Bash Shell的常用命令,内容参考以前一位大神的文章,自己做了增删改,写在这里备用。在这里推荐使用的编程工具是:
- Sublime Text 2
1.开头
#!/bin/bash
#!/usr/bin/expect //这里是用expect写脚本时的开头,这里备用
2.常用系统变量
Key | Value |
---|---|
$# | 保存程序命令行参数的数目 |
$? | 保存前一个命令的返回码 |
$0 | 保存当前执行脚本的程序名 |
$* 和 $@ | 都是以("$1 $2…")的形式保存所有输入的命令行参数 |
$$ | 脚本执行进程号 |
3.定义变量
abc=9 或 abc=“name”
注意:
- bash不能在等号两侧留下空格
- 由于shell程序的变量是无类型的,所以用户可以使用同一个变量存放字符或存放整数.
4.引用变量
$abc
- 建议用 $abc
5.位置变量
$1...$2...$3...$4...
- 脚本和函数传入的位置参数值
- 当运行一个支持多个命令行参数的shell程序时,这些变量的值将分别存放在位置变量里. 其中第一个参数存放在位置变量1,第二个参数存放在位置变量2,依次类推…,shell保留这些变量,不允许用户以另外的方式定义他们.
6.shell中引号的使用方法
- “” 或 ‘’ : 赋值使用,或特殊命令格式要求
- `` : contents=`ls` 等同于用$(),contents=$(ls)
7.shell程序中的test命令
- test expression 或 test[expression]:在bash中,命令test用于计算一个条件表达式的值.他们经常在条件语句和循环语句中被用来判断某些条件是否满足.
8.字符串操作符(用于计算字符串表达式)
Key | Value |
---|---|
$str1 = $str2 | 当str1与str2相同时,返回True |
$str1 != $str2 | 当str1与str2不同时,返回True |
$str | 当str不是空字符时,返回True |
-n $str | 当str的长度大于0时,返回True |
-z str | 当str的长度是0时,返回True |
9.整数操作符(只是他们的操作是针对整数)
Key | Value |
---|---|
int1 -eq int2 | 等于;当int1等于int2时,返回True |
int1 -ge int2 | 大于等于;当int1大于/等于int2时,返回True |
int1 -le int2 | 小于等于;当int1小于/等于int2时,返回True |
int1 -gt int2 | 大于;当int1大于int2时,返回True |
int1 -lt int2 | 小于;当int1小于int2时,返回True |
int1 -ne int2 | 不等于;当int1不等于int2时,返回True |
10.文件操作符(他们能检查:文件是否存在,文件类型等)
Key | Value |
---|---|
-d file | 当file是一个目录时,返回 True |
-f file | 当file是一个普通文件时,返回 True |
-r file | 当file是一个可读文件时,返回 True |
-s file | 当file文件长度大于0时,返回 True |
-w file | 当file是一个可写文件时,返回 True |
-x file | 当file是一个可执行文件时,返回 True |
11.shell的逻辑操作符(用于修饰/连接包含整数,字符串,文件操作符的表达式 )
Key | Value |
---|---|
! expr | 当expr的值是False时,返回True |
expr1 -a expr2 | 当expr1,expr2值同为True时,返回True |
expr1 -o expr2 | 当expr1,expr2的值至少有一个为True时,返回True |
现在新的bash中,也可以用C里的判断符号了,如下:
Key | Value |
---|---|
Exp1 || exp2 | 当exp1和exp2的值至少一个为True时,返回True |
Exp1 && exp2 | 当exp1和exp2的值同为True时,返回True |
Int1 <= int2 | 当int1小于/等于int2时,返回True |
Int1 >= int2 | 当int1大于/等于int2时,返回True |
Int1 < int2 | 当int1小于int2时,返回True |
Int1 > int2 | 当int1大于int2时,返回True |
Str1 == str2 | 当str1与str2相同时,返回True |
Str1 != str2 | 当str1与str2不同时,返回True |
-e file | 当file存在时,返回True |
-o file | 当file文件的所有者是当前用户时,返回True |
12.条件语句
语句 | 语法格式 |
---|---|
if 语句 | if [[ condition ]]; then #statements else #statements fi 或者 if [[ condition ]]; then #statements elif [[ condition ]]; then #statements else #statements fi |
case语句 | case word in pattern ) ;; esac |
13.循环语句
语句 | 语法格式 |
---|---|
for语句 | 第一种:类似C语言 for (( i = 0; i < 10; i++ )); do #statements done 第二种:用于读取字符串很有用 for i in words; do #statements done |
while语句 | while语句是shell提供的另一种循环语句. while语句指定一个表达式和一组命令. 这个语句使得shell重复执行一组命令,直到表达式的值为False为止. while [[ condition ]]; do #statements done |
until语句 | until与while语句具有类似的语法格式和功能, 不同的是while中expression的值为True时, shell执行命令组; 而until中当expression的值为False时,shell才执行那组命令. until [[ condition ]]; do #statements done |
shift语句 | shift将存放在位置变量中的命令行参数,依次向左传递. 例如,位置变量当前值为: $1=file1 $2=file2 $3=file3 执行一次shift命令后,位置变量的值为: $1=file2 $2=file3 还可以在shift命令中指定位置变量转移的次数, 如: shift n |
select语句 | select 表达式是一种bash的扩展应用,动作包括: (1)、自动用1,2,3,4列出菜单 (没有echo指令,自动显示菜单) (2)、自动read输入选择 (没有 read指令,自动输入) (3)、赋值给变量 (没有赋值指令,自动输入数字后,赋值字符串给变量) |
14.shell函数
shell允许用户定义自己的函数.函数是高级语言中的重要结构.shell中的函数于C或者其他语言中定义的函数一样.与从头开始,一行一行地写程序相比,使用函数主要好处是有利于组织整个程序.在bash中,一个函数的语法格式如下:
fname ()
shell comands
复制代码定义好函数后,需要在程序中调用他们.bash中调用函数的格式:
fname [parm1 parm2 parm3...]
调用函数时,可以向函数传递任意多个参数.函数将这些参数看做是存放他的命令行参数的位置变量.
参考资料
git常用命令速查表(代码片段)
文章目录Git常用命令速查创建版本库修改和提交查看历史提交取消分支与标签合并与衍合远程操作Git常用命令速查创建版本库$gitclone<url>#克隆远程版本$gitinit#初始化本地版本库$gitconfig--globaluser.name用户名#设置用户名$gitconfig-... 查看详情
最全的git常用命令速查-2021版(代码片段)
现在做项目Git代码管理是一定少不了的。多年以前可能是SVN,我想如今的公司里面基本都转型到用Git了吧。虽然如今已有很多可视化的Git工具,但是很多时候我们还是需要用到命令直接操作。所以我就把Git的相关命令汇集了起来... 查看详情
git常用命令速查手册(代码片段)
来源:https://www.jianshu.com/p/5ee9897b6b65 1、初始化仓库gitinit 2、将文件添加到仓库gitadd文件名#将工作区的某个文件添加到暂存区gitadd-u#添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件gitadd-A#... 查看详情
git操作手册|命令速查表
...绍Git分布式版本管理与集中式管理的一些差异,总结下Git常用命令作为日后的速查表,最后介绍Git进阶的一些案例。本文分为以下几个部分:Git与SVN差异Git常用命令Git进阶指南Git与SVN差异Git的第一个版本是Linux之父LinusTorvalds亲手... 查看详情
redteam常用命令速查
command收集渗透中会用到的常用命令。commandnmap存活主机bypassgobusterdirsearchnbtscan代理工具sshgrepmysqlsqlmaphydramedusapython交互shell无交互添加用户windows防火墙frp常用配置 查看详情
git常用命令速查表(代码片段)
文章目录Git常用命令速查创建版本库修改和提交查看历史提交取消分支与标签合并与衍合远程操作Git常用命令速查创建版本库$gitclone<url>#克隆远程版本$gitinit#初始化本地版本库$gitconfig--globaluser.name用户名#设置用户名$gitconfig-... 查看详情
linux操作命令分类详解-命令速查(代码片段)
目录系列文章1、前言1.1Linux常用快捷键和基本命令思维导图1.2命令提示符2、Linux快捷键2.1常用快捷键2.2快捷键分类介绍3、命令速查3.1文件和目录3.2查看文件内容3.3文本处理3.4查找3.5压缩和解压3.6yum工具3.7网络3.8其他4、关机、重... 查看详情
git常用命令速查
一、Git常用命令速查gitbranch查看本地所有分支gitstatus查看当前状态 gitcommit提交 gitbranch-a查看所有的分支gitbranch-r查看远程所有分支gitcommit-am"init"提交并且加注释 gitremoteaddorigin[email protected]:ndshowgitpushoriginmaster 查看详情
git常用命令速查表,新手必备版本控制
Git跟SVN一样,都是用于管理代码的版本控制工具。无论在项目中,我们负责哪一块,只要需要编写代码,就必须熟悉Git(依公司要求而定)。当然,用的越熟练,处理的项目越顺利,离出任CTO、迎娶白富美、走上人生巅峰就不远... 查看详情
常用命令速查表
...、模块(module)、依赖(dependency)说的都是一回事儿。常用命令npminit初始化项目,其实就是创建一个package.json文件。npminstall安装所有项目依赖。npmhelpxxx查看xxx命令的帮助信息。npmsearch搜索(快捷方式:find,s)xxx搜索xxx如:npmse... 查看详情
linuxbashshell脚本常用的选择功能
一、选择语句casein选择语句功能常用的有if-else,casein。 case$targetin uboot) cleanUboot ;; kernel) cleanKernel ;; libs) buildLibsclean ... 查看详情
git常用命令速查表(图文+表格)
一、Git常用命令速查gitbranch查看本地所有分支gitstatus查看当前状态 gitcommit提交 gitbranch-a查看所有的分支gitbranch-r查看远程所有分支gitcommit-am"init"提交并且加注释 gitremoteaddorigin[email protected]:ndshowgitpushoriginmaster 查看详情
git常用命令速查表(图文+表格)
一、Git常用命令速查gitbranch查看本地所有分支gitstatus查看当前状态 gitcommit提交 gitbranch-a查看所有的分支gitbranch-r查看远程所有分支gitcommit-am"init"提交并且加注释 gitremoteaddorigingit@192.168.1.119:ndshowgitpushoriginmaste 查看详情
git常用命令速查表(代码片段)
Git常用命令速查表创建版本库$gitclone#克隆远程版本库$gitinit#初始化本地版本库修改和提交$gitstatus#查看状态$gitdiff#查看变更内容$gitadd.#跟踪所有改动过的文件$gitadd#跟踪指定的文件$gitmv#文件改名$gitrm#删除文件$gitrm--cached#停止跟... 查看详情
git之深入解析常用命令速查大全与reset模式分析(代码片段)
一、Git工作流程四个区:Workspace:工作区Index/Stage:暂存区(和gitstash命令暂存的地方不一样)Repository:仓库区(或本地仓库)Remote:远程仓库五种状态:未修改Origin已修改Modified已暂存Staged... 查看详情
git常用命令速查表
p{margin-bottom:0.25cm;direction:ltr;line-height:120%;text-align:justify}a:link{color:rgb(0,0,255)}1、常用的Git命令命令简要说明gitadd添加至暂存区gitadd–interactive交互式添加gitapply应用补丁gitam应用邮件格式补丁gitannotate同义词,等同于gitblam 查看详情
git常用命令速查
创建$gitinit #在当前目录下创建一个空的本地仓库$rm-rf .git #删除本地仓库$gitadd. #把当前目录下的所有文件添加到暂存区$gitcommit -m‘projectinit‘ #创建提交$gitclone<url> #克隆远程版本库修改提交$gitstatus... 查看详情
超级级牛的git常用命令清单大全,速查表
...统,用于敏捷高效地处理任何或小或大的项目。Git与常用的版本控制工具CVS,Subversion等不同,它采用了分布式版本库的方式,不必服务 查看详情