基础命令和脚本练习初识

Shell的基础脚本练习合集 练习1: 创建一个脚本ip_show.sh,使得执行此脚本可显示当前ip和主机名称 #!/bin/bash ifconfig virbr0 &> /dev/null && { ifconfig virbr0 | awk '/inet\>/{print$2}' } || { echo virbr0 is not found } hostname 练习2: 创建一个脚本host_messages.sh,使得执行此脚本可显示当. 阅读详情

基础命令和脚本练习初识

grep

Linux grep 命令用于查找文件里符合条件的字符串。

grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。

语法

grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]

参数:

  • -a 或 --text : 不要忽略二进制的数据。
  • -A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。
  • -b 或 --byte-offset : 在显示符合样式的那一行之前,标示出该行第一个字符的编号。
  • -B<显示行数> 或 --before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。
  • -c 或 --count : 计算符合样式的列数。
  • -C<显示行数> 或 --context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容。
  • -d <动作> 或 --directories=<动作> : 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
  • -e<范本样式> 或 --regexp=<范本样式> : 指定字符串做为查找文件内容的样式。
  • -E 或 --extended-regexp : 将样式为延伸的正则表达式来使用。
  • -f<规则文件> 或 --file=<规则文件> : 指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。
  • -F 或 --fixed-regexp : 将样式视为固定字符串的列表。
  • -G 或 --basic-regexp : 将样式视为普通的表示法来使用。
  • -h 或 --no-filename : 在显示符合样式的那一行之前,不标示该行所属的文件名称。
  • -H 或 --with-filename : 在显示符合样式的那一行之前,表示该行所属的文件名称。
  • -i 或 --ignore-case : 忽略字符大小写的差别。
  • -l 或 --file-with-matches : 列出文件内容符合指定的样式的文件名称。
  • -L 或 --files-without-match : 列出文件内容不符合指定的样式的文件名称。
  • -n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。
  • -o 或 --only-matching : 只显示匹配PATTERN 部分。
  • -q 或 --quiet或–silent : 不显示任何信息。
  • -r 或 --recursive : 此参数的效果和指定"-d recurse"参数相同。
  • -s 或 --no-messages : 不显示错误信息。
  • -v 或 --revert-match : 显示不包含匹配文本的所有行。
  • -V 或 --version : 显示版本信息。
  • -w 或 --word-regexp : 只显示全字符合的列。
  • -x --line-regexp : 只显示全列符合的列。
  • -y : 此参数的效果和指定"-i"参数相同。

cut

Linux cut命令用于显示每行从开头算起 num1 到 num2 的文字。

语法

cut  [-bn] [file]
cut [-c] [file]
cut [-df] [file]

使用说明:

cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。

如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。

参数:

  • -b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
  • -c :以字符为单位进行分割。
  • -d :自定义分隔符,默认为制表符。
  • -f :与-d一起使用,指定显示哪个区域。
  • -n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的
    范围之内,该字符将被写出;否则,该字符将被排除

sort

Linux sort命令用于将文本文件内容加以排序。

sort可针对文本文件的内容,以行为单位来排序。

语法

sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]

参数说明:

  • -b 忽略每行前面开始出的空格字符。
  • -c 检查文件是否已经按照顺序排序。
  • -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
  • -f 排序时,将小写字母视为大写字母。
  • -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
  • -k:指定要排序的key,key由字段组成。key格式为"POS1[,POS2]",POS1为key起始位置,POS2为key结束位置。
  • -m 将几个排序好的文件进行合并。
  • -M 将前面3个字母依照月份的缩写进行排序。
  • -n 依照数值的大小排序。
  • -u 意味着是唯一的(unique),输出的结果是去完重了的。
  • -o<输出文件> 将排序后的结果存入指定的文件。
  • -r 以相反的顺序来排序。
  • -t<分隔字符> 指定排序时所用的栏位分隔字符。
  • +<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
  • –help 显示帮助。
  • –version 显示版本信息。

tail

tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。

tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。

命令格式:

tail [参数] [文件]  

参数:

  • -f 循环读取
  • -q 不显示处理信息
  • -v 显示详细的处理信息
  • -c<数目> 显示的字节数
  • -n<行数> 显示文件的尾部 n 行内容
  • –pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
  • -q, --quiet, --silent 从不输出给出文件名的首部
  • -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

netstat

Linux netstat命令用于显示网络状态。

利用netstat指令可让你得知整个Linux系统的网络情况。

语法

netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]

参数说明:

  • -a或–all 显示所有连线中的Socket。
  • -A<网络类型>或–<网络类型> 列出该网络类型连线中的相关地址。
  • -c或–continuous 持续列出网络状态。
  • -C或–cache 显示路由器配置的快取信息。
  • -e或–extend 显示网络其他相关信息。
  • -F或–fib 显示FIB。
  • -g或–groups 显示多重广播功能群组组员名单。
  • -h或–help 在线帮助。
  • -i或–interfaces 显示网络界面信息表单。
  • -l或–listening 显示监控中的服务器的Socket。
  • -M或–masquerade 显示伪装的网络连线。
  • -n或–numeric 直接使用IP地址,而不通过域名服务器。
  • -N或–netlink或–symbolic 显示网络硬件外围设备的符号连接名称。
  • -o或–timers 显示计时器。
  • -p或–programs 显示正在使用Socket的程序识别码和程序名称。
  • -r或–route 显示Routing Table。
  • -s或–statistice 显示网络工作信息统计表。
  • -t或–tcp 显示TCP传输协议的连线状况。
  • -u或–udp 显示UDP传输协议的连线状况。
  • -v或–verbose 显示指令执行过程。
  • -V或–version 显示版本信息。
  • -w或–raw 显示RAW传输协议的连线状况。
  • -x或–unix 此参数的效果和指定"-A unix"参数相同。
  • –ip或–inet 此参数的效果和指定"-A inet"参数相同。

tr

Linux tr 命令用于转换或删除文件中的字符。

tr 指令从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备。

语法

tr [-cdst][--help][--version][第一字符集][第二字符集]  
tr [OPTION]…SET1[SET2] 

参数说明:

  • -c, --complement:反选设定字符。也就是符合 SET1 的部份不做处理,不符合的剩余部份才进行转换
  • -d, --delete:删除指令字符
  • -s, --squeeze-repeats:缩减连续重复的字符成指定的单个字符
  • -t, --truncate-set1:削减 SET1 指定范围,使之与 SET2 设定长度相等
  • –help:显示程序用法信息
  • –version:显示程序本身的版本信息

uniq

Linux uniq 命令用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用。

uniq 可检查文本文件中重复出现的行列。

语法

uniq [-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][--help][--version][输入文件][输出文件]

参数:

  • -c或–count 在每列旁边显示该行重复出现的次数。
  • -d或–repeated 仅显示重复出现的行列。
  • -f<栏位>或–skip-fields=<栏位> 忽略比较指定的栏位。
  • -s<字符位置>或–skip-chars=<字符位置> 忽略比较指定的字符。
  • -u或–unique 仅显示出一次的行列。
  • -w<字符位置>或–check-chars=<字符位置> 指定要比较的字符。
  • –help 显示帮助。
  • –version 显示版本信息。

练习

1.统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户数,并将用户都显示出来

# grep、cut
[flamenca@localhost ~]$ grep -v '/sbin/nologin' /etc/passwd|cut -d: -f1
root
sync
shutdown
halt
flamenca
gentoo
slackware
hadoop
wang

2.查出用户UID最大值的用户名,UID及shell类型

# sort、tail、cut
# 我们分步骤来做题
# 1.用sort命令来将passwd中的内容按UID排序(以:分割 第3位是UID,然后从大到小排序)
[flamenca@localhost ~]$ sort -t ':' -k 3 -n /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
...
wang:x:1004:1004::/home/wang:/bin/bash
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

