shell基础命令记录.

为了方便自己随时查看练习做的记录

技巧记录:ctrl + r 可以搜索之前输入过的命令

1. 变量赋值

a=1
b="this is a string"
echo $a
echo $b

2. 变量引用

使用$符号,直接引用单个变量

echo $a 输出变量a的值

在字符串中插入变量的值(必须双引号)

echo "number is $a" 输出"number is 1",引用变量a的值
注意变量引用时可能出现的歧义
如想输出变量a的值加"_1",即"1_1"
echo "this is $a_1" 输出"this is ",此时shell会把$a_1中的a_1当成是变量名,没有定义的变量输出空

在字符串中插入$a(非引用变量a的值)(单引号)

echo ‘number is $a‘ 输出"number is $a",使用单引号会输出字符本身而不会把$a的值打印出来

3.预定义变量

$PWD 当前的home目录
$USER 当前用户名
$HOME 当前用户的home目录
$PATH 环境变量

4.反引号的作用

(``)反引号包括的内容会被当成命令执行

a=`ls`
echo $a   输出ls的内容(列出文件夹内文件)

5.ls的用法

ls -l 显示文件的详细信息
ls -al 列出包括隐藏文件的所有文件

6.查看程序安装路径

which python 输出python的安装路径

7.数组

定义数组

array=(1 2 3 4)

数组的引用

echo ${array[@]}  #返回数组全部元素,1234  --"${array[@]}"带双引号引用时还是返回一个数组
echo ${array[*]}  #返回数组全部元素,1234  --"${array[*]}"带双引号引用时会把数组转为字符串后返回如1 2 3 4
echo ${array[1]}  #返回数组第1个元素,2

数组长度

