• 基础及一些背景知识(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/[^.]*
    风雨路遥同珍重,不负尘缘不负卿
  • 相关阅读:
    JS闭包中的循环绑定处理程序
    Java学习之路-Spring的HttpInvoker学习
    Java学习之路-Burlap学习
    Java学习之路-Hessian学习
    Java学习之路-RMI学习
    现代浏览器的工作原理
    Socket Connect问题
    Tair总述
    TCP协议解析
    数据结构 之 二叉堆(Heap)
  • 原文地址:https://www.cnblogs.com/sstjustdoit/p/9904967.html
Copyright © 2020-2023  润新知