鸟哥Linux私房菜_基础篇(第二版)_第十一章学习笔记

第十一章 认识Bash Shell

系统可用的shell:/etc/shells

主要的两个shell:bash 、csh   系统默认:bash shell

用户执行的命令记录在:~/.bash_history

type 命令可查询执行的命令式内部命令还是外部命令

命令格式:command [-option] paremeter

其中,[]并不是实际存在命令中 ,命令太长可以以“\” 转义,“\”后接特殊字符

环境变量通常以大写字母表示,echo $变量 (显示变量内容)

在设置变量时 "=" 两边不能有空格

变量名只能是英文或者是数字,而数字不能作为变量的开头

“ ''” 内的特殊字符转换为一般字符 而“""”内的特殊字符可以保持变量特性

“\” 转义符号可以将特殊符号转换为一般符号

export 提示变量为环境变量

unset 变量名称(取消变量)

在一串命令中,``之内的命令先执行,而其执行结果作为外部输入

env 命令:显示系统的环境变量

$RANDOM 为随机变量 其取值 0~32767之间,若去0~9之间的随机数:declare -i number=$RANDOM * 10 / 32767;echo $number

与当前shell的操作接口有关的变量,都会设置为大写字母

PS1变量:设置系统提示符 其中,\d 日期 \H 完整的主机名 \h 显示主机名称的第一个名称 \t 显示时间(24小时) \T 显示时间(12小时) \A 显示时间(精确到分) \u 显示当前系统的用户账号 \v 显示bash的版本信息 \w 完整工作目录名称 \W 工作目录名称 \# 执行第几个命令 \$ 提示符 $: 本shell的PID ?: 上一个执行命令的回传码

Linux 支持的语系: locale 查看

语系环境变量:/usr/lib/locale目录中

LANG 主语言环境

LC_CTYPE 字符判别的编码

LC_NUMERIC 数字系统的显示信息

LC_TIME 时间系统的显示数据

LC_COLLATE 字符串的比较与排序

LC_MONETARY 币值格式的显示

LC_MESSAGES 消息的显示

LC_ALL 语言环境的整体设置

语系配置文件:/etc/sysconfig/i18n

read 的变量读取从键盘输入的变量 -p 提示信息 -t 秒数

declare 声明变量的属性 -a 数组 -i 整数 -x定义为环境变量 -r 变量只读,不能设置,也不能取消

数组以${数组} 的方式读取

ulimit 限制用户使用的系统资源

-H 严格显示 -S 警告 -a 列出所有的限制 -C 可建立的最大核心文件容量 -d 程序数据可使用的最大容量 -f 此shell可建立的最大文件容量,一般为2G -t可用于锁定的内存容量 -p可用于管道处理数量 -t 可使用的最大CPU时间 -u 用户使用的最大进程数

alias 设置别名 unalias 取消别名

history 历史命令 -n 列出N行 -c 清楚 -a 当前新增的history -r 将histfiles文件中内容读入到当前shell的历史记录中 -w 将当前的历史记录内容加入到histfiles文件中

/etc/issue 或 /etc/motd 设置显示登录消息

/etc/issue.net 设置远程telnet 显示消息

环境变量设置文件:bashrc、~/.bashrc 、~/.profile、/etc/inputrc、source.

注:在命令行输入的变量,命令别名都针对此次登录生效

