root用户:一个特殊的管理帐户也被称为超级用户,root已接近完整的系统控制。对系统损害几乎有无限的能力,除非必要,不要登录为root
普通(非特权)用户:权限有限,造成损害的能力比较有限
CentOS 6 :UID 0为管理员 1-500为系统用户 500之后为普通用户
CentOS 7 :UID 0为管理员 1-1000为系统用户 1000之后为普通用户
UID为0即为管理员,可有多个用户名的UID为0,也就是可以有多个管理员
w、who 查看当前所有用户
whoami 、who * * 查看当前用户
服务器非必要部件,用户与主机交互,必然用到的设备
物理终端:直接接入本机的显示器和键盘设备/dev/console
虚拟终端:附加在物理终端之上的以软件方式虚拟实现的终端,设备文件路径:/dev/tty#,CentOS 6默认启动6个虚拟终端Ctrl+Alt+F#: [1,6]
图形终端:属于虚拟终端,附加在物理终端之上的以软件方式虚拟实现的终端,但额外会提供桌面环境Ctrl+Alt+F1;
模拟终端:图形界面打开的命令行以及基于ssh协议或telnet协议等远程打开的界面,设备文件:/dev/pts/# [0, ∞)
查看当前的终端设备:tty
切换终端 Ctrl+Alt+Fn 或使用命令 chvt n
runlevel 5 下重启X window: Ctrl+Alt+Backspace或init 3 后init 5
交互式接口:启动终端后,在终端设备附加一个交互式应用程序
GUI:Graphic User Interface protocol, window manager, 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 是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。
shell也被称为LINUX的命令解释器(command interpreter)
shell是一种高级程序设计语言
GNU Bourne-Again Shell(bash)是GNU计划中重要的工具软件之一,目前也是Linux标准的shell ,与sh兼容。CentOS默认使用
显示当前使用的shell:
echo ${SHELL}
显示当前系统使用的所有shell:
cat /etc/shells
命令提示符:prompt
[root@localhost~]#
显示提示符格式:
[root@localhost~]:echo $PS1
[\u@\h \W]\$
\u 用户名
\h 第一个点号前的主机名
\W 工作目录的最后一个目录
PS1中各符号的意义
prompt:
管理员:# 普通用户:$
输入命令,回车,提请shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来
在shell中可执行的命令有两类:
内部命令:由shell自带的,而且通过某命令形式提供
外部命令:在当前系统的某文件系统路径下有对应的可执行程序文件;which,whereis
区别当前使用的命令是内部或外部命令:
type -a COMMAND 查看命令类型(包括内部命令、外部命令及命令别名)
enable COMMAND 启用内部命令
enable -n COMMAND 禁用内部命令
hash命令:
搜寻到的外部命令PATH路径结果缓存至kv(key-value)存储中(只有从PATH路径中并执行后才会有缓存)
hash :显示hash缓存
hash –r :清除缓存
hash -d COMMAND:删除指定的命令
COMMAND [OPTIONS...] [ARGUMENTS...]
选项:用于启用或关闭命令的某个或某些功能;
短选项:-c, 例如:-l, -h
长选项:--word,例如:--all, --human-readable
参数:命令的作用对象,比如文件名,用户名等
注意:
1、多选项,以及多参数和命令之间使用空白字符分隔
2、取消和结束命令执行:Ctrl+c,Ctrl+d
3、多个命令可以用;符号分开
4、一个命令可以用\分成多行
系统时钟:由Linux内核通过CPU的工作频率进行的;
硬件时钟:主板CMOS(只有通过系统时钟修改硬件时钟)
date:显示系统时钟
hwclock,clock: 显示硬件时钟
-s, --hctosys以硬件时钟为准,校正系统时钟
-w, --systohc以系统时钟为准,校正硬件时钟
设置系统时间 date [MMDDhhmm[[CC]YY].ss]
如2000年8月10日10时30分30秒
date 081010302000.30
cal-显示日历 [[MM][[CC]YY]
nano–文本编辑
^指Ctrl M-指Alt
screen命令:
打开新的screen:
screen
退出并关闭screen:
exit
剥离当前screen:
Ctrl+a,d
显示所有已经打开的screen:
screen -ls
恢复某screen
screen -r [SESSION]
终端共享(需要同一用户同时登录在同一台主机)
screen -S ID:发起共享
screen -x ID : 参与共享
echo命令
功能:显示字符
语法:echo [-neE][字符串]
说明: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字符
df 查看挂载信息
-h 以人类易读的方式列出如KB、MB、GB
图形界面下设置开机自动(管理员与普通用户均可)
vim /etc/gdm/custom.conf 在[deamon]下添加如下两行
AutomaticLoginEnable=Ture
AutomaticLogin=用户名
注:危险操作,仅供实验操作。
退出登录: exit | logout | Ctrl+d
清除屏幕: clear | Ctrl+l
终止程序:Ctrl+c
which 文件名:在PATH路径中寻找外部命令
whereis 文件名:在文件数据库中寻找文件
ls 查看文件
-a 查看所有文件,包括. .. 及以.开头的隐藏文件
-A 查看所有文件,但不包括. ..
-l 查看详细信息