linux文件与目录管理

本文详细介绍Linux系统的常用命令,包括路径操作、文件管理、权限设置等,并解析环境变量、链接文件等概念,帮助初学者快速掌握Linux基本操作。

概述:

学习《跟着阿铭学Linux》

1.绝对路径和相对路径

以'/'开头为绝对路径。 相对路径直接目录名

命令:cd

绝对路径: cd /etc/vsftpd

相对路径:cd test (假设当前目录下有test目录)

当前目录:cd ./

返回上一级: cd ../

当前的绝对路径: pwd


命令:mkdir

mkdir -p /test/test1  (-p表示不存在test目录,就直接创建,如果不加会报错)

ls -ld /test/test1  (-ld 查看指定目录属性,其实是-l -d的合并)


命名:rmdir

rmdir只能移除空目录,-p 递归移除空目录


命令:rm

rm -r  /test/test1   (-r表示递归删除文件或者目录,如果是非空目录会询问,确认输入y,否则n)

rm -rf  /test/test1   (-f 表示强制删除,也就是不会提示是否删除,这个-rf 是-r 和-f合并)


2.环境变量PATH

which rm  (which可以查找某个命令的绝对路径)

命令:echo $PATH     (表示打印环境变量,其实类似window中path,如果你配置Java的环境变量,配置的好处就是,直接在dos输入命令就可,应该它会从路径中寻找是否存在此命令)

命令:PATH=$PATH:/root    (添加路径,这里就是把/root添加到path下,如果root存在相关的命令,它会自动到这里加载)

命令:cp

-r : 用于拷贝目录(如果不加 -r选项拷贝不了目录)

-i : 如何存在此文件会询问是否覆盖。


命令:touch

touch 文件名  (如果不存在就创建,存在改变访问时间)。

echo '11111' > 1.txt      (表示将‘11111’重写文件1.txt)

echo '11111' >> 1.txt     (表示将‘11111’ 追加到1.txt)


命令:mv

-i:询问是否覆盖

3.几个和文档相关的命令

命令:cat

-n:显示内容的行号

-A:显示所有内容,包括特殊字符


命令:tac(类似cat 内容到过来)


命令:more 

more  test1 (表示test1内容比较多,按空格下一屏)

命令:less (按j键向下移动,按‘k’ 键向上移动,当然包含空格键翻页)

打开文档之后可以进行搜索

输入:/+搜索内容 例如搜索word 那么就是:/word   (匹配多个按n键下一个,注意方向:当前行向下搜索)

输入:?+内容 (跟上面类似,只是方向是:当前行向上搜索)


命令:head (查看前几行)

head -n 10 test.txt    (表示查看test.txt文件中前十行)


命令:tail(也是显示文件,一般用于查看日志)

-f: 表示动态查看内容(也就是文件有修改会自动检测到)


4.文件的所属主以及所属组

所属主:文件拥有者,所属组:文件拥有者所有的组

5.linux 文件属性

ls -l查看当前目录下的文件,共享显示了9列内容(用空格分列)

-rw-r--r-- 1 root  root         4 Aug 10 15:03 11
-rw-r--r-- 1 root  root         4 Aug 10 15:04 111
drwxr-xr-x 3 root  root      4096 Aug 10 16:41 123

第一列:

第一位:

‘d’ :表示该文件为目录

‘-’ :表示普通文件

'l' :表示该文件为链接文件(link file)(分为软链接和硬链接)

‘b’ :表示该文件为块设备

'c' :表示该文件为串行端口设备

's' :表示该文件为套接字文件(socket),用于进程间通讯

后九位:

三个为一组,第一组为:所属主(user),第二组:所属组(group),第三组:非本群组(others)

w表示可写, r表示可读,x代表可执行

'-rw-r--r--'表示这是一个普通文件,所属主可读可写,所属组可读,非本群组可读。

第二列:表示为链接占用的节点(inode)

第三列:表示该文件的所属主

第四列:表示该文件的所属组

第五列:表示该文件的大小

第六列、第七列、第八列为该文件的最近的修改日期,分为月份日期以及时间、也就是mtime

第九列:文件名。


