2.命令行BASH的基本操作

2.命令行BASH的基本操作

Shell是连接用户和kernel的一个壳,将用户指令传递/翻译给kernel,分为:

1CLI命令行界面(如:Linux) ,对于CentOSCLI就是Bash,在CentOS打开的终端terminal,,

2GUI图形用户界面(如:windowsMAC),对于CentOSGUI就是GNOME

Linux支持shell保存在/etc/shellsB家族包括sh/ksh/bash/psh/zshC家族包括csh/tcsh

提示符有:$(普通用户)#(根用户)

切换用户:在$下输入su -即可切换为root用户,exit退出,参数-是切换工作目录和环境变量,建议加,

・命令一般由三部分组成:命令,选项,参数,

命令补全使用Tab可以简化命令输入,自动补全命令/文件名,但无法补全参数,1次不可以连续2次试试,

Bash作业管理:

・添加后台进程如firefox &

ctrl+z暂停某个进程,ctrl+c中止进程,

jobs查看后台进程,-l显示工作的PID

bg(background)让后台进程继续运行,有交互的命令后台不会运行,如top,后台没法交互,运行没意义,

fg(frontground)把后台拿到前台,

shell脚本执行方式:

0,写一个脚本如vim hello.sh

1chmod 755 hello.sh赋予执行权限,./hello.sh运行,(推荐用)

2,通过bash调用:bash hello.sh,无须赋予权限,

shell历史命令:history [选项] [历史命令保存文件]

・默认保存1000条,通过/etc/profile修改historysize=1000

・选项:-c,清零历史命令,

-w,把缓存中的历史命令写入历史命令保存文件~/.bash_history

・其他调用方式:(了解)

・使用上下箭头调用,

・使用!!重复执行上一条命令,

・使用!n重复第n条命令,

・使用!-n重复第n条之前的命令,

・使用!字串重复执行最后一条以该字串开头的命令,

ctr+r更强大,在历史命令内匹配字符(记住)

别名alias

・定义别名alias copy=cp,如有参数或空格,需要双引号,但重启会消失,

・永久保存别名:/root/.bashrc内编辑保存,对应家目录下,

・查看已存在别名alias

unalias copy,删除别名,

・命令执行顺序:1,绝对/相对路径2,别名3bash内部命令4,按照$PATH环境顺序查找,

Bash快捷键:

ctrl+c结束进程,

ctrl+u清除/剪切光标前的字符,ctrl+y粘贴,

ctrl+l清屏,命令clear也可以,

・输入输出重定向:

Linux中,几乎所有命令的返回数据都是纯文本的,而纯文本形式的数据又是绝大多数命令的输入格式,这就让多命令协作称为可能,多命令协作就是通过管道和重定向完成的,

・命令行shell的数据流有以下定义:

STDIN标准输入(键盘)0

STDOUT标准输出(终端)1

STDERR标准错误输出(终端)2

・命令通过STDIN接收参数或数据,通过STDOUT输出结果或通过STDERR输出错误提示,

・命令>文件,将命令结果保存到文件,

・命令>>文件,将命令结果追加保存到文件结尾,

・命令2>文件,将标准错误保存到文件,

・命令2>&1文件,将标准错误+命令结果保存到文件,

2>/dev/null,将错误丢弃,

管道|”,将第一个命令的输出结果作为后一个命令的标准输入,


多命令执行顺序,连接符:


;使多个命令依次运行,不管执行对错,

&&前面命令执行成功,后面的才可执行,

||前面命令执行不成功,后面的才可执行,


通配符:  *匹配任意0或多个字符,

?匹配任意单个字符

[]匹配括号内任意一个字符

[-]匹配括号中任意一个字符范围,0-9a-zA-Z等,

[^]逻辑非,标识匹配不是括号中的一个字符,

・其他特殊符号:

‘’单引号,之间的所有特殊符号都没有,失去特殊含义,hello world!

“”双引号,之间的特殊符号没有特殊含义,但$ ` \例外,分别为:调用变量的值,引用命令,转义符,

``反引号,之间内容是系统命令,在bash中先执行,`ls`

$()和反引号作用一样,推荐,$(ls)

#shell中,#代表注释,

$用于调用变量的值,引用方式$name

\转义符,\之后的特殊字符失去特殊含义,变为普通字符,


你可能感兴趣的:(windows,firefox,background)