linux基础命令(一)

文章目录

  • linux基础命令(一)
    • 一.拍摄快照
    • 二.基础命令和bash的特性,常用操作
      • 1.bash特性---一种是命令行终端,即CLI。
        • 1.1 bash
        • 1.2 命令历史---history
        • 1.3 支持管道、重定向
        • 1.4 命令别名 alias
        • 1.5 光标跳转
        • 1.6 支持变量
        • 1.6 看时间---date mkdir 创建目录
        • 1.7 命令替换---英文中的反引号和$()
        • 1.8 支持文件名通配
        • 1.9命令行展开
      • 2. 基础命令
        • 1.1 mkdir 创建目录
        • 1.2date 时间
        • 1.3history 历史命令
        • 1.4alias 命令别名
        • 1.5touch 创建文件
        • 1.6 ls 列出当前位置有什么文件

一.拍摄快照

  • 关机拍摄
  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PidE2rME-1657154899607)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220323161417582.png)]

二.基础命令和bash的特性,常用操作

1.bash特性—一种是命令行终端,即CLI。

  • 支持命令历史,命令补全

  • 支持管道、重定向

  • 支持命令别名

  • 支持命令行编辑

  • 支持命令行展开

  • 支持文件名通配

  • 支持变量

  • 支持编程

1.1 bash
  • cat–查看

  • [root@localhost ~]# echo $SHELL  //当前正在用的shell
    /bin/bash
    [root@localhost ~]# cat /etc/shells //查看主机能使用的shell
    /bin/sh
    /bin/bash
    /usr/bin/sh
    /usr/bin/bash
    [root@localhost ~]#
    
1.2 命令历史—history
  • -c 清空历史命令

  •    47  ls /etc/sysconfig/network-scripts/48  cd /etc/sysconfig/network-scripts/49  cd50  history
    [root@localhost ~]# history -c
    [root@localhost ~]# history 1  history
    [root@localhost ~]# 
  • -d+数字 删除指定位置的命令历史

  • [root@localhost ~]# history 1  ls2  hostname syl-panny3  next4  end5  hostname syl6  history 7  ls8  history
    [root@localhost ~]# history -d 7
    [root@localhost ~]# history 1  ls2  hostname syl-panny3  next4  end5  hostname syl6  history 7  history 8  history -d 79  history
    [root@localhost ~]# 
  • [root@localhost ~]# history 1  ls2  hostname syl-panny3  next4  end5  hostname syl6  history
    [root@localhost ~]# 
  • 命令历史的使用技巧

    • !n 执行命令历史中的第n条命令

      • [root@localhost ~]# !20
        ls
        1.1.txt  1999  anaconda-ks.cfg  q
    • !-n 执行命令历史中倒数第n条命令

      • [root@localhost ~]# !-4
        echo "$a"
        50
    • !! 执行上一条命令

      • [root@localhost ~]# !!
        echo "$a"
        50
        [root@localhost ~]# 
    • !string 执行命令历史中最近一个以指定字符串开头的命令

      • [root@localhost ~]# !cat
        cat /etc/sysconfig/network-scripts/ifcfg-ens33
        TYPE=Ethernet
        BOOTPROTO=static
        NAME=ens33
        DEVICE=ens33
        ONBOOT=yes
        IPADDR=192.168.232.129
        NETMASK=255.255.255.0
        GATEWAY=192.168.232.2
        DNS1=192.168.232.2
        [root@localhost ~]# 
    • !$ 引用前一个命令的最后一个参数

      • [root@localhost ~]# ls /etc/sysconfig/network-scripts/
        ifcfg-ens33
        [root@localhost ~]# cd !$
        cd /etc/sysconfig/network-scripts/
        [root@localhost network-scripts]# 
    • esc,. 按下esc松开后按.,引用前一个命令的最后一个参数 按ESC + 点

  • 命令补全,输入所选命令的首字符按Tab键

  • [root@localhost ~]# h
    halt         hdparm       hexdump      hostname
    hardlink     head         history      hostnamectl
    hash         help         hostid       hwclock
    [root@localhost ~]# h
    
  • 路径补全

  • [root@localhost ~]# ls /etc/sys
    sysconfig/          systemd/
    sysctl.conf         system-release
    sysctl.d/           system-release-cpe
    [root@localhost ~]# ls /etc/sys
