而环境变量是系统级别的变量,它们存储有关系统环境的信息,比如当前工作目录。 $PWD是一个特殊的环境变量,代表“Print Working Directory”的缩写,它存储了当前工作目录的完整路径。...当你在终端中执行pwd命令时,它会打印出当前工作目录的路径,这个路径正是$PWD所指向的内容。...命令的用途 ROOT_PATH=$PWD命令的用途非常广泛,以下是一些常见的应用场景: 脚本编写:在编写 shell 脚本时,经常需要引用某个特定的目录。...示例 1:编写 Shell 脚本 假设你正在编写一个 shell 脚本,该脚本需要在当前工作目录下创建一个名为log的目录,并在其中创建日志文件。你可以这样写: #!...示例 3:环境配置 有时候,你可能需要根据当前工作目录来设置环境变量。
我们知道可以使用ll命令列出当前目录下的所有文件夹和文件,ls -a还可以把隐藏文件显示出来,如果我们只想列出当前目录,可以使用如下命令 ls -d */ ll -d */ 发布者:全栈程序员栈长,
@(Linux 命令脚本) 编写脚本中,需要获取执行脚本的绝对路径,今天写脚本的时候不小心踩了个坑,记录下。 那个坑的脚本大概是这样的: #!.../something ${work_path} 问题就出在最后那句,本意我是希望把/home/lcd/something 复制到我脚本的执行目录。...假设我的脚本目录在/home/lcd/shell/下, bash /home/lcd/shell/mytest.sh # work_path -> home/lcd/shell # 能得到想要的 lcd...使用 pwd 获取路径 pwd 可以打印当前路径,但是也不一定是脚本的位置。 lcd:/home/lcd/shell/ $ bash ..../${work_path} # 当前位置跳到脚本位置 work_path=$(pwd) # 取到脚本目录
一般我们写Shell脚本的时候,都倾向使用绝对路径,这样无论脚本在什么目录执行,都应该起到相同的效果,但是有些时候,我们设计一个软件包中的工具脚本或者远程调用某个脚本时,可能使用相对路径更加灵活一点,因为你不知道用户会在哪个目录执行你的程序...,于是问题就来了,如何获取当前正在执行脚本的绝对路径?...常见的一种误区,是使用 pwd 命令,该命令的作用是“print name of current/working directory”,这才是此命令的真实含义,当前的工作目录,这里没有任何意思说明,这个目录就是脚本存放的目录...this_dir/#"`fi fi echo $this_dir 总结一下其实就是一条命令: base_dir=$(cd "$(dirname "$0")";pwd) dirname $0 ,取得当前执行的脚本文件的父目录...cd dirname $0 ,进入这个目录(切换当前工作目录) pwd,显示当前工作目录(cd执行后的) 我今天遇到一个问题就是: 需要压缩备份一个目录下的所有的文件,其实代码就2行: 我还是贴全部的吧
直接贴代码 #!/bin/bash # function calculator_dir_size(){ for file in `ls $1` do ...
在实际应用中,我们有时需要仅列出目录,下面是 3 种不同的方法。 当前目录结构 1. 利用 ls 命令的 -d 选项: ls -d */ 2....利用 ls 命令的 -F 选项: ls -F |grep "/$" -F 选项会给输出的不同文件类型加上一个后缀,比如普通文件会在其后加一个 * 符号,管道文件会在其后加上一个 | 符号,而目录则在其后加上一个.../ 符号,因此使用上面的方法也可以实现仅列出目录。...利用 ls 命令的 -l 选项: ls -l |grep "^d" 上面列出了目录的详细信息,如果只想列出目录名本身,那么可以: ls -l |grep "^d" |awk '{print $9}'
~,会随着目录切换而变化,例如:(root@app00:/bin# ,当前位置在bin目录下) # //表示当前用户是超级用户,普通用户为$,例如:("yao@app00:/root$" ,...//查看当前目录下的所有目录和文件 ls -a //查看当前目录下的所有目录和文件(包括隐藏的文件) ls -l //列表查看当前目录下的所有目录和文件...//删除当前目录下的文件 rm -f 文件名 //删除当前目录的的文件(不询问) rm -r 文件夹名 //递归删除当前目录下此名的目录 rm -rf 文件夹名...//递归删除当前目录下此名的目录(不询问) rm -rf * //将当前目录下的所有目录和文件全部删除 rm -rf /* //...中打包文件的扩展名 .gz //Linux中压缩文件的扩展名 .tar.gz //Linux中打包并压缩文件的扩展名 6.2 打包文件 tar
shell统计当前文件夹下的文件个数、目录个数 ls -l |grep "^-"|wc -l //统计当前文件夹下文件的个数 ls -l |grep "^d"|wc -l //统计当前文件夹下目录的个数...ls -lR|grep "^-"|wc -l //统计当前文件夹下文件的个数,包括子文件夹里的 ls -lR|grep "^d"|wc -l //统计文件夹下目录的个数,包括子文件夹里的 命令拆解...grep "^-" //这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 `^d` wc -l //统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数...,又由于一行信息对应一个文件,所以也就是文件的个数 扩展:shell脚本 //判断目录下文件数与指定文件数量是否相等的shell脚本(fileNum.sh) #!.../fileNum.sh 5 //判断当前目录下的文件数量是否为5
为什么Linux执行当前目录下的可执行文件要使用'./'前缀呢? 必须使用./的原因? 把'.'排除在root用户的PATH之外的原因? 必须使用./的原因?...因为shell使用了fork() + execvp/execlp函数来启动新程序,这时如果没有使用绝对路径(‘/‘开头)或者使用’....root用户的PATH通常是不包含‘.’的,也就是说不包含当前目录。而我们通常是使用root用户登录,因此通常就无法在PATH中找到要执行的文件,就会找不到啦。 把’.'...防止root用户不小心执行了当前工作目录下与标准命令同名的恶意程序。 不小心把命令拼错,执行了不想执行的程序(例如ls写成了sl)
声明: 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️敬请查阅 ❤️ 如果文章对你有帮助、欢迎一键三连 ---- copy 到当前目录 # ..../表示当前目录 cp test/*.wav ./ # 或者 cp test/*.wav ....-r 递归子目录 cp -r 路径/文件 目标路径 cp -r 路径/*.wav 目标路径 copy 一个目录下的所有文件以及递归文件 到当前文件夹 cp -r audios/*..../ -rf 覆盖式 copy cp -rf test/ ./ ---- 相关博文推荐 ---- Linux scp命令 | 还在为两个 ip 服务器之间如何传输项目 发愁吗 如果你也在学AI
-s或–summarize 仅显示总计,即当前目录的大小。 -S或–separate-dirs 显示每个目录的大小时,并不含其子目录的大小。...1> 要显示一个目录树及其每个子树的磁盘使用情况 du /home/linux 这在/home/linux目录及其每个子目录中显示了磁盘块数。...3> 以MB为单位显示一个目录树及其每个子树的磁盘使用情况 du -m /home/linux 这在/home/linux目录及其每个子目录中显示了 MB 磁盘块数。...4> 以GB为单位显示一个目录树及其每个子树的磁盘使用情况 du -g /home/linux 这在/home/linux目录及其每个子目录中显示了 GB 磁盘块数。...5>查看当前目录下所有目录以及子目录的大小: du -h . “.”代表当前目录下。
* 程序=指令+数据 程序=指令文件+库+配置文件+帮助文档 2:终端、shell理论 终端:人机交互的最后一个界面 shell:人机交互程序 ①图形shell (GUI) gnome ②字符界面...shell (CLI) sh dash ksh bash rbash … 当前shell echo “$SHELL” 3:Shell提示符 程序:指令+数据 指令+库+配置文件+帮助文档 管理员:...提示符 # 普通用户 提示符 $ 环境变量:env命令 4:文件与目录管理(见PPT) Linux目录层级: ① /bin:全局指令文件所在的路径 ② /home:普通用户的家目录所在的路径...ls:list 打印清单(指定目录) pwd:print work directory 打印当前工作路径 inux基本命令及操作 Linux的文件类型 普通文件:-,f 通常情况下无色显示,除了压缩文件...-h:以易于阅读的方式查看文件占用的磁盘空间 -R:递归显示目录及其子目录以及其下的文件 查看目录ls 切换目录 cd .开头为隐藏文件 路径:绝对路径 相对路径 当前路径 pwd命令 查看文本文件
1.查找当前目录【./】中含用内容为aliyun的所有文件 [cqs@centos7]$ grep -rl aliyun ./ ./a.txt ..../b.txt 2.查找当前目录中含用内容为aliyun的文件并将修改为“yz” [cqs@centos7]$ sed -i "s/aliyun/yz/g" `grep -rl aliyun ./` 总结...:sed -i "s/查找字符/替换字符/g" grep 查找字符 -rl 目录路径
https://blog.csdn.net/10km/article/details/50427281 linux shell中判断目录是否为空 #!...is_empty_dir $1 then echo " $1 is empty" else echo " $1 is not empty" fi 上面两个方法都是使用《ls命令》列出目录下的文件...,根据ls的输出来判断是否为空,注意ls 命令带了-A参数,这是为了将目录中隐藏文件列出,同时排除.和..
前言 经常需要通过脚本来控制系统目录的里备份文件数量。不可能手动来经常查看,总是忘记。 通过脚本定期自己查看目录里的文件数据,删除时间较早的目录。...实现 那么就要设置几个条件: 允许存在几个目录 超过了怎么删除 怎么判断目录下有多少个目录? 用ls就可以。 那多出来的怎么删除? 遍历删,直到没有为止 完整代码如下: #!.../bin/bash dirCount=5 # 查看当前目录数 currentDirCount=`ls -l | grep "^d" | wc -l` # 遍历删,直到没有为止 while [ $currentDirCount...-gt $dirCount ] do rm -rf `ls -1|head -n 1` currentDirCount=`ls -l | grep "^d" | wc -l` done 过滤目录...,d 表示目录 grep "^d" 制造一些测试数据,然后执行上面的脚本验证。
首先,按下快捷键win+R,然后输入cmd,回车,这样就打开了命令行 ---- 如上图,默认打开之后都是在C盘,接下来输入cd/,回车,接着输入要去的目录,比如我要打开我的D盘,输入...d: 回车 然后我要打开D盘下的某一目录,比如我要打开 D/Vscode文件夹/node 这个目录: 输入cd Vscode文件夹,回车,继续输入 cd node,回车...这种单个打开的方法虽然没问题,但是这样显得我们和计算机都有点迟钝,那有没有可以直接一次性打开根目录的方法呢?...另外还有两个常用的:连续两次 ctrl+c 退出当前环境; cls 清理命令行; 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人
在shell脚本里常常需要获取系统时间来处理某项操作,今天系统的学习了一下如何获取系统时间。...记录如下: linux的系统时间在shell里是可以直接调用系统变量的如: 获取今天时期:`date +%Y%m%d` 或 `date +%F` 或 $(date +%y%m%d) 命令输出结果如下...添加一个练习脚本,功能: 在每月第一天备份并压缩/etc目录的所有内容,存放在/root/bak目录里,且文件名为如下形式yymmdd_etc,yy为年,mm为月,dd为日。...Shell程序fileback存放在/usr/bin目录下。
import sys print sys.argv[0] 输出 本地路径 import os print os.getcwd() #获取当前工作目录路径 print os.path.abspath...#获取当前工作目录路径 print os.path.abspath('test.txt') #获取当前目录文件下的工作目录路径 print os.path.abspath('..')...#获取当前工作的父目录 !...注意是父目录路径 print os.path.abspath(os.curdir) #获取当前工作目录路径 改变目录 os.chdir(path) 合并文件 os.path.join('file1...print dirs #os.walk()所在目录的所有目录名 print files #os.walk()所在目录的所有非目录文件名 print " " file_name(root)
然后拖到Finder的工具栏中,如下图 ps.如何让Finder标题显示当前路径?
shell 作为一门 linux 下使用广泛的系统语言,语法简单,上手容易,但是想要用好,少犯错误,也不是那么容易的一件事,可谓虽是居家旅行之良药,但也是杀人灭口之利器~ ?...今天就来聊聊 linux 下一个常见的问题:如何避免误删目录。下文会详细的讲述不同的场景下误删目录,以及相应的解决方案。...(1)利用 shell 的变量扩展功能,如果变量为空赋给默认值或者抛出异常退出脚本: echo ${base_path:?var is empty}/${tmp_file:?...,导致文件被误删 cd ooxx_path_not_exsit rm -rf *.exe 恭喜这种情况下你的当前目录下匹配文件都会被误删,那我们该如何防范这种问题呢?...6、在登录 shell 下使用友好的提示符 友好的命令提示符能时刻提醒操作者当前在哪个路径下,避免错误的路径下操作文件。 ? ?
领取专属 10元无门槛券
手把手带您无忧上云