# 排最后的肯定就是UID最大的,现在我们要用tail命令取出最后一行,然后用cut命令切割
# 先用tail命令取出最后一行
[flamenca@localhost ~]$ sort -t ':' -k 3 -n /etc/passwd |tail -1
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

#最后取出用户名,UID和shell类型
[flamenca@localhost ~]$ sort -t ':' -k 3 -n  /etc/passwd |tail -1|cut -d: -f1,3,7
nfsnobody:65534:/sbin/nologin

3.统计当前连接本机的的每个远程主机IP的连接数,并按从大到小排序

# netstat tr uniq sort
# 一步一步来
# 首先先统计当前连接本机的连接情况
[flamenca@localhost ~]$ netstat -t
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0     52 localhost.localdoma:ssh 192.168.33.1:11855      ESTABLISHED

# 用-n可以数字化IP地址,我们试一试
[flamenca@localhost ~]$ netstat -nt
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0     52 192.168.33.128:22       192.168.33.1:11855      ESTABLISHED
# 我们通过对比可以注意到,localhost.localdoma:ssh 变成了 192.168.33.128:22

# 哇! 都是英文,这是什么呀!
# 别急,我们一点点看: Proto显示连接使用的协议 "Recv-Q"和"Send-Q"指的是接收队列和发送队列 
# Local Address:代表本地地址 ,foreignaddress:就是和你电脑有联系的ip地址
# ESTABLISHED:代表一个打开的连接

# 接着来呗,现在我们要选中带地址的内容行 很简单,用grep取出带数字的行就行
[flamenca@localhost ~]$ netstat -nt|grep [0-9]
tcp        0     52 192.168.33.128:22       192.168.33.1:11855      ESTABLISHED

# 空格太多了怎么办,我们可以用tr命令将诸多空格合并变成一个空格呀5
[flamenca@localhost ~]$ netstat -nt|grep [0-9]|tr -s " "
tcp 0 52 192.168.33.128:22 192.168.33.1:11855 ESTABLISHED
# 瘦身成功,对了,题目要我们干啥来着? 提取远程连接的IP,统计数量,从大到小排序
# 提取远程ip和排序我们会了,那统计数量就要用到uniq,从大到小排序是排序uniq -c 返回的值
[flamenca@localhost ~]$ netstat -nt|grep [0-9]|tr -s " " |cut -d " " -f5 |uniq -c
      1 192.168.33.1:11855
# 排个序
[flamenca@localhost ~]$ netstat -nt|grep [0-9]|tr -s " " |cut -d " " -f5 |uniq -c |sort -k 1 -nr
      1 192.168.33.1:11855


4.编写脚本createuser.sh ,实现如下功能:使用一个用户名作为参数,如果指定参数的用户存在,则显示其存在,否则添加之,并显示添加的用户的id号等信息。

#!/bin/bash
#
#****************************************************
#Author:		Flamenca
#QQ:			448333863
#Date:			2020-03-16
#FileName:		createuser.sh
#URL:			
#Description:		createuser test
#Copyright (C):	2020 All rights reserved
#***************************************************

read -p "Plaese Input your Username : " username

# 判断$username是否已经存在,如果存在提示存在

if `id $username &> /dev/null`;then

# &> /dev/null的意思就是把你运行命令的过程转向到/dev/null中,在linux中,/dev/null就是无底洞的意思,意思就是说,你命令执行的过程(一般会显示反回结果)你不想看到,所以就丢这里了。

# 我们就是要判断一下该用户名是否存在

# 如果存在

echo " $username already exist, please try another one !"

# 如果不存在

else

# 添加用户

`useradd $username &> /dev/null`

# 设定个初始密码123

`echo "123" |passwd --stdin $username $> /dev/null`

echo "Username : $username | passwd :"123" "

echo "Please change your password as soon as possible!"

fi

# 删除变量$username
unset username

# 这个脚本的开头是不是特别酷炫?

# 是自动生成的哦,酷炫吧