6、更改文件的权限

更改所属组 chgrp

语法:chrgp 【组名】 【文件名】

命令:groupadd (添加组)

groupadd testgroup (表示添加一个组为testgroup)


chgrp testgroup test1 (表示改变test1的所属组为testgroup)

-R:表示级联修改(该目录下所有文件以及目录的所属组)

chgrp -R testgroup dirb (表示修改dirb目录下所有文件的所属组,包括自己)


改变文件的所属主 chown (change ownship)

语法:chown 【-R】账户名 文件名 

或 chown 【-R】 账户名:组名 文件名

例如:chown -R user1:testgroup test (表示修改文件test(或目录test下所有文件及目录)的所属主是user1,所属组为testgroup)


改变用户对文件的读写执行权限chmod

linux使用数字去替换rwx , r=4, w=2 , x=1  

例如:‘-rwxrwx---’ 表示 ‘770’  ‘rwx’ = 4+2+1=7

chmod语法:chmod 【-R】 xyz 文件名(这里的xyz 表示数字)

-R :表示级联更改

在linux系统中,默认一个目录的权限是755, 而一个文件的默认权限为644


chmod -R 700 test (表示级联修改 test 权限为‘rwx------’)


采用字母user(u) group(g) others(o) 设置权限  a表示所有(ugo)

chmod u=rwx, og=rx test          (表示u修改test权限为rwx, og修改为rx(所属组和其他具有读执行权限))

对于权限的增删 , 对象 【+/-】权限(表示对象表示u,g,o) -表示去掉权限。+表示增加权限

chmod u-x test (表示为所属主权限删除执行权限)


命令:umask (定义创建文件或者文件夹的初始化的权限)

umask语法:umask xxx       (xxx表示三个数字)

输入:umask (显示当前初始值为0022)

输入:umask 002 (表示修改初始值为002)

其实这个将

满权限值-这个值=初始化文件/目录权限    (默认值满权限值文件权限为666, 目录为777)

如果修改umask为002,那么创建文件为664(‘rw-rw-r--’), 创建目录775(‘rwxrwxr-x’)


命令:chattr   (change attribute)

`+-=' : 分别为增加、减少、设定
`A' : 增加该属性后,文件或目录的atime将不可被修改;
`S' : 增加该属性后,会将数据同步写入磁盘中;
`a' : 增加该属性后,只能追加不能删除,非root用户不能设定该属性;
`c' : 自动压缩该文件,读取时会自动解压;
`i' : 增加后,使文件不能被删除、重命名、设定链接接、写入、新增数据;

chattr +i test1     (为test1增加i属性)


命令:lsattr     (list attribute)  读取文件或目录的特殊权限

‘-a’ : 类似与ls 的-a选项,隐藏文件一起列出

'-R' : 连同子目录的数据一同列出

lsattr  -aR     test2 (列出test2所有子目录文件或目录所有的特殊属性的情况)


7.在linux下搜索一个文件

1. ‘which’用来查找可执行文件的绝对路径

2.‘whereis’通过预先生成的一个文件列表库去查找跟给出的文件名相关的文件

`-b' : 只找binary 文件
`-m' : 只找在说明文件manual路径下的文件
`-s' : 只找source来源文件
`-u' : 没有说明档的文件

3.locate , 默认好像没有需要安装

yum install -y mlocate

4.find 

`-atime +n/-n' : 访问或执行时间大于/小于n天的文件
`-ctime +n/-n' : 写入、更改inode属性(例如更改所有者、权限或者链接)时间大于/小于n天的文件
`-mtime +n/-n' : 写入时间大于/小于n天的文件


命令:stat (查看文件时间)

stat test (查看文件test的时间 atime、ctime、mtime)

8、linux的链接文件

Hard Links: 硬链接

先读inode table  > 信息区

缺点:不能跨文件系统。不能链接目录

Symbolic Links : 软链接 

类似window的快捷键 ,根据快捷键找真正文件。删除源文件,快捷键没有用了,但是删除快捷键,源文件还在

命令:ln

语法: ln 【-s】 【来源文件】 【目的文件】

不加-s 表示创建硬链接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值