Linux基础命令
用户登录
1 - root用户 2 - 是一个特殊的管理账号,也可以成为超级管理员 3 - root用户对系统有完全控制的权限 4 - 对系统的损害会无限大 5 - 在工作中,如果没有特殊的必要,尽量不要使用root 6 - 普通用户 7 - 权限有限 8 - 对系统的损害会小
终端
分类
1 - 设备终端 2 - 物理终端 3 - 虚拟终端 ctrl+alt+f[1-6] /dev/tty# 4 - 图形终端 /dev/tty7 5 - 串行终端 6 - 伪终端 通过ssh远程连接的 /dev/pts/# 7 - 查看终端的命令 tty 8 - 查看ip地址的命令 ip addr
交互式接口
启动终端以后,在终端设备上附加的一个应用程序
1 - GUI(桌面) 2 - CLI command line 3 - powershell 4 - sh 5 - bash(linux,mac默认的程序) 6 - zsh 7 - csh 8 - tcsh
bash
bash是linux系统的用户界面,提供了用户和操作系统之间的交互,它接收用户的输入,让它送给操作系统执行
1 - 目前是linux和mac上默认的shell 2 - centos默认使用 3 - 显示系统当前使用的shell echo $SHELL 4 - 查看系统内可以使用的shell cat /etc/shells 5 - ctrl +d 快速终止当前的连接 6 - 切换shell chsh -s shell
修改ssh连接慢的步骤
echo "UseDNS no" >> /etc/ssh/sshd_config systemctl restart sshd
命令提示符
1 管理员是 # 2 普通用户是 $
显示提示符格式
1 [root@localhost ~]# echo $PS1 2 [\u@\h \W]\$ 3 \u 代表当前登录的用户 4 \h 代表当前主机的主机名 5 \W 代表当前的目录 6 0表示默认字体,1表示加粗,4在字体下方加下划线 5 闪烁 7 代表突出显示 7 31-37 字体颜色 8 40-47 表示背景颜色 9 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 ```
别名
1 - 查看当前所有的别名 alias 2 - 自定别名 alias cdetc='cd /etc' 3 - 取消别名 unalias cdetc 4 - 设置别名只对当前的终端有效 5 - 设置所有用户都可以用 /etc/bashrc 6 - 只对当前用户有效 ~/.bashrc 7 - 执行本身命令 8 - \command 9 - "command" 10 - 'command' 11 - path
命令格式
1 command [options.....] [args...] 2 3 command 命令本身 4 5 options:启动或者关闭命令里面的某些功能 6 7 - 长选项:--help --color 8 - 短选项: -i -l 9 10 args:命令的作用体,一般情况下是目录或者文件,用户名等等 11 12 注意: 13 14 - 短选项是可以合并 15 - 空格隔开 16 - ctrl+c 结束命令的执行 17 - 在同一行执行多个命令用;隔开 18 - 一个命令可以在多行显示用\连接
获取命令的帮助信息
1 内部命令: 2 - help command 3 - man bash 4 5 外部命令: 6 - command -h 7 - command --help 8 - man coomand 9 10 11 - 官方文档 12 ``` 13 [root@localhost ~]#python --help 14 usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ... 15 [] 可选项 16 <> 表示变化的数据 17 ... 表示列表 18 a|b|c 或者 19 -abc 表示-a -b -c 20 {} 表示分组 21 ```
man
1 ``` 2 1 Executable programs or shell commands #用户命令 3 2 System calls (functions provided by the kernel) # 系统调用 4 3 Library calls (functions within program libraries) # 库的调用 5 4 Special files (usually found in /dev) #设备文件与特殊文件 6 5 File formats and conventions eg /etc/passwd # 配置文件格式 7 6 Games #游戏 8 7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7) # 杂项 9 8 System administration commands (usually only for root) # 管理类的命令 10 9 Kernel routines [Non standard] # 内核的API 11 退出q 12 翻屏 空格 13 翻行 回车 14 man 章节 passwd 15 ```
bash 快捷键
1 - ctrl+l 清屏 相当于clear 2 - ctrl+o 执行当前的命令,并显示当前的命令 3 - ctrl+s 锁屏 4 - ctrl+q 解锁 5 - ctrl+c 终止命令 6 - ctrl+z 挂起命令 7 - ctrl+a 光标移动到行首,相当于Home 8 - ctrl+e 光标移动到行位,相当于End 9 - ctrl+xx 在开头和当前光标所在位置跳转 10 - ctrl+k 删除光标后的文字 11 - ctrl+u 删除光标前的文字 12 - alt+r 删除正行
tab 键
1 - 命令补全 2 - 内部命令 3 - 外部命令:根据环境变量定义的路径,从前往后依次查找,自动匹配第一个查找到的内容 4 - 如果用户给的命令只有唯一一个匹配,则直接补全 5 - 如果有多个匹配,则需要在按tab键将所有匹配到的结果展示出来 6 - 目录补全 7 - 把用户给定的字符作为文件的开头,如果有唯一一个匹配则直接补全 8 - 如果有多个匹配,则需要再次按tab键把所有的匹配到的结果展示出来
引号
1 ``` 2 [root@localhost ~]#name=kelvin 3 [root@localhost ~]#echo "$name" 4 kelvin 5 [root@localhost ~]#echo '$name' 6 $name 7 [root@localhost ~]#echo "wo shi `tty`" 8 wo shi /dev/pts/2 9 [root@localhost ~]#tty 10 /dev/pts/2 11 [root@localhost ~]#echo "wo shi $(tty)" 12 wo shi /dev/pts/2 13 ```
命令历史
1 - 可以使用上下箭头来查找之前执行过的命令 2 - 存放文件是~/.bash_history 3 - 执行的命令是history 4 - 执行上一条命令 5 - 上箭头 6 - !! 7 - !-1 8 - ctrl+p 回车 9 - 调用上一条命令的最后一个值 esc . 10 - !# 指定第多少条命令 11 - !-# 指定倒数第#条命令 12 - !string 用来最近一次匹配到的命令(从下往上) 13 - ctrl+r 搜索命令 14 - ctrl+g 取消搜索 15 - \# 显示最后#条命令
命令展开
1 ``` 2 touch file{1..20} 3 seq 0 2 10 4 echo file{1..20..2} 5 ```
echo 回显
1 ``` 2 echo -e 'dadasda\ndasdasd' 3 echo -e '\a' #播放声音 4 ```
查看用户登录信息
1 ``` 2 [root@localhost ~]#whoami # 显示当前的登录用户 3 root 4 [root@localhost ~]#who am i #显示当前登录用户的详细信息 5 root pts/2 2019-08-22 15:54 (192.168.21.1) 6 [root@localhost ~]#w 显示所有的用户并显示执行的命令 7 16:27:54 up 5:19, 9 users, load average: 0.00, 0.01, 0.05 8 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT 9 root tty2 11:37 4:48m 0.02s 0.02s -bash 10 wu tty3 11:39 4:48m 0.02s 0.02s -bash 11 root :0 :0 11:30 ?xdm? 1:28 0.36s /usr/libexec/gnome-session-binary --session gnome-classi 12 root pts/0 :0 11:35 4:43m 0.03s 0.03s bash 13 root pts/1 192.168.21.1 12:11 4:03m 0.02s 0.02s -bash 14 root pts/2 192.168.21.1 15:54 2.00s 0.18s 0.03s w 15 wu pts/3 192.168.21.1 12:27 2:26 0.05s 0.05s -bash 16 ```
date
1 ``` 2 [root@localhost ~]#date 显示当前的时间 3 Thu Aug 22 16:30:06 CST 2019 4 Usage: date [OPTION]... [+FORMAT] 5 or: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] 6 [root@localhost ~]#date 010923102018 #修改时间 7 Tue Jan 9 23:10:00 CST 2018 8 [root@localhost ~]#date 9 Tue Jan 9 23:10:18 CST 2018 10 [root@localhost ~]#ntpdate time.windows.com #同步网络服务器时间 11 unix元年 1970-01-01 12 [root@localhost ~]#date 13 Thu Aug 22 16:35:44 CST 2019 14 [root@localhost ~]#date 15 Thu Aug 22 16:35:47 CST 2019 16 [root@localhost ~]#date 17 Thu Aug 22 16:35:48 CST 2019 18 [root@localhost ~]#date +%a 19 Thu 20 [root@localhost ~]#date +%A 21 Thursday 22 [root@localhost ~]#date +%F 23 2019-08-22 24 [root@localhost ~]#date +%H 25 16 26 [root@localhost ~]#date +%I 27 04 28 [root@localhost ~]#date +%m 29 08 30 [root@localhost ~]#date +%d 31 22 32 [root@localhost ~]#date +%M 33 38 34 [root@localhost ~]#date +%h 35 Aug 36 [root@localhost ~]#date +%c 37 Thu 22 Aug 2019 04:38:42 PM CST 38 [root@localhost ~]#date +%T 39 16:39:01 40 [root@localhost ~]#date +%y 41 19 42 [root@localhost ~]#date +%Y 43 2019 44 [root@localhost ~]#date +%Y/m/%d 45 2019/m/22 46 [root@localhost ~]#date +%Y/%m/%d 47 2019/08/22 48 [root@localhost ~]#date +%s 49 1566463197 50 [root@localhost ~]#date +%W 51 33 52 ```
显示时区
1 ``` 2 [root@localhost ~]#timedatectl 3 Local time: Thu 2019-08-22 16:42:43 CST 4 Universal time: Thu 2019-08-22 08:42:43 UTC 5 RTC time: Thu 2019-08-22 08:42:43 6 Time zone: Asia/Shanghai (CST, +0800) 7 NTP enabled: no 8 NTP synchronized: no 9 RTC in local TZ: no 10 DST active: n/a 11 [root@localhost ~]#timedatectl set-timezone Asia/Tokyo #设置时区 12 ```
日历
1 cal 2 3 cal -y 一年的日历 4 5 cal 2019 显示某一年的日历
关机重启
1 - shutdown 默认1分钟之后关机 2 - shutdown -c 取消关机 3 - shutdow -r 重启 4 - TIME 5 - now 立即 6 - +n n分钟之后 7 - hh:mm 指定时间 8 - 关机命令 9 - poweroff 10 - halt 11 - init 0 12 - 重启 13 - reboot 14 - -f 强制 15 - -p 关机 16 - init 6