# 怎么做到的?

# 看下方

5.编写生成脚本基本格式的脚本,包括作者、联系方式、版本、时间、描述等

# 一般向我用vim编辑器的话,在家目录下的.vimrc中输入
autocmd BufNewFile *.sh exec ":call SetTitle()"
func SetTitle()
	if expand("%:e")=='sh'
	call setline(1,"#!/bin/bash")
	call setline(2,"#")
	call setline(3,"#****************************************************")
	call setline(4,"#Author:		Flamenca")
	call setline(5,"#QQ:			448333863")
	call setline(6,"#Date:			".strftime("%Y-%m-%d"))
	call setline(7,"#FileName:		".expand("%"))
	call setline(8,"#URL:			")
	call setline(9,"#Description:		The test script")
	call setline(10,"#Copyright (C):	".strftime("%Y")." All rights reserved")
	call setline(11,"#***************************************************")
	call setline(12,"")
	endif
endfunc

# 就完事了嗷

AGV、RGV、四向车openTCS调度系统(三)车辆适配器解读,封装自己的适配器 AGV、RGV、四向车调度。理解适配器的整体作用,以及如何使用官方例子改造自己的适配器, 阅读详情

相关推荐

WD西部数据2TB,2.5寸移动硬盘,因为磁头坏了,长时间通电导致划片划伤,维修过程通过反复更换磁头

WD西部数据2TB,2.5寸移动硬盘,因为磁头坏了,长时间通电导致划片划伤,维修过程通过反复更换磁头,才能利用专业设备,里面找到,镜像,把内容数据恢复出来。 1.说一下经历,借用的别人移动硬盘,去帮别人维修,拷数据出来,别人的文件,数据比较多,且复杂,而且是在PE系统,接口什么的是2.0,没有很好的思考就全选复制拷贝了; 2,拷贝的过程,极其慢,文件多,且文件有损坏,移动硬盘一直处于通电的状态,大概从下午,两点多开始100多G的数据,一直卡住,到,晚上7 。8点拷完还是没拷完。打开的时候就已经,就一直

weixin_43766920的博客 4303

任意文件读取和漏洞复现

一些网站的需求,可能会提供文件查看与下载的功能。如果对用户查看或下载的文件没有限制或者限制绕过,就可以查看或下载任意文件。这些文件可以是漂代码文件,配置文件,敏感文件等等。任意文件读取与下载可能形式不同,但是从本质上讲读取与下载没有区别,从权限角度来讲,读取与下载都需要读权限。

weixin_58954236的博客 7883

麒麟V10服务器多硬盘安装与分区实战:告别自动分区,手动分配/boot、swap和/根目录

本文详细介绍了麒麟V10服务器在多硬盘环境下的手动分区策略,包括/boot、swap和/根目录的优化分配方案。通过SSD与HDD混合存储架构的合理规划,提升系统性能和运维效率,适用于企业级定制化系统部署需求。

weixin_26976635的博客 407

每天一个shell命令和脚本

常见linux 目录名称/ 虚拟目录的根目录。/bin 二进制目录/boot 启动目录。存放启动文件/dev 设备目录/etc 系统配置目录/home 主目录,linux在这里创建用户目录/lib 库目录。存放系统和应用的库文件/media 媒体目录,可移动媒体设备的常用挂载点/opt 可选目录,常用于存放第三方软件包和数据文件/proc 进程目录,存放现有硬件及当前进程的相关信息/root ...

weixin_34303897的博客 99

从零玩转显示屏:手把手教你用Arduino驱动SPI屏幕(附引脚定义图)

本文提供了一份详尽的Arduino驱动SPI屏幕的入门指南。从SPI接口的核心引脚定义(如DC、RESET)与RGB接口的区别讲起,手把手指导硬件连接与软件库配置,并最终通过一个天气显示器实战项目,帮助读者掌握驱动SPI屏幕、显示RGB色彩内容的核心技能。

weixin_29189987的博客 131

