问: 在 Bash shell 脚本中什么命令检查某个目录是否存在?...要检查目录是否不存在,请执行以下操作: if [ !...如果不考虑符号链接到目录的情况,后续命令可能无法按预期工作,因为符号链接也会通过这个检查。...在 Unix 的早期设计中,许多系统资源都被抽象为文件,以实现统一和一致的接口处理,这样程序员可以使用相同的系统调用来操作不同的资源,如普通文件、目录、设备等。...这种哲学影响了许多 Unix-like 的操作系统,包括 Linux。 这里顺便整理一下 Bash 中对文件的各种测试: -a file -- 如果文件存在则为真。
在实际应用中,我们有时需要仅列出目录,下面是 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}'
-x或–one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。 -X或–exclude-from= 在指定目录或文件。...1> 要显示一个目录树及其每个子树的磁盘使用情况 du /home/linux 这在/home/linux目录及其每个子目录中显示了磁盘块数。...2> 要通过以1024字节为单位显示一个目录树及其每个子树的磁盘使用情况 du -k /home/linux 这在/home/linux目录及其每个子目录中显示了 1024 字节磁盘块数。...3> 以MB为单位显示一个目录树及其每个子树的磁盘使用情况 du -m /home/linux 这在/home/linux目录及其每个子目录中显示了 MB 磁盘块数。...4> 以GB为单位显示一个目录树及其每个子树的磁盘使用情况 du -g /home/linux 这在/home/linux目录及其每个子目录中显示了 GB 磁盘块数。
一、linux安装samba yum -y install samba 二、备份配置文件 cp /etc/samba/smb.conf /etc/samba/smb.conf.backup 三、添加访问账户...smbpasswd -a root 四、配置共享目录 sudo vi /etc/samba/smb.conf 在文件尾追加以下内容 [share] path = /data/home...read only = no browsable = yes public = yes writable = yes share:外部访问的目录名...path:linux上需要共享的目录 valid users:添加的账户名 五、重启smbd服务 service smb restart 六、访问共享目录 cmd 输入 //linuxip/共享目录名
1:Linux特点及哲学思想 ①一切皆文件* ②由众多目的的单一应用程序组成:一个程序只做一件事,且做好 ③组合目的的单一的小程序完成复杂的任务 ④尽量避免跟用户交互* ⑤使用文本文件保存配置信息...* 程序=指令+数据 程序=指令文件+库+配置文件+帮助文档 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 通常情况下无色显示,除了压缩文件
下面的shell脚本是将/opt下yyyymmdd格式的目录压缩打包为bak_yyyymmdd.zip,并通过ftp上传到192.168.0.2上的bak目录下。 #!
https://blog.csdn.net/10km/article/details/50427281 linux shell中判断目录是否为空 #!...$1` ] #} if is_empty_dir $1 then echo " $1 is empty" else echo " $1 is not empty" fi 上面两个方法都是使用...《ls命令》列出目录下的文件,根据ls的输出来判断是否为空,注意ls 命令带了-A参数,这是为了将目录中隐藏文件列出,同时排除.和..
前言 经常需要通过脚本来控制系统目录的里备份文件数量。不可能手动来经常查看,总是忘记。 通过脚本定期自己查看目录里的文件数据,删除时间较早的目录。...实现 那么就要设置几个条件: 允许存在几个目录 超过了怎么删除 怎么判断目录下有多少个目录? 用ls就可以。 那多出来的怎么删除? 遍历删,直到没有为止 完整代码如下: #!...-gt $dirCount ] do rm -rf `ls -1|head -n 1` currentDirCount=`ls -l | grep "^d" | wc -l` done 过滤目录...,d 表示目录 grep "^d" 制造一些测试数据,然后执行上面的脚本验证。...mkdir test1 test2 test3 最后一个问题,什么时候来执行呢? 这个就看具体的策略了,可以定时执行如:crontab,如果装了监控应用如zabbix那就可以通过客户端来执行。
从linux内核2.4.0以后mount支持mount --bind 一个目录到另外一个目录 比如: [root@localhost wind]# mkdir test1 test2 dir3 mount...--bind test1 test2 把test1挂载到test2,如果test2目录有内容将被遮住(dir2目录的内容一样存在。...窗户始终存在,只是被遮住而已,等umount了,原来dir2目录的内容就显示出来了) 要取消挂载使用umount即可 并不是使用mount --move dir1 dir2 mount --move...dir1 dir3就把dir1挂载到dir3(先umount dir1+再mount dir1到dir3),同时dir2的内容显示出来,dir3的原来内容被dir1的遮住 如果在开机的时候自动挂载,可以在/...dir1 dir2 none bind 0 0 mount经常使用方法如下: 1.mount iso mount -o loop a.iso /mnt/iso 2.挂载fat32到linux
小姐姐的照片一张 在UNIX系统中,Shell拥有一个强大的特性:文件名替换。...$ Shell会自动将模式 *替换成当前目录下能够匹配到的所有文件名。如果你在其他命令中使用 *,相同的替换过程一样会发生。那么echo命令呢?...在第二个echo中,首个*能够匹配t字符之前的任意多个字符,另一个*匹配t之后的任意多个字符,因此,只要包含t的文件名,就会被打印出来。...匹配两个字符,*匹配余下的零个或多个字符,其效果就是找出所有文件名长度至少为两个字符的文件。 另一种匹配单个字符的方法是在中括号[]中给出待匹配的字符列表。例如,[abc]能够匹配字符a、b或c。...在指定字符范围的时候,唯一的限制就是第一个字符在字母表上必须位于最后一个字符之前,因此[z-f]并不是一个有效的字符范围,而[f-z]就没有问题。
shell 作为一门 linux 下使用广泛的系统语言,语法简单,上手容易,但是想要用好,少犯错误,也不是那么容易的一件事,可谓虽是居家旅行之良药,但也是杀人灭口之利器~ ?...今天就来聊聊 linux 下一个常见的问题:如何避免误删目录。下文会详细的讲述不同的场景下误删目录,以及相应的解决方案。...6、在登录 shell 下使用友好的提示符 友好的命令提示符能时刻提醒操作者当前在哪个路径下,避免错误的路径下操作文件。 ? ?...AWS 用户中断31小时仅恢复6周数据) 2月1日,除夕刚刚过完,荷兰的一个DBA在数据库复制过程中意外地删除了一个错误的服务器上的目录,删除了一个包含300GB的实时生产数据的文件夹。...Lucchese前IT主管,在离职的时候收集了IT部门所有职工的用户名和密码然后伪装成一台办公室打印机创建了一个密码账号,并在其办公室内使用该账号进行了一系列的违规操作,给企业带来了严重的损失。
来自:xrzs的博客 链接:https://my.oschina.net/leejun2005/blog/793916(点击尾部阅读原文前往) 已获转载授权 shell 作为一门 linux 下使用广泛的系统语言...,语法简单,上手容易,但是想要用好,少犯错误,也不是那么容易的一件事,可谓虽是居家旅行之良药,但也是杀人灭口之利器~ 今天就来聊聊 linux 下一个常见的问题:如何避免误删目录。...下文会详细的讲述不同的场景下误删目录,以及相应的解决方案。...line 4: a: unbound variable 2、路径含有空格导致误删文件 史上最经典的要数下面这个bumblebee项目了,这个项目本来不出名,不过,程序在其安装脚本install.sh里的一个bug...6、在登录 shell 下使用友好的提示符 友好的命令提示符能时刻提醒操作者当前在哪个路径下,避免错误的路径下操作文件。 ? ?
在发布或是部署一些项目时,需要先将资源上传到服务器。...环境一般分为:本机、内网、公网,公网的话,考虑带宽问题,一般不允许将.svn目录和Thumbs.db文件上传上去,这样需要先导出项目文件,如果工程较大,导出可能还比较慢。...内网的话,为了方便,我一般就是上传内网时,把项目里的文件夹直接上传至内网服务器,然后使用shell命令再删除.svn目录和Thumbs.db文件。...直接在终端下使用VI进行编辑,然后输入shell程序,保存、退出,需要使用时直接调用sh xxx.sh ‘目录路径’即可。...上述代码 $1为调用shell时传入的参数 $0为shell文件名 -z $1 则是判断是否有参数的输入 -d $1 判断传入的参数是否为一个目录,检测是否为文件,使用-f find 指令 后跟着
shell 作为一门 linux 下使用广泛的系统语言,语法简单,上手容易,但是想要用好,少犯错误,也不是那么容易的一件事,可谓虽是居家旅行之良药,但也是杀人灭口之利器~ 今天就来聊聊 linux 下一个常见的问题...:如何避免误删目录。...6、在登录 shell 下使用友好的提示符 友好的命令提示符能时刻提醒操作者当前在哪个路径下,避免错误的路径下操作文件。 上文到此就结束了,列举了一些常见的case和解决方案,希望能对大家有所启发。...AWS 用户中断31小时仅恢复6周数据) 2月1日,除夕刚刚过完,荷兰的一个DBA在数据库复制过程中意外地删除了一个错误的服务器上的目录,删除了一个包含300GB的实时生产数据的文件夹。...没有删过库的Linux管理员,不是好的Linux运维工程师! 做最优秀的Linux运维工程师,从删库开始! 那么,今天你删库了吗?
shell 作为一门 linux 下使用广泛的系统语言,语法简单,上手容易,但是想要用好,少犯错误,也不是那么容易的一件事,可谓虽是居家旅行之良药,但也是杀人灭口之利器~ 今天就来聊聊 linux 下一个常见的问题...:如何避免误删目录。...下文会详细的讲述不同的场景下误删目录,以及相应的解决方案。...set -o errexit # 或 set -e 2、路径含有空格导致误删文件 史上最经典的要数下面这个bumblebee项目了,这个项目本来不出名,不过,程序在其安装脚本install.sh里的一个bug...6、在登录 shell 下使用友好的提示符 友好的命令提示符能时刻提醒操作者当前在哪个路径下,避免错误的路径下操作文件。 ?
shell 作为一门 linux 下使用广泛的系统语言,语法简单,上手容易,但是想要用好,少犯错误,也不是那么容易的一件事,可谓虽是居家旅行之良药,但也是杀人灭口之利器~ 今天就来聊聊 linux...下一个常见的问题:如何避免误删目录。...下文会详细的讲述不同的场景下误删目录,以及相应的解决方案。...line 4: a: unbound variable 2、路径含有空格导致误删文件 史上最经典的要数下面这个bumblebee项目了,这个项目本来不出名,不过,程序在其安装脚本install.sh里的一个bug...6、在登录 shell 下使用友好的提示符 友好的命令提示符能时刻提醒操作者当前在哪个路径下,避免错误的路径下操作文件。 ? ?
所以在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。 mkdir命令还可以同时创建多个目录,是不是很强大呢?...语法格式 : mkdir [参数] [目录] 常用参数: -p 递归创建多级目录 -m 建立目录的同时设置目录的权限 -z 设置安全上下文 -v 显示目录的创建过程 参考实例 在工作目录下,建立一个名为...dir 的子目录: [root@linux~]# mkdir dir 在目录/usr/linuxcool下建立子目录dir,并且设置文件属主有读、写和执行权限,其他人无权访问 [root@linux~...]# mkdir -m 700 /usr/linux/dir 同时创建子目录dir1,dir2,dir3: [root@linux~]# mkdir dir1 dir2 dir3 递归创建目录: [root...@linux~]# mkdir -p linux/dir
那对于这种方式来说,可以看作是一个在一个父进程的情况下,一个子进程在不断的执行不同的命令,或者换句话说是在不断的替换进程(其中的环境变量是从父进程传下来的)。...3、shell实现困难 1、对于shell来说,不仅仅是读取到我们输入到的命令行是什么,我们还需要在执行之前,每次都会有一段的前置的信息,这一段的前置消息就是,分别对应着用户名,主机名以及当前目录,所以第一个目标就是要解决基本信息的获取以及显示...如果不知道原本是什么的话,其实简单说一下也就是从家目录到当前目录的所有的路径都在环境变量的cwd中。所以我们才需要进行额外的处理。...4、5、CheckBuildin函数 内建命令的特点就是不需要考虑当前环境或者是默认的配置的条件,在什么地方shell都能够运行出来相对于的结果。 对于现在的我来说我只认识两个内建命令。...这两个我在之前讲环境变量的时候讲述过了其特点。所以要想这两个命令的与众不同,肯定是在函数结构上的与众不同。
让我们一起在合法合规的前提下,探索和提升Web安全吧! 在 Linux 系统中,管理文件和目录的磁盘空间使用情况是日常维护的一部分。特别是在数据密集型的应用场景中,了解各个目录和文件的大小至关重要。...du(disk usage)命令是一个强大的工具,可以帮助我们获取目录及其子目录的大小信息。 一、基本用法 1....四、使用 sudo 获取权限 在查看某些目录的大小时,您可能会遇到权限问题。在这种情况下,可以在命令前加上 sudo 来获取超级用户权限。...五、总结 通过使用 du 命令,我们可以方便地查看 Linux 系统中特定目录的大小,以及该目录下的文件和子目录的详细信息。...在进行文件管理和维护时,定期检查磁盘使用情况是一个良好的习惯,可以有效防止系统性能下降。
领取专属 10元无门槛券
手把手带您无忧上云