linux shell 基础知识

8.1  shell 基本介绍

什么是shell :

1. shell  是一个命令解释器,提供用户和机器之间的交互

2. 支持特定语法,比如逻辑判断,循环

3.每个用户都可以有自己特定的shell

4. CentOS7 默认shell 为bash (Bourne Agin shell)

5. 还有zsh,ksh等 (系统默认没有安装,需要用 yum 命令进行安装)

8.2 命令历史

通过上下方向键 可以查看输入的历史命令。这些命令的存储地址是在

/root/.bash_history  目录下:

可以t通过history 命令查看输入的条目数。

这个文件下,可以最多存储1000条历史记录。HISTSIZE 系统内置的变量,最大为1000

history -c  把内存当中的命令给清空了。

HISTSIZE  是 /etc/profile 文件下的系统参数变量。

在修改了HISTSIZE 这个参数之后,需要输入SOURCE 命令才能够生效。

记录命令是什么时候运行的命令: HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "  此命令,尽在当前终端是生效的,如果再开一个终端,打开就是为空的。

永久保存  chattr  + a ~/.bash_history

! n (n 是执行命令的条目编码)!echo 倒叙找echo 最近的命令

!! 执行上一个命令(相当于按了向上键)

总结:

1. history n:列出最近的N条命令行的意思。

2. history -c : 将当前shell 中的所有history内容全部清除

3.history  -a: 将目前新增的history 命令新增入:histfies中。

4.history -r:将hisfiles的内容读到目前这个shell的history 历史里。

5. history -w:将目前history 记忆内容写入histfiles中

6.!number: 执行第几条命令

7.! command: 由最近的命令向前搜寻命令串开头为command的那个命令,并执行。

8.3 命令补全和别名

tab 键自动补全。

 

alias 别名,给命令重新起名字

各用户都有自己配置别名的文件  ~/.bashrc 

ls /etc/profile.d/

自定义的alial 放到~/.bashrc 文件中。

8.4 通配符

通配符的格式比较灵活,请看如下:* 代表一个或多个字符

? 代表一个字符。

【】  代表一个范围。

{ } 和[ ]基本一致,只不过中间需要加上逗号。

8.5 输入输出重定向

>   表示把前一个文件的内容输出,输入到后一个文件里面;原来的文件的内容被清除掉了。

>> 和>功能一致,只不过不清除原来文件的内容,叫追加。

2> err   把一个命令产生的错误信息,输入到err文件中。表示错误的信息。

2>> err    追加错误的信息

输入重定向:

8.6 管道符和作业控制

管道符:表示把前面一个文件的输入,传递给后面的一个命令。grep 表示过滤。

Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。

作业控制:

Ctcl+z  暂停当前作业。bg 回到暂停的作业中。

8.7 shell变量(上)

变量:  

PATH :  环境变量。  系统内置的变量。HOME, PWD,LOGNAME.

通过env  来获取到变量。

set : 不仅仅查看系统内置的变量,还可以查看到用户自定义的变量。

定义变量:echo  查看变量?

在文件中,/ + 字符。表示在文件中,查询该字符的关键字。

变量名规则: 字母、数字下划线、首位不能为数字。

变量值有特殊符号时需要用单引号括起来。

8.8 shell变量(下)

w  可以看到当前用户登录系统的详细信息

查看当前登录,在哪个PTY中。可用命令: echo  $SSH_TTY

Linux pstree命令将所有行程以树状图显示,树状图将会以 pid (如果有指定) 或是以 init 这个基本行程为根 (root),如果有指定使用者 id,则树状图会只显示该使用者所拥有的行程。

  • -a 显示该行程的完整指令及参数, 如果是被记忆体置换出去的行程则会加上括号
  • -c 如果有重覆的行程名, 则分开列出(预设值是会在前面加上 *)

全局变量:export

全局变量是向下兼容的,不能向父BASH生效,只能在子BASH中生效。

8.9 环境变量配置文件

以上文件分了两个层次,一个层次是系统层面的  /etc/ 下的。一个层次是用户家目录下的~/.

系统的配置文件不能去编辑。可以编辑用户家目录下的配置文件。

source命令用法:source FileName

作用:在当前bash环境下读取并执行FileName中的命令。

注:该命令通常用命令".”来替代。

~/.bash_logout : 用来定义用户退出的时候,要做的一些操作。

PS1  是在/etc/bashrc 里面定义的 。就是可以改前面的参数

猜你喜欢

转载自blog.csdn.net/weixin_40876986/article/details/88983095
今日推荐