解决com.kingbase8.util.KSQLException: This _connection has been closed.

一个消息管理系统,系统采用kingbase8数据库,数据库采用单体模式,后台应用也采用springboot单体模式。系统正式上线后,出现几个JDBC响应的异常信息: com.kingbase8.util.KSQLException: An I/O error occurred while sending to the backend. java.net.SocketTimeoutException: Read timed out.

qq_38127559的博客 2757

Linux的基础命令和Shell脚本

一、计算机   1、能接收用户输入的指令和数据,经过中央处理器的算术逻辑单元处理,然后会产生或者显示新数据的,就是计算机。    比如,普通商户用的计算器,手机,提款机,汽车导航,桌面电脑,手提电脑等   2、计算机的五大单元:     输入单元:输入设备,键盘,鼠标,扫描仪,触摸屏幕     输出单元:显示器,打印机.....     cpu的控制单元:控制输入单元和输出单元工作 ...

橙以的博客 1192

【Arduino】入门篇——交通信号灯

模拟交通信号灯一、实验目的二、实验材料三、电路图四、实验过程五、代码块六、实验结果 一、实验目的 我想大家都看见过交通灯,就是马路上十字路口的红绿灯。如果您开过车,我想您一定仔细观察过交通灯,如果您还没有驾驶过车,您是否仔细观察过交通灯呢?交通灯包括三种个不同颜色的灯:红灯、黄灯和绿灯。 每个路口的红绿灯切换的时间并不是相同,这个是根据不同路口的车流情况来设定的,下面就是模仿交通灯的一个实验 二...

漠宸离若的博客 1万+

Linux命令行和Shell脚本编程(一)

case variable in pattern1 | pattern2) commands1;; pattern3) commands2;; *) default commands;; esac

zhuikefeng的博客 1405

Unity之Timeline教程

Unity Timeline是Unity的一种时间轴编辑器工具,用于制作和管理游戏中的动画、剧情以及事件触发。它提供了直观的界面,使得开发者可以通过拖放操作轻松创建和编辑时间轴。Activation Track:用于控制物体的激活状态。可以在轨道上添加关键帧,控制物体的激活和非激活状态。Animation Track:用于处理物体的动画。可以在此轨道上添加关键帧,编辑物体的动画状态。Audio Track:用于处理场景中的音频。可以管理音频的播放、暂停、淡入淡出等操作。

TxNet 9442

作为专家系统与应用的审稿人:提醒你投稿注意事项

本文为《专家系统与应用》(ESWA)期刊投稿指南,重点强调研究方向匹配性、学术质量和写作规范。要求论文以智能系统/算法为核心,突出增量创新并具可验证性,需包含严谨方法论和充分实验验证。写作需结构清晰,符合期刊格式要求,包括明确的研究问题、分类文献综述、详细技术实现和量化结果。投稿前需仔细核对期刊指南,引用相关文献,并妥善处理审稿意见。ESWA注重创新实质性和应用落地价值,建议突出智能系统设计核心,避免成为单纯技术应用描述。

ZhangJiqun&191cm&85kg 1803

初识Shell 脚本,shell基础练习以及shell中常见命令的使用

Shell1.什么是Shell?   shell也是操作系统的一个软件,它包在linux内核外面,为用户提供和内核之间的交互提供了一个接口。  系统中的命令用shell去解释;shell接收系统回应的输出并显示其到屏幕中   bash =GUN Bourne-Again Shell  2.什么是Shell脚本?  &gt;脚本是一种解释性语言 &gt;用Shell 脚本保存执行动作&gt;用脚本判...

dreamer_xixixi的博客 873

【ComfyUI】QwenImageEdit OOTD角色与姿态匹配换装

