常见的shells脚本
- /bin/sh (已经被 /bin/bash 所取代)
- /bin/bash (就是 Linux 默认的 shell)
- /bin/ksh (Kornshell 由 AT&T Bell lab. 发展出来的,兼容于 bash)
- /bin/tcsh (整合 C Shell ,提供更多的功能)
- /bin/csh (已经被 /bin/tcsh 所取代)
- /bin/zsh (基于 ksh 发展出来的,功能更强大的 shell)
各种shell脚本的功能都差不多。
每种linux系统上合法的 shell 要写入 /etc/shells 文件
view /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
当你需要连接某台linux服务器,一般都使用远程工具连接,当你连接的时候就会去检查使用者的可用shell,可能/bin/bash的可以执行脚本的内容很多,你又不想让连接上来的用户在连接时获取更多的权限,就需要添加一个功能简单的shell,如nologin等
/sbin/nologin 这个东西看上去奇奇怪怪的。
某些FTP 网站会去检查使用者的可用 shell ,而如果你不想要让这些使用者使用 FTP 以外的主机资源时,可能会给予该使用者一些怪怪的 shell,让使用者无法以其他服务登陆主机。 这个时候,你就得将那些怪怪的 shell 写到 /etc/shells 当中了。
我这个使用者什么时候可以取得 shell 来工作呢? 还有, 我这个使用者默认会取得哪一个 shell 啊? 当我登陆的时候,系统就会给我一个 shell 让我来工作了。 而这个登陆取得的 shell 就记录在 /etc/passwd 这个文件内!这个文件的内容如下
[userwin@MiWiFi-R3L-srv etc]$ view passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
..........
Bash shell 命令编修能力 (history)
~/.bash_history 记录的是前一次登陆以前所运行过的命令, 而至于这一次登陆所运行的命令都被缓存在内存中,当你成功的注销系统后,该命令记忆才会记录到 .bash_history 当中!
命令与文件补全功能: ([tab] 按键的好处)
- [Tab] 接在一串命令的第一个字的后面,则为命令补全;
- [Tab] 接在一串命令的第二个字以后时,则为『文件补齐』!
工作中,经常使用文件补齐,却忘记了Tab的命令补全功能。
命令别名配置功能: (alias)
alias lm='ls -al'
命令下达(将一行命令分成两行写)
如下图 我们用"" 反斜杠将 ll -a 的命令分成两行写
|