1.3 支持管道、重定向
  • 管道

  • rpm -qa 查询怎样系统安装的包 grep 过滤

  • [root@localhost ~]# rpm -qa|grep 'wget'
    [root@localhost ~]# rpm -qa|grep 'tools'
    python3-setuptools-wheel-39.2.0-6.el8.noarch
    kernel-tools-4.18.0-365.el8.x86_64
    open-vm-tools-11.3.5-1.el8.x86_64
    squashfs-tools-4.3-20.el8.x86_64
    net-tools-2.0-0.52.20160912git.el8.x86_64
    kernel-tools-libs-4.18.0-365.el8.x86_64
    grub2-tools-2.02-106.el8.x86_64
    grub2-tools-extra-2.02-106.el8.x86_64
    kexec-tools-2.0.20-68.el8.x86_64
    platform-python-setuptools-39.2.0-6.el8.noarch
    grub2-tools-minimal-2.02-106.el8.x86_64
    dbus-tools-1.12.8-18.el8.x86_64
    [root@localhost ~]#
    
  • 重定向

  • 清空文件

  • [root@localhost ~]# cat abc
    curl-7.61.1-22.el8.x86_64
    libcurl-7.61.1-22.el8.x86_64
    curl-7.61.1-22.el8.x86_64
    libcurl-7.61.1-22.el8.x86_64
    curl-7.61.1-22.el8.x86_64
    libcurl-7.61.1-22.el8.x86_64
    curl-7.61.1-22.el8.x86_64
    libcurl-7.61.1-22.el8.x86_64
    [root@localhost ~]# > abc
    [root@localhost ~]# cat abc
    [root@localhost ~]# 
  • 一个大于号 覆盖重定向 ,原文件会被覆盖

  • [root@localhost ~]# rpm -qa|grep 'curl' > abc
    [root@localhost ~]# cat abc
    curl-7.61.1-22.el8.x86_64
    libcurl-7.61.1-22.el8.x86_64
    [root@localhost ~]# 
  • 两个大于号 追加重定向,原文件会保持,继续追加

  • [root@localhost ~]# rpm -qa|grep 'curl' >> abc
    [root@localhost ~]#
    [root@localhost ~]# rpm -qa|grep 'curl' >> abc
    [root@localhost ~]# rpm -qa|grep 'curl' >> abc
    [root@localhost ~]# cat abc
    curl-7.61.1-22.el8.x86_64
    libcurl-7.61.1-22.el8.x86_64
    curl-7.61.1-22.el8.x86_64
    libcurl-7.61.1-22.el8.x86_64
    curl-7.61.1-22.el8.x86_64
    libcurl-7.61.1-22.el8.x86_64
    curl-7.61.1-22.el8.x86_64
    libcurl-7.61.1-22.el8.x86_64
    [root@localhost ~]# 
1.4 命令别名 alias
  • [root@localhost ~]# alias cdnet='cd /etc/sysconfig/network-scripts/'
    [root@localhost ~]#
    [root@localhost ~]# cdnet
    [root@localhost network-scripts]# cd
    [root@localhost ~]# 
1.5 光标跳转
  • ctrl +a 到最开始
  • ctrl +e 到最后
  • ctrl + 左右键
  • trl +w 删除所选前一个命令
  • ctrl +u 删除所选前面
  • ctrl +k 删除所选后面
