root 用户
普通( 非特权 )用户
设备终端
键盘鼠标显示器
物理终端( /dev/console )
控制台console
虚拟终端(tty:teletypewriters, /dev/tty# #为[1-6])
tty 可有n个,Ctrl+Alt+F[1-6]
图形终端( /dev/tty7 ) startx, xwindows
CentOS 6: Ctrl + Alt + F7
CentOS 7: 在哪个终端启动,即位于哪个虚拟终端
串行终端( /dev/ttyS# )
ttyS
伪终端( pty:pseudo-tty , /dev/pts/# )
pty, SSH远程连接
查看当前的终端设备:
tty
交互式接口
交互式接口:启动终端后,在终端设备附加一个交互式应用程序
GUI:Graphic User Interface
X protocol, window manager, desktop
Desktop:
GNOME (C, 图形库gtk),
KDE (C++,图形库qt)
XFCE (轻量级桌面)
CLI:Command Line Interface
shell程序:sh (bourn 史蒂夫·伯恩) csh tcsh ksh (korn) bash (bourn again shell)GPL zsh
什么是shell
bash shell
echo ${SHELL}
cat /etc/shells
命令提示符
命令提示符:prompt
显示提示符格式
[root@localhost ~]#echo $PS1
修改提示符格式
输入命令后回车
提请shell程序找到键入命令所对应的可执行程序或代码,并由其分析后 提交给内核分配资源将其运行起来
在shell中可执行的命令有两类
内部命令:由shell自带的,而且通过某命令形式提供
外部命令:在文件系统路径下有对应的可执行程序文件
查看路径:which -a |--skip-alias ; whereis
区别指定的命令是内部或外部命令
type COMMAND
执行外部命令
Hash缓存表
系统初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命 令,找到后会将这条命令的路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在将执行之,如果不存在,将会去PATH路径下寻找。 利用hash缓存表可大大提高命令的调用速率
hash常见用法
命令别名
显示当前shell进程所有可用的命令别名
alias
定义别名NAME,其相当于执行命令VALUE
alias NAME='VALUE'
在命令行中定义的别名,仅对当前shell进程有效
如果想永久有效,要定义在配置文件中
编辑配置给出的新配置不会立即生效
bash进程重新读取配置文件
撤消别名:unalias
如果别名同原命令同名,如果要执行原命令,可使用
命令格式
COMMAND [OPTIONS...] [ARGUMENTS...]
选项:用于启用或关闭命令的某个或某些功能
参数:命令的作用对象,比如文件名,用户名等
注意:
日期和时间
系统时钟:由Linux内核通过CPU的工作频率进行的
硬件时钟:主板
date 显示和设置系统时间
date +%s
date -d @1509536033
hwclock,clock: 显示硬件时钟
-s, --hctosys 以硬件时钟为准,校正系统时钟
-w, --systohc 以系统时钟为准,校正硬件时钟
关机:halt, poweroff
重启:reboot
关机或重启:shutdown
用户登录信息查看命令:
nano 文本编辑
screen命令:
screen –S [SESSION]
screen –x [SESSION]
exit
Ctrl+a,d
screen -ls
screen -r [SESSION]
echo命令
功能:显示字符
语法:echo [-neE][字符串]
说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号
选项:
显示变量
启用命令选项-e,若字符串中出现以下字符,则特别加以处理,而不会将它当成 一般文字输出