-
root用户
-
是一个特殊的管理账号,也可以成为超级管理员
-
root用户对系统有完全控制的权限
-
对系统的损害会无限大
-
在工作中,如果没有特殊的必要,尽量不要使用root
-
-
普通用户
-
权限有限
-
对系统的损害会小
-
终端
分类
-
设备终端
-
物理终端
-
虚拟终端 ctrl+alt+f[1-6] /dev/tty#
-
图形终端 /dev/tty7
-
串行终端
-
伪终端 通过ssh远程连接的 /dev/pts/#
-
查看终端的命令 tty
-
查看ip地址的命令 ip addr
交互式接口
启动终端以后,在终端设备上附加的一个应用程序
-
GUI(桌面)
-
CLI command line
-
powershell
-
sh
-
bash(linux,mac默认的程序)
-
zsh
-
csh
-
tcsh
-
bash
bash是linux系统的用户界面,提供了用户和操作系统之间的交互,它接收用户的输入,让它送给操作系统执行
-
目前是linux和mac上默认的shell
-
centos默认使用
-
显示系统当前使用的shell echo $SHELL
-
查看系统内可以使用的shell cat /etc/shells
-
ctrl +d 快速终止当前的连接
-
切换shell chsh -s shell
修改ssh连接慢的步骤
echo "UseDNS no" >> /etc/ssh/sshd_config
systemctl restart sshd
命令提示符
[root@localhost ~]#
管理员是# 普通用户时$
显示提示符格式
[root@localhost ~]# echo $PS1
[u@h W]$
u 代表当前登录的用户
h 代表当前主机的主机名
W 代表当前的目录
0表示默认字体,1表示加粗,4在字体下方加下划线 5 闪烁 7 代表突出显示
31-37 字体颜色
40-47 表示背景颜色
echo 'PS1="[e[1;35mm][u@h W]\$[e[0m]"' >> /etc/profile.d/ps.sh #永久生效
命令
执行命令: 输入命令回车
内部命令:shell 自带的命令
-
help 显示所有的内部命令
外部命令:第三方提供的命令
查看命令的类型: type
[root@localhost ~]#type echo
echo is a shell builtin
[root@localhost ~]#type top
top is /usr/bin/top
别名
-
查看当前所有的别名 alias
-
自定别名 alias cdetc='cd /etc'
-
取消别名 unalias cdetc
-
设置别名只对当前的终端有效
-
设置所有用户都可以用 /etc/bashrc
-
写入配置文件 echo "alias cdetc='cd /etc'= 'cd /etc'" >> /etc/bashrc
-
-
只对当前用户有效 ~/.bashrc
-
写入配置文件 echo "alias cdetc='cd /etc'= 'cd /etc'" >> ~/.bashrc
-
-
执行本身命令
-
command
-
"command"
-
'command'
-
path
-
查看命令位置 which ls
-
-
命令格式
command [options.....] [args...]
command 命令本身
options:启动或者关闭命令里面的某些功能
-
长选项:--help --color
-
短选项: -i -l
args:命令的作用体,一般情况下是目录或者文件,用户名等等
注意:
-
短选项是可以合并
-
空格隔开
-
ctrl+c 结束命令的执行
-
在同一行执行多个命令用;隔开
-
一个命令可以在多行显示用连接
获取命令的帮助信息
内部命令:
-
help command
-
man bash
外部命令:
-
command -h 短选项
-
command --help 长选项
-
man command
-
官方文档
[root@localhost ~]#python --help
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
[] 可选项
<> 表示变化的数据
... 表示列表
a|b|c 或者
-abc 表示-a -b -c
{} 表示分组
man
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 键
-
命令补全
-
内部命令
-
外部命令:根据环境变量定义的路径,从前往后依次查找,自动匹配第一个查找到的内容
-
如果用户给的命令只有唯一一个匹配,则直接补全
-
如果有多个匹配,则需要在按tab键将所有匹配到的结果展示出来
-
-
目录补全
-
把用户给定的字符作为文件的开头,如果有唯一一个匹配则直接补全
-
如果有多个匹配,则需要再次按tab键把所有的匹配到的结果展示出来
-
引号
[root@localhost ~]#name=alexdsb
[root@localhost ~]#echo "$name"
alexdsb
[root@localhost ~]#echo '$name'
$name
[root@localhost ~]#echo "wo shi `tty`"
wo shi /dev/pts/2
[root@localhost ~]#tty
/dev/pts/2
[root@localhost ~]#echo "wo shi $(tty)"
wo shi /dev/pts/2
命令历史
-
可以使用上下箭头来查找之前执行过的命令
-
存放文件是~/.bash_history
-
执行的命令是history
-
执行上一条命令
-
上箭头
-
!!
-
!-1
-
ctrl+p 回车
-
-
调用上一条命令的最后一个值 esc .
-
!# 指定第多少条命令
-
!-# 指定倒数第#条命令
-
!string 用来最近一次匹配到的命令(从下往上)(带srting的命令)
-
ctrl+r 搜索命令
-
ctrl+g 取消搜索
-
history # 显示最后#条命令
命令展开
touch file{1..20}
file1 file2 ..... file20
echo file{1..20..2}
从0开始到20 间隔2 file0 file2 ...file20
seq 1 10
1 2 3...10
seq 0 2 10
0 2 4...10
echo 回显
echo -e 'dadasda dasdasd'
dadasda
dadasda
echo -e 'a' #播放声音
查看用户登录信息
[root@localhost ~]#whoami # 显示当前的登录用户
root
[root@localhost ~]#who am i #显示当前登录用户的详细信息
root pts/2 2019-08-22 15:54 (192.168.21.1)
[root@localhost ~]#w 显示所有的用户并显示执行的命令
16:27:54 up 5:19, 9 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty2 11:37 4:48m 0.02s 0.02s -bash
wu tty3 11:39 4:48m 0.02s 0.02s -bash
root :0 :0 11:30 ?xdm? 1:28 0.36s /usr/libexec/gnome-session-binary --session gnome-classi
root pts/0 :0 11:35 4:43m 0.03s 0.03s bash
root pts/1 192.168.21.1 12:11 4:03m 0.02s 0.02s -bash
root pts/2 192.168.21.1 15:54 2.00s 0.18s 0.03s w
wu pts/3 192.168.21.1 12:27 2:26 0.05s 0.05s -bash
date
[root@localhost ~]#date 显示当前的时间
Thu Aug 22 16:30:06 CST 2019
Usage: date [OPTION]... [+FORMAT]
or: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
[root@localhost ~]#date 010923102018 #修改时间
Tue Jan 9 23:10:00 CST 2018
[root@localhost ~]#date
Tue Jan 9 23:10:18 CST 2018
[root@localhost ~]#ntpdate time.windows.com #同步网络服务器时间
unix元年 1970-01-01
[root@localhost ~]#date
Thu Aug 22 16:35:44 CST 2019
[root@localhost ~]#date
Thu Aug 22 16:35:47 CST 2019
[root@localhost ~]#date
Thu Aug 22 16:35:48 CST 2019
[root@localhost ~]#date +%a
Thu 星期
[root@localhost ~]#date +%A
Thursday 全写星期
[root@localhost ~]#date +%F
2019-08-22 年月日
[root@localhost ~]#date +%H
16 16时
[root@localhost ~]#date +%I
04 4点
[root@localhost ~]#date +%m
08 月
[root@localhost ~]#date +%d
22 日
[root@localhost ~]#date +%M
38 分钟
[root@localhost ~]#date +%h
Aug 月
[root@localhost ~]#date +%c
Thu 22 Aug 2019 04:38:42 PM CST
[root@localhost ~]#date +%T
16:39:01
[root@localhost ~]#date +%y
19 19年
[root@localhost ~]#date +%Y
2019 2019年
[root@localhost ~]#date +%Y/m/%d
2019/m/22 自定义格式
[root@localhost ~]#date +%Y/%m/%d
2019/08/22
[root@localhost ~]#date +%s
1566463197 时间戳 1970-1-1 开始 unxi元年
[root@localhost ~]#date +%W
33 今年开始已经过了33周 (一年52周)
显示时区
[root@localhost ~]#timedatectl
Local time: Thu 2019-08-22 16:42:43 CST
Universal time: Thu 2019-08-22 08:42:43 UTC
RTC time: Thu 2019-08-22 08:42:43
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 然后Y 显示所有时区
[root@localhost ~]#timedatectl set-timezone Asia/Tokyo 设置东京时间
日历
cal 当前日历
cal -y 一年的日历
cal # 显示#年的日历
关机和重启
-
-
shutdown 默认1分钟之后关机
-
shutdown -c 取消关机
-
shutdow -r 重启
-
-
TIME
-
now 立即
-
+n n分钟之后
-
hh:mm 指定时间
-
-
-
-
关机命令
-
poweroff
-
halt
-
init 0
-
-
重启
-
reboot
-
-f 强制
-
-p 关机
-
-
-