Linux学习笔记:Shell基本功能

Shell概念

是底层系统的接口。是命令解释器,将用户的输入转换为OS指令。是编程语言。

常用的shellbash,tcsh

常用符号

<, >, >>  输入/输出重定向

 

|  管道

eg: cat /etc/passwd | sort | more

 

;  顺序命令

eg: date; troff -me largedoc | lpr; date

 

扩展命令:使一个命令的输出成为另一个命令的参数。

$(command) 'command'

eg: vi $(find /home -print | grep xyz)

 

~  用户目录

@  /etc/hosts中的主机名

Shell 脚本

第一行为“# !/bin/sh”,指名运行脚本的环境。

# 为注释符号。

使用变量

  定义变量,例:foo=”hello”

$  引用变量,例:echo $foo

export  将变量导出到environment中,所有的命令都可以访问。变量默认是shell的内部变量,只有shell可以访问。每个变量只需要export一次。PATH变量包含了/bin:/usr/bin:/usr/local/bin目录,所以shell才能够在这些目录下找到用户输入的命令。例:exportPATH=$PATH:/home/xyz

set  查询变量定义;

unset  取消环境变量定义;

declare

Job Control

Job Control是由shell提供的功能,用于同时运行多个命令或Job

Process是操作系统的概念。

 

Foreground/Background

- 同一时刻,只能有一个job运行在前台;

- 运行在前台的job可以和用户交互;

- 运行的job可以suspend(命令:ctrl+z)

- 运行的job 可以中断(命令:ctrl+c)

 

在后台运行job

- 方法1&

- 方法2:使用ctrl+z停止正在运行的job,然后使用命令bg job在后台运行。

 

中止job

- 命令:kill,参数可以是processid,或者job numberJobnumber 通过%引用。

 

查询job

- 命令:jobs

 

job放在前台执行

- 命令:fg

历史命令

history

!n

!!

!?string?

历史命令存储在.bash_hisroty文件中。

Fc使用文本编辑器编辑命令

修改配置

默认基于emacs进行行编辑,修改命令行编辑器为VI

set -o vi

 

几个重要的配置文件

/etc/profile

/etc/bashrc

~/.bash_profile

~/.bashrc

~/.bash_logout

 

可以添加环境变量,添加别名

eg: alias p='pwd; ls -CF'

 

 

你可能感兴趣的:(linux)