[华为云在线课程][Linux基础入门和帮助][第一章Linux登录和基本操作][学习笔记]
【摘要】 用户类型root用户一个特殊的管理账户也被称为超级用户root已接近完整的系统控制对系统损害几乎有无限的能力除非必要,不要登录为root普通(非特权)用户权限有限造成损害的能力比较有限 终端Terminal终端设备:键盘、鼠标、显示器 终端类型控制台终端:/dev/console串行终端:/dev/ttyS#虚拟终端:tty:teletypewriters,/dev/tty#,tty可以有...
用户类型
- root用户
一个特殊的管理账户
也被称为超级用户
root已接近完整的系统控制
对系统损害几乎有无限的能力
除非必要,不要登录为root - 普通(非特权)用户
权限有限
造成损害的能力比较有限
终端Terminal
终端设备:键盘、鼠标、显示器
终端类型
- 控制台终端:/dev/console
- 串行终端:/dev/ttyS#
- 虚拟终端:tty:teletypewriters,/dev/tty#,tty可以有几个,Ctrl+Alt+F#
- 图形终端:startx,xwindows
CentOS6:Ctrl+Alt+F7
CentOS7:在哪个终端启动,即位于哪个虚拟终端 - 伪终端:pty:pseudo-tty,/dev/pts/# 如:SSH远程连接
查看当前的终端设备
tty命令可以查看当前所在终端
例如:
[root@localhost ~]# tty
/dev/pts/0
交互式接口
交互式接口:启动终端后,在终端设备附加一个交互式应用程序
交互式接口类型
- GUI:Graphic User Interface
X protocol,window manager,desktop
Desktop:
GNOME(C,图形库gtk)
KDE(C++,图形库qt)
XFCE(轻量级桌面) - CLI:Command Line Interface
shell程序
什么是Shell
- Shell是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行
- Shell也被称为Linux命令解释器(command interpreter),Shell本身是一个程序,将用户输入的命令行拆解为"命令名"与"参数"。接着,根据命令名找到对应要执行的程序,对被执行的程序进行初始化,然后将刚才解析出来的参数传给该程序并执行
- Shell是一种高级程序设计语言,提供了变量,函数,条件判断,循环等开发语言的功能
- 由于Shell本身是个程序,所以它可以被任何用户自己开发的各种Shell所替代
各种Shell
- sh:Steve Bourne
- bash:Bourne-Again Shell,GPL,CentOS和Ubuntu默认使用
- csh:c shell,C语言风格
- tcsh
- ksh:Korn Shell,AIX默认Shell
- zsh:MacOS默认Shell
bash shell
GNU Bourne-Again Shell(bash)是GNU计划中重要的工具软件之一,目前也是Linux标准的Shell,与sh兼容显示当前使用的Shell
echo ${SHELL}
显示当前系统使用的所有shell
cat /etc/shells
设置主机名
#临时生效
hostname NAME
#持久生效
hostnamectl set-hostname NAME
例子:
[root@cn-node1-100 ~]# hostname
cn-node1-100.huawei.local
注意:
- 主机名不支持使用下划线,但支持横线,可使用字母,横线或数字组合
- 有些软件对主机名有特殊要求
例子:
[root@cn-node1-100 ~]# hostnamectl set-hostname centos7
[root@cn-node1-100 ~]# systemctl restart postfix
命令提示符prompt
登录Linux后,默认的系统命令提示符毫无个性化,无法明显辨别生产环境和测试环境,而容易导致误操作。可以通过修改PS1变量实现个性的提示符格式,避免犯下低级错误
例子,默认的的提示符
[root@centos7 ~]#
# 表示管理员
$ 表示普通用户
显示提示符格式
[root@centos7 ~]# echo $PS1
[\u@\h \W]\$
修改提示符格式例子
PS1="\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]"
PS1="\[\e[1;32m\][\t \[\e[1;33m\]\u\[\e[35m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\\$"
提示符格式说明
- \e 控制符\033
- \u 当前用户
- \h 主机名简称
- \H 主机名
- \w 当前工作目录
- \W 当前工作目录基名
- \t 24小时时间格式
- \T 12小时时间格式
- ! 命令历史数
- # 开机后命令历史数
例子:在CentOS系统实现持久保存提示符格式
[root@centos7 ~]# echo 'PS1="\[\e[1;32m\][\t \[\e[1;33m\]\u\[\e[35m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\\$"' > /etc/pro
profile profile.d/ protocols
[root@centos7 ~]# echo 'PS1="\[\e[1;32m\][\t \[\e[1;33m\]\u\[\e[35m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\\$"' > /etc/profile.d/
256term.csh lang.sh
256term.sh less.csh
abrt-console-notification.sh less.sh
bash_completion.sh PackageKit.sh
colorgrep.csh sh.local
colorgrep.sh vim.csh
colorls.csh vim.sh
colorls.sh vte.sh
csh.local which2.csh
flatpak.sh which2.sh
lang.csh
[root@centos7 ~]# echo 'PS1="\[\e[1;32m\][\t \[\e[1;33m\]\u\[\e[35m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\\$"' > /etc/profile.d/env.sh
[root@centos7 ~]# cat /etc/pro
profile profile.d/ protocols
[root@centos7 ~]# cat /etc/profile.d/env.sh
PS1="\[\e[1;32m\][\t \[\e[1;33m\]\u\[\e[35m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\\$"
例子:实现Ubuntu系统持久保存提示符格式
[root@ubuntu2004 ~]#tail -1 .bashrc
PS1='\[\e[1;35m\][\u@\h \W]\$\[\e[0m\]'
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)