1.6 支持变量
  • echo 打印

  • [root@localhost ~]# a=100
    [root@localhost ~]# echo $a
    100
    [root@localhost ~]# 
  • 英文中的双引号—弱引用 echo “$a”

  • 英文中的单引号—强引用 echo ‘$a’

  • [root@localhost ~]# echo "$a"
    100
    [root@localhost ~]# echo '$a'
    $a
    [root@localhost ~]# 
  • PATH—当前系统所有命令所在的位置

  • [root@localhost ~]# echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    [root@localhost ~]# lls
    -bash: lls: command not found
    [root@localhost ~]# 
  • [root@localhost ~]# ls
    1.1.txt  20220323        abc              bin
    1999     20220323143400  anaconda-ks.cfg  q
    [root@localhost ~]# cp /usr/bin/ls /root/bin/lls    //把/usr/bin/ls cp /root/bin/ lls(重新命名)
    [root@localhost ~]# ls bin/
    lls
    [root@localhost ~]# lls
    1.1.txt  20220323        abc              bin
    1999     20220323143400  anaconda-ks.cfg  q
1.6 看时间—date mkdir 创建目录
  • 年 year Y
    月 month m
    日 day d
    时 hour H
    分 minute M
    秒 seconds S

  • [root@localhost ~]# date '+%Y%m%d'
    20220323
    [root@localhost ~]# date '+%Y%m%d%H%M%S'
    20220323143256
    [root@localhost ~]# date
    Wed Mar 23 14:33:16 CST 2022
    [root@localhost ~]# 
1.7 命令替换—英文中的反引号和$()
  • 反引号

  • [root@localhost ~]# mkdir `date '+%Y%m%d%H%M%S'`
    [root@localhost ~]# ls
    1.1.txt  1999  20220323143400  abc  anaconda-ks.cfg  q
  • $()

  • [root@localhost ~]# date '+%Y%m%d'
    20220323
    [root@localhost ~]# mkdir $(date '+%Y%m%d')
    [root@localhost ~]# ls
    1.1.txt  20220323        abc              q
    1999     20220323143400  anaconda-ks.cfg
    [root@localhost ~]#
    
1.8 支持文件名通配
  • *匹配任意长度的任意字符

  • *9看的是以9结尾

  • 9*看的是以9开头

  • [root@localhost ~]# ls 1*
    1.1.txt  102  105  108  111  114  117  120
    100      103  106  109  112  115  118  1999
    101      104  107  110  113  116  119
    [root@localhost ~]# ls 3*
    ls: cannot access '3*': No such file or directory
    [root@localhost ~]# ls 9*
    90  91  92  93  94  95  96  97  98  99
    [root@localhost ~]# ls a*
    abc  anaconda-ks.cfga:
    b  c  d
    [root@localhost ~]# ls *9
    109  119  1999  69  79  89  99
    [root@localhost ~]# 
  • ?匹配任意单个字符

  • [root@localhost ~]# ls ?
    c  e  g  i  k  m  o  r  t  v  x  z
    d  f  h  j  l  n  p  s  u  w  ya:
    b  c  dq:
    [root@localhost ~]# ls ??
    66  69  72  75  78  81  84  87  90  93  96  99
    67  70  73  76  79  82  85  88  91  94  97
    68  71  74  77  80  83  86  89  92  95  98
    [root@localhost ~]# ls ???
    100  102  104  106  108  110  112  114  116  118  120  abc
    101  103  105  107  109  111  113  115  117  119  ___bin:
    lls
    [root@localhost ~]# 
  • []匹配指定范围内的任意单个字符

  • [root@localhost ~]# ls [c-g]
    c  d  e  f  g
    [root@localhost ~]# ls [c,g]
    ,  c  g
    [root@localhost ~]# 
  • [[:space:]] 表示空白字符

  • [[:punct:]] 表示标点符号

    • [root@localhost ~]# ls [[:punct:]]
      ,
      [root@localhost ~]#
      
  • [[:lower:]] 表示小写字母

  • [[:upper:]] 表示大写字母

  • [[:alpha:]] 表示大小写字母

  • [[:digit:]] 表示数字

  • [[:alnum:]] 表示数字和大小写字母

1.9命令行展开
  • ~展开为用户的家目录
  • ~USERNAME 展开为指定用户的家目录

2. 基础命令

