Linux命令实例功能笔记
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命令实例功能笔记的更多相关文章
- shell linux基本命令实例、笔记
1. 在当前文件夹下.查找20分钟内,被訪问过的文件, 并将文件的详情显示出来: find ./ -name '*.log' -mmin -20 -exec ls -l {} \; 当然,须要指出 ...
- 【第三课】常用的Linux命令(学习笔记)
4月8日 学习笔记打卡
- linux命令sed学习笔记
sed其实就是两个主要的知识点,那就是“怎么选择”和“怎么操作”!
- win10的power shell可以学习少部分linux命令_功能与cmd类似
更新帮助文件:
- linux命令之chown命令
发布:JB01 来源:脚本学堂 [大 中 小] 本文介绍下,linux系统中用于文件与目录权限管理的命令 chown命令的用法,chown将指定文件的拥有者改为指定的用户或组.有需要的朋友 ...
- Linux命令--1
之前一直在学习Linux,不过有点一天打鱼两天晒网的意味,现在希望通过写博客的形式,积累更多的知识,也希望可以帮到同在linux坑中的各位小伙伴们~ PS:我的笔记重点在于通俗,很多命令一百度就有,但 ...
- 《Linux命令学习手册》系列分享专栏
<Linux命令学习手册>系列分享专栏 <Linux命令学习手册>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/read/207 ...
- linux命令注解
参考: Linux命令实例练习 -- 实验楼 太懒,就不全抄了,把自己觉得有坑的地方记录下来. ls ls命令的20个实用范例 -- linux.cn 常用参数 参数 描述 -a –all 列出目录下 ...
- 转 PHP中exec、system等函数调用linux命令问题
PHP中exec.system等函数调用linux命令问题 先小说两句:今天研究了下PHP调用LINUX命令的功能,一开始怎么做都调用不成功,试了好久才终于成功了,所以发出来分享一下.下面我将详细介绍 ...
随机推荐
- js 六种数据类型的区别及bool 转换判断
一.bool型转换判断: 1.true 和 1 比较是相同,false 和 0 比较是相同(是 “==” 比较),因为内部会实现数据类型的 转化,将true 转换成1,将false 转换成0, js ...
- 使用Curator操作ZooKeeper
Curator是Netflix公司开源的一个ZooKeeper client library,用于简化ZooKeeper客户端编程.它包含如下模块: Framework:Framework是ZooKe ...
- 如何去除Launcher默认的google search bar?
JB2/JB3/JB5/JB9版本: 1. 请修改 Launcher2/res/layout/qsb_bar.xml,如下:<include android:id="@+id/qsb_ ...
- MySQL主从复制介绍
MySQL主从复制介绍 MySQL数据库的主从复制方案,和使用scp/rsync等命令进行的文件级别复制类似,都是数据的远程传输,只不过MySQL的主从复制是其自带的功能,无需借助第三方工具,而且,M ...
- PHP封装类 【 设置分页 】 !!! 可以直接引用 !!! 都有自己理解的注释,挺详细的,有搜到的朋友可以能帮到你们 【 新手一看练两遍就懂 】
在网页要显示出的内容,就是客户能看到的东西 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &q ...
- ABP之事件总线(3)
承接上一篇时间总线的学习,在上一篇中我们实现了取消显式注册事件的方式,采用使用反射的方式.这样的好处可以解除Publisher和Scriber的显式依赖,但是问题又来了,因为我们只有Publisher ...
- RPC框架-通俗易懂的解释
早期单机时代,一台电脑上运行多个进程,大家各干各的,老死不相往来.假如A进程需要一个画图的功能,B进程也需要一个画图的功能,程序员就必须为两个进程都写一个画图的功能.这不是整人么?于是就出现了IPC( ...
- 洛谷 P1090合并果子【贪心】【优先队列】
题目描述 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.多多决定把所有的果子合成一堆. 每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和.可 ...
- php实现简单消息发送+极光推送系统
前几天刚写完的一个东西,写的比较简单,没有使用其他插件,原生php+计划任务实现 极光推送的代码 /* $receiver="registration_id" : [ " ...
- 如何将sql查询出的结果,用符号隔开
晚饭过后,打开QQ圈子,发现QQ群里有人提问了一个问题↓ 数据表中有这样的数据 如何转换为 ,, , 知道写存储过程或者函数可以解决,但是想想能不能用一条sql语句解决...未果... 还是去搜索了下 ...