`
eksliang
  • 浏览: 598937 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

linux复习笔记之bash shell (2) bash基础

阅读更多
转载请出自出处:http://eksliang.iteye.com/blog/2104329

1.影响显示结果的语系变量(locale)

 1.1locale这个命令就是查看当前系统支持多少种语系,命令使用如下:

[root@localhost shell]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
......

1.2怎么调整系统的语系变量呢?

答:系统默认的语系定义在/etc/sysconfig/i18n这个文件中,我们可以修改这个文件,来调整系统的语系 

[root@localhost locale]# cat /etc/sysconfig/i18n
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"

 

2.变量键盘读取、数组与声明:read,array,declare

2.1.read

要读取来自键盘输入的变量,就是用read这个命令

语法:
read [-pt] var
参数:
-p:后面可以接提示符。
-t:后面可以接等待的“秒数”。
实例1 让用户由键盘输入自己的名字
[root@localhost locale]# read name
ickes   按下回车键后,光标会等待你的输入                    
[root@localhost locale]# echo $name
ickes   刚输入的内容作为了name这个变量的值
实例2 让用户30秒内输入自己的大名
[root@localhost locale]# read -p "you name is:" -t 30 name
you name is:xialiang  有提示的
[root@localhost locale]# echo $name
xialiang  刚输入的内容作为了name这个变量的值

 

 2.2.declare、typeset

 declare或者typeset是一样的功能,就是声明变量的类型,我一般选择用declare

 declare的用法:

 

语法:
declare [-aixr] var
参数:
-a:将后面名为var的变量定义成数组(array)类型
-i:将后面名为var的变量定义为整数(int)类型
-x:用法跟export一样,将后面的var变成一个环境变量
-r:将后面名为var的变量设置只读
实例一:让变量sum进行100+200+300的累加
[root@localhost locale]# sum=100+200+300
[root@localhost locale]# echo $sum
100+200+300     他这是要干啥呢?原来linux默认,若不指定变量的类型,那么这个他的类型就是字符串
[root@localhost locale]# declare -i sum=100+200+300
[root@localhost locale]# echo $sum
600
实例二:将sum变成环境变量
[root@localhost locale]# declare -x sum
[root@localhost locale]# export | grep sum
declare -ix sum="600" 看到了没有,果然包括了i与x的声明
实例三:让sum变成只读属性,不可改动
[root@localhost locale]# declare -r sum
[root@localhost locale]# sum=100
-bash: sum: readonly variable 果然不然改动这个变量了
实例四:让sum变成非环境变量
[root@localhost locale]# declare +x sum  将-变成+就变成了取消操作
[root@localhost locale]# declare -p sum  -p可以单独列出变量的类型
declare -ir sum="600"
但是注意了:-r这个只读属性,一旦设定,就不能够取消,通常需要注销重新登录
 注意了:默认情况下,bash对于变量有几个基本的定义

 

 1).变量类型默认为字符串(从实例一可以看出);

 2).bash环境中数值运算,默认最多仅能达到整数类型,所以1/3的结果是0

2.3.数组

语法相当简单:var[index]=content,如下所示,是不是如此的简单、

 

[root@localhost locale]# var[0]=1
[root@localhost locale]# var[1]=ickes
[root@localhost locale]# echo ${var[0]}
1
[root@localhost locale]# echo ${var[1]}
ickes
一般来说,建议直接以${数组}的方式来读取,会比较正确无误
 3.命令别名设置:alias,unalias

 

 这个相当容易理解,通过一个例子来阐述如下:就是如此的简单

 

[root@localhost ~]# alias l='ls -al'
[root@localhost ~]# l
单独使用,可以查看哪些命令是命名别名
[root@localhost ~]# alias
alias cp='cp -i'
alias l='ls -al'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
 取消该命令别名就是用
[root@localhost ~]# unalias l
 
4.历史命令:history
bash有提供命令历史的服务。那么如何查询我们曾经执行过的命令呢?
答:用history命令
 
语法:
history [n]
history [-c]
histroy [-raw] histfiles
参数:
n:数字,列出最近的n条命令的意思
-c:将目前的shell中所有history内容清除
-a:将目前新增的history命令新增如histfiles文件中,若没有加histfiles这个文件,则默认写人~/.bash_history.
-r:将histfiles的内容读到目前这个shell的history记忆中
-w:将目前的history记忆内容写入historyfiles中
实例一:列出当前内存中所有的history记忆
[root@localhost ~]# history
内容太多,篇幅较大,我不展示了
实例二:列出目前最近的3条数据
[root@localhost ~]# history 3
 1134  history[root@localhost ~]# history 3
 1135  clear
 1136  history 3
实例三:将目前内存中的history记录写入hist.txt文件
[root@bogon ~]# history -w hist.txt
 在正常情况下,历史命令的读取与记录是这样的:
当我们以bash登录linux主机之后,系统会主动由主文件夹的~/.bash_history读取以前曾经执行过的命令,假设我们这次登录主机后,共执行过100次命令,等我注销是,系统就会将101~1000这总共1000笔历史命令更新到~/.bash_history当中。也就是说,历史命令在我注销时,会将最近的HISTSIZE条记录到我的记录文件当中。当然也可以使用history -w强制立即写入。
0
0
分享到:
评论

相关推荐

    Linux零基础学习笔记 Shell编程-菜鸟入门(超详细)

    Linux是开源的操作系统,它的命令行界面,尤其是Shell编程...因此,无论你是技术小白还是希望进一步提升,这份“Linux零基础学习笔记 Shell编程-菜鸟入门”都会是你宝贵的资源。祝你在学习的道路上越走越远,不断进步!

    Bash shell 学习笔记

    ### Bash Shell 学习笔记知识点概览 #### 1. 引言 - **Shell**:作为用户与操作系统之间的桥梁,Shell提供了一种与系统进行交互的方式,支持用户执行命令和编写脚本来自动化任务。 - **Bash**:是Bourne-Again ...

    Bash_Shell 小笔记

    **Bash Shell 小笔记** Bash Shell是Unix/Linux操作系统中最常用的一种命令行解释器,全称为Bourne-Again SHell,它是GNU项目的一部分,是Linux系统默认的Shell环境。Bash Shell提供了丰富的命令行交互功能,允许...

    《Linux命令行与Shell脚本编程大全》随书的一些源码、笔记_Linux_Shell-Bash-.zip

    《Linux命令行与Shell脚本编程大全》随书的一些源码、笔记_Linux_Shell-Bash-

    Bash_shell学习笔记

    根据给定的"Bash shell学习笔记"文件信息,我们可以从中提炼出多个重要的IT知识点,具体如下: ### 1. 引言 - **Shell的角色**:Shell作为一个命令解释器和编程语言,在用户与UNIX/Linux系统内核之间提供了一个桥梁...

    bash_shell笔记_1_脚本基础知识

    ### bash_shell笔记_1_脚本基础知识 #### 一、Shell基本概念与使用 Shell是Linux操作系统中的一个重要组成部分,它充当用户与系统内核之间的接口。通过Shell,用户可以执行命令、运行程序以及进行各种系统管理操作...

    bash shell学习笔记

    bash快捷键、Linux有关网络配置的命令 一、创建shell脚本、重定向输入与输出、执行数学运算、退出脚本 二、shell脚本中的各种结构化命令的格式与用法(for、while、until、break等) 三、处理用户的输入:命令行参数...

    linux运维学习笔记:Shell脚本书写规范.pdf

    Linux运维学习笔记:Shell脚本书写规范 Shell脚本是Linux系统中一种极为重要的工具,它能够帮助用户执行批量的命令操作,自动化日常运维任务。编写规范、易于理解的Shell脚本不仅有助于提高工作效率,而且方便日后...

    linux shell 笔记 (未整理)

    Linux Shell笔记(未整理) Shell,作为Linux操作系统中的命令行解释器,是用户与系统交互的重要接口。它接收用户输入的指令,将其转化为系统可执行的命令,同时也提供了编写脚本的能力,使得复杂的任务自动化变得...

    bash学习笔记:Bash_是_Unix_系统和_Linux_系统的一种_Shell(命令行环境

    bash学习笔记:Bash_是_Unix_系统和_Linux_系统的一种_Shell(命令行环境),_Bourne-Again-SHell

    马哥的linux学习笔记

    最后,笔记还涉及了一些高级话题,如脚本编程(bash shell script)、系统监控(如top、htop、iotop等)、性能调优和故障排查方法。这些内容有助于提升读者解决实际问题的能力。 综上所述,《马哥的Linux学习笔记》...

    linux shell语言基础笔记 xmind

    这份“Linux Shell语言基础笔记xmind”显然是一个整理了Shell基础知识的思维导图文件,对于初学者或者需要复习Shell语法的人来说,是一个极好的学习资源。 首先,让我们来探讨一下Shell的基础知识。在Linux中,最...

    Linux bash基本语法笔记

    Linux Bash是Unix和类Unix操作系统(如Linux)中默认的Shell,它是一个命令行解释器,用户通过它来与系统交互。Bash shell提供了一系列的命令行工具和语法,使得用户能够高效地管理文件、执行程序、自动化任务。这篇...

    linux常用命令之bash入门指南.zip

    在Linux操作系统中,Bash(Bourne-Again SHell)是默认的命令行解释器,也是用户与系统交互的主要工具。这篇文档“linux常用命令之bash入门指南”旨在帮助初学者掌握Bash的基本用法和常用命令,从而更有效地在Linux...

    马哥linux手写笔记

    2. **命令行操作**:Linux的强大在于其命令行工具,笔记可能会详细介绍各种常用命令,如ls、cd、cp、mv、rm、vi/vim编辑器、grep、find、sed等,以及如何通过shell脚本自动化任务。 3. **权限与用户管理**:Linux的...

    linux与unix shell编程指南读书笔记.rar

    Linux与Unix Shell编程指南读书笔记提供了深入理解和熟练掌握Shell脚本编写技巧的宝贵资源。Shell是Linux和Unix操作系统中的命令解释器,它不仅用于交互式地执行命令,还能编写自动化任务的脚本,极大地提高了系统...

    入门到熟练 高效 Bash Shell 学习笔记材料书籍 BashNotesForProfessionals

    一本特别实在的 Bash 笔记教程,学习效率很高。是一份不可多得的高效 Bash 学习材料。如果你想学习 Bash Shell、Bash 脚本编程,看它绝对没错。免费分享!不用积分,更不用付费! 或者从此处直接下载: ...

    linux运维学习笔记:Shell变量.pdf

    Linux Shell变量知识点: 1. 变量概念: 在Linux Shell编程中,变量是存储数据的基本单元。变量可以看作是一个容器,用于临时存储字符串、数字等数据类型,包括但不限于路径、命令结果等。变量通过赋值操作符“=”...

    linux笔记笔记笔记笔记

    3. **Shell脚本**:Shell脚本是Linux系统中的批处理程序,使用Bash或其他Shell解释器执行。编写Shell脚本可以自动化日常任务,提高工作效率。基础元素包括变量、条件语句、循环、函数等。 4. **DDNS**:动态域名...

Global site tag (gtag.js) - Google Analytics