1.1 mkdir 创建目录
  • [root@localhost ~]# mkdir -p a/{b/{235,147},c/123,d/{aaa/199,bbb}}
    [root@localhost ~]# ls
    1.1.txt  20220323        a    anaconda-ks.cfg  q
    1999     20220323143400  abc  bin
    [root@localhost ~]#
    [root@localhost ~]# tree a
    a
    |-- b
    |   |-- 147
    |   `-- 235
    |-- c
    |   `-- 123
    `-- d|-- aaa|   `-- 199`-- bbb9 directories, 0 files
    [root@localhost ~]# 
1.2date 时间
[root@localhost ~]# date
Wed Mar 23 16:02:20 CST 2022
[root@localhost ~]#
1.3history 历史命令
[root@localhost ~]# history 1  history 2  ls3  cat abc4  > abc5  cat
1.4alias 命令别名
[root@localhost ~]# cdnet
-bash: cdnet: command not found
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cd
[root@localhost ~]# alias cdnet='cd /etc/sysconfig/network-scripts/'
[root@localhost ~]# cdnet
[root@localhost network-scripts]# cd
1.5touch 创建文件
  • [root@localhost ~]# touch 2022
    [root@localhost ~]# ls
    1.1.txt  2022      20220323143400  abc              bin
    1999     20220323  a               anaconda-ks.cfg  q
    [root@localhost ~]# 
  • [root@localhost ~]# touch {c..z}
    [root@localhost ~]# touch {66..120}
    
1.6 ls 列出当前位置有什么文件
  • [root@localhost ~]# ls
    1.1.txt  20220323        a    anaconda-ks.cfg  q
    1999     20220323143400  abc  bin
    [root@localhost ~]# 
  • ls -l

  • [root@localhost ~]# ls -l
    total 8
    -rw-r--r--. 1 root root   88 Mar  1 19:16 1.1.txt
    -rw-r--r--. 1 root root    0 Mar 23 13:31 1999
    drwxr-xr-x. 2 root root    6 Mar 23 14:37 20220323
    drwxr-xr-x. 2 root root    6 Mar 23 14:34 20220323143400
    drwxr-xr-x. 5 root root   33 Mar 23 15:23 a
    -rw-r--r--. 1 root root    0 Mar 23 15:02 abc
    -rw-------. 1 root root 1092 Mar  1 17:08 anaconda-ks.cfg
    drwxr-xr-x. 2 root root   17 Mar 23 14:48 bin
    drwxr-xr-x. 2 root root    6 Mar 23 13:30 q
    [root@localhost ~]#
    

alhost ~]#


- ls -l- ```
[root@localhost ~]# ls -l
total 8
-rw-r--r--. 1 root root   88 Mar  1 19:16 1.1.txt
-rw-r--r--. 1 root root    0 Mar 23 13:31 1999
drwxr-xr-x. 2 root root    6 Mar 23 14:37 20220323
drwxr-xr-x. 2 root root    6 Mar 23 14:34 20220323143400
drwxr-xr-x. 5 root root   33 Mar 23 15:23 a
-rw-r--r--. 1 root root    0 Mar 23 15:02 abc
-rw-------. 1 root root 1092 Mar  1 17:08 anaconda-ks.cfg
drwxr-xr-x. 2 root root   17 Mar 23 14:48 bin
drwxr-xr-x. 2 root root    6 Mar 23 13:30 q
[root@localhost ~]#

