在日常工作中,经常需要创建带有时间信息的文件夹来存放一些需要日常整理和分类的文件。如果手动创建这些文件夹,既费时又费力,此时自动生成带有时间信息的文件夹就成为了一个必需品。
创新互联建站公司2013年成立,先为翁牛特等服务建站,翁牛特等地企业,进行企业商务咨询服务。为翁牛特企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
本文将介绍在Linux系统下如何利用shell脚本自动生成带有时间信息的文件夹。
1. shell脚本介绍
Shell脚本是一种用来编写一系列命令并按顺序执行的计算机程序,Linux系统原生支持Bash、Korn、Zsh等多个Shell环境,通过在Terminal运行脚本文件,可以一次性执行一连串的命令。
2. 编写shell脚本生成带有时间信息的文件夹
我们需要打开一个终端窗口,并在终端中创建一个新的空白.sh文件。
接下来,拷贝以下代码到新建的脚本文件中:
#!/bin/bash
# Define the year, month, and day variables
YEAR=`date +%Y`
MONTH=`date +%m`
DAY=`date +%d`
# Create the directory name variable
DIRNAME=${YEAR}”_”${MONTH}”_”${DAY}
# Check if the directory exists
if [ -d $DIRNAME ]; then
echo “The directory already exists.”
else
echo “Creating the directory…”
mkdir $DIRNAME
echo “Done”
fi
该脚本会在当前位置创建一个以当前年月日命名的文件夹,如2023_07_06,代码中的具体实现方式如下:
利用shell内置的date命令,获取当前年月日信息,并将其分别存到变量YEAR、MONTH、DAY中。
然后,将年月日变量利用拼接符“_”拼接起来,形成一个新的变量DIRNAME,该变量即为待创建的文件夹名称。
通过Linux系统提供的mkdir命令创建新建的文件夹。
在代码中,还有一条条件语句if用于检查待创建的文件夹是否已经存在,如果存在,则不再创建新的文件夹,否则创建一个新的文件夹并显示“Done”。
3. 执行脚本
执行脚本,有以下两种方式:
1) 命令行执行脚本
鼠标右键单击脚本文件,在弹出的菜单中选择“打开终端”(或其他类似的选项)。
在终端中输入以下命令,并按回车键执行即可:
$ bash ./generate_folder.sh
2) 赋予脚本执行权限
另一种方法是,将脚本文件赋予可执行权限,并直接执行脚本。
具体实现方式如下:
鼠标右键单击脚本文件,选择“属性”,进入“权限”选项卡,在“所有者”和“组”栏目中的“执行”选项中打勾,然后点击“确定”。
接着,在终端中直接输入以下命令即可:
$ ./generate_folder.sh
这样,就可以自动创建带有时间信息的文件夹了。
4.
利用shell脚本来自动生成带有时间信息的文件夹是非常方便的,无论是在日常工作中还是对于一些自动化工具的开发中,都有很大的实用价值。
本文介绍了生成带有时间信息的文件夹的shell脚本编写方法,通过掌握相关知识点,在日常工作中可以更加高效地完成任务,提高工作效率。希望本文能够对您有所帮助!
相关问题拓展阅读:
在Linux中,文件没有“创建时间”这个说法。Linux中的文件的时间属性只有三个:atime(Access time)、mtime(Modified time)、ctime(Change time)。不过,有时有人把ctime理解为create time(创建时间),这是不对的,为什么呢?因为,我们知道一个文件的创建时间只有一次,按这个理论,陵型创建时间是不允许修改的,即一个文件一旦创建,它的ctime值就固定不变;但事实呢?是可以改变的。atime指用户上次访问该文件(打开文件查看其中的内容)时的时间,只要一个用户访问该文件(不管以什么方式),atime的值都会改变,比如:修改一个文件的内容,必然要先打开文件,然后才会修改其中的内容,所以,修改一个文件时,不但会更新一个文件的mtime值,也会更新atime的值。mtime指用户上次修改该文件中的尺世猜内容的时间,只要用户修改该文件中的内容,那么mtime的值就会被更新。ctime指该文件的属性上次被改变时的时间。要想查看文件的属性,可以通过ls命令查看,比如:ls -l。例如:你修改该文件的权限了或者改变该文件的硬链接数了,ctime的值都会被更新。但是有一点,ctime的值更新,并不代表atime和mtime的值也更新,比如:你修改文件的权限,但并不代表你访问或修改了文件中的内容。在做一些相应的操作时,文件的atime、mtime、ctime的值都会自动被更新。正如前面所说,这些值是可以改变的,所以,我们可以通过touch命令来修改这三个属性的值。其实,touch并不是用来创建一个新的、空的文件的,而是用来修改这三个属性的值的。但为什么创建一个新的、空的文件呢?这是touch附带的一个功能,原因是:如果你提供的目标文件参数并不存在的话,那么touch就会出现错误,为了防止这种情况出现,touch命令就会默认创建一个所提供的目标文件参数;其实其他命令也是如此,有些命令,如果用户没有为它提供参数的话,它就会从标准输入设备读取参数,即让用户从标准输入设备输入参数,这样的命令比比皆是。 要想修改一返槐个文件下的所有文件的时间属性,可以用touch命令,提供一个要修改时间属性类型的参数和时间值,然后跟着该文件夹下的所有文件,引用方式是使用 *(星号),它可以匹配一个文件夹下的所有文件。
创建文件夹使用【mkdir x】命令;创建文件使用【touch x/a.txt】命令;删除文件夹使用【rm -rf x/】命令 。以下是详细介绍:
1、创建一个叫test的文件夹;输入【cd /home】回车 就到了home目录;输入【mkdir test】就可以了;
2、在文件夹里添加(就是创建 一个文件 例如a.txt);输入【touch test/a.txt】回车;
3、删除;输入【rm -rf test/】回车。
假设我们在/home里创建
1、创建一个叫test的文件夹
输入 cd /home 回车 就到了home目录;
输入 mkdir test 就可以了。
2、在文件夹里添加(就是创建 一个文件,例如a.txt)
输入 touch test/a.txt 回车。
3、删除
输入 rm -rf test/ 回车。
扩展资料:
一、LINUX通用命令:
1.date :print or set the system date and time
2. stty -a: 可以查看或者打印控制字符(Ctrl-C, Ctrl-D, Ctrl-Z等)
3. passwd: print or set the system date and time (用passwd -h查看)
4. logout, login: 登录shell的登录和注销命令
5. pwd: print working directory
6. more, less, head tail: 显示或部分显示文件内容.
7. lp/lpstat/cancel, lpr/lpq/lprm: 打印文件.
8. 更改文件权限: chmod u+x…
9. 删除非空目录:rm -fr dir
10. fg jobid :可以将一个后台进程放到前台。
Ctrl-z 可以将前台进程挂起(suspend), 然后可以用bg jobid 让其到后台运行。
job & 可以直接让job直接在后台运行。
11. kill 的作用: send a signal to a process. eg: kill -9 发送的是SIG_KILL信号。。。 具体发送什么信号 可以通过 man kill 查看。
12. ps 的用法, ps -e 或 ps -o pid,ppid,session,tpgid, comm (其中session显示的sessionid, tpgid显示前台进程组id, comm显示命令名称。)
参考资料:
LINUX命令-百度百科
Linux常用命令
1、Linux文件的复制、删除和移动命令
·cp复制,相当于dos中”copy”
用法:# cp 源文件或目录 目标文件或目录
常用参数:
-i interactive,询问模式。覆盖前是否询问
-r recursive,当复制原文件夹是一个目录文件, 目标必须为目录名
# cp -i install.log /tmp // 正常
# cp -i install.log /tmp // 询问,覆盖
# cp -r /root /tmp // 复制文件夹
·mv移动、重命名,相当于dos中”move”
用法: # mv 源文件或目录 目标文件或目录
-i interactive,询问模式.
-f force,强制操作,不询问.
# mv /tmp/install.log . // 目标存在,移动
# mv /tmp/install.log ./i3 // 目标不存在,重命名
# cp i3 /tmp
# mv -i i3 /tmp // 询问
# mv -f a*.* /tmp/i3 // 不询问
·rm(remove)删除文件、文件夹,相当于dos中”del”
用法: # rm 文件
-i、-r、-f 同上.”-r”主要针对文件夹,将全部目录和子目录递归地删除
# mkdir folder // 创建文件夹
# touch folder/{a,b,c} // 生成abc三个文件
# ls folder // 确认3个文件
# rm -i folder/a // 删除folder下a文件
# ls folder // 确认少了a文件
# rm -rf folder // 删除文件夹
2、Linux目录的创建与删除命令
·mkdir创建文件夹,DOS同
用法:# mkdir 文件夹名
-p parents,父母.当父文件夹不存在时,先创建父文件夹
# mkdir /tmp/haha ==> # file /tmp/haha
# mkdir -p /tmp/a/b/c/d ==> # file /tmp/a/b/c/d
# mkdir /tmp/{x,y,z}
·rmdir删除空文件夹,DOS同
用法: # rmdir 文件夹名
# rmdir /tmp/a/b/c/d // 成功
# rmdir /tmp/a/b // 不成功
·cd更改目录,DOS同
用法:# cd
– // 当前目录与上一次工作目录切换
~ // 用户主目录
# cd – ==> # pwd
# cd ~ ==> # pwd
关于linux生成时间文件夹的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
成都服务器租用选创新互联,先试用再开通。
创新互联(www.cdcxhl.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。物理服务器托管租用:四川成都、绵阳、重庆、贵阳机房服务器托管租用。
分享题目:Linux下如何自动生成带有时间信息的文件夹? (linux生成时间文件夹)
URL分享:http://www.shufengxianlan.com/qtweb/news33/112083.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联