初识Linux Bash Shell

简介: 一、SHEEL技术​ 1.shell特性​ 2.shell变量​ 3.shell条件测试​ 4.shell数值运算​ 5.流程控制、循环​ if​ case​ for​ until​ while​ break​ continue​ exit​ shift​ array​ funiction用户级别的几个重要文件​ ~/.bash_profile 用户环境变量配置文件​ ~/.bashrc 用户登录系统后执行的命令​ ~/.bash_logout 用户退出系统后执行的命令​ ~/.bash_history 用户历史

一、SHEEL技术

1.shell特性


2.shell变量


3.shell条件测试


4.shell数值运算


5.流程控制、循环


if


case


for


until


while


break


continue


exit


shift


array


funiction


用户级别的几个重要文件


~/.bash_profile 用户环境变量配置文件


~/.bashrc 用户登录系统后执行的命令


~/.bash_logout 用户退出系统后执行的命令


~/.bash_history 用户历史执行命令的保存位置


系统级别的几个重要文件


/etc/profile 系统全局环境变量


/etc/bashrc 系统启动后执行的命令列表


二、shell命令解释器

shell命令 cp ls date


Linux支持的shell


cat /etc/shells

image.png


chsh -l

image.png


三、GNU/bash shell特点

1.命令和文件自动补齐

2.命令历史记忆功能

上下键、!number(可以使用history命令查看历史命令序号然后使用!num进行执行)、!string(可以根据历史命令的前几个字符例如!vim)!$(上条命令的最后一个参数)、!!(上条命令)、ctrl+R (根据历史命令包含的某些关键字进行搜索)


3.别名功能

alias命令可以看系统中的别名命令


alias命令格式:alias ls=‘ls -l’


取消别名功能:unalias ls


设置永久别名则在~/.bashrc文件中将命令写入即可


4.快捷键

^R ^D ^A ^E ^L ^U ^K ^S ^Q


5.前后台作业控制

&(后台执行)、 nohup(后台执行,默认将输出输入到当前目录中的nohup.out文件中)、^C 、 ^Z、bg、fg(将命令从后台恢复到前台) kill %3、screen


screen 命令如何使用


screen -S install_lnpt


将会进入新的终端,进行其他任务操作,即使当前终端断开了连接,再次连接服务器后使用


screen -list即可看到对应的进程任务


screen -r 20105即可切回之前的操作模式,如果之前的终端没有断开则不会回到终端操作模式


6.输入输出重定向

0(键盘输入),1(屏幕输出),2(错误输出) >(重定向输出) >>(追加) 2> (错误重定向) 2>>(错误重定向追加) 2>&1(将错误输出重定向到标准输出中也就是将错误内容和正确内容同时输出到一个文件中) &>(前面的输出都输出到同一个文件中)


7.管道 | tee

tee管道表示将某一部分截留,比如将df命令先保存到某个文件中,然后在grep过滤出想要的内容,tee -a表示追加到某个文件


df | tee /root/aa.txt | grep /$


image.png


8.命令排序

;不具备逻辑判断,之前完第一个命令则执行第二个命令,例如ls;cd /dev


&& || 具备逻辑判断,&&前面的命令必须成功才会执行后面的命令,例如./configure && make && make install,||这个表示第一个命令如果失败第二个命令才会执行,例如ls /data/111 || mkdir -p /data/111


9.通配符(元字符)


* 匹配任意多个字符 ls in* rm -rf * rm -rf .pdf find / -iname " *-eth0"


? 匹配任意一个字符 touch love loove live l7ve; || l?ve


[] 匹配括号中任意一个字符[abc] [a-z] [0-9] [a-zA-Z0-9] [^a-zA-Z0-9] ,例如ls l[a-z]ove


() 在子shell中执行(cd /boot;ls)(umask 077;touch file10000)


{} 集合 例如批量创建十个文件touch file{1…9}


mkdir /home/{111,222} mkdir -pv /home/{333/{aaa,bbb},444}


此命令会在home下面创建111,222两个目录,然后在创建333,444两个目录并且在333目录中创建aaa,bbb子目录


cp -r /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.old


使用集合将命令缩短


cp -r /etc/sysconfig/network-scripys/{ifcfg-eth0,ifcfg-eth0.old} 因为两个文件都在同一个路径下所有可以写一个路径即可


cp -r /etc/sysconfig/network-scripts/ifcfg-eth0{,.old}因为两个文件前部分名字一致所以可以简写



目录
相关文章
|
6天前
|
Shell Linux
Linux shell编程学习笔记30:打造彩色的选项菜单
Linux shell编程学习笔记30:打造彩色的选项菜单
|
6天前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
5天前
|
Unix Shell Windows
随笔:What is Bash? What is shell?
随笔:What is Bash? What is shell?
|
8天前
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
10天前
|
人工智能 监控 Shell
常用的 55 个 Linux Shell 脚本(包括基础案例、文件操作、实用工具、图形化、sed、gawk)
这篇文章提供了55个常用的Linux Shell脚本实例,涵盖基础案例、文件操作、实用工具、图形化界面及sed、gawk的使用。
27 2
|
1月前
|
Shell Linux 开发工具
linux shell 脚本调试技巧
【9月更文挑战第3天】在Linux中调试shell脚本可采用多种技巧:使用`-x`选项显示每行命令及变量扩展情况;通过`read`或`trap`设置断点;利用`echo`检查变量值,`set`显示所有变量;检查退出状态码 `$?` 进行错误处理;使用`bashdb`等调试工具实现更复杂调试功能。
|
2月前
|
Unix Shell Linux
在Linux中,什么是 BASH?
在Linux中,什么是 BASH?
|
2月前
|
Java Shell Linux
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
关于如何使用Shell脚本来解析Linux系统中的应用服务日志,提供了脚本实现的详细步骤和技巧,以及一些Shell编程的技能扩展。
31 0
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
|
2月前
|
监控 Shell Linux
在Linux中,如何使用shell脚本检测磁盘使用率?
在Linux中,如何使用shell脚本检测磁盘使用率?
|
2月前
|
Shell Linux 开发工具
在Linux中,如何编写shell脚本将当前目录下大于10K的文件转移到/tmp目录下?
在Linux中,如何编写shell脚本将当前目录下大于10K的文件转移到/tmp目录下?
下一篇
无影云桌面