linux基础命令(一)相关推荐

  1. linux怎么取消文件隐藏命令,Linux基础命令:显示隐藏的文件

    Linux基础命令:显示隐藏的文件 来源:互联网 作者:佚名 时间:2013-04-10 13:32 系统中一些文件,和Windows中的系统文件一样,这些文件一般是不显示出来的,那么我们可以使用-a ...

  2. Linux 基础命令上

    Linux 基础命令上 磁盘分区: /dev/hda5 dev 是硬件设备文件所在的目录 hd 表示IDE设备 sd 表示SCSI设备 a 硬盘的顺序号,以a.b.c...表示 5 分区的顺序号,以1 ...

  3. linux下kill指令默认信号,Linux基础命令之kill命令

    相信大家在使用Linux的过程中都会遇到过某个程序出错导致系统锁死的情况,按照常规的思维我们会通过重启来重新启动系统.然而事实上在Linux中并不需要进行重启就能够完成出错程序的关闭操作.在Linux ...

  4. linux修改密码最短生存时间,Linux基础命令---修改用户密码

    passwd 更改用户密码,超级用户可以修改所有用户密码,普通用户只能修改自己的密码.这个任务是通过调用LinuxPAM和LibuserAPI来完成的.本质上,它使用LinuxPAM将自己初始化为一个 ...

  5. Linux 基础命令讲解--加密解密

    Linux 基础命令讲解--加密解密 加密文件: 1.MD5 echo -n "string" | openssl md5   #加密字符串 openssl md5 -in tes ...

  6. 测试常用——linux 基础命令

    测试常用 的 linux 基础命令 1,查看服务器日志 vi 查看文件 (查找关键字:exception /exception  :  从上往下找,按n查找下一个关键字,按shift+n查找上一个关键 ...

  7. linux入门指令 详解,Linux基础命令之mktemp详解

    mktemp 创建临时文件或者目录,这样的创建方式是安全的.此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 1.语法 mktemp [ ...

  8. 软件测试 学习之路 linux基础命令 (二)

    一.linux基础命令进阶 1.重定向 例子: ls > 1.txt 把命令返回结果输出到文件中,会覆盖之前的数据 ls >>1.txt 把命令返回结果输出到文件中,不覆盖之前的数据 ...

  9. linux基础命令怎么记,linux基础命令--笔记(示例代码)

    linux基础命令--笔记 一.   1  . --help 命令简单帮助 2. man 查看命令复杂帮助  (非内置命令) 3  . help (bash的内置命令)如 :help cd  .hel ...

  10. Linux 基础命令:IP 路由操作 -ip命令

    转自Linux爱好者:Linux 基础命令:IP 路由操作 Table of Contents ip 1.语法 2.选项列表 3.ip link---网络设备配置 4.ip address---协议地 ...

最新文章

  1. 029_SpringBoot整合JPa
  2. 分布式的事务该怎么做?
  3. 5、leetcode剑指offer53 二分查找之0~n-1缺失的数字**
  4. JFreeChart插件使用
  5. DJANGO里让用户自助修改邮箱地址
  6. 一个项目的整个测试流程
  7. Mybatis中resultMap
  8. Windows Server Failover Cluster 使用的协议和端口
  9. err_cleartext_not_permitted
  10. dlibdotnet 人脸相似度源代码_C#开发的人脸左右相似度计算软件源码分析
  11. 【供应链案例】解密可口可乐供应链管理策略,揭头部饮料企业成功之道
  12. 中小微企业财务报表三剑客之资产负债表
  13. 四大汽车总线:LIN、CAN、FlexRay、MOST简述
  14. 重建堆栈指南及其自动化实现
  15. php转为图片,php中base64转换为图片的方法
  16. USACO 1.4 Mother's Milk 母亲的牛奶(经典的dfs倒水问题)
  17. jQuery实现简单弹出框
  18. 计算机开路人阿兰·图灵
  19. Cisco路由器上配置3A认证的故障调试
  20. APAHRSSTFPQRPTRAGRQTQLLRS|909409-88-7

热门文章

  1. 如何通过QQ机器人技术实现禅道bug的自动提交功能
  2. 关于java就业的简历模板,工作一年java简历模板
  3. font-family:中文字体的英文名称 (宋体 微软雅黑)
  4. 使用Docker 安装jdk8
  5. C11 标准下的 C 语言编程
  6. js打开新窗口并且POST传入参数
  7. 怎么删除映射网络里的计算机,W7怎么样删除映射上网网络驱动器
  8. 批处理之计划任务at和schtasks
  9. ELK实践(三)北京历年空气质量数据分析
  10. 北京天通苑二房东、黑中介