一、Linux Shell基础

1.1、shell基础

Bash 是一个与Bourne Shell兼容的、执行从标准输入设备文件读取的命令的语言解释器。Bash是Bournae-Again Shell的缩写。Bash与原来的Unix sh Shell向后兼容,并且融合了一些有用的Korn Shell和C Shell的特性。它相对于sh在编程和交互式使用两方面都有功能改进。另外,大部分的sh脚本可以在不修改的情况下由Bash直接运行。

Linux环境由以下几部分构成:


内核-------------------Linux操作系统的核心

Shell------------------为用户和内核提供一个交互环境

终端模拟器-------------允许用户输入命令并在屏幕上回显命令的运行结果

Linux桌面和窗口管理器--Linux桌面是各种软件应用程序的集合、它包含文件管理器、窗口管理器等

与登录Shell相关的文件

当Linux系统的运行级别为3时,用户可以从本地登录到系统控制台,或在系统运行级别为5时直接以图形界面方式登陆。在这两种情况下登录时都需要输入用户名和密码。用户登陆时Bash将会使用以下初始化文件和启动脚本:


/etc/profile------------------系统级的初始化文件,定义了一些环境变量,由登录Shell调用执行

/etc/bash.bashrc或者/etc/bashrc----其文件名根据不同的Linux发行版而异,每个交互式shell的系统级的启动脚本,定义了一些函数和别名

/etc/bash.logout--------------系统级的登录shell清理脚本,当登陆shell退出时执行

$HOME/.bash_profile、$HOME/.bash_login、$HOME/.profile--用户个人初始化脚本,由登录shell调用执行。这三个脚本只有一个会被执行,按照此顺序查找,第一个存在的将被执行

$HOME/.bashrc----------------用户个人的每个交互式shell启动脚本

$HOME/.bash_logout-----------用户个人的登录shell清理脚本,当登录shell退出时执行

$HOME/.inputrc---------------用户个人的由readline使用的启动脚本,定义了处理某些情况下的键盘映射

交互式登录式读取次序:(直接通过终端输入用户信息登录系统)

/etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc

非交互式登录读取次序:(su ,图形界面的终端,执行脚本)

