目录

  • 目录
  • 查看系统中可以使用的shell
  • 重定向
  • 管道
  • 变量
  • export指令与echo的不同
  • 算术运算符
  • 用户个性化系统变量文件
  • 通配符
  • 引号
  • 文件比较运算符

查看系统中可以使用的shell

cat /etc/shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/screen

重定向

> 重定向覆盖输出
>> 重定向追加输出
< 重定向覆盖输入
<< 重定向追加输入

Example
find / -name passwd > find.txt
find / -user jmilk >> find.txt
find / -user jmilk 2> find.txt 错误信息覆盖重定向
find / -user jmilk 2>> find.txt 错误信息追加重定向
find / -user jmilk &> find.txt 将正确信息与错误信息一定重定向

重定向输入邮件内容
mail -s “mail jmilk” jmilk@fan.com < find.txt
su - jmilk
mail jmilk

管道

将管道左边的输出当成管道右边的输入。
错误信息不能通过管道
find / -user jmilk | grep proc > find.txt
vim find.txt
将错误信息转化为正确信息之后再通过管道
find / -user jmilk 2>&1 | grep proc > find.txt
vim find.txt

变量

创建一个变量
name=aaaaaaaaaaaaa
echo $name

Shell变量
set 查看全部的Shell变量
set | grep ^name 查看刚赋值的name变量
unset name 撤销name变量
set | grep ^name

用户标签变量:是Shell变量额一部分
PS1=“\u @ \h \w \t :”
PS1= “ C:\”

export指令与echo的不同

ok1=111111111111111
ok2=222222222222222
export ok1
echo $ok1
echo $ok2
bash
echo $ok1
echo $ok2

算术运算符

q=6
w=2
e=5
expr $q + $w
expr $q - $w
expr $q * $w
expr $q / $w
expr $q \% $e
echo $[$q+$w]

用户个性化系统变量文件

vim /etc/profile
vim ~/.bash_profile
vim ~/.bashrc
vim /etc/bashrc

通配符

