文件与目录管理

这篇博客详细介绍了在Linux系统中进行文件与目录管理的一些关键参数,包括与时间相关的参数设置,如何操作用户和用户组,以及与档案权限和名称管理的重要选项。此外,还特别提及了find命令的一些高级用法,帮助用户更高效地查找和管理文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 注:Linux命令是区分大小写的

1.logout和exit的区别
logout 注销用户
exit 退出控制台,对于多层shell,用于逐层退出,到最顶层shell,作用就和logout相同。
如果没有切换过用户的话,这两个命令都是退出控制台了。 如果切换过用户的话,这两个命令都是注销当前用户,返回上一个用户。

2.ls命令
ls    -al        列出当前文件夹下所有隐藏文件与相关的文件属性
ls    -ld        只显示当前目录的详细属性
ls    -l    文件夹1【或文件】    文件夹2【或文件】        显示多个文件或文件夹的信息
ls    -F    *代表可执行文件,/代表目录

3.date命令
显示日期与时间

4.文件权限与如何改变文件所属用户组、用户及权限
4.1文件权限
r-可读,对应数字为4
w-可写,对应数字为2
x-可执行,对应数字为1,对目录而言,x代表用户是否可以进入这个目录

4.2改变文件所属用户组、用户及权限
4.2.1    chgrp    
chgrp    [-R]    用户组名    文件名---------------》改变文件所属用户组,加上-R是代表递归改变目录中的所有文件

4.2.2    chown   
1.chown   [-R]     用户名    文件名-----------------》改变文件所属用户,加上-R是代表递归改变目录中的所有文件
2.chown也可以同时改变用户组,例如:
chown    用户名:用户组    文件名
3.chown也可以单独的改变用户组
chown    .用户组    文件名

4.2.3    chmod
1.使用数字表示(4+2+1)
chmod   [-R]    xyz       文件名
x-对应用户的权限
y-对应用户组的权限
z-对应其他人的权限

2.使用符号改变文件权限
(1)几个符号的意思
u-用户
g-用户组
o-其他人
a-所有

(2)使用符号类型改变文件权限
示例1:
chmod    u=rwx,go=rx    文件名
示例2:只是单纯的增加(减少)一个文件属性
chmod    a+r    文件名
chmod    a-w    文件名

5.切换用户
(1)su    用户名
(2)su - 用户名
注:使用第二种方式,“-”前后要有空格

6.mkdir命令
(1)mkdir    -p    test1/test2/test3                循环创建整套目录
(2)mkdir    -m    711    test2                        给目录赋权限

7.rmdir命令
(1)rmdir    -p    test1/test2/test3                循环删除目录
(2)rm    -r    test1        会一级级的问你要不要删除
         rm    -fr    test1        问都不问,直接全部删除

8.查询ip
ifconfig    eth0

9.设置Linux环境变量
Linux下命令的执行需要在环境变量中配置路径,否则得用绝对路径或者相对路径
(1)查询环境变量配置
echo    $PATH
(2)设置环境变量
PATH="$PATH":路径

10.cp命令
(1)cp    [options]    源文件【,源文件2】    目标文件(文件名可以自定义)
-a    相当于-pdr
-p    连同文件的属性一起复制,而非使用默认属性(备份常用)
-d    若源文件为连接文件【注:连接文件就是快捷键】,则复制的是连接文件,而非文件本身
-r    递归复制,用于目录的复制行为(常用)
-i    若目标文件已经存在,则操作时会进行询问(常用)
-f    强制复制,若目标文件已经存在,则删除再复制
-l    进行硬连接的文件创建------------>硬连接
-s    复制文件为快捷方式--------------->软连接
-u    源文件比目的文件新时才复制(常用于备份)
(2)默认情况下,cp的源文件与目的文件的权限是不同的,目的文件的所有者通常会是命令操作者本身
(3)普通用户使用cp用户时,即使加上-a参数,也无法改变用户的所有者与用户组

11.rm命令
(1)rm    [-fir]    文件名1,文件名2
(2)root用户使用rm    -r时默认加上了-i参数,这样是为了保护操作,
如果确定要删除,则可以使用\rm    -r    文件名。
注:命令前加上反斜杠,可以忽略掉alias的指定参数

12.mv命令
(1)mv    [-fiu]    源文件1【,源文件2】    目标文件
-u    只有源文件比目标文件新时才去更新
(2)mv    源文件    新文件名
这个命令可以更改文件名
(3)rename命令可以批量更改文件名

13.取得文件名与目录名称
basename    路径        取得文件名
dirname    路径        取得目录名

14.文件内容查阅
文件内容查阅的命令:
cat    从第一行开始显示文件内容
tac    从最后一行开始显示文件内容
nl    显示的时候顺便显示行号
more    分页显示文件内容,不可向前翻页
less    分页显示文件内容,可以向前翻页
head    只看头几行
tail    只看结尾几行
od    以二进制方式读取文件内容

15.cat命令
-A    相当于-vET,v:列出看不出来的字符,E:显示结尾的断行字符$,T:将Tab键显示为^I
-b    列出行号,空白行不显示行号
-n    列出行号,空白行显示行号

16.nl命令
-b    a    空行也显示行号
        t    空行不显示行号
