bash学习

bash编程学习

mkdir -p

cd ~

ls -a

tail -f  /var/log/httpd/access

grep -i

-E 同时过滤多个字符

alias 别名

which 查看文件所在路径。

tree -L 查看文件目录

seq -s 打印数字序列echo {1,5}

whoami

w 当前登录的用户

sudo 让普通用户可以有root权限

lsof -i:port 列表打开的文件(初级)

chkconfig

netstat

chattr 改变文件属性

;多个命令的分隔

2>标准错误输出

shell

shell 是命令器

shell 脚本

清空文件可以用

cat /dev/null > messages

vim qk.sh

#!/bin/bash

cd /var/log

cat /dev/null > messages

dmesg/var/log/messages是系统故障工具

shell在工作中上的地位和作用

shell 处理纯文体的东西

常用shell

cat /etc/shells

echo $SHELL

shell 语法

#!/bin/bash

如果不指定就会看系统哪个脚本用哪个。

bash --version

echo $USER(系统环境变量)

shell 脚本执行

1、bash script-name

2、path/script

3、source script 或 .script name

source 和 . 可以把变量和函数带入到shell中

shell 脚本行为习惯

# date

# author

# mail

# version

ps:[ a ] 两边要有空格

shell变量基础及深入

变量类型

环境变量(全局)

/etc/bashrc;/etc/profile;/etc/profile.d(crond任务要注意),以后要用export 来输出

环境变量设置的常用文件与区别

/etc/profile.d/ 登录之后生效

查看环境变量: env

export 变量名=value

export OLDBOY=37

export //环境变量生效

想永远生效

/etc/profile下所有用户生效,全局变量

局部变量

定义

取消环境变量

unset 变量名

显示环境变量

echo $HOME

printf

引号总结,变量定义数据不加“”,其他默认加“”

双引,

把双引号内容输出:如果内容中有命令(要反引下)、变量、特殊转义符,会先把变量、命令、转义符解析出结果。

无双引号

不可以用空格

ex:

echo ‘today is date‘

echo ‘today is `date`‘

echo "today is ‘date‘""

echo "$(date)"

echo $(date +%F).tar.gz

tar cvf "etc.$(date +%F).tar.gz" /etc

ls -l `which cat`

时间: 2024-09-30 22:08:44

bash学习的相关文章

BASH 学习笔记小结

1. Linux 脚本编写基础 1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编辑好脚本时,如果要执行该脚本,还必须使其可执行. 要使脚本可执行: 编译 chmod +x filename 这样才能用./filename 来运行 1.1.2 注释 在进行shell编程时,以#开头的句子表示注释,直到这一行的结束.我们真诚地建议您

Linux入门之bash学习

一.认识计算机硬件组成部分: 冯.诺伊曼体系结构定义了计算机有运算器.控制器.存储器.输入设备.输出设备五大部分    组成,还有一个原则是:必须是二进制的程序才能在系统中运行,它只能处理二进制文件.因此需    要将程序的源代码编译成二进制. 二.Linux哲学思想: 1.一切都是一个文件(包括硬件) 2.小型,单一用途的程序 3.链接程序,共同完成复杂的任务 4.避免令人困惑的用户界面 5.配置数据存储在文本中 三.了解ABI与API: ABI:应用程序二进制接口. API:应用程序做开发的

bash学习前方

#!/bin/sh #!/bin/bash 查看shell版本 bash --version bash 漏洞 bash漏洞是控制Linux计算机命令提示符的软件中存在的漏洞.利用这个漏洞,攻击者可能会接管计算机的整个操作系统,得以访问机密信息,并对系统进行更改等等.任何人的计算机系统,如果使用了Bash软件,都需要立即打上补丁 此次爆出的bash 漏洞在于BASH处理这样的"函数环境变量"的时候,并没有以函数结尾"}"为结束,而是一直执行其后的shell命令!例如

linux bash学习(一)

1.请你以 read 指令的用途,撰写一个 script ,他可以让使用者输入:1. first name 与 2. last name, 最后并且在屏幕上显示:"Your full name is: "的内容: #!/bin/bash #Program: # use input his first name and last name.Program shows his full name. #History: #2017/07/27 lzyer release read -p &q

bash学习笔记——bash是什么

bash是shell的一种,所谓的shell(壳)是一个接口,这个接口提供给用户操纵系统的能力,广义的shell包括图形界面和命令行界面,狭义的shell是指命令行界面的接口,这里的bash就是一种狭义的shell.Shell可以调用其他的程序,也可以执行一些自己本身支持的命令. bash是Bourne Again Shell的简称,是Linux的默认shell.系统一般会提供多个可用的shell,可用的shell写在配置文件/etc/shells中,用户使用的shell在用户登录系统时就可以指

bash学习笔记——Shell变量

在shell环境中可以设置变量,方便用户的使用.用户可以自定义变量,通过简单的语法就可以直接在shell环境中实现,例如:”x=100”等.同时,还有一些变量可以影响bash环境的操作,称为环境变量,例如PAHT,HOME,MAIL等,为了与自定义变量进行区别,这些变量一般为大写.其中,PATH变量是shell搜索外部命令(即外部应用)的路径,如果在PATH路径中没有找到命令,则shell会显示无法找到命令. 变量内容可以通过echo命令来显示,变量名字前需要加$符号.关于单引号与双引号,单引号

bash学习笔记——特殊字符

{xxx,yyy,zzz,...} 一个命令可以在文件名扩展中从逗号分隔的各模式来扩展参数列表. 文件名将会依照列表中逗号分隔开的模式匹配扩展. 在扩展中的所有模式都不能包含空白字符,除非空白字符是被转义或引用的. echo {file1,file2}\ :{\ A," B",' C'} file1 : A file1 : B file1 : C file2 : A file2 : B file2 : C scriptname >filename重定向scriptname的输出到

bash学习笔记——变量

在一个双引号(" ")里的变量引用不会禁止变量替换.所以双引号被称为部分引用,有时也称为"弱引用".而在一个单引号里(' ')的变量替换是被禁止的,变量名只被解释为普通的字面意思.所以单引号被称为"全局引用",有时也被称为强引用. hello="A B C D" echo $hello # A B C D echo "$hello" # A B C D # 正如你所看到的:echo $hello和echo

数据流重定向和管道命令(bash学习02)

标准输入输出和错误 标准输入(stdin) 是指令数据的输入,代码为0,使用<或者<<,默认是键盘 标准输出(stdout)是指令执行成功返回的结果,代码为1,使用>或者>>,默认由屏幕显示 标准错误输出(stderr)是指令执行失败返回的错误信息,代码为2,使用2>或者2>>,默认是屏幕 < 指定输入的数据媒介来源1> 将正确的内容 覆盖输出到指定的媒介1>> 将正确的内容 追加到指定的媒介2> 将错误信息覆盖输出到指定