linux的文件管理:
1、创建 touch vim/vi echo重定向 cat重定向
touch 管理:atime mtime
touch 文件名 //如果文件不存在,创建文件
touch -a -t
2、删除:
1、 mv /tmp
2、find | xargs rm
3、rm 删除文件
-i 提示要不要删除
-f 强制删除
-r 删除目录
-v 显示详细删除信息
扩展:默认情况下 rm -rf / 是不让删除的(在centos 5及以下版本是可以的)
centos 6和centos 7加参数可以 --preserve-root 可以删根
4、rmdir 删除目录
3、移动:
文件的传输都有两种行为:一种是“推”,一种是“拉”的方式
mv 移动文件,改名
-t
mv a b c d /e 将多个文件同时移动到一个目录中
mv a b 把a文件名字修改为b
覆盖的问题 -i
cp 复制
-t
-a 可以复制目录以及目录里面文件的属性
install 复制文件和创建目录
-d 创建目录
-t
-g 指定所属组
-o 指定所属主
-m 指定复制文件的权限
scp -- linux机器之间进行文件传输的命令;
linux1 --> linux2
linux1:scp 文件 root@linux2的ip:/目录
linux2:scp root@linux1的ip:/文件 本地的那个目录
4、查找
locate
yum install mlocate -y
需要生成一个查找库的--不常用
updatedb 我们在这个查找库中查找对应文件
find 可以根据文件的任何一个属性来查找文件
1、inode 2、文件类型 3、文件权限 4、硬链接数 5、所属主 6、所属组 7、文件大小 8、修改时间 9、文件名(globbing)
-type f d s p c b l 指定文件类型
-perm 指定权限
-perm -500 004 411
-perm /500 644 755
-maxdepth 指定查找最多几级目录
-mindepth 指定查找最少几级目录
find ./ -maxdepth 1 -perm +1
find ./ -maxdepth 2 -perm 755
-links 指定硬链接数
find ./ -maxdepth 1 -links 2
-user -nouser
-group -nogroup
-size
-mtine -ctime -atime + - 数字
-name 支持文件通配符
-regex 指定使用正则表达式
5、压缩和递归
压缩:--1、只能让文件进行压缩;2、能让源文件变小
gzip
bzip2
xz
归档:--1、归档可以对目录进行操作;2、不会让目录变小
tar
-j bzip2 -j xz -z gzip
-c 压缩 -x 解压
v 详细信息
-f firename 指定创建压缩文件的名字
【解压的时候最好不要指定压缩文件】
6、编辑
全屏编辑器:
nano
vi vim
【区分:sed 流编辑器、行编辑器】
vim
1、默认为命令模式
i I a A o O 进入编辑模式
ESC 进入末行模式
2、命令模式下的常用技巧
2.1、上下左右 k j h l
2.2、命令模式
dd 删除一行 5dd删除5行
P 粘贴
u 切回上一个操作
U 退回进入文件时的初始状态
y 复制
yy 复制光标当前所在行
gg 光标跳至文件内容行首
G 光标跳至文件内容行尾
c =dd + i
r 替换光标所在字符
v 进入可选模式,进行选择,然后对选中的内容进行操作
3、末行模式
【末行模式下的很多操作和sed相同】
.$s/^#/ /g
:$将光标移动到文件末尾 :1 第一行
:w 保存
+filename 将当前文件保存到新的文件中去
:q 退出
:wq! 强制保存退出
【在命令模式下ZZ也可以保存并退出文件】
查找
/ 向下查找 n 下一个 N 上一个
? 向上查找 n 上面一个 N 下面一个
多个文件同时编辑的情况
:next 切换到下一个文件
vim a b
5dd
:next
p
将a文件中的5行内容复制到b文件中
:perv 切回到前一个文件
:first 切换到第一个文件
:last 切换到最后一个文件
:qa 退出所有文件
比较查看文件
1、垂直分屏
vim -O a b
切换光标:Ctrl+w 松开再按w
再进行切屏:ctrl+w松开按v
2、水平切屏
vim -o a b
切换光标:Ctrl+w 松开再按w
再进行切屏:ctrl+w松开按s
:q! 全部退出
:wq! 全部保存并退出