-n    ln    行号显示在屏幕的最左方
        rn    行号在最右方显示,行号自动补0
        rz    行号在最右方显示,不补0
-w    行号字段占用的位数,例:-w    3    表示001    

17.more命令
空格键        向下翻一页
Enter          向下滚动一行
/字符串       向下查询字符串,按Enter键查找,按n向下看,q退出
:f              立即显示文件名与目前显示的行数
q                 退出more
b                 向前翻页(只对文件有用,对管道无用)

18.less命令
空格键        向下翻页
PgDn         向下翻页
PgUp         向上翻页
/字符串       向下查询字符串
?字符串       向上查询字符串
n                重复向下查询
N                重复向前查询
q                退出

19.head命令
-n    数字    文件
(1)不加数字默认显示头10行
(2)-数字,代表最后多少行不显示

20.tail命令
-n    数字    文件
-f    持续检测后面输出的内容,ctrl+c结束
(1)不加数字默认显示最后10行
(2)+数字,代表显示多少行以后的数据
(3)
问:取出某文件第11到第20的数据
答:思路先取出前20行,再取出后10行,借助“管道”,所以为
head    -n    20    文件    |    tail    -n    10

21.od命令
读取非纯文本文件
-t    a    利用默认的字符输出
       c    利用ASCII字符输出
       d[大小]    利用10进制输出,每个整数占用大小
       f[大小]     利用浮点数输出
       o[大小]    利用8进制输出
       x[大小]     利用16进制输出

22.touch命令
(1)修改文件的时间
touch    [-acdmt]    文件
-a   修改访问时间
-c    修改文件的状态时间(如文件的权限或属性被更改时的时间),若该文件不存在,则不创建新文件 
-d    日期/时间
-m    修改文件的内容更改的时间
-t    日期/时间,格式为[YYMMDDhhmm]
(2)touch    文件
若文件不存在,则会创建一个新的文件

23.umask命令——很重要(对于架设文件服务器或FTP服务器)
(1)查询文件的默认权限
umask    显示数字,主要看后3个数字,是指应该被拿掉的权限
umask    -S
(2)文件默认权限与目录默认权限的区别
文件:一般不应该有执行的权限,只用于读写,所以最大为-rw-rw-rw-(666)
目录:由于x表示是否能进入目录,所以权限全放开,最大为drwxrwxrwx(777)
(3)root用户的umask默认是0022,一般用户的umask默认是0002,修改umask的默认属性的方式为
umask    需要修改的值(只有3位数字)

24.文件的隐藏属性
1.chattr命令
chattr    [+-=]    [ASacdistu]    文件或目录
A    访问时不修改atime,减少磁盘IO
S    一般情况下文件是异步写入磁盘的,改成S会使文件同步写入磁盘
a    文件只能增加数据,不能删除或修改(只有root能设置这个属性)
c    自动对文件压缩,读取时自动解压
d    使得文件不被dump备份
i    使得文件不能写入、改名、连接,一般用于系统安全(只有root才能设置这个属性)
s    彻底删除文件
u    不彻底删除,还能找回

2.lsattr命令
lsattr    [-adR]    文件或目录
a    显示隐藏文件的属性
d    仅显示目录本身的属性
R    连同子目录的数据一并列出来

25.file命令
file    文件        查看文件类型

26.查找文件
1.脚本文件的查找
(1)which    [-a]    命令
在$PATH中查找命令的完整文件名,不同的用户$PATH值不一样,查到的结果也不一样。
(2)内置命令使用type    command查找

2.文件名的查找
(1)通常使用whereis和locate查找,而不使用find。因为whereis和locate查的是数据库,而find查找的是硬盘,所以速度比find快。
whereis    [-bmsu]    文件或目录名
-b:只查找二进制格式文件
-m:只找在说明文件manual路径下的文件
-s:只找source源文件
-u:除上述3个选项以外的文件

(2)locate    [-ir]    关键词
-i:忽略大小写
-r:后面接正则表达式

updatedb    更新数据库
因为whereis和locate是查找数据库,如果想要最新的数据,需要手动触发更新。
updatedb是根据/etc/updatedb.conf的设置去查找系统盘内的文件名,并更新/var/lib/mlocate内的数据库文件。

(3)find    路径    选项   [action]
  • 与时间相关的参数
find    /    -mtime    0            找出过去24小时内有改动的文件
find    /    -mtime    +day        找出day天前被改动的文件
find    /    -mtime    -day        找出day天内被改动的文件
find    /    -mtime    day        找出day天当天被改动的文件
  • 与用户和用户组相关的参数
find    /    -user    用户1        找出属于用户1的文件
find    /    -nouser                 寻找系统中不存在于/etc/passwd中用户的文件
  • 与档案权限及名称有关的参数
find    /    -name    文件名
find    /    -size    (+/-)xxx(c/k)    查找大于(+)或者小于(-)xxx字节(c)或者xxx千字节(k)的文件
find    /    -type    【f-文件,b,c-设备,d-目录,l-链接,s-socket】
find    /    -perm    (+/-)权限数字    
  • find特殊用法
find    /    -name    xxx    -exec    命令(不能用命令别名)    \;        -exec和\;代表命令的开始和结束
find    /    -name    带有通配符的文件名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值