本文介绍了一个基于Qwen Edit OOTD 2.0的ComfyUI工作流,能够实现角色与姿态匹配的智能穿搭生成。该工作流通过整合模型推理、姿态识别、图像拼接和渲染等节点,完成从角色图、姿态图到成品穿搭图的完整生成流程。核心采用Qwen Image系列模型进行图像理解和编辑,配合ControlNet进行姿态引导。用户只需提供角色图和姿态参考图,系统即可自动完成姿态解析、语义编码、采样生成等步骤,输出与输入姿态一致的穿搭图像。该方案适用于虚拟角色展示、电商试穿等场景,能保持角色特征一致的同时灵活变换姿态,显

Mr数据杨 1586

shell 脚本练习

定义:变量名称=值变量名称:只能以字母,数字,下划线组成,不能以数字开头;注意:应该让变量名称有意义;= 赋值符号 前后不能有空格;值: 所有的字符串和数字都可以;引用变量:$变量名 或者 ${ 变量名 }示例:100# 这里输出为空,因为解释器认为$aa是变量100a查看变量:echo $变量名set(所有变量:包括自定义变量和环境变量)取消变量:unset 变量名 仅在当前shell有效作用范围:仅在当前shell有效。

weixin_63223249的博客 1060

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

初识shell——shell脚本的基础知识

文章目录1.什么是shell2.shell脚本的意义 1.什么是shell 脚本中命令的解释器 2.shell脚本的意义 1.记录命令执行的过程和执行逻辑,以便以后重复执行 2.脚本可以批量处理主机 3.脚本可以定时处理主机 3.如何创建shell脚本 #!/bin/bash ##幻数 vim自动添加脚本首部 “map ms:call WESTOSTITLE()'s autocmd BufNew...

weixin_46138661的博客 282

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

初识Shell脚本(Linux)

一、概念 Shell脚本是包含一系列命令的文本文件 Shell读取此文件并执行命令 二、应用场景 重复性操作 批量事务处理 自动化运维 定时任务执行 三、初识Shell脚本 注:#!默认执行命令,是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行 练习:到根目录创建一个目录 cd / mkdir temp cd /temp helloworld 创建关于shell文件(以.sh为文件扩展名) vi helloworld.sh 编写内容 #!/bin/bash echo "hellpworl

KingWeiGG的博客 316

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

初识shell脚本

shell脚本学习——初识脚本 打开文本编辑器,使用vi,vim都行。首先规范自己写脚本结尾加.sh(虽然不这样也行,linux也能识别) 其名称也需要见名知意。 规范使用脚本文件,新建练习脚本文件夹 [root@localhost shell_scripts]# 英语渣渣被迫开始学习英语了!!! 从前在学校不好好学,现在工作了,生活教你学英语。 Scripts 脚本 编写运维工作者的第一个脚本!!! [root@localhost shell_scripts]# vim first_shell_scri

伪程序文艺猿 131

Orange的运维学习日记--52.初识Shell脚本

本文介绍了Shell脚本的基础知识,包括Shell的概念、作用及常见类型(如bash、sh等)。详细说明了Shell脚本的特点、学习必要性以及在系统管理中的应用场景。文章提供了创建第一个Shell脚本的实践指南,涵盖脚本编写规范、注释方法、执行方式及开发习惯。重点强调了Shell脚本作为Linux运维基础工具的重要性,并给出了学习方法建议:多练习、多思考、多总结。同时对比了不同Shell类型的差异,推荐使用bash作为首选解释器。最后从实践角度讲解了脚本执行的各种方法及开发规范,帮助初学者建立良好的Shel

朱小弟cs6的博客 683

初识shell——shell中常用的基本命令

文章目录shell理解1.diff2.patch3.cut4.sort5.uniq6.tr7.test8.&& 和|| shell理解 shell实质是一个解释器,我们所说的shell脚本就是运行在shell环境中能够按我们的意图去运行相应程序的一个文本记录,其中记录的是我们想让它做的事件,想做的事件可以用C、Python、Java等语言去开发,以下用的是Linux的命令去开发,让...

weixin_46138661的博客 377

shell练习——初识shell