echo ${#array[@]} 输出5,"#"可以返回数组的长度

命令赋给数组

arr=(`ls`)
echo ${arr[@]}

因为括号()的存在,这种形式下,arr为一个数组,包含元素为ls命令的返回值

8.特殊符号

1.反斜杠():转义 echo -e "a\nb" -e表示开启转义模式,如输入时\n换行,\b表示删除前一个字符,\a表示发出一个警告音
2.$(()) :对变量进行操作
3.(()):整数扩展,里面的变量当作整数处理,a=1;b=3;echo $((a+b)) 输出4
4.({1..10}):等价于 seq1 10。返回1到10.
5.反引号(` `):表示命令的输出
6.$(ls):表示执行ls之后的结果
7.$? :返回前一句语句的逻辑判断结果,True or False

9.变量类型

1.字符串
2.数值
3.布尔值 :0为True,非0为False

10.数值运算

1.自增等 a++ a--

11.字符串操作

a="this is a string"
echo ${a:6}  # 输出is a string
echo ${a:6:7}   # 输出is a st"
echo ${a#this}   #输出"is a string"
echo "${a#this}"  #输出" is a string" (不去掉空格)
echo "${a#*s}"   #输出" is a string",\*为通配符
echo "${a##*s}"   # 输出"tring" ,从开头匹配最后一个s,并切片输出
echo "${a%string}"  #输出"this is a ",去尾,
echo "${a%%*s}"   # 输出"thi" ,从结尾开始匹配最后一个s,并切片输出
echo ${a/a/two}   #输出 "this is two string",替换字符串
echo ${a//i/q}  #输出"thqs qs a strqng",所有匹配到的字符串均会被替换

12.判断的类型

算术判断

1.[ 2 -eq 2 ] 相等
2.[ 2 -ne 3 ] 不等
3.[ 3 -gt 1 ] 大于
4.[ 3 -ge 3 ] 大于等于
5.[ 3 -lt 4 ] 小于
6.[ 3 -le 3 ] 小于等于
7.((3>20))

字符串比较

1.[ str1 = str2 ]
2.[ str2 != str1 ]
3.[ -n str1 ] 字符串不为空,返回True
4.[ -z str ] 字符串为空,返回True
5.[[ "xxx" == x* ]] 通配符*,0个以上任意字符
6.[[ xxx == x??] 通配符??,1个任意字符

逻辑判断

1.[ 2 -ge 1 -a 3 -ge 4 ];echo $? 与运算-a,
2.[ 2 -ge 1 && 3 -ge 4 ];echo $? 与运算&&
3.[ 2 -ge 1 -o 3 -ge 4 ];echo $? 或运算-o
4.[ 2 -ge 1 || 3 -ge 4 ];echo $? 或运算||
5.[ ! 2 -ge 1 ];echo $? 非!

内置判断

1.[ -e file ] 文件存在返回真
2.[ -d file ] 文件为子目录,返回真
3.[ -f file ] 文件为普通文件,返回真
4.[ -r file ] 文件可读,返回真
5.[ -s flie ] 文件长度不为0,返回真
6.[ -w file ] 文件可写,返回真
7.[ -x file ] 文件可执行,返回真

逻辑控制

1.if
if [ -e test ];then echo exit;else echo false;fi
2.case
3.for while until select
4.&& ||
5.break continue

原文地址:https://www.cnblogs.com/congyinew/p/11986342.html

时间: 2024-11-05 16:40:50

shell基础命令记录.的相关文章

shell历史命令记录功能

在Linux下可通过history命令查看用户所有的历史操作记录,同时shell命令操作记录默认保存在用户目录下的.bash-history文件中,通过这个文件可以查询shell命令的执行历史,有助于运维人员进行系统审计和问题排查,同事,在服务器遭受黑客攻击后,也可以通过这个命令或文件查询黑客登录服务器所执行的历史命令操作,但是有时候黑客在入侵服务器后为了毁灭痕迹,可能会删除.bash_history文件,这就需要合理保护或备份.bash_history文件 让history命令自动记录所有sh

Linux CentOS 7 Shell基础(命令历史,管道,作业控制,变量及环境变量)

一. shell介绍 shell是一个命令解释器,提供用户和机器的交互. 支持特定语法,比如逻辑判断,循环. 每个用户都有特定的shell centos7默认shell 为bash(Bourne Agin Shell) 还用zsh,csh,ksh等 二. 命令历史history history 命令历史 history -c 清空内存缓存命令. ~/.bash_history 命令历史的存储文件 HISTSIZE=1000 默认命令历史记录1000条 /etc/profile-----HISTO

Bash shell 基础命令

1.       Shell启动 Gun bash shell为用户提供交互式访问,登录时系统依赖于用户账户的配置,在/etc/passwd 文件中存放所有系统用户账户列表及基本配置,以下为条目样本: root:x:0:0:root:/root:/bin/bash 每个条目共有七个字段,分别以冒号隔开,代表的含义依次为"用户名:密码:UID(用户ID号):GID(用户主组ID号):GECOS(用户详细描述信息):用户家目录:用户默认shell程序".当用户登录以后将会启动默认shell

shell基础命令

查看文件 stat 可以列出目标文件的所有信息  stat com_id.txt    File: `com_id.txt'   Size: 22              Blocks: 8          IO Block: 4096   regular file Device: fd00h/64768d    Inode: 5056098     Links: 1 Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0

《Linux菜鸟入门2》shell基础命令

●diff diff file file1           比较两个文件的不同 -c            显示上下周围的行 -u            按照一定格式统一输出补丁 -r            比较两个目录中文件的不同 patch file file.path           打补丁 -b             加上-b备份源文件 ●grep grep 关键字符文件|目录       在文件或者目录中查找含有关键字的行 grep   -i             忽略大小

Shell基础命令之&&和||

&&运算符 语法格式如下: command1 && command2 [&& command3 ...] 1.命令之间使用 && 连接,实现逻辑与的功能. 2.只有在 && 左边的命令返回真(命令返回值 $? == 0),&& 右边的命令才会被执行. 3.只要有一个命令返回假(命令返回值 $? == 1),后面的命令就不会被执行. ||运算符: command1 || command2 ||则与&&am

Shell基础命令之echo

echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用. 该命令的一般格式为: echo [ -n ] 字符串 其中选项n表示输出文字后不换行:字符串能加引号,也能不加引号.用echo命令输出加引号的字符串时,将字符串原样输出:用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割. echo * 列出当前目录下的所有文件和目录. echo *.jpg 列出所有的jpeg图片格式的文件. echo ${HOME}/public_html/

bash shell相关命令记录(2)---注释、字符串、数组

参考链接http://c.biancheng.net/cpp/view/7000.html 1.shell注释 以“#”开头的行就是注释,会被解释器忽略.sh里没有多行注释,只能每一行加一个#号. 如果在开发过程中,遇到大段的代码需要临时注释起来,过一会儿又取消注释,怎么办呢?每一行加个#符号太费力了,可以使用 : << ! 语句1 语句2 语句3 语句4 ! 或者 : ' 语句1 语句2 语句3 ' 2.字符串 字符串是shell编程中最常用最有用的数据类型,字符串可以用单引号,也可以用双引

菜鸟的成长记录--linux基础命令

以下是我学习时接触的命令,后续会慢慢添加 1.tty:查看终端类型 虚拟终端:/dev/tty# 伪终端:/dev/pts/# 控制台:/dev/console 串行终端:/dev/ttyS# 2.startx:启动图形界面 3.ifconfig:查看网卡信息 4.cd:进入用户主目录 cd ~:进入用户主目录 cd ~USERNAME:进入其他用户主目录 cd -:在前一个目录和当前目录来回切换 cd .:当前目录 cd ..:上一级目录 cd ../..:返回上两级目录 cd !$:把上一个