1.目录与路径


①相对路径与绝对路径

这个自然很简单啦。

相对路径:根据当前文件的位置来写路径。

绝对路径:路径的写法一定从根目录开始。

一般来说,在写程序时写绝对路径会比较安全一些,因为如果更换了工作环境,可能导致一些问题的发生。

②目录的相关操作

.   代表当前目录

..  代表上一层目录

~  代表“目前用户身份”的主文件夹

所有的目录下面都会存在 . 和 .. 这两个目录,root文件夹的..是自己本身。

  • 处理目录的几个命令:

cd:change directory 切换目录  cd  [相对路径/绝对路径]。

pwd:print working directory 显示当前所在目录。

mkdir:make directory 新建新目录 

mkdir -m  xxx [目录名称] 使用权限的方式创建目录

mkdir -p test1/test2/test3…  递归的方式创建目录

rmdir:remove directory 删除目录(只能删除空目录) 如果要删除整个目录的话。rm -r test

2.文件与目录管理


 

  • 查看文件与目录命令:ls

-a:全部的文件,连同隐藏文件一起显示出来

-d:仅列出目录文件

-l:仅列出长数据串,包含文件的属性与权限等数据

经常用的ls -al这样

  • 复制删除移动

复制 cp:

-a:完全的复制

-i:覆盖询问,就是目标文件夹如果存在了,便会询问是否覆盖

-r:递归持续复制,目录中会存在递归的问题

cp /.bashrc /tmp/bashrc

把别的文件复制到当前的目录下:cp [文件路径]   .     <- 这里有一个点 代表当前目录

删除rm:

-i:删除前询问用户确认删除

-r:递归删除所有的文件(危险)

mv [需要移动的文件]  [目标目录]

mv  text1 text2 有重命名的功效

3.文件内容查阅


 

cat命令:

concatenate 连续的意思。cat + 文件名 可以显示文件的内容

cat -n  文件名, 会显示行号并且空白行也会有行号, 如果是 -b的 空包行没有行号

tac命令:

我们可以发现  tac恰好是 cat的反向命令,同样作用也和cat相反, cat是正向显示内容, tac是反向显示

nl命令:

将输出的文件内容自动加上行号,nl可以将行号做比较多的显示设计

more命令:

一页一页的查看文件的内容。用space建向下翻页,enter向下滚动一行,b往回翻页, /字符串 查找字符串。

less命令:

比more更有弹性,更实用。

space键向下翻一页,[PageDown] 向下翻一页, [PageUp]向上翻一页。 /字符串 向下查找字符串, ?字符串  向上查找字符串

head命令:

取出前面几行,默认情况下是 显示10行,要自定义行数 需要 head -n 20 文件名,这就是显示前20行

tail命令:

显示出后面几行,默认情况下显示后面10行,要自定义行数 需要 tail -n 20 文件名,这就是显示后20行,

如果想从某一行开始显示,就需要 tail -n +20 文件名, 表示从20行之后开始显示。

touch命令:

touch + 文件名 便是创建一个新的文件,与其对称的是 mkdir创建一个新目录。

touch还常用在修改时间。

touch -d “2 days ago” bashrc 是修改时间到两天前

touch -t 0709150202 bashrc是修改时间为 2007/09/15 02:02

3.文件默认权限


 

我们在touch/mkdir的时候 每个文件都会有一个权限,那这个权限的初始值是怎么设定给的呢?

umask命令:

在root权限下执行 umask命令,便会得到一个数字,如0022,

如果是umask -S 则会显示的是比较之间的权限结果。

在默认情况下,文件的初始权限为:-rw-rw-rw-,目录的默认权限为:drwxrwxrwx

我们用umask得到的权限是需要减去的权限,0022 就是需要减去 —–w–w-

所以如果创建一个文件的话,得到的是(-rw-rw-rw-)- (—–w–w-)= -rw-r–r–

如果创建一个目录的话,得到的是 (drwxrwxrwx)- (d—-w–w-)= drwxr-xr-x

如何设置默认权限呢?

那就是用 umask 002 就把默认权限设置为0022了

主要在计算默认权限的时候,千万不要用数字来减,因为本来如果就没有这个权限,再减去会出错

chattr命令:

文件是存在隐藏属性的,chattr就是来设置文件的隐藏属性,chattr只可用在Ext2/Ext3的文件系统下面。

chattr [+-=] [ASacdistu] 文件名

其中a属性特别重要,在设置a属性之后,这个文件只会增加数据,而不能删除也不能修改数据,只有root才可以设置

i属性在设置之后,不能被删除,改名。设置连接也无法写入或添加数据。对系统安全作用很大,只有root可以设置

其中 + 是添加某个属性, -是删除某个属性,= 是只设置后面的参数

lsattr命令:

显示出某个文件的隐藏属性

如:lsattr -d 目录 代表显示出这个目录的隐藏属性,不显示目录的内容

-R是连同显示出目录的内容

4.权限和命令间的关系(极重要)


 

★让用户能进入某目录成为“可工作目录”的基本权限是什么

用户对这个目录有x权限即可。

如果用户想要在目录用ls来显示所有的文件名,则用户还得对此目录需要r的权限

★用户在某个目录内读取一个文件的基本权限是什么

可使用的命令,如 cat,tac,more,less等

目录所需的权限:至少得有x权限(cd切换到该目录下)

文件所需权限:目录对文件至少需要r的权限(r的读取目录下文件的内容)

★用户可以修改一个文件的基本权限是什么

目录所需权限:用户在该文件所在的目录至少要有x权限

文件所需权限:用户对该文件要有 r,w权限

★一个用户可以创建文件的基本权限是什么

目录所需权限:用户在该目录要有w,x的权限。x负责cd,w负责添加文件。

                 w权限:拥有此权限表示具有更改该目录结构列表的权限,总之,目录的w权限与该目录下的文件名或子目                     录名的变动有关,注意:指的是名字。具体如下:
                  1)在该目录下新建新的文件或子目录。
                  2)删除该目录下已经存在的文件或子目录(不论该文件或子目录的权限如何),注意:这点很重要,用户                           能否删除一个文件或目录,看的是该用户是否具有该文件或目录所在的目录的w权限。
                  3)将该目录下已经存在的文件或子目录进行重命名。
                  4)转移该目录内的文件或子目录的位置。

★让用户进入某目录并执行该目录下的某个命令的基本权限是什么

目录所需权限:用户在该目录至少要有x权限(cd)

文件所需权限:用户在该文件至少需要x权限

ping命令的实现

1.ping 的原理   ping 程序是用来探测主机到主机之间是否可通信,如果不能ping到某台主机,表明不能和这台主机建立连接。ping 使用的是ICMP协议,它...

阅读全文

学习笔记(1)-文件权限与目录配置

1.Linux文件属性 首先我们用ls -al来显示出文件的列表         ①.第一列代表文件的属性和权限。           总共有10个字符,           第一个字符代表的是...

阅读全文

欢迎留言

*