Linux笔记08

2023-03-09 16:25:43 浏览数 (2)

Bash shell的使用环境

登录信息提示:/etc/issue /etc/motd

d 本地端时间的日期 l显示第几个终端接口

m 显示硬件等级 n显示主机的网络名称

r 操作系统的版本 t 24小时格式显示时间

s 操作系统的名称 v操作系统的版本

bash shell系统设定值在/etc/profile和/etc/bashrc个人设定值在/root/.bash_profile /root/.bashrc(设定命令别名) /root/.bash_logout 在注销root是bash会做的事

source变量设定文件 就可以将设定档的内容读入一次

source .bashrc == ..bashrc

终端环境的设置

终端环境设置stty

stty -a将当前所有的stty参数列出来

intr给正在运行的程序发送中断信号

quit给正在运行的程序发送退出信号 ctrl

erase 向前删除字符

kill 删除命令行上的文字 ctrl u

eof文件结束,输入结束 ctrl d

start 重启暂停的输出 ctrl q

stop停止当前输出 ctrl s

susp 给正在运行的程序发送一个终端停止信号 ctrl z

rprnt 输入命令时提示使用过的历史命令

werase 删除命令行的最后一个字 ctrl w

intr = ^C; quit = ^; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q;

stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0

stty erase ^H 自定义快捷键将backspace键定义为向前删除(在定义环境变量时)

------------------------------------------------------------------------------------

万能字符与特殊字符

. 万能字符,代表0个或多个字符

? 万能字符,代表一个字母

# 批注,这个最常被使用在script当中,视为说明

跳脱符号

| 分隔两个管道命令的界定

;连续性命令的界定

& 将指令变成背景下工作

! 逻辑运算意义上的非

/分割路径

>,>> 输出导向

' 不具有变量置换的功能

" 具有变量置换的功能

'' 中间为可以先执行的命令

()在中间为子shell的起始与结束

[]中间为字符组合

{}在中间为命令区块的组合

标准输出指的是指令执行所回传的正确信息,而标准错误输出是指。指令执行失败后,所传回的错误信息不管正确或错误的数据都是默认输出到屏幕上,所以屏幕是乱乱的!是否透过某些机制将这两股数据分开呢? 数据流重导向可以将 standard output (简称 stdout) 与 standard error output (简称 stderr) 分别传送到其他的文件或装置去,而分别传送所用的特殊字符则如下所示:

1. 标准输入 (stdin) :代码为 0 ,使用 < 或 << ;

2. 标准输出 (stdout):代码为 1 ,使用 > 或 >> ;

3. 标准错误输出(stderr):代码为 2 ,使用 2> 或 2>> ;

tee 将数据流同时输出到屏幕和文件

tee -a file

-a:以累加的方式,将数据加入file中

命令执行的判断依据

commadn1;command2利用分号;来分隔这个分号的意思,代表不论command1执行结果为何,command2都会执行

command1 && command2 如果command1正确才执行command2

command1 || command2如果command1错误才执行command2

----------------------------------------------------------------------------------

管道命令

管道命令| 只能处理通过前面一个命令传来的正确信息,也就是标准输出,对于标准错误,没有处理能力

command1 | command2

选取命令cut和grep

cut -d -f fields

cut -c 字符范围

[root@192 ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

[root@192 ~]# echo $PATH | cut -d ':' -f2

/usr/local/bin

[root@192 ~]# echo $PATH | cut -d ':' -f2,4

/usr/local/bin:/usr/bin

[root@192 ~]# echo $PATH | cut -d ':' -f2-4

/usr/local/bin:/usr/sbin:/usr/bin

grep分析一行信息,若其中有需要的信息,就将这一行信息显示出来

grep filename

-a将二进制文件以文本文件的方式搜索数据

-c计算找到搜索字符串的次数

-i忽略大小写的不同,所有大小写视为相同

-n顺便输出行号

-v反向选择,即显示没有搜索字符串的那行

排序命令

sort wc uniq

sort

-f忽略大小写的差异

-b忽略最前面的空格字符部分

-M以月份的名称来排序

-n使用数字排序

-r反向排序

-t 分隔符,默认为tab

-u就是uniq,相同数据,只列出一次

-k按那个字段来进行排序

uniq

-i忽略大小写

-c进行计数

wc

-l仅显示多少行

-w仅显示多少字

-m多少字符

[root@192 ~]# cat 1.txt

统支持的所有变量

I love you

linux

[root@192 ~]# wc 1.txt

4 5 44 1.txt

0 人点赞