ls命令

ls对文件mtime时间进行排序

降序: ls -lt |  grep '^-'
    升序:   ls -ltr  |  grep '^-'

seq命令

求1000以内所有偶数的和

echo `seq 0 2 1000` | tr -s ' ' + | bc

paste命令

用户名-密码-家目录路径-默认shell

这里需要注意paste 文件的先后顺序问题,不同的顺序会有不同的结果 -f 只能从小到大依次显示,不能调整显示顺序.所以可以通过

调整 paste file1 file2 或者 paste file2 file1 来实现对列的顺序显示.

paste -d: /etc/shadow /etc/passwd | grep "^\<$root\>" | cut -d: -f1,2,15,16

[root@centos7 ~]# paste -d: /etc/passwd /etc/shadow | grep '^\<root\>:'|cut -d: -f1,9,6,7

虽然在后面指定-f1,9,6,7显示,但是最终显示结果还是按照1,6, 7, 9来排列的.这种指定无效.
 root:/root:/bin/bash:$6$RzUIKaLkncGUm9SL$FtuXzR8IpSz2OEQp.LlDrDH1O62SMrZ/Gj06iTSNqlxWma/aHf21lpikhNln6UgNyuL/HqGUrM45feTBkMC1T0

date 命令

[root@centos7 sysconfig]# date +%F
--
[root@centos7 sysconfig]# date +%H:%M:%S
::
[root@centos7 sysconfig]# date -d "$v_date -1 year" +%Y [root@centos7 sysconfig]# date -d last-year +%Y [root@centos7 sysconfig]# date -d next-year +%Y [root@centos7 sysconfig]# date -d next-year +%Y%M [root@centos7 sysconfig]# date -d next-year +%Y%M [root@centos7 sysconfig]# date -d next-year +%Y%m [root@centos7 sysconfig]# date -d next-year +%Y%m%D
//
[root@centos7 sysconfig]# date -d next-year +%Y%m%d

tar 命令

tar打包压缩的同时要指定被压缩的包存储的目录,排除某些子目录

mkdir -p /data/myetc && tar -cvzf     /data/myetc/myetc-`date +%F`-`date +%H:%M:%S`.tar.gz    /etc     --exclude /etc/sysconfig

/data/myetc/  表示压缩包需要存储的路径

myetc-`date +%F`-`date +%H:%M:%S`.tar.gz  表示被压缩的包名

file 命令

stat命令

Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)

[root@centos7 ~]# stat sh| grep Uid | cut -d " " -f 2 | cut -d "/" -f 1 | tr -d "("
0755

[root@centos7 ~]# stat sh | sed -n '4p'| sed -r "s/.*([0-9]{4})\/.*/\1/"
0755

使用扩展正则  \+ 符号无效,必须写成+
[root@centos7 ~]# stat sh | sed -n '4p'| sed -r "s/.*([0-9]\+)\/.*/\1/"
 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)

[root@centos7 ~]# stat sh | sed -n '4p'| sed -r "s/.*([0-9]+)\/.*/\1/"
0
[root@centos7 ~]# stat sh | sed -n '4p'| sed -r "s/.*\(([0-9]+)\/.*/\1/"
0755

通配符知识

rm -fr  myetc-`date -d "$v_date -1 year" +%Y`*.tar.gz

通配符是由shell处理的(不是由所涉及到命令语句处理的,其实我们在shell各个命令中也没有发现有这些通配符介绍), 它只会出现在 命令的“参数”里(它不用在 命令名称里, 也不用在 操作符上)。当shell在“参数”中遇到了通配符时,shell会将其当作路径或文件名去在磁盘上搜寻可能的匹配:若符合要求的匹配存在,则进行代换(路径扩展);否则就将该通配符作为一个普通字符传递给“命令”,然后再由命令进行处理。总之,通配符 实际上就是一种shell实现的路径扩展功能。在 通配符被处理后, shell会先完成该命令的重组,然后再继续处理重组后的命令,直至执行该命令。

我们回过头分析上面命令吧:在第2个命令中,*.txt 实际shell搜索文件,找到了符合条件的文件,命令会变成:ls a.txt b.txt ,实际在执行ls 时候传给它的是a.txt b.txt .

而命令3,d*.txt 由于当前目录下面没有这样的文件或目录,直接将”d*.txt” 作为ls 参数,传给了 ls .这个时候”*” 只是一个普通的 ls 参数而已,已经失去了它通配意义。 由于找不到文件,所以会出现:无法访问提示!

了解了shell通配符,我们现在看下,shell常见通配符有那一些了。

shell常见通配符:

字符 含义 实例
* 匹配 0 或多个字符 a*b  a与b之间可以有任意长度的任意字符, 也可以一个也没有, 如aabcb, axyzb, a012b, ab。
? 匹配任意一个字符 a?b  a与b之间必须也只能有一个字符, 可以是任意字符, 如aab, abb, acb, a0b。
[list]  匹配 list 中的任意单一字符 a[xyz]b   a与b之间必须也只能有一个字符, 但只能是 x 或 y 或 z, 如: axb, ayb, azb。
[!list]  匹配 除list 中的任意单一字符 a[!0-9]b  a与b之间必须也只能有一个字符, 但不能是阿拉伯数字, 如axb, aab, a-b。
[c1-c2] 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z] a[0-9]b  0与9之间必须也只能有一个字符 如a0b, a1b... a9b。
{string1,string2,...} 匹配 sring1 或 string2 (或更多)其一字符串 a{abc,xyz,123}b    a与b之间只能是abc或xyz或123这三个字符串之一。

