Welcome 微信登录

首页 / 操作系统 / Linux

Linux shell 之 提取文件名和目录名的一些方法总结

Linux shell 之 提取文件名和目录名的一些方法总结

很多时候在使用Linux的shell时,我们都需要对文件名或目录名进行处理,通常的操作是由路径中提取出文件名,从路径中提取出目录名,提取文件后缀名等等。例如,从路径/dir1/dir2/file.txt中提取也文件名file.txt,提取出目录/dir1/dir2,提取出文件后缀txt等。下面介绍两种常用的方法来进行相关的操作。一、使用${}1、${var##*/}该命令的作用是去掉变量var从左边算起的最后一个"/"字符及其左边的内容,返回从左边算起的最...
详解shell 遍历文件夹内所有文件并打印绝对路径

详解shell 遍历文件夹内所有文件并打印绝对路径

例如你有一个文件夹路径是 /wls,如果想要遍历这个文件夹内的所有文件,并将它们保存到数组中,利用shell你可以这样做for file in /wls/*doif test -f $filethenarr=(${arr[*]} $file)fidoneecho ${arr[@]}这样就可以遍历wls文件夹下的所有文件并把它们的绝对路径存在arr这个数组中,但这还是不够的,因为文件夹中可能会有多个子文件夹,如果只过滤文件会遗漏掉子文件夹中的文件,所以需要扩...
Log4j 日志文件Linux/Mac/Windows通用存放位置设置方法

Log4j 日志文件Linux/Mac/Windows通用存放位置设置方法

log4j1/log4j2中category的配置以及log的输出位置(windows和linux通用的log输出位置)一、场景和需求假设我现在有3个独立的用project(暂时用maven关联起来,当然也可以不用maven),一个是提供公共服务的infrastructure,一个是提供存储的persister,一个是提供搜索的searcher,其中提供基础服务的所有的类,例如DateUtils,HttpUtils等工具类都位于目录com.chuanliu...
详解Linux命令中的正则表达式

详解Linux命令中的正则表达式

命令中的正则表达式如果要在命令输出或文本中筛选内容时使用模糊查找,就需要使用正则表达式。正则表达式是一套由多个元字符组成的模糊查找模式,使用正则表达式可以快速查找和定位文本中指定的内容。1、单字符匹配符.正则表达式主要由一些元字符和匹配模式组成单字符匹配符可以匹配任意单个字符,这个字符的功能和文件名匹配符中的?功能相同使用正则表达式查找文本,首先需要使用元字符组成一个查找模式(1)使用查找模式时,通常将其放入两个斜杠//中,然后再放入命令,例如要在一个文本...
一个简单的linux命令 mkdir

一个简单的linux命令 mkdir

mkdir 命令用于创建指定名称的目录,要求用户具有要创建的目录下的读写权限。一、命令格式mkdir [option] Dir…二、命令参数-m, --mode=模式,设定权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 umask-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;-v, --verbose 每次创建新目录都...
bash脚本编程学习之算术运算与文件查找

bash脚本编程学习之算术运算与文件查找

算术运算相对于其他编程语言来说在bash里面不能直接以变量加上变量的形式来表现;比如我们先声明两个变量num1和num2然后再做运算。num1=2num2=3echo "$num1+$num2"2+3这里我们显示的结果直接为2+3只是做了变量的替换,而不是做两个变量的加法运算;在bash里面变量默认是以字符串类型来存储的;就算我们在这里声明的这两个变量为整数也不会做运算;declare命令-i可以声明我们定义的变量为整型bash也只会做变量替换;decla...
linux网络相关命令汇总(6)

linux网络相关命令汇总(6)

本文将讲述网络相关命令,作者假定读者具备TCP/IP协议栈的基础知识。对于相关命令及其输出只介绍它的基本的使用方法和大概的描述,具体协议将不作详细解释。如今网络无疑是很重要的,linux系统中提供了丰富的网络测试与管理命令。我们来一起看看它们。内容如下:1、ping 发送TCMP回显请求报文,并等待返回TCMP回显应答。ping [OPTIONS]... destination这里的目标destination可以是目的IP地址或者域名/主机名选项-c指定发...
linux用户与文件基础命令介绍(1)

linux用户与文件基础命令介绍(1)

linux系统是一个多用户多任务的分时操作系统,但系统并不能识别人,它通过账号来区别每个用户。每个linux系统在安装的过程中都要为root账号设置密码,这个root即为系统的第一个账号。每一个用这个账号登录系统的用户都是超级管理员,他们对此系统有绝对的控制权。通过向系统管理员进行申请,还可以为系统创建普通账号。每个用普通账号登录系统的用户,对系统都只有部分控制权。我们知道计算机中的数据是以二进制0、1的形式存储在硬件之上的。在linux中,为了管理的方便...
linux文本分析awk基础命令介绍(8)

linux文本分析awk基础命令介绍(8)

awk是一种模式扫描和处理语言,在对数据进行分析处理时,是十分强大的工具。awk [options] "pattern {action}" file...awk的工作过程是这样的:按行读取输入(标准输入或文件),对于符合模式pattern的行,执行action。当pattern省略时表示匹配任何字符串;当action省略时表示执行"{print}";它们不可以同时省略。每一行输入,对awk来说都是一条记录(record),awk使用$0来引用当前记录:[r...
linux文件搜索及其它基础命令介绍(3)

linux文件搜索及其它基础命令介绍(3)

1、linux中包含大量的文件,对于文件查找,linux提供了find命令。find是一个非常有效的工具,它可以遍历目标目录甚至整个文件系统来查找某些文件或目录:find [path...] [expression]其中expression包括三种:options、tests和actions。多个表达式之间被操作符分隔,当操作符被省略时,表示使用了默认操作符-and。当表达式中不包含任何actions时,默认使用-print,也就是打印出搜索到的所有文件,...
linux定时任务基础命令介绍(14)

linux定时任务基础命令介绍(14)

在计算机的使用过程中,经常会有一些计划中的任务需要在将来的某个时间执行,linux中提供了一些方法来设定定时任务。1、at命令at从文件或标准输入中读取命令并在将来的一个时间执行,只执行一次。at的正常执行需要有守护进程atd:#安装atyum install -y at 或 apt-get install at -y#启动守护进程service atd start 或 systemctl start atd#查看是否开机启动(关于systemctl请看这...
一个简单的linux命令 touch

一个简单的linux命令 touch

linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件。命令格式touch [选项]… 文件…命令参数-a 或–time=atime或–time=access或–time=use 只更改存取时间。-c 或–no-create 不建立任何文档。-d 使用指定的日期时间,而非现在的时间。-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。-m 或–time=mtime或...
一个简单的linux命令 cp

一个简单的linux命令 cp

cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一。一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数。但是如果是在shell脚本中执行cp时,没有-i参数时不会询问是否覆盖。这说明命令行和shell脚本的执行方式有些不同。命令格式cp [选项]… [-T] 源 目的命令参数-a, –archive 等于-dR –preserve=all –backup[=CONTROL...
<< 131 132 133 134 135 136 137 138 139 140 >>