linux删除空目录命令,linux删除非空目录的命令

新手必备的Linux操作命令

一、cd命令(切换目录 )

成都创新互联公司网站建设公司一直秉承“诚信做人,踏实做事”的原则,不欺瞒客户,是我们最起码的底线! 以服务为基础,以质量求生存,以技术求发展,成交一个客户多一个朋友!专注中小微企业官网定制,成都网站设计、成都网站制作,塑造企业网络形象打造互联网企业效应。

(1)切换到目录 /usr/local

cd /usr/local

(2)去到目前的上层目录

cd ..

(3)回到自己的主文件夹

cd ~

二、ls命令(查看文件与目录)

(4)查看目录/usr下所有的文件

cd /usr ls -al

三、mkdir命令(新建新目录 )

(5)进入/tmp目录,创建一个名为a的目录,并查看有多少目录存在

cd /tmp

mkdir a ls -al

(6)创建目录a1/a2/a3/a4

mkdir -p a1/a2/a3/a4

四、 rmdir命令(删除空的目录)

(7)将上例创建的目录a(/tmp下面)删除

rmdir a

(8)删除目录a1/a2/a3/a4,查看有多少目录存在

rmdir -p a1/a2/a3/a4

ls -al

五、cp命令(复制文件或目录 )

(9)将主文件夹下的.bashrc复制到/usr下,命名为bashrc1

sudo cp ~/.bashrc /usr/bashrc1

(10)在/tmp下新建目录test,再复制这个目录内容到/usr

cd /tmp

mkdir test

sudo cp -r /tmp/test /usr

六、mv命令(移动文件与目录,或更名)

(11)将上例文件bashrc1移动到目录/usr/test

sudo mv /usr/bashrc1 /usr/test

(12)将上例test目录重命名为test2

sudo mv /usr/test /usr/test2

七、rm命令:移除文件或目录

(13)将上例复制的bashrc1文件删除

sudo rm /usr/test2/bashrc1

(14)将上例的test2目录删除

sudo rm -r /usr/test2

八、cat命令:查看文件内容

(15)查看主文件夹下的.bashrc文件内容

cat ~/.bashrc

九、tac命令:反向列示

(16)反向查看主文件夹下.bashrc文件内容

tac ~/.bashrc

十、more命令:一页一页翻动查看

(17)翻页查看主文件夹下.bashrc文件内容

more ~/.bashrc

十一、head命令:取出前面几行

(18)查看主文件夹下.bashrc文件内容前20行

head -n 20 ~/.bashrc

(19)查看主文件夹下.bashrc文件内容,后面50行不显示,只显示前面几行

head -n -50 ~/.bashrc

十二、tail命令:取出后面几行

(20)查看主文件夹下.bashrc文件内容最后20行

tail -n 20 ~/.bashrc

(21) 查看主文件夹下.bashrc文件内容,只列出50行以后的数据

tail -n +50 ~/.bashrc

十三、touch命令:修改文件时间或创建新文件

(22)在/tmp下创建一个空文件hello并查看时间

cd /tmp

touch hello ls -l hello

(23)修改hello文件,将日期调整为5天前

touch -d “5 days ago” hello

十四、chown命令:修改文件所有者权限

(24)将hello文件所有者改为root帐号,并查看属性

sudo chown root /tmp/hello

ls -l /tmp/hello

十五、find命令:文件查找

(25)找出主文件夹下文件名为.bashrc的文件

find ~ -name .bashrc

十六、tar命令:压缩命令

(26)在/目录下新建文件夹test,然后在/目录下打包成test.tar.gz

sudo mkdir /test

sudo tar -zcv -f /test.tar.gz test

(27)解压缩到/tmp目录

sudo tar -zxv -f /test.tar.gz -C /tmp

十七、grep命令:查找字符串

(28)从~/.bashrc文件中查找字符串'examples'

grep -n 'examples' ~/.bashrc

linux删除文件夹命令

linux删除文件夹方法:

工具/材料:联想笔记本电脑、win10系统。

方法/步骤:

1、执行删除操作之前一般会运用ls查看一下当前文件夹的内容,当然也可以运用tree命令将文件夹内容进行tree视图方式展示,如下图所示。

2、然后执行rmdir命令进行文件夹删除,后面加上要删除的文件夹名字,如下图所示。

3、接下来删除一下B文件夹,可以看到B文件夹下面有子文件夹,这个时候删除B的话会提示当前目录非空,如下图所示。

4、如果想删除文件的话,直接用rm命令即可,rm后面也是直接跟着文件名字,如下图所示。

2-11 Linux 中的文件处理 --- mkdir、rmdir 创建目录和删除空目录命令

mkdir:创建目录命令。

-p:递归创建目录。

例:

mkdir test:创建单个名为 test 的目录。

mkdir -p test1/test2 : 递归创建多个目录。系统会首先创建 test1 目录,然后在 test1 目录        下再创建 test2 目录。

注:如不加 -p 选项进行递归创建将会报错。因为 test1 这个目录是不存在的。所以,没有办  法在一个不存在的目录下创建一个新目录。

例:

rmdir:删除空目录。

tmp 目录下有test 和 test1两个目录。test 为空目录,test1 非空。

rmdir test:删除 test 目录,此目录是空目录。所以可以正常删除。

rmdir test1:删除 test1 目录,系统给出 test1 目录不为空的提示。

因为 test1 下还有 test2 目录,删除递归目录失败。所以,rmdir 命令只能删除空目录。

Linux基本命令-2021-0717

[root@localhost ~]# ls -l

总用量 44

-rw------. 1 ---- root ---- root --------1207 1 月14 18:18 anaconda-ks.cfg

权限--引用计数 所有者 -- 所属组--- 大小-- 文件修改时间 文件名

ls [选项] [文件名或目录名]

选项:

-a :显示所有文件

--color=when:支持颜色输出

-d :显示目录信息,而不是目录下的文件

-h :人性化显示﹐按照我们习惯的显示文件大小

-i :显示文件的i节点号

-l:长格式显示

pwd 命令是查询当前所在的目录的绝对路径

选项:

-L (默认值)打印环境变量"$PWD"的值,可能为符号链接。

-P 打印当前工作目录的物理位置。

mkdir 是创建目录的命令

选项:

-Z:设置安全上下文,当使用SELinux时有效;

-m或--mode:建立目录的同时设置目录的权限;

-p或--parents:若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;

rmdir 是删除空目录的命令

-p: 递归删除目录

touch 是 创建空文件或修改文件的时间戳

[root@localhost ~]# touch [选项] 文件名

-a:或--time=atime或--time=access或--time=use 只更改存取时间;

-c:或--no-create 不建立任何文件;

-d:时间日期 使用指定的日期时间,而非现在的时间;

-f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题;

-m:或--time=mtime或--time=modify 只更该变动时间;

-r:参考文件或目录 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;

-t:日期时间 使用指定的日期时间,而非现在的时间;

--help:在线帮助;

--version:显示版本信息。

stat 是查看文件详细信息的命令,而且可以看到文件的这三个时间戳

选项:

-L:支持符号连接;

-f:显示文件系统状态而非文件状态;

-t:以简洁方式输出信息;

cat 命令用来查看文件内容

选项:

-A: 相当于-vET 选项的整合,用于列出所有隐藏符号

-E: 列出每行结尾的回车符$

-n: 显示行号

-T: 把 Tab 键用^I显示出来

-v: 列出特殊字符

more 是分屏显示文件的命令

less 是分行显示文件的命令

用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。

选项:

-e:文件内容显示完毕后,自动退出;

-f:强制显示文件;

-g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度;

-l:搜索时忽略大小写的差异;

-N:每一行行首显示行号;

-s:将连续多个空行压缩成一行显示;

-S:在单行显示较长的内容,而不换行显示;

-x数字:将TAB字符显示为指定个数的空格字符。

head 是用来显示文件开头的命令

选项:

-c --bytes=[-]NUM 显示前NUM字节;如果NUM前有"-",那么会打印除了文件末尾的NUM字节以外的其他内容。

-n, --lines=[-]NUM 显示前NUM行而不是默认的10行;如果NUM前有"-",那么会打印除了文件末尾的NUM行以外的其他行。

-q, --quiet, --silent 不打印文件名行。

-v, --verbose 总是打印文件名行。

-z, --zero-terminated 行终止符为NUL而不是换行符。

tail 是用来显示文件末尾的命令

选项:

-c, --bytes=NUM 输出文件尾部的NUM(NUM为整数)个字节内容。

-f, --follow[={name|descript}] 显示文件最新追加的内容。“name”表示以文件名的方式监视文件的变化。

-F 与 “--follow=name --retry” 功能相同。

-n, --line=NUM 输出文件的尾部NUM(NUM位数字)行内容。

--pid=进程号 与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令。

-q, --quiet, --silent 当有多个文件参数时,不输出各个文件名。

--retry 即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项“--follow=name”连用。

-s, --sleep-interal=秒数 与“-f”选项连用,指定监视文件变化时间隔的秒数。

-v, --verbose 当有多个文件参数时,总是输出各个文件名。

ln 是用来为文件创建链接的命令

[root@localhost ~]# ln [选项] 源文件 目标文件

选项:

-s: 建立软链接文件。如果不加“-s”选项,则建立硬链接文件

-f: 强制。如果目标文件已经存在,则删除目标文件后再建立链接文件

-d, -F, --directory 创建指向目录的硬链接(只适用于超级用户)

-f, --force 强行删除任何已存在的目标文件

-i, --interactive 覆盖既有文件之前先询问用户

-L, --logical 取消引用作为软链接的目标

-n, --no-dereference 把软链接的目的目录视为一般文件

-P, --physical 直接将硬链接到软链接

-r, --relative 创建相对于链接位置的软链接

-s, --symbolic 对源文件建立软链接

硬链接特征:

源文件和硬链接文件拥有相同的 Inode 和 Block

 修改任意一个文件,另一个都改变

 删除任意一个文件,另一个都能使用

 硬链接标记不清,很难确认硬链接文件位置,不建议使用

 硬链接不能链接目录

 硬链接不能跨分区