~/.bashrc --> /etc/bashrc --> /etc/profile.d/*.sh

1.2、bash操作基本技巧

(1)光标跳转:


Ctrl+a:跳到命令行首

Ctrl+e跳到命令行尾

Ctrl+u:删除光标至命令行首的内容

Ctrl+k:删除光标至命令行尾的内容

Ctrl+l:清屏

Ctrl+z:将当前命令送至后台

Ctrl+shift+c:复制

Ctrl+shift+v:粘贴

(2)History:查看命令历史列表

-c:清空命令历史

-d [n]: 删除指定位置的命令

-w:保存命令历史至历史文件中

缓冲区中的命令会在shell退出时保存至 .bash_history文件中

命令历史相关的环境变量:

HISTSIZE:命令历史中可以保存的命令的个数;

HISTFILE:命令历史文件;

HISTFILESIZE:命令历史文件可以保存的命令的个数;

HISTCONTROL:控制命令历史的生成;

ignoredups:忽略记录重复的命令;连续的相同命令才为重复;

ignorespace:不记录以空白字符开头的命令;

ignoreboth:同时具有上面两种特性;

(3)命令历史的使用技巧:

!n:执行命令历史中的第n条命令;

!-n:执行命令历史中的倒数第n条命令;

!!: 执行上一条命令;

!string:执行命令历史中最近一个以指定字符串开头的命令

!$:引用前一个命令的最后一个参数(或者Esc, .   Alt+.);

(4)命令别名:在shell中定义的别名仅在当前shell生命周期中有效。

alias CMDALIAS=‘COMMAND [options] [arguments]‘

(5)命令替换: $(COMMAND)  或者 `COMMAND`

(6)文件名通配: globbing


*:任意长度的任意字符

?:任意单个字符

[^]:匹配指定字符范围外的任意单个字符  如:[^0-9]

[]:匹配指定范围内的任意单个字符

[:space:]:空白字符

[:punct:]:标点符号

[:lower:]:小写字母

[:upper:]: 大写字母

[:alpha:]: 大小写字母

[:digit:]:数字

[:alnum:]: 数字和大小写字母

  

时间: 2024-10-07 07:11:48

一、Linux Shell基础的相关文章

Linux shell基础(七)

十六. 文件查找命令find: 下面给出find命令的主要应用示例:    /> ls -l     #列出当前目录下所包含的测试文件    -rw-r--r--. 1 root root 48217 Nov 12 00:57 install.log    -rw-r--r--. 1 root root      37 Nov 12 00:56 testfile.dat    -rw-r--r--. 1 root root 10530 Nov 11 23:08 test.tar.bz2    -

linux shell基础语法

1.第一个Shell脚本 打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php写shell 脚本,扩展名就用php好了. 输入一些代码: #!/bin/bash echo "Hello World !" "#!" 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell.echo命令用于向窗口输出文本. 运行Shell脚本有两种方法. 1.1作为可执行程序 将上面的代码保存为t

Linux shell基础

shell是核心程序kernel之外的指令解析器,是一个程序,同事是一种命令语言和程序设计语言 --shell是命令解析器,用户输入命令,它去解析. shell类型 ash,bash,ksh,csh,tcsh --cat qkxue.net/etc/shells 查看系统下的shell --echo $SHELL 查看当前用户运行的shell shell中可以运行子shell --在命令行键入 1126.www.qixoo.qixoo.com/bin/dash 执行子shell --在子shel

linux shell 基础-2

管道符 fg bg sleep 变量 set 定义变量 变量分类 取消变量 环境变量配置文件 管道符 管道命令操作符是:"|",它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信息,对于 stdandard error 信息没有直接处理能力.然后,传递给下一个命令,作为标准的输入 standard input. 注意: 1.管道命令只处理前一个命令正确输出,不处理错误输出 2.管道命令右边命令,必须能够接收标准输入流命令才行. fg fg命令用于

Linux shell基础(八)

十八.  和系统运行状况相关的Shell命令:    1.  Linux的实时监测命令(watch):    watch 是一个非常实用的命令,可以帮你实时监测一个命令的运行结果,省得一遍又一遍的手动运行.该命令最为常用的两个选项是-d和-n,其中-n表示间隔多少秒执行一次"command",-d表示高亮发生变化的位置.下面列举几个在watch中常用的实时监视命令:    /> watch -d -n 1 'who'   #每隔一秒执行一次who命令,以监视服务器当前用户登录的状

linux shell基础-1

shell history Tab键 alias 通配符 重定向功能 shell shell是一个命令解释器,提供用户和机器之间的交互:Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务. history 作用:bash内建命令,管理命令历史 语法: history [n] 不加数字默认列出内存中HISTSIZE参数设定条

Linux shell基础(九)

十九.  和系统运行进程相关的Shell命令:       1.  进程监控命令(ps):    要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态.进程是否结束.进程有没有僵死.哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的.    ps命令存在很多的命令行选项和参数,然而我们最为常用只有两种形式,这里先给出与它们相关的选项和参数的含义: 选

Linux shell基础(四)

九.  awk实用功能: 和sed一样,awk也是逐行扫描文件的,从第一行到最后一行,寻找匹配特定模板的行,并在这些行上运行"选择"动作.如果一个模板没有指定动作,这些匹配的行就被显示在屏幕上.如果一个动作没有模板,所有被动作指定的行都被处理.       1.  awk的基本格式:    /> awk 'pattern' filename    /> awk '{action}' filename    /> awk 'pattern {action}' filen

第八章 Linux Shell基础

8.1 Shell 介绍 linux的shell简单说就是一个命令行和用户交互的一个进程. 你打命令它会出结果. 类似windows里面的cmd窗口. 8.2 Shell 命令历史 所有敲过的命令都存在 <ls /root/.bash_history> ,这个文件最大可以存1000条<history> 可以查看敲过的命令<echo $HISTORY> 查看环境变量最大可以存多少条 <history -c>清内存命令历史,不能清空命令存储的文件.退出终端时才会