一、什么是Shell:
Shell 是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。
shell*也被称为LINUX的命令解释器(command interpreter)。
shell是一种高级程序设计语言。
bash shell
GNU Bourne-Again Shell(bash)是GNU计划中重要的工具软件之一,目前也是 Linux标准的shell,与sh兼容
显示当前使用的shell
- echo ${SHELL}
显示当前系统使用的所有shell
- cat /etc/shells
二、Unicode和UTF-8
示例:
“汉”的 Unicode 码 0x6C49(110 110001 001001),需要三个字节存储,格式为: 1110xxxx 10xxxxxx 10xxxxxx,从后向前依次填充对应格式中的 x,多出的 x 用 0 补,得出UTF-8 编码为 11100110 10110001 10001001
"马”的 Unicode 码 0x9A6C(1001 101001 101100),需要三个字节存储,格式为: 1110xxxx 10xxxxxx 10xxxxxx,从后向前依次填充对应格式中的 x,多出的 x 用 0 补,得出UTF-8 编码为11101001 10101001 10101100
三、命令行扩展、被括起来的集合
命令行扩展:$( ) 或 ``
把一个命令的输出打印给另一个命令的参数
echo "This system's name is $(hostname) "
Thissystem's name is server1.example.com
echo "i am `whoami` "
四、bash的快捷键
快捷键 | 选项 | 执行结果 |
---|---|---|
Ctrl | +w | 从光标处向左删除至单词首 |
Alt | +d | 从光标处向右删除至单词尾 |
Ctrl | +d | 删除光标处的一个字符 |
Ctrl | +h | 删除光标前的一个字符 |
五、实时查找工具:find
实时查找工具,通过遍历指定路径完成文件查找
语法:find[OPTION]…[查找路径][查找条件][查找动作]
工作特点
- 查找速度略慢
- 精确查找
- 实时查找
- 可能只搜索用户具备读取和执行权限的目录
根据文件类型条件查找
-type TYPE
-user USERNAME:查找找属主为指定用户(UID)的文件
-group GRPNAME: 查找属组为指定组(GID)的文件
-uid UserID:查找属主为指定的UID号的文件
-gid GroupID:查找属组为指定的GID号的文件
-nouser:查找没有属主的文件
-nogroup:查找没有属组的文件
find示例
[root@centos home]#find -user root -ls 查找用户名是root的文件
81 0 drwxr-xr-x 3 root root 22 Sep 19 17:47 .
[root@centos home]#find -user lihuajie -group lihuajie -ls 查找用户名和所属组是lihuajie的文件
3648 0 drwx------ 2 lihuajie lihuajie 17 Sep 19 17:52 ./lihuajie/.cache/imsettings
3649 4 -rw-r--r-- 1 lihuajie lihuajie 1949 Sep 19 17:52 ./lihuajie/.cache/imsettings/log
3656 0 drwx------ 2 lihuajie lihuajie 6 Sep 19 17:52 ./lihuajie/.cache/libgweather
[root@centos ~]#find /data -name "*.sh" 查找data目录下的.sh后缀的文件
/data/1.sh
/data/find.sh
/data/pc.sh