Linux目录管理全面掌握

路径符号

.

当前目录

..

上一层目录

-

前一个目录

~

当前账户的主文件夹

~chai

chai这个账户的主文件夹

目录处理命令

PS:使用Tab进行文件补齐,是一种好习惯,能够避免输错文件名。

  1. cd 切换目录
  2. pwd 显示当前所在的目录 pwd=print working directory
pwd #输出当前工作目录
pwd -P #输出当前的真实路径,而非连接路径

#例子:文件/var/aaa的实际路径是/home/chai/aaa
cd /var/aaa
pwd #显示/var/aaa
pwd -P #显示实际路径/home/chai/aaa
  1. mkdir 新建目录
mkdir [-mp] 目录
-m:手动设置目录的权限,而忽略目录默认的权限umask

mkdir -m 744 /dir
//如果没有-m这个参数,创建的目录会有默认的权限。
-p:直接将所需要的目录递归创建出来

mkdir -p /dir1/dir2/dir3
//递归创建目录会有风险,如果我打错了字,会把错误的目录创建出来
  1. rmdir 删除空的目录

PS:rmdir仅能删除空目录。

rmdir [-p] 目录
-p:将上层出现的目录全删了。但必须都得是空的。

环境变量PATH

当我们执行命令:ls -al的时候,系统会按照PATH设置的路径,去这些路径中寻找ls这个文件,并执行。 如果PATH路径中有多个ls文件,那么先找到的那个ls文件被执行。

//查看PATH
echo $PATH
PS:$后跟的是一个变量。
PS:PATH由很多路径组成,每个路径之间用:隔开。
PS:不同用户的PATH是不一样的。
//在PATH中添加路径/chai
PATH="$PATH":/chai
PS:当前目录.不要放在PATH中,因为当前目录不是固定的,这样会造成错误!

查看目录结构

ls [-aAdfFhilnrRSt] 目录
ls [--color={never,auto,always}] 目录
ls [--full-time] 目录

-a

列出全部文件,包括.开头的隐藏文件

-A

列出全部文件,包括.开头的隐藏文件,但不包括.与..这两个目录

-d

只列出目录,不列出文件

-f

直接列出结果,而不进行排序

-h

将文件大小用易读的方式显示

-l

列出长数据串,包含属性等信息

-t

按时间排序

-S

按容量排序

-r

将排序结果反向输出

-/-color=never

不要根据文件特性给予颜色

-/-color=always

给文件显示颜色

-/-color=auto

让系统自己决定文件是否要现实颜色

-/-full-time

以完整的时间输出

-/-time={atime,ctime}

输出访问时间atime或权限改变时间ctime,而非修改时间mtime

PS:在许多distributions中,用ll就能代替ls -l。

复制cp

cp命令不仅仅具有复制的功能,还具有创建连接文件(快捷方式)、对比两个文件的新旧然后更新、复制整个目录等等。

cp [options] 原文件 目标文件夹
cp [options] 原文件1 原文件2 原文件3 目标文件夹

-a

就是pdr的意思(常用)

-d

若原文件是连接文件,则只复制连接文件的属性,而不复制连接文件的内容

-f

(force强复制)若目标文件已经存在,则将他删除后重新复制。

-i

若目标文件已经存在,则覆盖时询问(常用)

-p

连同文件的属性一起复制,而非使用默认属性

-r

递归复制,若原文件是个目录,那么这个参数会将原目录下所有内容都复制过去(常)

-s

复制后让目标文件成为连接文件(快捷方式)

-u

若原文件比目标文件新才将目标文件覆盖(用于更新)

//将文件/var/chai复制到/usr中去,并更名为shixv
cp /var/chai /usr/shixv //使用新的文件名
PS:如果目标文件加了名字,就表示将目标文件更名;若目标文件只是一个路径,就表示仍然使用原来的文件名。
cp /var/chai /usr //仍然适用原来的文件名

