Linux基础知识总结1 | 文件与目录

网友投稿 1017 2022-05-28

1. linux文件权限与目录配置

1. 文件属性

Linux一般将文件可存取的身份分为三个类别,分别是 owner/group/others,且三种身份各 read/write/execute 等权限

文件的权限与类型解释:

1 为:代表这个文件名为目录或文件,本例中为文件(-),d为目录,l为链接文件 ……

234为:owner拥有者的权限,本例中为可读、可写、可执行(rwx)

567为:group同群组使用者权限,本例中为可读可执行(rx)

890为:others其他使用者权限

2. 更改文件属性与权限

chgrp: 改变文件所属群组,chown: 改变文件拥有者,chmod: 改变文件的权限

chgrp:要被改变的群组名称必须要在/etc/group文件内,我要把tempFile文件夹的所属群组改为testing,命令为:chgrp testing tempFile,加上-R : 进行递回(recursive)的持续变更,即连同次目录下的所有文件、目录都更新成为这个群组之意。常常用在变更某一目录内所有的文件之情况

chown:使用者必须是已经存在系统中的帐号,也就是在/etc/passwd 这个文件中有纪录的使用者,我要把tempFile文件夹的拥有者改为testown,命令为:chown testown tempFile,加上-R:即连同次目录下的所有文件、目录的拥有者都更新为testown,一些其他用法:chown testown:testing tempFile表示把tempFile的拥有者改为testown,群组改为testing

chmod:

数字类型改变文件权限:各权限的分数分别为r:4、w:2、x:1,所以0-7分别为:

0:-、1:x、2:w、3:wx、4:r、5:rx、6:rw、7:rwx,

例如,将tempFile文件夹的三种身份(owner/group/others)的权限都改为rwx的命令:chmod 777 tempFile,加-R:即连同次目录下的所有文件都会变更

符号类型改变文件权限:

u: user,g: group,o: others,a: all

例1:设置tempFile文件的权限成为“-rwxr-xr-x”时:chmod u=rwx,go=rx tempFile

例2:增加tempFile文件每个人都可写入的权限:chmod a+w tempFile

例3:去掉tempFile文件可执行权限:chmod a-x tempFile

3. 目录与文件权限的意义

![](4.png)

如果在某目录下不具有x的权限, 那么就无法切换到该目录下,也就无法执行该目录下的任何指令,即使具有该目录的r 或w的权限,所以要开放目录给任何人浏览时,至少要给予r及x的权限,但w权限不可随便给

4. linux目录

Linux目录树:

2. Linux文件与目录管理

1. 目录与路径

相关命令:

可执行文件路径的变量: $PATH

echo $PATH可以显示出路径,$表示后面接的是变量,结果:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

PATH(一定是大写)这个变量的内容是由一堆目录所组成的,每个目录中间用冒号(:)来隔开, 每个目录是有“顺序”之分的

2. 文件与目录管理

ls 命令用来查看目录的内容

3. 创建(touch)|复制(cp)|删除(rm)|移动(mv)

Linux基础知识总结1 | 文件与目录

touch命令:

创建一个新文件:touch fileName

cp命令:

cp 命令用来拷贝文件,要复制文件,输入命令cp

cp t.txt Document/t 该命令将把文件 t.txt 复制到 Document 目录下,并命名为 ts

-i 互动:如果文件将覆盖目标中的文件,他会提示确认

-r 递归:这个选项会复制整个目录树、子目录以及其他

-v 详细:显示文件的复制进度

mv命令:

mv 命令用来移动文件

-i 互动:如果选择的文件会覆盖目标中的文件,他会提示确认

-f 强制:它会超越互动模式,不提示地移动文件,属于很危险的选项

-v 详细:显示文件的移动进度

mv t.txt Document 把文件 t.txt 移动到目录 Document 中

rm命令:

rm 命令用来删除文件

-i 互动:提示确认删除

-f 强制:代替互动模式,不提示确认删除

-v 详细:显示文件的删除进度

-r 递归:将删除某个目录以及其中所有的文件和子目录

rm t.txt 该命令删除文件 t.txt

3.查看文件内容

1、cat 由第一行开始显示文件内容

直接查阅一个文件的内容cat fileName

2、tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写

由最后一行到第一行反向在屏幕上显示出来tac fileName

3、nl 显示的时候,顺道输出行号

可以将输出的文件内容自动的加上行号nl fileName

4、more 一页一页的显示文件内容

