用户与管理:
root用户:超级管理员,权限已接近完整的系统控制
对系统的损害几乎有无限的能力,除非必要,不要使用root登录机器
普通用户:权限有限
终端 terminal:
-
-
服务器非必要部件
-
用户与主机交互,必然用到的设备
-
物理终端:直接接入本机的显示器和键盘设备 /dev/console 虚拟终端:
附加在物理终端之上的以软件方式虚拟实现的终端,设备文件路径:/dev/tty#,
CentOS 6默认启动6个虚拟终端 Ctrl+Alt+F#: [1,6]
图形终端:属于虚拟终端,附加在物理终端之上的以软件方式虚拟实现的终端,但额外会提供桌面环境;
模拟终端:图形界面打开的命令行以及基于ssh协议或 telnet协议等远程打开的界面,设备文件:/dev/pts/# [0, ∞)
-
查看当前的终端设备:tty
什么是shell?
-
Shell 是Linux系统的用户界面,提供了用户与内核进行交互操作 的一种接口。它接收用户输入的命令并把它送入内核去执行。
-
shell也被称为LINUX的命令解释器(command interpreter)
-
shell是一种高级程序设计语言
如图所示:
bash shell:
bash 是GNU计划重要的工 具软件之一,目前也是 Linux标准的shell ,与sh兼容。
显示当前使用的shell命令: echo ${SHELL}
显示当前系统所使用的所有shell: cat /etc/shells
命令运行过程:
输入命令后,回车,shell程序找到键入命令所对应的可执行程序或代码 ,并由其分析后提交给内核分配资源将其运行起来
shell中可执行的命令分为两大类,可以用 type COMMADN 查看
内部命令:由shell自带的,而且通过某命令形式提供 enable命令可以启用或禁用内部命令
外部命令::在当前系统的某文件系统路径下有对应的可执 行程序文件
hash命令:搜寻到的外部命令路径结果缓存至kv(key-value)存储中
注意:
-
多选项,以及多参数和命令之间使用空白字符分隔
-
取消和结束命令执行:Ctrl+c,Ctrl+d
-
多个命令可以用;符号分开
-
一个命令可以用\分成多行
具有补全功能的Tab键:
命令补全
路径补全
bash的快捷键:
Ctrl+l 清屏,相当于clear命令
Ctrl+c 取消命令的执行
Ctrl-a 会移动到命令行的最前面
Ctrl-e 会移动到命令行的最后面
Ctrl-u 会删除到行首
Ctrl-k 会删除到行尾
arrow ctrl-b ctrl-f会向左或向右移动一个字符
Esc-b 左移一个单词
Esc-f 右移一个单词
Linux一些简单的命令:
cal -显示日历
screen命令:
功能:用于协同工作,必须登录同一个用户
打开新的screen: screen –S [SESSION]
加入会话: screen –x [SESSION]
退出并关闭screen: exit
剥离当前screen: Ctrl+a,d
显示所有已经打开的screen: screen -ls
恢复某screen screen -r [SESSION]
echo命令:
功能:功能很强大,这只是一小部分功能,如显示字符
echo会将输入的字符串送往标准输出。
输出的字符串间以空白字符隔开, 并在最后加 上换行号
echo "$VAR_NAME": 变量会替换,双引号表弱引用
echo '$VAR_NAME': 变量不会替换,强引用
$echo –e "Enter the file name: \c" ## echo 需要使用-e 参数来打印转义字符.
echo命令选项:
-n 不在字符的最后自动换行
-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
\a 发出警告声
\b 退格键
\c 最后不加上换行符号
\n 换行且光标移至行首
\r 光标移至行首,但不换行
\t 插入tab
\\ 插入\字符
\0nnn 插入nnn(八进制)所代表的ASCII字符
echo -e "\033[43;31mred color\033[0m"
\xHH 插入HH(十六进制)所代表的ASCII字符
命令行扩展、被括起来的集合:
命令行扩展:$( ) 或 `` :把一个命令的输出打印给另一个命令的参数
$ echo "This system's name is $(hostname) "
This system's name is server1.example.com
$echo "i am `whoami` "
i am root
括号扩展:{ } :打印重复字符串的简化形式
$ echo file{1,3,5}
file1 file3 file5
$ rm -f file{1,3,5}