- 常见的shells脚本
- ==每种linux系统上合法的 shell 要写入 /etc/shells 文件==
- Bash shell 命令编修能力 (history)
- 命令与文件补全功能: ([tab] 按键的好处)
- 命令别名配置功能: (alias)
- 命令下达(将一行命令分成两行写)
- /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 # 本人虚拟机非root用户 内容如下 /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的命令补全功能。
# ls -al 这个命令起个名字 alias lm='ls -al'命令下达(将一行命令分成两行写)
如下图 我们用"" 反斜杠将 ll -a 的命令分成两行写



