Linux基础—终端和基础命令
终端
分类
- 设备终端
- 物理终端
- 虚拟终端 ctrl+alt+f[1-6] /dev/tty#
- 图形终端 /dev/tty
- 串行终端
- 伪终端 通过ssh远程连接的 /dev/pts/#
- 查看终端的命令 tty
- 查看IP地址的命名 ip addr 找ens33里的IP地址
- 终端目录颜色
[root@localhost local]#echo 'PS1="\[\e[7;;35m\][\u@\h \W]\\$\[\e[0m\]"' >> /etc/profile.d/ps.sh
[root@localhost local]#source /etc/profile.d/ps.sh
交互式接口
启动终端以后,在终端设备上附加的一个应用程序
- GUI(桌面)
- CLI command line
- powershell
- sh
- bash(linux, mac 默认程序)
- zsh
- csh
- tcsh
bash
bash时Linux系统的用户界面,提供了用户和操作系统之间的交互,它接收用户的输入,让他送给操作系统执行。
- 显示系统当前使用的shell : echo $SHELL
- 查看系统内可以使用的shell: cat/etc/shells
- ctr;+b快速终止当前的连接
命令提示符
管理员是 #
普通用户 $
命令
执行命令:输入回车命令
内部命令:shell自带的命令
- help 显示所有的内部命令
外部命令:第三方提供的命令
查看命令的类型:type
别名
- 查看当前所有的别名 : alias
- 自定义别名
alias cdetc = 'cd/etc' # 别名
-
取消别名 unalias cdetc
-
设置别名只对当前终端有效
- 这样就可以永久使用:
# 所有用户有效 echo "alias cdetc = 'cd/etc'" >> /etc/bashrc source /etc/bashrc
只对当前用户有效
echo “alias cdetc = ‘cd/etc’” >> ~/.bashrc
source ~/.bashrc
+ 执行本身的命令 /command
## 命令的格式
command [options...] [args...]
command 命令本身
options:启动或者关闭名利里边的某些功能。
+ 长选项:--help --color
+ 短选项:-l -a 可以合并 -la
args:命令的作用体,一般情况下是目录或者文件,用户名等等。
注意:
+ ctrl+c结束命令的执行
+ 同一行执行多个命令用分号;隔开
+ 一个命令可以在多行显示,用/连接
## 获取命令的帮助信息
内部命令:
+ help command
+ man bash q退出
外部命令:
+ command -h
+ command --help
+ man command
### man
```shell
1 Executable programs or shell commands # 用户命令
2 System calls (functions provided by the kernel) # 系统调用
3 Library calls (functions within program libraries) # 库的调用
4 Special files (usually found in /dev) # 设备文件与特殊文件
5 File formats and conventions eg /etc/passwd # 配置文件格式
6 Games # 游戏
7 Miscellaneous (including macro packages and conventions), e.g. man(7),
groff(7) # 杂项
8 System administration commands (usually only for root) # 管理类的命令
9 Kernel routines [Non standard] # 内核API
退出 q
翻屏 空格
换行 回车
man 章节 passwd
bash快捷键
- ctrl+l 清屏 相当于clear
- ctrl+o 执行当前的命令并显示当前的命令
- ctrl+s 锁屏
- ctrl+q 解锁
- ctrl+c 终止命令
- ctrl+z 挂起命令
- ctrl+a 光标移动到行首,相当于home键
- ctrl+e 光标移动到行尾,相当于end键
- ctrl+xx 在开头和当前光标所在位置跳转
- ctrl+k 删除光标后的文字
- ctrl+u 删除光标前边的文字
- alt+r 删除整行
tab键
- 命令补全
- 内部命令
- 外部命令:根据环境变量定义的路径,从前往后依次查找,自动匹配第一个查找到的内容。
- 目录补全
引号
# 单引号直接打印 双引号会找
[libo@localhost ~]$ name=hello
[libo@localhost ~]$ echo "$name"
hello
[libo@localhost ~]$ echo '$name'
$name
[libo@localhost ~]$
命令历史
- 可以使用上下箭头查找之前使用过的命令
- 存放文件是 ~/.bash_history
- 两个! 执行上一条命令
- 调用上一条命令的最后一个值 先按esc然后按.
命令展开
[libo@localhost ~]$ echo file{
1..20..3}
file1 file4 file7 file10 file13 file16 file19
[libo@localhost ~]$ seq 1 2 10
1
3
5
7
9
[libo@localhost ~]$
# 创建文件
touch file{
1..10}
echo回显
echo -e 'dada\ndasd'
echo -e '\a' # 播放声音
whoami # 显示当前登录的用户
who am i # 显示的更详细
[libo@localhost ~]$ who am i
libo pts/1 2020-12-07 23:21 (10.14.206.170)
[libo@localhost ~]$ whoami
libo
[libo@localhost ~]$ ^C
w # 查看所有的用户并显示执行的命令
[libo@localhost ~]$ w
00:46:43 up 1:29, 3 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
libo :0 :0 23:19 ?xdm? 2:43 1.27s /usr/libexec/gnome-session-binary --sess
libo pts/0 :0 23:20 1:25m 0.07s 0.07s bash
libo pts/1 10.14.206.170 23:21 3.00s 0.15s 0.03s w
[libo@localhost ~]$ date # 显示当前时间
Tue Dec 8 00:47:30 CST 2020
[libo@localhost ~]$
date 010923102018 # 改时间
ntpdate time.windows.com # 修改时间为当前网络时间
[root@localhost ~]# date
Tue Dec 8 00:56:48 CST 2020
[root@localhost ~]# date +%W
49
[root@localhost ~]# date +%H
00
[root@localhost ~]# date +%h
Dec
[root@localhost ~]# timedatectl
Local time: Tue 2020-12-08 00:59:32 CST
Universal time: Mon 2020-12-07 16:59:32 UTC
RTC time: Mon 2020-12-07 16:59:32
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
# 修改时区
[root@localhost ~]# timedatectl set-timezone Asia/Shanghai
# 日历
cal
cal -y 显示一年的日历
# 关机
poweroff
halt
init 0
shutdown 1分钟后关机
shutdown -c 取消
shutdown -r 一分钟后重启
shutdown now 立即关机
shutdown +2 两分钟后关机
shutdown 18:00 指定关机时间
# 重启
reboot
init 6