需要说明的是:通配符看起来有点象正则表达式语句,但是它与正则表达式不同的,不能相互混淆。把通配符理解为shell 特殊代号字符就可。而且涉及的只有,*,? [] ,{} 这几种。

Linux命令实例功能笔记的更多相关文章

  1. shell linux基本命令实例、笔记

    1. 在当前文件夹下.查找20分钟内,被訪问过的文件, 并将文件的详情显示出来: find ./ -name '*.log' -mmin -20 -exec ls -l {} \;   当然,须要指出 ...

  2. 【第三课】常用的Linux命令(学习笔记)

    4月8日 学习笔记打卡

  3. linux命令sed学习笔记

    sed其实就是两个主要的知识点,那就是“怎么选择”和“怎么操作”!

  4. win10的power shell可以学习少部分linux命令_功能与cmd类似

    更新帮助文件:

  5. linux命令之chown命令

    发布:JB01   来源:脚本学堂     [大 中 小] 本文介绍下,linux系统中用于文件与目录权限管理的命令 chown命令的用法,chown将指定文件的拥有者改为指定的用户或组.有需要的朋友 ...

  6. Linux命令--1

    之前一直在学习Linux,不过有点一天打鱼两天晒网的意味,现在希望通过写博客的形式,积累更多的知识,也希望可以帮到同在linux坑中的各位小伙伴们~ PS:我的笔记重点在于通俗,很多命令一百度就有,但 ...

  7. 《Linux命令学习手册》系列分享专栏

    <Linux命令学习手册>系列分享专栏 <Linux命令学习手册>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/read/207 ...

  8. linux命令注解

    参考: Linux命令实例练习 -- 实验楼 太懒,就不全抄了,把自己觉得有坑的地方记录下来. ls ls命令的20个实用范例 -- linux.cn 常用参数 参数 描述 -a –all 列出目录下 ...

  9. 转 PHP中exec、system等函数调用linux命令问题

    PHP中exec.system等函数调用linux命令问题 先小说两句:今天研究了下PHP调用LINUX命令的功能,一开始怎么做都调用不成功,试了好久才终于成功了,所以发出来分享一下.下面我将详细介绍 ...

随机推荐

  1. [PHP] 05 - Cookie & Session

    故事背景 同 http, html, REST API 一样属于基础性的知识内容. [Node.js] 07 - Html and Http [Node.js] 08 - Web Server and ...

  2. [Linux] 硬盘构造与分区

    首先让我们从物理结构上了解一下硬盘的存储原理. 硬盘构造示意图: 1. head:磁头,磁盘盘面上的磁头,有几个磁头,就有几个盘面.从0开始编号,最大255,表示总共256个磁头. 2. cylind ...

  3. 九、K3 WISE 开发插件《工业单据老单序时薄插件工具栏按钮开发实例》

    =============================== 目录: 1.添加工具栏按钮 2.查询被添加工具栏按钮的业务单据的FMenuID和FID 3.添加工具栏按钮和业务单据的映射关系 4.工具 ...

  4. word2016怎么让目录索引显示在左边?

    视图里面 勾选导航窗格即可 前提是你分级分好

  5. Linux下makefile学习

    [make是什么?] make是一个命令工具,是一个解释makefile中指令的命令工具.它可以简化编译过程里面所下达的指令,当执行 make 时,make 会在当前的目录下搜寻 Makefile ( ...

  6. 品尝阿里云容器服务:用nginx镜像创建容器,体验基于域名的路由机制

    在前一篇博文中我们了解了阿里云容器服务的路由机制: 请求 -> 负载均衡80端口 -> 容器主机9080端口 -> acsrouting路由容器80端口 --基于域名--> W ...

  7. 用工厂模式解决ASP.NET Core中依赖注入的一个烦恼

    这是最近在实际开发中遇到的一个问题,用 asp.net core 开发一个后端 web api ,根据指定的 key 清除 2 台 memcached 服务器上的缓存.背景是我们在进行 .net co ...

  8. [No0000C7]windows 10桌面切换快捷键,win10

    windows 10桌面切换快捷键:Ctrl+Win+←/→ 切换窗口:Alt+Tab(不是新的,但任务切换界面改进)任务视图:Win+Tab(松开键盘界面不会消失)创建新的虚拟桌面:Win+Ctrl ...

  9. 查看CUDA和cuDNN的版本号

    1.查看cuda版本 cat /usr/local/cuda/version.txt2.查看cudnn版本 cat /usr/local/cuda/include/cudnn.h | grep CUD ...

  10. shell技巧之以逆序形式打印行

    测试文本内容如下: # cat textfile hadoop hdfs yarn spark zookeeper mapreduce hive hbase scala kafka CHAVIN my ...