软链接特征:

 软链接和源文件拥有不同的 Inode 和 Block

 两个文件修改任意一个,另一个都改变

 删除软链接,源文件不受影响;删除源文件,软链接不能使用

 软链接没有实际数据,只保存源文件的 Inode,不论源文件多大,软链接大小不变

 软链接的权限是最大权限 lrwxrwxrwx.,但是由于没有实际数据,最终访问时需要参考源文

件权限

 软链接可以链接目录

 软链接可以跨分区

 软链接特征明显,建议使用软连接

rm 是强大的删除命令,不仅可以删除文件,也可以删除目录

[root@localhost ~]# rm [选项] 文件或目录

选项:

d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;

-f:强制删除文件或目录;

-i:删除已有文件或目录之前先询问用户;

-r:递归处理,将指定目录下的所有文件与子目录一并处理;

--preserve-root:不对根目录进行递归操作;

-v:显示指令的详细执行过程。

cp 是文件或目录用于复制的命令

[root@localhost ~]# cp [选项] 源文件 目标文件

选项:

-a:此参数的效果和同时指定"-dpR"参数相同;

-d:当复制软链接时,把目标文件或目录也建立为软链接,并指向与源文件或目录连接的原始文件或目录;

-f:强行复制文件或目录,不论目标文件或目录是否已存在;

-i:覆盖既有文件之前先询问用户;

-l:对源文件建立硬连接,而非复制文件;

-p:保留源文件或目录的属性;

-r:递归处理,将指定目录下的所有文件与子目录一并处理;

-s:对源文件建立软链接,而非复制文件;

-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;

-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;

-b:覆盖已存在的文件目标前将目标文件备份;

-v:详细显示命令执行的操作。

mv 是用来对文件或目录重新命名,或者将文件移动至其他目录

[root@localhost ~]# mv [选项] 源文件 目标文件

选项:

-b:当文件存在时,覆盖前,为其创建一个备份;

-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;

-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。

--strip-trailing-slashes:删除源文件中的斜杠“ / ”;

-S后缀:为备份文件指定后缀,而不使用默认的后缀;

--target-directory=目录:指定源文件要移动到目标目录;

-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

[root@localhost ~]# ls -l install.log

-rw-r--r--. 1 root root 24772 1 月 14 18:17 install.log

第一列的权限位如果不计算最后的“.”,则共有 10 位。

第 2~4 位代表文件所有者的权限。

chmod 用来变更文件或目录的权限

[root@localhost ~]# chmod [选项] 权限模式 文件名

选项:

-c, --changes:当文件的权限更改时输出操作信息。

--no-preserve-root:不将'/'特殊化处理,默认选项。

--preserve-root:不能在根目录下递归操作。

-f, --silent, --quiet:抑制多数错误消息的输出。

-v, --verbose:无论文件是否更改了权限,一律输出操作信息。

--reference=RFILE:使用参考文件或参考目录RFILE的权限来设置目标文件或目录的权限。

-R, --recursive:对目录以及目录下的文件递归执行更改权限操作。

用户身份

首先,读、写、执行权限对文件和目录的作用是不同的。

目录的可用权限其实只有以下几个。

chown 是修改文件和目录的所有者和所属组的命令

[root@localhost ~]# chown [选项] 所有者:所属组 文件或目录

选项:

-c或——changes:效果类似“-v”参数,但仅回报更改的部分;

-f或--quite或——silent:不显示错误信息;

-h或--no-dereference:只对软链接的文件作修改,而不更改其他任何相关文件;

-R或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;

-v或——version:显示指令执行过程;

--reference=参考文件或目录:把指定文件或目录的拥有者与所属群组全部设成和参考文件或目录的拥有者与所属群组相同;

普通用户不能修改文件的所有者,哪怕自己是这个文件的所有者也不行

普通用户可以修改所有者是自己的文件的权限

chgrp 是修改文件和目录的所属组的命令

[root@phato ~]# chgrp [选项] 所属组 文件或目录

-R 递归式地改变指定目录及其下的所有子目录和文件的所属的组

-c或——changes:效果类似“-v”参数,但仅回报更改的部分;

-f或--quiet或——silent:不显示错误信息;

-h或--no-dereference:只对符号连接的文件作修改,而不是该其他任何相关文件;

-H如果命令行参数是一个通到目录的软链接,则遍历软链接

-R或——recursive:递归处理,将指令目录下的所有文件及子目录一并处理;

-L:遍历每一个遇到的通到目录的软链接

-P:不遍历任何符号链接(默认)

-v或——verbose:显示指令执行过程;

--reference=参考文件或目录:把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同;

umask 是显示或设置创建文件的权限掩码。我们需要先了解一下新建文件和目录的默认最大权限。

我们在这里按照权限字母来讲解 umask 权限的计算方法。我们就按照默认的 umask 值是 022来分别计算一下新建文件和目录的默认权限吧。


当前文章:linux删除空目录命令,linux删除非空目录的命令
浏览地址:http://scyanting.com/article/hdsdse.html