【Linux基础篇】文件和目录操作

文件操作常用命令

1.文件清单命令  ls

用来列出文件或目录的详细信息

语法:

ls [option] [file or directory]

option:

-a   显示隐藏文件

-l    按文件类型与权限、链接数、属主、属组、大小、修改时间、文件名进行显示

-p   在目录后面加"/"

 

ls -ltc  按修改时间进行倒序排列

 

2.文件复制命令 cp

复制文件或目录,可1次复制多个文件/目录

语法:

cp [option] [source] [destination]

option:

-r  复制目录时递归复制其子目录

 

cp -r  file1    tmp   将file1文件夹整个复制到tmp目录下(包括file1文件夹)

cp -r  file1/*  tmp   将file1目录下所有文件和目录复制到tmp目录下(不包括file1文件夹)

cp -r  file1  file2  tmp  将file1和file2同事复制到tmp目录下  

 

3.文件移动命令(重命名)  mv

移动文件/目录,可1次移动多个文件/目录

语法:

mv [option] [source] [destination]

option:

-i  交互方式操作

-f  禁止交互

-p 移动时保持权限

 

mv file1 newfileName    重命名

mv file1 /tmp/anotherName  移动并重命名

 

4.删除文件命令 rm  

 

删除目录及其下所有文件和子目录

语法:

rm [option] [filename or directory]

option:

-i  交互

-r  递归删除

-f  禁止交互

使用rm删除文件,一定要清楚是否存在误删的可能,尤其是一些用户数据没有备份的情况下,删除了再想找回来可麻烦了!

 

rm -rf ./plan  删除plan目录(请确保plan目录下没有重要数据,或者已备份)

 

 

目录操作常用命令

 1.创建目录 mkdir

 语法:

 mkdir [option] [directoryName]

 option:

-m 对新建目录设置权限 

-p  自动创建不存在的目录及其子目录

-v   显示信息

 

 mkdir -m 777  tempfile  创建tempfile目录,并指定权限为777

 mkdir -p parent/child/subchild  自动创建不存在的目录

 

 2.删除目录  rmdir

要求目录必须为空,一般使用rm -rf xxx 进行删除

 

3.切换目录 cd

语法:

cd [directoryName]

 option:

 cd          返回登录主目录

 cd ~       返回登录主目录

 cd /        返回系统根目录

 cd /root  返回root目录,仅root用户可用

 cd /home  返回用户登录目录的上级目录

 cd ..          返回上一级目录

 cd -           返回上次访问的目录

 

 

 

文件和目录的权限管理 

Linux系统中每个文件和目录都有访问许可权限

文件和目录的访问权限:读、写、执行

文件访问权限分类:文件所有者的权限、同组用户的权限、其他用户的权限

 

1.更改文件/目录的权限 chmod

chmod3种参数类型

u  user:表示文件/目录的所有者

g  group:与文件属主同组的用户

o  other:其他用户

a  all:所有用户,系统默认值

数学符号

+  增加权限

-   减少权限

=  设置权限

权限分类

r 可读,对应二进制100

w 可写,对应二进制010

x 可执行,对应二进制001

 

chmod u+x,g+w test  文件所有者增加x权限,同组用户增加w权限

chmod  764 test  使用数字设定法对test修改权限 

 

2.更改文件/目录的属主 chown

语法:

chown [option] [owner] [filename]

 option

 -R 递归方式变更当前目录下所有文件与子目录

chown -R admin /app

 

查找文件

Linux系统查找文件的命令:find

语法:

find [path] [option] [operation]

path:

.  当前路径(相对路径)

/  系统根目录(绝对路径)

option:

name  根据文件名查找

perm   根据文件权限查找

user    根据文件属主查找

mtime -n +n  根据文件修改时间查找(-n 距今n天之内, +n 距今n天之前)

-newer file1 ! file2 (查找比file1新但比file2旧的文件)

type  按文件类型查找

b:块设备文件

d:目录 

c:字符设备文件

p:管道文件

l:符号链接文件

f:普通文件

s:socket文件

depth  查找文件时,先在当前目录中查找,然后在子目录中查找

 

operation:

print  将匹配到的文件输出到标准输出,可将结果重定向到文件中存储

exec  对匹配的文件执行shell命令:'comman' {} \;

ok      与exec相同,但每一步都会有交互

 

find .  -name 't*' -perm 744 -print

find .  -mtime -30 -print > result.txt

find /etc  -type f  -name "rc*"  -exec ls -l {} \;

find . -type f -name "*201403*.pdf" | wc -l

find . -type f -name "*201403*.pdf" > /pdf/pdfs.txt

echo *.pdf

echo  f*

猜你喜欢

转载自just2learn.iteye.com/blog/2035167