文件操作常用命令
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*