一. 系统设置值

  1./etc/sysconfig/i18n 语言/语系设置文件

  2./etc/profile 该文件设置的几个重要变量(PATH USER MAIL HOSTNAME HISTSIZE UMASK等)

  3./etc/profile.d/*.sh

  4./etc/man.config (man路径设置)

二.系统设置值

  1.~/.bash_profile (优先) ~/.bash_login 、~/.profile (只要一个即可,登录读取)

  2.~/.bashrc (执行shell时会读取)

  3.~/.history (登录读取)

  4.~/.bash_logout

一般用户登录设置文件:

 1./etc/profile -> /etc/profile.d与inputrc -> ~/.bash_profile 或者 ~/.bash_login 或者 ~/.profile -> ~/.bashrc(最终读取)

# source ~/.bashrc 将设置文件读取到当前shell的环境变量中,立即生效

# . /.bashrc 同上

三. 终端环境设置

stty (set tty)-a 列出参数 “^”表示 ctrl和按那个键的意思

主要参数:

eof:end of file 输入结束

erase:向后删除字符

intr:向当前程序发出一个终端信号

quit:给当前程序发出一个推出信号

stop:停止屏幕当前的输出

susp:给当前运行的程序发一个quit(退出)信号

待续……

准备考RHCE,全面复习下linux基础顺便经典的鸟哥的私房菜学习笔记写上来分享给大家  ---2013.09.09

set 设置输入/输入环境 < $-变量时set的所有设置

通配符与特殊符号:\转义符 将特殊字符还原为一般字符

& 将命令变为后台工作

"``"(非单引号),让``之间的命令先执行

()中间为子shell

[]为字符的组合

{}为命令区块的组合

ctrl+M = Enter

ctrl+S = Enter 暂停屏幕输出

ctrl+Q = Enter 恢复屏幕输出

[] 表示一个字符

- 表示范围

`command` = $(command)

stderror 标准错误输出,文件描述符为 2 使用:2> 或 2>>

stdout  标准输出,文件描述符为 1 使用:1> 或 1>>

stdin 标准输入,文件描述符 0  使用:0> 或0>>

>2> < 右边必须为设备或文件

> 相当于 1> 其中 1 可以省略,1与>之间没有空格

/dev/null 垃圾桶 (一般错误信息发到垃圾桶)

将错误输出和标准输出到同一个文件中 2> &1

;为命令分隔符,;前命令执行完后才执行;后的命令

&& 前为true 才执行&& 后的命令,||前为false 才执行 || 后的命令

command && command || command 判断条件最多有3个

管道命令(pipe)|  管道前后都是命令,|前的命令输出为|后命令的输入

cut命令(剪贴) -d 后接分隔符 与-f一起用,-f根据-d的分割将一段消息分为几段,-f就是取出第几段的意思,-c 是以字符为单位取出固定的字符范围,cut主要讲同一行的内容进行分解。

grep 分析所有消息取出所有的行

   参数:-a 将二进制文件以文本方式搜索

         -c 计算出找到“搜索到的字符”的个数

         -T 忽略大小写

         -n 顺便输出行号

         -v 反向选择 显示出未查找到字符串的那行

sort 排序 排序的字符与语系的编码有关,建议 LC_ALL=C 让语系统一

   参数:-f忽略大小写

         -b忽略空字符

         -M 以月份来排序

         -n 以数字排序,默认以文字方式排序

         -r反向排序

         -u uniq 相同的数据中,进出现一行

         -t 分隔符,默认是以tab分隔

         -k 按照那个字段来排序,通常k与t连用

uniq 去掉重复的记录数

   参数:-i忽略大小写

         -c进行计数

wc -l 显示多少行 (wc 默认显示 行数 字数 字符数)

   参数:-w 显示多少字,英文单词

         -m 显示多少字符

tee    双向重导向 -a 以累加的方式将数据写入到文件中

tr    删除一段消息中的文字或进行文字消息的转换

   参数:-d 删除消息中的字符串

         -s 替换重复的字符

DOS下的转换符^M = \r

col -x 将tab键转换成对应的空格键

join -t join默认以空格为分割符,-i忽略大小写的差异

expand    将tab键转换成空格  -t n (n为空格数) n<=8

unexpand 将tab键转换成tab键

拆分命令:split -b 后接要拆分的文件大小,(单位为:b,k,m)

   参数:-l 按照行来进行拆分

参数代换:xargs  -o将stdin 中的特殊字符换成一般字符

-e 为eof,可接字符串,当xargs分析道该字符串时就停止工作

-p 执行参数询问用户

-n 接次数

xargs 没接命令 默认以tab输出。

减号 - 特殊用途。

         

         


你可能感兴趣的:(基础篇(第二版),Linux私房菜)