nl 与 cat, tac 等,都是一次性的将数据一口气显示到屏幕上面,而more可以进行一页一页翻动 more fileName,在 more 这个程序运行过程中,有几个按键可以按:

5、less 与 more 类似,但是比 more 更好的是,他可以往前翻页

less 的用法比起 more 又更加的有弹性,在 more 的时候,并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup]、[pagedown] 等按键的功能来往前往后翻看文件

6、head 只看头几行

head [-n number] fileName,默认的情况中,显示前面十行!若要显示前 20 行:head -n 20 fileName

7、tail 只看尾巴几行

tail [-n number] fileName,默认的情况中,显示后面十行!若要显示后 20 行:tail -n 20 fileName

实战:假如我想要显示 /etc/man_db.conf 的第 11 到第 20 行

head -n 20 /etc/man_db.conf | tail -n 10,这两个指令中间有个管线 (|) 的符号存在,这个管线的意思是:“前面的指令所输出的讯息,请通过管线交由后续的指令继续使用”的意思

8、od 以二进制的方式读取文件内容

od [-t TYPE] 文件,

4.默认权限和隐藏权限

1. 文件默认权限umask

当创建一个新的文件或目录时,他的默认权限是什么呢,可以用umask命令查看

直接输入:umask,会得到一串数字,例如0022,与一般权限有关的是后面三个数字,第一个数字是特殊权限用的,先不要理会。当加入 -S (Symbolic)这个选项,就会以符号类型的方式来显示出权限 umask -S,结果:u=rwx,g=rx,o=rx

0022的后三个数字分别表示owner、group、others被拿掉的权限,owner拥有rwx三个权限,group和others被拿了w权限,因为r、w、x分别代表4、2、1

在默认的情况中, root 的 umask 会拿掉比较多的属性,root 的 umask 默认是 022, 这是基于安全的考虑啦~至于一般身份使用者,通常他们的 umask 为 002 ,亦即保留同群组的写入权力

那怎样才能修改这些默认权限呢,比如要把默认权限改为002,直接输入umask 002即可

2. 文件隐藏属性

chattr (设置文件隐藏属性)

lsattr(显示文件隐藏属性)

3. 观察文件类型

file fileName 用于查看某个文件的类型、格式等,如下所示:

[root@VM-20-9-centos public]# file robots.txt robots.txt: ASCII text [root@VM-20-9-centos public]# file .DS_Store .DS_Store: Apple Desktop Services Store

4. 指令与文件的搜寻

1.指令文件名的搜寻

which:寻找命令的可执行文件

-a :将所有由 PATH 目录中可以找到的指令均列出,而不止第一个被找到的指令名称

[root@VM-20-9-centos /]# which -a ls alias ls='ls --color=auto' /usr/bin/ls [root@VM-20-9-centos /]# which -a cat /usr/bin/cat [root@VM-20-9-centos /]# which -a vim /usr/bin/vim [root@VM-20-9-centos /]# which -a ifconfig /usr/sbin/ifconfig

2.文件文件名的搜寻

whereis:在一些特定的目录中寻找文件或文件名

[root@VM-20-9-centos /]# whereis vim vim: /usr/bin/vim /usr/share/vim /usr/share/man/man1/vim.1.gz [root@VM-20-9-centos /]# whereis ifconfig ifconfig: /usr/sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz [root@VM-20-9-centos /]# whereis passwd passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz

whereis因为只查找了特定的目录,所以查找速度快,可以用whereis -l查看一共查找了哪些目录,而find的查找速度却要慢,因为它直接搜寻磁盘

locate:locate是在已创建的数据库 /var/lib/mlocate/ 里面搜寻数据,所以不用直接在去硬盘当中存取数据,所以速度快,而数据库的创建默认是每天执行一次,所以当新建了文件或目录后需要更新数据库,才能找到文件,命令是 updatedb

updatedb:根据 /etc/updatedb.conf 的设置去搜寻系统硬盘内的文件名,并更新 /var/lib/mlocate 内的数据库文件

[root@VM-20-9-centos /]# locate -l 2 public /etc/firewalld/zones/public.xml /etc/firewalld/zones/public.xml.old [root@VM-20-9-centos /]# locate -l 5 passwd /etc/passwd /etc/passwd- /etc/pam.d/passwd /etc/security/opasswd /usr/bin/gpasswd

Linux

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:量化投资与算法交易(一)
下一篇:介绍会话技术、Cookie的API、详解、应用
相关文章