一、在当前主机编写脚本文件history_max.sh显示主机中执行频率最高的前5个命令。二、判断主机是否存在rhel用户,如果存在则设置密码为redhat,如果不存在则创建用户并设置密码。三、通过设置变量HISTTIMEFORMAT,使得当执行history命令时输出格式如下:

m0_60861848的博客 1575

初识shell——shell脚本中的变量

文章目录1.变量的定义2.shell脚本中变量的定义方式(三种)3.变量的转译4.Linux中命令的别名设定5.用户环境变量的更改6.利用命令的执行结果设定变量7.脚本函数 1.变量的定义 1)定义 变量是计算机内存的单元(即变量就是内存中一片区域的地址),其中存放的值可以改变。当 Shell 脚本需要保存一些信息时,如一个文件名或一个数字,就把它存放在一个变量中。 2)变量存在的意义 命令无法操...

weixin_46138661的博客 226

Linux——初识脚本及diff、cut、&&、||、sort、uniq、test命令的简单使用。

脚 本 概 述 脚本是批处理文件的延伸,是一种纯文本保存的程序,一般来说的计算机脚本程序是确定的一系列控制计算机进行运算操作动作的组合,在其中可以实现一定的逻辑分支等。 &amp;amp;amp;amp;nbsp;&amp;amp;a

yifan850399167的博客 1216

Linux和Shell编程学习记录

具体解析就是processes=("vslam_node")设置要处理的进程节点,pids=$()是用括号里的命令结果赋给pids,其中pgrep是搜索进程PID,-d ',' 是指将输出的 PID 用逗号分隔,-f 匹配。/A/B/gzh.txt是绝对路径,/指的是根目录,根目录在ubuntu系统中指的是其他位置下的计算机中,但是我目前的环境在~中,即home目录下创建的目录A/B,所以在根目录下找不到路径。一些简单的编写脚本教程,其中注意,[ ]也是命令的执行,空格也要注意,否则会出现警告或者错误。

m0_59657805的博客 1857

Linux零基础七日速成:从命令行入门到实战脚本编写

这次我们来看一个面向 Linux 初学者的系统性学习路径规划。这个标题“一周学会Linux”听起来很有挑战性,但核心价值在于它提供了一个从零基础到核心技术的结构化知识框架。对于想快速入门 Linux、准备运维面试、或需要在开发环境中熟练使用命令行的朋友来说,一个清晰的路线图至关重要。本文不会空谈概念,而是直接拆解 Linux 学习的核心模块、必备命令、实战环境搭建方法,以及如何将知识串联起来解决实际问题。我们会重点关注:学习路径如何设计、哪些命令是必须掌握的、虚拟机安装的避坑指南、以及如何通过实践巩固技能。

weixin_34290631的博客 1343

初识SHELL脚本

SHELL简介: 什么是shell? shell是linux的一外壳,包在linux内核的外面,为用户和内核的交互提供了一个接口,当用户下达指令给操作系统的时候,实际上是把指令告诉shell,经过shell的解释,处理后让内核做出相应的动作,系统的回应和输出的信息也由shell处理,然后显示在用户的屏幕上。 什么是shell脚本? 简单来说,当命令或者程序不在命令行执行,而...

weixin_43273168的博客 343

Linux 之旅 10:Shell 脚本

Linux 之旅 10:Shell 脚本 (图片来自shell/bash脚本编程) Linux 上的 Shell 脚本可以看做是类似于Windows上的批处理程序(.bat)一样的东西,其本质就是将一组 shell 命令整合在一起,并添加上一些编程语言普遍使用的控制流程、函数之类的结构,实现自动化和批处理的效果。 事实上,从之前 Linux 之旅 8:初识 BASH 中我们学到的内容就可以发现,Bash 本身就相当有被开发成一门完善的编程语言的潜质,因为其本身就具有很多编程语言的基础特性,比如变量,比如多

梦幻天空 994
上一篇: Linux基础(3)正则表达式及用户管理基础命令
下一篇: linux基础之find、tar和sed用法
FlamencaH
博客等级 码龄7年 13粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值