第一章 Linux基础
1.终端terminal
查看当前用户终端
[19:21:49 root@yp ~]#tty
/dev/pts/0
2.SHELL
#显示当前使用的SHELL
[19:45:27 root@yp ~]#echo $SHELL
/bin/bash
#显示当前系统可使用的所有shell
[19:48:03 root@yp ~]#cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/usr/bin/tmux
/bin/tmux
3.设置主机名
#主机名临时生效
[19:48:47 root@yp ~]#hostname yp
#设置主机名永久生效
centos7及以上修改方法:
[19:53:26 root@yp ~]#hostnamectl set-hostname NAME
centos6和Ubuntu修改方法:
[19:14:23 root@yp ~]#vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=yuan.localdomain
注:主机名不支持下划线。
4.命令提示符
#显示提示符格式
[19:23:32 root@yuan ~]#echo $PS1
\[\e[1;33m\][\t \u@\h \W]\$\[\e[0m\]
修改范例:
PS1="\[\e[1;32m\][\[\e[0m\]\t \[\e[1;33m\]\u\[\e[36m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\\$"
提示符格式说明:
\e 控制符
\u 当前用户
\h 主机名称简称
\H 主机名称全称
\w 当前工作目录
\W当前工作目录基名
\t 24小时时间格式
\T 12小时时间格式
!历史命令数
\# 开机后命令历史数
在centos中永久修改命令提示符颜色:
[19:58:27 root@yuan ~]#echo 'PS1="\[\e[1;33m\][\t \u@\h \W]\$\[\e[0m\]"' > /etc/profile.d/env.sh
[20:00:26 root@yuan ~]#cat /etc/profile.d/env.sh
PS1="\[\e[1;33m\][\t \u@\h \W]\\$\[\e[0m\]"
[20:01:08 root@yuan ~]#exit
在Ubuntu中修改提示符格式:
root@yp:~# echo 'PS1="\[\e[1;31m\][\t \u@\h \W]\$\[\e[0m\]"' >> .bashrc
root@yp:~# exit
5.执行命令
内部命令:是shell自带的命令,通过某些命令形式提供
外部命令:在文件系统路径下有对应的可执行文件
区别指定命令是外部命令或内部命令:
type COMMAND
范例:
[21:48:07 root@yp ~]#type -a echo
echo is a shell builtin
echo is /usr/bin/echo
内部命令相关:
help:内部命令列表
enable:管理内部命令
-enable cmd 启用内部命令
-enable -n cmd 禁用内部命令
-enable -n 查看所有禁用内部命令
6.hash缓存表
系统初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在经执行,如果不存在,将会去PATH路径下找,利用hash缓存表可大大提高命令的调用速率。
hash命令常见用法:
hash 显示hash缓存
hash -l 显示hash缓存,可作为输入使用
hash -p path name 将命令全路径path起别名为name
hash -t name 打印缓存中中的name路径
hash -d name 清除name缓存
hash -r 清除所有缓存
7.别名命令
对于经常执行的较长命令,可自定义简单名称,方便执行
List item
-
显示当前shell所有可用的别名:
alias
定义别名NAME,其命令相当于执行命令VALUE:
alias NAME='VALUE'
范例:
[21:48:16 root@yp ~]#echo "alias free='free -h'" >> .bashrc
-
撤销别名:
unalias
-
取消所有别名:
unalias -a
8.常见命令
- 查看硬件信息
lscup或cat /proc/cpuinfo
范例:
[22:37:02 root@yp ~]#lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 1 #每个core有几个线程
Core(s) per socket: 4 #每个槽位有4个core
Socket(s): 2 #服务器版面上有2个cpu槽位
NUMA node(s): 2 #nodes的数量
Vendor ID: GenuineIntel
CPU family: 6
Model: 126
Model name: Intel(R) Core(TM) i7-1065G7 CPU @ 1.30GHz
Stepping: 5
CPU MHz: 1497.600
BogoMIPS: 2995.20
Hypervisor vendor: VMware
Virtualization type: full
L1d cache: 48K
L1i cache: 32K
L2 cache: 512K
L3 cache: 8192K
[22:45:25 root@yp ~]#cat /proc/cpuinfo
processor : 0
vendor_id