默认的情况下,cp之后文件的权限和属性会发生改变,改变的内容包括:权限、用户组名、修改时间等; 如果要是得复制过后的文件和原文件保持完全一致,则加上属性-a即可;此时,所有的属性都保持高度一致。 但是,我们去复制了别人的数据后,希望这些数据都是我们自己的,我们应该能够对这些数据进行各种操作;因此我们需要在cp完后进行权限的修改;而这个权限的修改必须是由复制给你的那个人修改的。

PS:显示两个指定文件的详细信息 ls -l 文件1 文件2

PS:将多个文件cp到指定目录下 cp 文件1 文件2 指定目录

文件/目录的默认权限 和 隐藏权限

除了基本的rwx权限之外,Linux的ext2/ext3文件系统下,我们还可以设置系统隐藏属性,它可以用chattr来设置,用lsattr来查看。最重要的属性就是可以设置文件/目录为不可修改,这可以让文件所有者都不能进行修改,这对于安全性方面是非常重要的。

文件的默认权限umask

umask是指用户在新建文件/目录时候的默认权限。

查看umask的方法:

//方法一:直接输入umask,显示四个数字:0022
umask
0022 //第一位不要管,后面三位分别对应文件主、同组用户、其他用户在默认权限的基础上被剥夺的权限。
//PS:文件的默认权限是(rw-rw-rw);目录的默认权限是(rwxrwxrwx)

上述默认权限是022,所以新建文件时,默认权限是:(rw-rw-rw)-(—-w–w-)=(rw-r–r–);新建目录时,默认权限是:(rwxrwxrwx)-(—-w–w-)=(rwxr-xr-x)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ccylovehs

javap查看class文件

通过JVM编译java文件生成class字节码文件,很多时候很想用工具打开看看,目前还不清楚哪一个软件专门查看class文件的,但是通过windows下的jav...

450
来自专栏java一日一条

javac和java命令行中的-classpath选项

这是个很基础的问题,但是因为基本上都是用现有的IDE工具 来开发java程序,所以很少有人意识到这一点

1043
来自专栏云知识学习

Nginx proxy_pass后的url加不加/的区别

针对情况1 :如果访问url = http://server/abc/test.jsp,则被nginx代理后,请求路径会便问http://proxy_pass/...

3559
来自专栏lgp20151222

CMD远程连接服务器上的MySQL

2.输入mysql -h要远程的IP地址 -u设置的MySQL用户名 -p登录用户密码

1061
来自专栏linxu shell指南

Tomcat安装(含JDK教程)

由于Tomcat依赖于JRE环境,所以在安装Tomcat前,需要部署java基础环境。

1274
来自专栏蓝天

Linux find命令详解

find pathname -options [-print -exec -ok ...]

872
来自专栏钟绍威的专栏

硬连接与软连接,inode与links当访问一个文件的时候,发生了什么INODE的内容建一个硬连接发生了什么?访问硬连接的过程注意建一个软连接发生了什么?访问一个软连接注意

硬连接和软连接,第一感觉就像是window的快捷方式,实则不然 要说硬连接和软连接,那就必须了解inode和block以及分区了 EXT文件系统在创建分区的时候...

1779
来自专栏linux运维学习

linux学习第四十八篇:php-fpm的pool,php-fpm慢执行日志,定义open_basedir,php-fpm进程管理

php-fpm的pool Nginx可以配置多个虚拟主机,php-fpm同样也支持配置多个pool,每一个pool可以监听一个端口,也可以监听一个socket...

1775
来自专栏我的博客

Linux基本知识

1.cd -,cd,..,.有什么功能 cd 打开用户根目录 cd – 打开上一次工作目录 . 当前目录 .. 上一级目录 2.查看当前所在目录绝对路径...

3277
来自专栏狐狸

Chrome的插件扩展程序安装目录是什么?在哪个文件夹?

1.windows xp中chrome插件默认安装目录位置: C:\Documents and Settings\用户名\Local Settings\App...

1214

扫码关注云+社区