Linux命令备忘实例(10)——目录管理

Linux整个系统就是一个目录树结构,每个目录也是一个文件进行保存的,占用大小为4K的一个文件节点(node)。存在两种目录路径的表示方法:
- 相对路径:路径从当前所在位置开始,进行相对的计算。
- 绝对路径:以根目录“/”开始,写出所有经过的目录路径。

目录管理主要涉及如下几个方面:目录的切换、目录显示、目录创建与删除、权限设置等。

1.cd

change directory的缩写,功能就是改变目录。参数为绝对路径或者相对路径。

格式:cd [目录名]

常用技巧
快速切换到家目录:

user@ubuntu:/usr/local$ cd ~
user@ubuntu:~$
user@ubuntu:/usr/local$ cd
user@ubuntu:~$

跳转到进入当前目录之前的目录:

user@ubuntu:/usr/local$ pwd
/usr/local
user@ubuntu:/usr/local$ cd -
/usr
user@ubuntu:/usr/$ cd -
/usr/local

将上个命令的参数作为cd的参数使用:

user@ubuntu:/usr/local$ cd -
/usr
user@ubuntu:/usr$ cd !$
cd -
/usr/local

2.pwd

输出当前所在目录的绝对路径。

user@ubuntu:/usr/local$ pwd
/usr/local

3.mkdir/rmdir

1.mkdir

mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。同时也不能与同文件夹下的文件名重名。

-m, –mode=模式,设定权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 umask
-p, –parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
-v, –verbose 每次创建新目录都显示信息
–help 显示此帮助信息并退出
–version 输出版本信息并退出

其中-p选项可以创建长路径目录,非常方便,也就是多级不存在的目录在的新建(下面的命令中test目录和hello目录都不存在,如果不使用-p选项,则无法创建)

$ mkdir -p /home/user/test/hello/

2.rmdir

删除一个空目录,只能删除为空的目录,-p选项可以将连同上层的空目录一起删除。

4.获取目录名与文件名

basename获取文件名称,dirname获取目录名(没有斜杠结尾)。

user@ubuntu:~$ basename /etc/shadow
shadow
user@ubuntu:~$ dirname /etc/shadow
/etc

5.目录权限与umask

粘滞位是一种应用于目录的权限类型,通过设置粘滞位,使得只有目录的所有者才能删除目录中的文件,即使是相同用户组或者其他用户拥有足够的权限也不能执行删除操作。使用chmod +t选项应用于目录即可:

$ chmod a+t directory_name

在新创建目录和文件时,系统会有有一个预设的权限信息,这个信息是由umask命令指定的,用来确定当前用户在建立文件或目录时的默认权限值。预设权限如下:
- 新建文件时,预设没有可执行权限,只有rw两个,最大为666,也就是-rw-rw-rw-
- 新建目录时,由于x与是否能进入此目录有关,因此默认开放所有权限777,也就是drwxrwxrwx

直接输入umask会以数字形式显示,-S选项可以符号形式显示。

user@ubuntu:~$ umask
0022
user@ubuntu:~$ umask -S
u=rwx,g=rx,o=rx

umask的值表示,预设权限减去umask的值得到剩下值就是所在目录或文件的权限,也就是umask的值是被削减的权限。
预设的umask中,root身份的umask默认是022,对于一般身份者,默认的umask是002。

6.只列出目录

这个问题是非常实际但是可以考验命令熟悉程度的,现列举四种方法如下:

ls -d */:这是利用了ls的列举目录选项,很容易想到
ls -F | grep "/$":使用-F选项会在所有输出项添加一个代表文件类型的字符(@、*、|、/等),目录项添加的就是“/”
ls -l | grep "^d":这也是利用-l选项进行筛选,目录的文件类型字符是“d”开头标识
find . -type d -maxdepth 1 -print:这是利用find的选项进行筛选

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值