【shell简介】所有的命令都是在shell终端输入并且执行。打开终端就会出现一个提示符。其形式通常有两种:[root@localhost ~]#或者[hcc@localhost ~]$其实$表示普通用户,#表示超级用户(root user)。超级用户是linux系统中权限最高的用户。shell脚本通常是以"#!"(shebang)其实的文本文件,如下所示:#!/bin/bashlinux环境下的任何脚本语言,都是以这样一个被称为shebang的特殊行为起始的。/bin/bash是Bash的路径。关于shebang的解...
BASH 的基本语法最简单的例子 —— Hello World!关于输入、输出和错误输出BASH 中对变量的规定(与 C 语言的异同)BASH 中的基本流程控制语法函数的使用2.1 最简单的例子 —— Hello World!几乎所有的讲解编程的书给读者的第一个例子都是 Hello World 程序,那么我们今天也就从这个例子出发,来逐步了解 BASH。用 vi 编辑器编辑一个 hello 文件如下:#!/bin/bash# This is a very simple exampleecho Hello World这样最简单的一...
#!/bin/bashname=”Matto” #变量名和等号之间不能有空格# name=”Blog4Matto” #重定义name变量# readonly name #设置name为只读变量# unset name #删除变量,不能删除只读变量#${name} #使用变量,加大括号是为了识别变量边界# 变量类型1.局部变量:在脚本或命令中定义,仅在当前shell实例中有效2.环境变量:所有程...
mysql1. 卸载旧版本rpm -qa | grep mysql 检查是否有旧版本查询结果:mysql-libs-5.1.73-7.el6.x86_64rpm -e mysql-libs 删除旧版本 rpm -e --nodeps mysql-libs 强行删除2. 安装mysql2.1 安装源码需要编译下载c的编译工具 yum -y install make gcc-c++ cmake bison-devel ncurses-devel2.2 xftp连接上传xftp连接上传到opt文件夹2.3 编译1. tar -zxvf mysql-5.6.14.tar.gz 解压 2. cd mysql-5.6.14 ...
Linux下Shell 备份脚本集合说到Shell大家都不陌生,Shell是Linux下批处理脚本,类似windows下的Vbs脚本等等,能协助我们完成一些自动化的任务,我们前面也介绍了一些Shell脚本协助我们完成了一些计划任务,当然说计划任务也不对,是通过计划任务来调用shell脚本来完成一些自动化任务。废话不多说了,来点实际的,今天呢,我们主要介绍的是环境还是工作中遇到的问题,通过远程来完成一些还原任务, 1.首先是,我们需要将本地备份目录...
For循环##通常For循环用来执行一些重复不变步骤for i in `ls /tmp` ##为ls /tmp设置变量为i do ##所以执行do与Done内的操作,do对应需要done结尾rm -rf $i ##删除ls /tmp查询到的内容done ##参考 #!/bin/sh for i in `seq 10` do echo $i done ##分库备份 #!/bin/bash dbpass="dahaoshanhe123" dbsock=/u01/instance/3306/3306.sock dblist="show databases;"|g...
linux shell下常用输入输出操作符是:1. 标准输入 (stdin) :代码为 0 ,使用 < 或 << ; /dev/stdin -> /proc/self/fd/0 0代表:/dev/stdin 2. 标准输出 (stdout):代码为 1 ,使用 > 或 >> ; /dev/stdout -> /proc/self/fd/1 1代表:/dev/stdout3. 标准错误输出(stderr):代码为 2 ,使用 2> 或 2>> ; /dev/stderr -> /proc/self/fd/2 2代表:/dev/stderr 输出重定向:格式:command-line1 [1-n] > file或文件操作符...
1、显示给定文件夹下的文件的磁盘适用情况[root@localhost program_test]# du -a -h ./320K ./output.tar96K ./reslt_yang.txt4.0K ./curr_dir.md54.0K ./sed_data.txt2、总计磁盘大小使用统计 -c[root@localhost program_test]# du -h -c ./48K ./main4.0K ./abc16K ./dd_test544K ./tar-file404K ./touch_more/test_unzip984K ./touch_more2.9M ./2.9M total //只显示统计 -s[root@local...
检查远程端口是否对bash开放:复制代码 代码如下: echo >/dev/tcp/8.8.8.8/53 && echo "open" 让进程转入后台:复制代码 代码如下: Ctrl + z 将进程转到前台:复制代码 代码如下: fg 产生随机的十六进制数,其中n是字符数:复制代码 代码如下: openssl rand -hex n 在当前shell里执行一个文件里的命令:复制代码 代码如下: source /home/user/file.name 截取前5个字符:复制代码 代码如下: ${variable:0:5} SSH debug 模式:复制代码...
以逆序形式打印行使用awk或tac可以搞定。tac这个命令的名称其实就是反过来书写的cat。(1)、使用tac该命令的语法如下:tac file1file2 …它也可以从stdin中读取:$ seq 5 |tac54321在tac中,\n是默认的行分隔符。但我们也可以用 -s "分隔符"选项指定自己的分隔符。(2)、使用awk使用awk的实现方式如下:$ seq 9 |\awk ‘{lifo[NR]=$0 }END{for(lno=NR;lno>-1;lno--){ print lifo[lno]; }}‘在shell脚本中,\ 可以很方便地将单行命令拆...
复制代码 代码如下:#!/bin/shwhile truedo ps ax -o command | sort | uniq > 1.txt usleep 100000 ps ax -o command | sort | uniq > 2.txt diff 1.txt 2.txt | grep ‘^\+[^\+]‘ | while read a do a=`echo ${a#*+}` if [[ "$a" != "uniq" ]] && [[ "$a" != "sort" ]] && [[ "$a" != "" ]] then echo $a fi donedone原文:http://www.jb51.net/article/44626.htm
在Linux的shell中,经常输入的命令有很多雷同,甚至是一样的, 如果是长命令,再次敲一遍效率真的是很低, 不过可以通过Ctl+r, 查找history中以前输入的命令,很是好用. 按Ctrl+r 之后,输入一些关键的命令,既是用模糊查询,进行查找.比如我常用的 scp按快捷键之后 (reverse-i-search)`scp‘: dongjunjie@*.*.*.*:/home/dongjunjie/*.gz ./ 即可出来.非常方便原文:https://www.cnblogs.com/xd502djj/p/9373688.html
点击返回 自学Linux命令行与Shell脚本之路7.3-linux共享文件在linux系统中共享文件的方法是通过创建组。1. linux为每个文件和目录存储了3个额外的信息位:SUID设置用户ID 当文件被用户使用时,程序会以文件属主的权限运行SGID设置组ID 对文件来说,程序会以文件属组的权限运行对目录来说,目录创建的新文件会以目录的默认属组作为默认属组粘着位 进程结束后文件还驻留在内存中SUID设置用户ID用s表示。用户对应的前三位的x位...
1. 在当前目录下,查找20分钟内,被访问过的文件, 并将文件的详情显示出来: find ./ -name '*.log' -mmin -20 -exec ls -l {} \; 注释:其中{}将会被文件名替换,而;冒号用于表示命令结束。而;由于用于ls命令,而非find命令,所以需要escaped by \或者用单引号包起来。2014年6月23日19:02:252.关于如何查看隐藏文件:ls -a2014年6月24日09:39:02 3.grep正则表达式:何为转义:将特殊符号当普通符号来处理笔记:1.^在[]内外的含...
点击返回 自学Linux命令行与Shell脚本之路3.4-文件处理命令touch cp mv rm1. touch命令一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。 touch(选项)(参数) 选项-a:或--time=atime或--time=access或--time=use 只更改存取时间;-c:或--no-create 不建立任何文件;如果文件不存在,则不要进行创建。-d:<时间日期> 使用指定的日期时间,而非现在的...