Linux Shell 常用命令

Linux Shell 中的反引号,单引号,双引号的区别

1.反引号位 (`):在Linux中起着命令替换的作用。命令替换是指shell能够将一个命令的标准输出插在一个命令行中任何位置。

和$()是一样的。在执行一条命令时,会先将其中的 `` ,或者是$() 中的语句当作命令执行一遍,再将结果加入到原命令中重新执行,

例如:echo `ls`

会先执行 ls 得到 xx.sh等,再替换原命令为:echo xx.sh

[[email protected] ~]# echo today is $(date "+%Y-%m-%d")
today is 2017-11-07
[[email protected] ~]# echo today is `date "+%Y-%m-%d"`
today is 2017-11-07注意:
[[email protected] ~]#  echo Linux `echo Shell `echo today is `date "+%Y-%m-%d"```
Linux Shellecho today is 2017-11-07     #过多使用``会有问题
[[email protected] ~]# echo Linux `echo Shell $(echo today is $(date "+%Y-%m-%d"))`
Linux Shell today is 2017-11-07    ``和$()混合使用
[[email protected] ~]# echo Linux $(echo Shell $(echo today is $(date "+%Y-%m-%d")))
Linux Shell today is 2017-11-07    #多个$()同时使用也不会有问题

注释:反引号与$()都是命令替换 

最大的区别为:转义字符的使用不同。 
反引号中:若要使用转自字符需要\\ 
$()中:若要使用转义字符用\

例1:反引号使用1个\,$()使用1个

例2:反引号使用2个\,$()使用1个

2.单引号he双引号

首先, 单引号和双引号,都是为了解决中间有空格的问题。

因为空格在linux中时作为一个很典型的分隔符,比如 string1=this is a string,这样执行就会报错。

为了避免这个问题,因此就产生了单引号和双引号。他们的区别在于,单引号将剥夺其中的所有字符的特殊含义,而双引号中的 ‘ $ ‘(参数替换)和‘ ` ‘(命令替换)和 ‘ \ ‘是例外。所以,两者基本上没有什么区别,除非在内容中遇到了参数替换符$和命令替换符`。

所以下面的结果:
        num=3
        echo ‘$num’
        $num
        echo “$num”
        3

所以,如果需要在双引号””里面使用这两种符号的直接含义,需要用反斜杠转义

摘取于:https://www.cnblogs.com/yasmi/articles/5129571.html

3.大括号、花括号 { }

大括号拓展。将对大括号中的文件名做扩展

第一种:对大括号中的以 逗号分割的文件列表进行拓展。如 touch {a,b}.txt 结果为a.txt b.txt。

第二种:对大括号中以点点(..)分割的顺序文件列表起拓展作用,如:touch {a..d}.txt 结果为a.txt b.txt c.txt d.txt

4.双中括号[[ ]]

5.单小括号 ()

①命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。

②命令替换。等同于`cmd`,shell扫描一遍命令行,发现了$(cmd)结构,便将$(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到原来命令。有些shell不支持,如tcsh。

③用于初始化数组。如:array=(a b c d)

6.单中括号 []

Test和[]中可用的比较运算符只有==和!=,两者都是用于字符串比较的,不可用于整数比较,整数比较只能使用-eq,-gt这种形式。无论是字符串比较还是整数比较都不支持大于号小于号。如果实在想用,对于字符串比较可以使用转义形式,如果比较"ab"和"bc":[ ab \< bc ],结果为真,也就是返回状态为0。[ ]中的逻辑与和逻辑或使用-a 和-o 表示。

7${ }变量替换

一般情况下,$var与${var}是没有区别的,但是用${ }会比较精确的界定变量名称的范围

[[email protected] WorkPath]# A=linux
[[email protected] WorkPath]# echo $AB   #输出为空

[[email protected] WorkPath]# echo ${A}B  # 精准的界定范围
linuxB
[[email protected] WorkPath]#

更多详细介绍 :http://www.cnblogs.com/chengd/p/7803664.html

8.布尔运算符

原文地址:https://www.cnblogs.com/yunshenbuzhichu/p/9923849.html

时间: 2024-12-28 21:13:51

Linux Shell 常用命令的相关文章

Linux Shell常用命令总结

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

Linux shell 常用命令大全 每日一更

大一上学期学习了Linux的基本操作,已经很久没使用了,虚拟机也近半年没开(作为一个计算机类专业的少年真的不应该).为了补回这些知识和为将来的学习打下基础,现在每天更新一条shell命令及其子命令,欢迎查看.命令主要按字母顺序排列,网上也可以找到,以作用排列比较方便查看,也不容易漏掉一些命令. Linux下常用文件管理命令: pwd          显示当前目录绝对路径名,个人觉得挺好用的一个命令 ls -参数 显示当前目录下的文件 参数选项:-a ->列举目录中所有文件,包括目录下的隐藏文件

RedHat Linux Shell常用命令(多数也适用于Unix和AIX)

目的:通过对日常使用的一些Linux命令进行总结分享,希望能给大家一些帮助.说明:本文的命令都是在RedHat Linux下测试的,Unix和IBM AIX下的命令有所不同,具体查看 man page.如有错误,欢迎指正. 建议:读者在操作的过程中希望形成参考 man page的习惯,非常有用. 1.# 表示权限用户(如:root),$ 表示普通用户  开机提示:Login:输入用户名  password:输入口令   用户是系统注册用户成功登陆后,可以进入相应的用户环境.  退出当前shell

Linux Shell常用命令总结(51cto 博客搬迁)

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

Linux Shell常用命令手册(Updating)

检查远程端口是否对bash开放: nc -nvv $IP $PORT telnet $IP $PORT 当前任务的前后台切换: Ctrl + z fg 截取变量前5个字符: ${variable:0:5} SSH debug 模式: ssh -vvv [email protected]_address SSH with pem key: ssh [email protected]_address -i key.pem 监视日志文件 tail -f $FILE_NAME 多个监视的脚本 multi

linux shell常用命令

for循环 applist=(app1 app2 app3);for app in ${applist[@]};do echo $app;done; 获取IP地址 ifconfig |grep -Po '(?<=addr:).*(?=Bc)' ifconfig|awk -F"[: ]+" '$4~/[0-9].+[^0-9]+/{print $4}/lo/{exit}' ifconfig|sed -nr 's/^[[:space:]]+inet addr:(.*) Bcast.*

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

linux下常用命令备忘

转自:Linux 命令集锦 linux下查看监听端口对应的进程 # lsof -i:9000 # lsof -Pnl +M -i4 如果退格键变成了:"^h". 终端连接unix删除退格键,按住CTL键同时按delete Linux搜索 # find / -name "xxx.conf" 查看linux是32位还是64位的命令 #file /sbin/init #getconf LONG_BIT #getconf -a 在Linux和Windows下都可以用nslo

linux系统管理常用命令--top

linux系统管理常用命令--top top显示进程所占的系统资源,具体用法介绍如下: top命令用于动态监控进程所占的系统资源,默认每隔3秒变一次.它的特点是把占用系统资源(CPU.内存.磁盘I/O等)最高的进程放到最前面!上例中,top命令打印出了很多信息.包括系统负载(loadaverage).进程数(Tasks).CPU使用情况.内存(Mem)使用情况以及交换分区使用情况. 其中,VIRT这一项表示进程所占的虚拟内存,RES这一项为进程所占的真实内存大小,而%MEM这一项为使用内存的百分