*linux终端类型:
查看当前终端的命令:tty
-
物理终端:直接接入本机放入显示器,键盘设备。路径:/dev/console
-
虚拟终端:附加在物理终端上以软件方式虚拟实现的终端,可以使用ctrl+alt+F[1,6]快捷键来切换虚拟终端。路径:/dev/tty[1,6]
-
模拟终端:图形界面下打开的命令行接口,或基于ssh协议或telnet协议远程打开的界面。路径:/dev/pts/[0,oo]
*路径的表示:
-
绝对路径:以"/"符号开头,表示根路径下的文件。/即表示根路径。如,cd /config。表示进入根路径下的config文件夹内。
-
相对路径:直接写文件名,或文件路径,表示当前路径下的文件。也可以以"./"开头,也表示当前路径。如,cd config或cd ./config。表示进入当前路径下的config文件夹内。
*linux内文件类型:
-
f:普通文件
-
d:目录文件
-
l:符号链接文件
-
s:套接字文件
-
b:块设备文件
-
c:字符设备文件
-
p :管道文件
*shell程序及命令:
-
shell
-
查看当前所用shell的类型:echo $SHELL
-
查看当前系统支持的所有shell类型:cat /etc/shells
-
-
命令:在shell中可执行的命令分为两种,可以通过type命令来查看命令类型:type [命令名称]
-
内建命令:由shell自带的,如,cd
-
外部命令:在当前系统的某文件系统路径下有对应的可执行程序文件,即系统自带的命令
-
查看外部命令的可执行程序文件的路径:如,which [命令名称];或whereis [命令名称]。
-
外部命令的执行即shell去指定路径寻找命令所对应的可执行程序文件,这些路径定义在PATH环境变量中。可以利用 echo $PATH 查看。各个路径之间以“:”分隔。
-
-
-
命令的帮助获取:
-
内建命令:help [命令名称]。help本身也是一个内建命令
-
外部命令:
-
[命令名称] --help/[命令名称] -h
-
man [命令名称]
-
info [命令名称]
-
-
*bash shell的特性
-
利用{}命令行展开:{},可承载一个以逗号分隔的列表,并将其展开为多个路径
-
例,创建/test/x1/y1,/test/x1/y2,/test/x2/y1,/test/x2/y2 多个路径。
-
可以使用 mkdir /test/{x1,x2}/{y1,y2}直接创建。
-
-
{}内还可以进行嵌套。如,创建/test/x1/y1,/test/x1/y2,/test/x1/y1/z1,/test/x1/y1/z2
-
则 mkdir /test/x1/{y1/{z1,z2},y2}
-
-
*bash的配置文件:
-
以生效范围划分:
-
全局配置文件:
-
/etc/profile
-
/etc/profile.d/*.sh
-
/etc/bashrc
-
-
个人配置:
-
~/.bash_profile
-
~/.bashrc
-
-
-
按功能划分:
-
profile类:为交互式shell提供配置
-
定义环境变量
-
运行命令或脚本
-
-
bashrc类:为非交互式的shell提供配置
-
定义别名
-
定义本地变量
-
-
*linux中的通配符glob
-
* :匹配任意数量的任意字符
-
? :匹配单个任意字符
-
[] :匹配指定范围的单个字符。如,[0-9],[a-z](匹配所有字母,不区分大小写),[A-Z](匹配大写字母)
-
[^] :匹配指定范围之外的任意单个字符。如[^0-9]。
-
专用字符集合:注意:使用时还要再加一个[],如,ls a[[:digit:]]b
-
[:digit:]:任意数字,相当于[0-9]。
-
[:lower:]:任意小写字母
-
[:upper:]:任意大写字母
-
[:alpha:]:任意大小写字母
-
[:alnum:]:任意数字或字母
-
[:space:]:空格字符
-
[:punct:]:标点符号
-
*I/O重定向
-
输出重定向:
-
覆盖重定向:>。 格式:命令 > 文件。表示将该命令的输出重定向到指定文件中。
-
追加重定向:>>。格式:同上。
-
如果使用>或>>符号重定向,其实只会重定向标准输出流,如果命令执行中发生了错误,错误信息并不会被重定向。
-
-
错误输出流重定向:2>或2>>。这种方法只会重定向错误输出流。
-
可以将不同的信息输出到不同的文件。例,cat aaa > /test/out 2> /test/err
-
-
合并不同输出流:利用&即将不同的信息输出到一块。例,cat aaa &> /test/out。或,cat aaa > /test/out 2> &1。
-
-
输入重定向:<。利用它可以让一些不能从文件中读数据的指令,从文件中读数据。在此以tr命令为例。
-
tr:替换或删除字符。它默认是从标准输入流(即键盘)读取数据。
-
格式:tr [OPTION]... SET1 [SET2]
-
替换字符:tr abc ABC,将输入的字符中所有的abc换成ABC
-
删除字符:tr -d abc ,删除输入字符中所有的abc字母。
-
-
将tr的输入流重定向为一个文件:tr abc ABC < /etc/fstab。意思是将/etc/fstab内的所有abc字母换成ABC并输出。
-