echo /etc/httpd/*
echo /etc/httpd/???
echo /etc/httpd/[ml]*
echo /etc/httpd/[a-l]*
echo /etc/httpd/[^ml]*

引号

touch log$(date +%y%m%d)
touch log `date +%y%m%d`
name=jmilk
touch hello \$name
touch “hello \$name”
touch ‘hello \$name’
rm -f “hello jmilk”
rm -f hello \$name
echo “today is `date`”
echo ‘today is `date`’
cp /etc

文件比较运算符

-e filename 如果 filename存在,则为真
-e /var/log/syslog
-d filename 如果 filename为目录,则为真
-d /tmp/mydir
-f filename 如果 filename为常规文件,则为真
-f /usr/bin/grep
-L filename 如果 filename为符号链接,则为真
-L /usr/bin/grep
-r filename 如果 filename可读,则为真
-r /var/log/syslog
-w filename 如果 filename可写,则为真
-w /var/mytmp.txt
-x filename 如果 filename可执行,则为真
-L /usr/bin/grep
filename1-nt filename2 如果 filename1比 filename2新,则为真
/tmp/install/etc/services -nt /etc/services
filename1-ot filename2 如果 filename1比 filename2旧,则为真
/boot/bzImage -ot arch/i386/boot/bzImage
字符串比较运算符 (请注意引号的使用,这是防止空格扰乱代码的好方法)
-z string 如果 string长度为零,则为真
-z “$myvar”
-n string 如果 string长度非零,则为真
-n “$myvar”
string1= string2 如果 string1与 string2相同,则为真
“$myvar” = “one two three”
string1!= string2 如果 string1与 string2不同,则为真
“$myvar” != “one two three”
算术比较运算符
num1-eq num2 等于 [ 3 -eq $mynum ]
num1-ne num2 不等于 [ 3 -ne $mynum ]
num1-lt num2 小于 [ 3 -lt $mynum ]
num1-le num2 小于或等于 [ 3 -le $mynum ]
num1-gt num2 大于 [ 3 -gt $mynum ]
num1-ge num2 大于或等于 [ 3 -ge $mynum ]

Linux_Shell基础相关推荐

  1. 史上最牛的Linux视频教程—兄弟连Linux笔记

    最近在看兄弟连2014年录制的Linux教学视频,沈超和李明这两个活宝讲得确实是精彩,顺着教学视频讲解的逻辑顺序做了一些笔记,教学视频链接https://www.bilibili.com/video/ ...

  2. 【学习笔记】兄弟连Linux教程摘要

    最近在看兄弟连2014年录制的Linux教学视频,沈超和李明这两个活宝讲得确实是精彩,顺着教学视频讲解的逻辑顺序做了一些笔记,教学视频链接https://www.bilibili.com/video/ ...

  3. Shell 和Shell Script 基础

    转自:http://www.study-area.org/linux/system/linux_shell.html 认识SHELL 或许﹐许多人都已经听过shell 或bash 这些名字﹐但不知道您 ...

  4. java入门 慕路径,Java入门基础知识总结学习教程大全【必看经典】

    类型的表达式,是循环条件,表达式3是党执行了一遍循环之后,修改控制循环的变量值. ??? for语句的执行过程是这样的:首先计算表达式1,完成必要的初始化工作:然后判断表达式2的值,如果表达式的值为t ...

  5. 提交表单自动刷新_Web自动化测试:元素的基础操作和浏览器基础操作

    上一节,我们了解了如何定位元素,其实也有涉及对于元素的操作,这一节我们就详细的介绍一下对于元素的操作和对于浏览器的一些操作 一.对于元素的基础操作: clear():清除输入框内的文本 send_ke ...

  6. java mybatis基础

    java mybatis基础 1.1 什么是mybatis? mybatis是一个优秀的持久层框架. 避免几乎所有的JDBC代码和手动设置参数以及获取结果集的过程. 可以使用简单的xml或者注解来配置 ...

  7. 【J2SE】学习基础

    Java基础 语法基础 OO Exception Array 基础类 I/O Stream Collection/Generic Thread TCP/UDP GUI Meta Data Regula ...

  8. 【Linux系统】基础总结

    我不太清楚运维部门具体是做什么的,就接触过一点点运维部门! 也就是是知道他们负责管理服务器,管理网络,管理项目部署 偶尔自己需要部署,不得不接触一些linux命令.简单总结一些基础 linux系统发展 ...

  9. 【Java 2 Platform Enterprise Edition】基础

    问题1:为什么java是无关平台? 你之前用C或者C++写的源代码,编译好后,换一种操作系统,可能就执行不了了.因为新的操作系统不识别,你需要修改你的源码,并在新的操作系统上重新编译才能运行,比如Wi ...

最新文章

  1. 蚂蚁科技 Service Mesh 落地实践与挑战
  2. 使用drawio进行画图真的很方便(WEB版/Chrome APP版/桌面版)
  3. 最完整的MySQL规范
  4. 字符设备驱动程序的使用
  5. python自带的和numpy带的all(),any() 来判断各空矩阵和零矩阵 None,以及shape
  6. 用足球阵型告诉你,阿里云如何护航全网70%世界杯流量 1
  7. 【算法笔记】求长度为n的序列的全排列包含的总逆序对数目(树状数组求解)
  8. 华为 android 5.0系统下载地址,Emui5.0+Android 华为Nova内测包
  9. 基于51单片机三路温湿度语音LCD1602液晶显示报警
  10. Linux:chattr、lsattr、chage、history和/etc/login.defs解读
  11. LeCo-142. 环形链表 II
  12. 聊聊CVE漏洞编号和正式公开那些事
  13. mac安装texstudio+mactex(texlive)2022+中文字体
  14. 超文本标记语言(英语:HyperText Markup Language,简称:HTML)
  15. 截图神器-snipaste
  16. 【计算机网络】物理层 : 编码与调制 ( 基带信号 | 宽带信号 | 编码 | 调制 )
  17. 程序猿面试题:为什么曹操能号令诸侯?
  18. 在微信小程序中使用自定义字体【font-family】、同时在canvas
  19. Alexa Echo智能家居接入
  20. Mars的自语重出江湖,祝大家端午节安康

热门文章

  1. python建模仿真报告_Python|数学建模|排队论仿真
  2. feign直接走熔断_【121期】面试官:什么是熔断?什么是服务降级?
  3. AttributeError:module“seaborn” has no attribute “lineplot”
  4. 如何在Unity中添加三维空间声音Spatial Sounds
  5. 招银网络笔试java_2020招银网络科技校园招聘常见问题
  6. Nature盘点的这些代码,个个都改变了科学:Fortran、AlexNet还有arXiv等
  7. 腾讯首个AI开源项目完成3.0版本迭代,从顶级开源基金会毕业
  8. 机器人也来玩“踢瓶盖挑战”了,你动他就动,靠脑电控制,路人也能玩丨MIT出品...
  9. Scrapy项目实战
  10. 时间稍纵即逝,好久不见~ [QQ群均已解散,暂只保留UE4群]