基础及一些背景知识(2)

一、VMware安装centos

  • cpu:默认
  • 内存:1G以上,推荐2G
  • 硬盘:一块硬盘,200G
    • / 根文件分配50G
    • /boot 开机引导文件分配1G
    • /data 分配30G
  • 网卡:主机模式或桥接模式
  • 光盘:挂在对应版本的ISO文件

二、终端 terminal

1.远程连接

  1. ssh协议
  • 第一步:ss -tnl 查看系统是否监听于tcp协议的22端口
  • 第二部:ifconfig命令(或ip addr 命令)查看IP地址
  • 第三步:打开xshell,输入ssh 192.168.199.128 输入管理员账号密码登录

2.终端

  1. 物理终端(/dev/console)
    控制台 console
  2. 虚拟终端(tty:teletypewriters,/dev/tty# #为[1-6])
    tty可有n个,Ctrl+Alt+F[1-6]
  3. 图形终端(/dev/tty7 )startx, xwindows
    • centos6 ctrl+alt+F7
    • centos7 在哪个虚拟终端使用,即位于哪个虚拟终端
  4. 串行终端(/dev/ttyS# )
  5. 伪终端(pty:pseudo-tty,/dev/pts/# )
    pty, SSH远程连接

三、命令

1.命令提示符(prompt)

[root@localhost~]#

  • # 管理员
  • $ 普通用户
echo $PS1      显示命令提示符格式
PS1="\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]"     PS1变量格式
实验:如何永久修改命令提示符?
第一步,将PS1变量设置为: PS1="\[\e[1;36m\][\u@\h \W]\\$\[\e[0m\]"
第二步,键入命令 nano /etc/profile.d/env.sh
第三步,将 PS1="\[\e[1;36m\][\u@\h \W]\\$\[\e[0m\]" 保存至env.sh文件中

2.命令语法的通用格式

command option arguments

  • 发起一个命令,请求内核将某个二进制程序运行为一个进程:
    * 程序-->进程
    * 静态-->动态(有生命周期)

命令本身是一个可执行的程序文件(二进制格式文件,有可能会调用共享库文件)
多数程序文件都放在:/bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin

  • 普通命令:/bin,/usr/bin,/usr/local/bin
  • 管理命令:/sbin,/usr/sbin,/usr/local/sbin

shell命令是独特的程序,负责解析用户提供的命令:
环境变量,PATH:从哪些路径中查找用户键入的命令字符串所对应的命令文件(外部命令)
~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
注意:查找顺序自左向右,比如:ls 命令,先查找/usr/local/sbin 文件,再查找后边的文件;假如两个文件中都有ls,那么优先运行左边的。

四、命令行扩展:$()或` `

echo "This system's name is $(hostname)"
echo echo "This system's name is `hostname`"
以上两句输出效果相同

"" 或 '' 或` `之间的区别:
'' 强引用 不完成变量替换
"" 弱引用 可以实现变量替换
`` 命令执行

五、{}

echo file{1,2,3}
file1 file2 file3

echo file{1,2,3}{a,b}
file1a file1b file2a file2b file3a file3b

echo file{1..9}
file1 file2 file3 file4 file5 file6 file7 file8 file9

echo file{1..20..2}
file1 file3 file5 file7 file9 file11 file13 file15 file17 file19

echo file{a..Z}
filea file` file_ file^ file] file file[ fileZ 
其显示顺序是按照ASCII字符代码表顺序显现

在这里插入图片描述

六、命令行历史

  1. 历史命令记录于主目录下的 .bash_history文件中
  2. 系统会自动保存我们输入的命令,history查询历史命令。
  3. 登录进shell后新执行的命令只会记录于缓存中,这些命令会在用户退出时追加保存至“.bash_history”这个文件夹中。
  4. 一些快捷命令:

!! 重复上一个命令
!n 执行history命令输出的第n条命令
!-n 执行history命令输出倒数的第n条命令
!string 重复前一个以“string”开头的命令
!?string 重复前一个包含string的命令
!$:p打印输出!$ (上一条命令的最后一个参数)的内容
!:p打印输出!(上一条命令的所有参数)的内容
** ctrl-r来在命令历史中搜索命令**
command !^ : 利用上一个命令的第一个参数做cmd的参数
command !$ : 利用上一个命令的最后一个参数做cmd的参数
command !* : 利用上一个命令的全部参数做cmd的参数
command !:n : 利用上一个命令的第n个参数做cmd的参数

七、文件通配符

符号 内容
* 匹配零个或多个字符
匹配任何单个字符
[0-9] 匹配数字范围
[a-z] 字母 a到z
[A-Z] 字母A到Z
[wang] 匹配wang中任何一个字符
[^wang] 匹配除wang外的任何一个字符
[:digit:] 任意数字,相当于0-9
[:lower:] 小写字母
[:upper:] 大写字母
[:alpha:] 任意大小写字母
[:alnum:] 任意数字或字母
[:blank:] 水平空白字符
[:space:] 水平或垂直空白字符

八、练习题

1、显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录
ls -a /var/l*[[:digit:]]*[[:lower:]]

2、显示/etc目录下以任意一位数字开头,且以非数字结尾的文件或目录
ls -a /etc/[[:digit:]]*[^[:digit:]]

3、显示/etc/目录下以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录
ls -a /etc/[^[:alpha:]]*[[:alpha:]]*

4、显示/etc/目录下所有以rc开头,并后面是0-6之间的数字,其它为任意字符的文件或目录
ls -a /etc/rc[0-6]*

5、显示/etc目录下,所有以.d结尾的文件或目录
ls -a  /etc/*.d

6、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录
ls -a /etc/[mnrp]*.conf

7、只显示/root下的隐藏文件和目录
ls -d /root/.*

8、只显示/etc下的非隐藏目录
ls -d /root/[^.]*
posted @ 2018-11-04 17:55  N_34崧泰  阅读(130)  评论(0编辑  收藏  举报