导学
- 导学
0.显示提示符格式
[root@cent7 ~]#echo $PS1 \[\e[1;5;41;33m\][\u@\h \W]\$\[\e[0m\]
修改提示符格式范例
PS1="\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]"
提示符格式说明:
- \e 控制符\033
- \u 当前用户
- \h 主机名简称
- \H 主机名
- \W 当前工作目录基名
- \t 24小时时间格式
- \T 12小时时间格式
- !命令历史数
- # 开机后命令历史数
centos范例 PS1="\[\e[1;32m\][\t \[\e[1;33m \]\u\[\e[35m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\\$" 永久生效 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 ubuntu PS1='\[\e[1;35m\][\u@\h \W]\$\[\e[0m\]' echo 'PS1='\[\e[1;35m\][\u@\h \W]\$\[\e[0m\]'' >> .bashrc
- shell基础命令
cat /proc/ cpu info 查看cpu信息,processor 0 为一个U, 1为两个,flags超线程。 lspci 查看主板信息 free –m 查内存 (total属性下显示的是内存的大小)。 fidsk -l 查硬盘空间 df -h 查硬盘 du -sh 查看文件夹大小 top 这个比较全,内存 进程 负载 都有了。 uptime 查运行时间 负载情况 等等的信息
uname -r 查看内核版本
who 查看现在登录的角色
who am i 我用的什么角色登录
echo $SHELL 查看解释器
- 命令的执行过程
shell命令分为内部命令和外部命令
内部命令:存在内核中,用 help和enable可以进行查看
外部命令:存在 $PATH (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin)
通过type可以区别
[root@ubuntu ~]#type hostname #外部命令 hostname is /bin/hostname [root@ubuntu ~]#type alias #内部命令 alias is a shell builtin
- 命令的执行过程
1.先查看内部命令
2.在查看外部命令
- 存在$PATH中的路径查找
- 直接调用内存中的路径,(用过一遍的命令会缓存到内存中)
3.提示
-bash: sfef: command not found
- 存在的一种没有命令的情况
[00:02:18 root@cent8 yum.repos.d]#ls repo [00:03:00 root@cent8 yum.repos.d]#hash hits command 1 /usr/bin/mv 1 /usr/bin/uname 1 /usr/bin/yum 1 /usr/bin/mkdir 3 /usr/bin/ls [00:04:10 root@cent8 yum.repos.d]#mv /usr/bin/ls /usr/sbin/ [00:04:25 root@cent8 yum.repos.d]#ls -bash: /usr/bin/ls: No such file or directory
解决方法:
1.退出终端,重新进入
2.[00:09:48 root@cent8 yum.repos.d]#hash -r
- 别名
[18:21:51 root@cent8 ~]#alias who='who am i' #自定义的优先级高于外部命令和内部命令 [18:22:06 root@cent8 ~]#who root pts/0 2023-05-17 18:21 (10.0.0.1) [18:22:51 root@cent8 ~]#\who #取消别名的定义 root pts/0 2023-05-17 18:21 (10.0.0.1) root pts/1 2023-05-17 18:22 (10.0.0.1)
- 在服务器字符界面,用win显示图形的操作方法
一、
1..安装xmanager,打开Xmanager - Passive
2.在服务器上安装相应的软件,比如gedit
[14:15:42 root@cent8 ~]#yum -y install gedit
3.启动相应的命令
[14:58:18 root@cent8 ~]#export DISPLAY=10.0.0.1:0.0 #这里的地址是自己的电脑虚拟网卡地址
[15:00:23 root@cent8 ~]#yum -y install libglvnd-glx-1:1.3.2-1.el8.i686
root@cent8 ~]#gedit
二、安装mobaxterm
yum install xorg-x11-xauth xorg-x11-fonts-* xorg-x11-font-utils
- screen的安装
解决screen-x.tgz编译报错“configure: error: !!! no tgetent”
wget http://ftp.gnu.org/gnu/ncurses/ncurses-6.2.tar.gz tar zxvf ncurses-6.2.tar.gz cd ncurses-6.2 ./configure --prefix=/usr/local/ncurses make && make install
最后添加环境变量到~/.bashrc
vim ~/.bashrc
添加
export LDFLAGS=-L/usr/local/ncurses/lib
export CPPFLAGS=-I/usr/local/ncurses/include
source ~/.bashrc #使上述修改的环境变量生效
wget http://ftp.gnu.org/gnu/screen/screen-4.8.0.tar.gz
tar -xvf screen-4.8.0.tar.gz
cd screen-4.8.0
// 第1步
./configure
// 第2步,make可能需要安装,sudo yum install make 即可
make
// 第3步
make install
// 第4步
install -m 644 etc/etcscreenrc /etc/screenrc
// 第5步
cp ./screen /bin
- echo
选项: -E (默认) 不支持\解释功能 -n 不自动换行 -e 启用\字符的解释功能
echo"$VAR NAME#用变量值替换,弱引用
echo'$VAR NAME#变量不会替换,强引用
启用命令选项-e,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出
\a 发出警告声
\b 退格键
\c 最后不加上换行符号
\e escape,相当于\033
\n 换行且光标移至行首
\r 回车,即光标移至行首,但不换行
\t插入tab
\\ 插入\字符
\Onnn 插入nnn (八进制) 所代表的ASCII字符
\xHH插入HH (十六进制) 所代表的ASCII数字 (man 7 ascli)
echo 高级用法 在终端中,ANSI定义了用于屏幕显示的Escape屏幕控制码具有颜色的字符,其格式如下: "\033[字符背景额色;字体额色m字符串\033[0m" \033[30m -- 033[37m 设置前景色 \033[40m -- 033[47m 设置背景色
\033[0m 关闭所有属性
\033[1m 设置高亮度
\033[4m 下划线
\033[5m 闪烁
\033[7m 反显
\033[8m 消隐
\033[nA 光标上移n行
\033[nB 光标下移n行
\033[nC 光标右移n列
\033[nD 光标左移n列
\033[x;yH 设置光标位置x行y列
\033[2] 清屏
\033[K 清除从光标到行尾的内容
\033[s 保存光标位置
\033[u 恢复光标位置
\033[?25l 隐藏光标
\033[?25h 显示光标
\033[2J\033[0;0H 清屏且将光标置顶
命令行扩展``:和$() 把一个命令的输出打印给另一个命令的参数,放在``中的一定是有输出信息的命令 $(COMMAND)或`COMMAND`~ 范例:比较“”,"、``三者区别 选择语言 [root@centos8 ~]#echo "echo $HOSTNAME!echo centos8.localdomain” [root@centos8 ~]#echo 'echo $HOSTNAME!’ echo SHOSTNAME [root@centos8 ~]#echo `echo $HOSTNAMEcentos8.1ocaldomain` #结论: 单引号:强引用六亲不认,变量和命令都不识别,都当成了普通的字符串,"最傻"
双引号:弱引用,不能识别命令,可以识别变量,"半傻不精" 反向单引号:里面的内容必须是能执行的命今并目有输出信息,变量和命今都识别,并目会将反向单引号的内容当成命今进行执行后,再交给调用反向单引号的命令继续,"最聪明"