C++面向对象程序设计(三)——1.从C到C++
727
2022-05-29
用户类型
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\]'
Linux
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。