其他分享
首页 > 其他分享> > 第04天 [文件管理]

第04天 [文件管理]

作者:互联网

文章目录


cd
root用户:cd ~=cd /root

cp 复制

cp 源 目标
cp 源 源 目标文件夹
如果有目录需要用-r递归参数例如:cp -r /etc/sysconfig /data/config.bak
.bashrc修改也可以生效 更改alias cp=cp -i 这样会给提示 

也可以再profile.d文件夹下面新建一个sh的脚本。
-n 不覆盖,注意两者顺序
-r, -R 递归复制目录及内部的所有内容
-a 归档,相当于-dR --preserv=all
-d --no-dereference --preserv=links 不复制原文件,只复制链接名
–preserv[=ATTR_LIST]
-p 等同–preserv=mode(权限),ownership,timestamp
-v --verbose
-f --force
-u --update 只复制源比目标更新文件或目标不存在的文件
-b 目标存在,覆盖前先备份,形式为 filename~
–backup=numbered 目标存在,覆盖前先备份加数字后缀
cp -b /f1 /f2 自动备份只有一个备份
cp --backup=numbered f1 f2 覆盖自动可以备份多个
cp -av /etc /data date +%F

mv 移动

mv 源 目标
mv -t 目标 源 存在不变
mv -b 源 目标 如果目标存在覆盖前先备份
mv -f 强制措施

rm 删除

rm详解
用mv替代,新建一个垃圾箱目录存放没用的文件,移动文件夹名建议用秒算 date +%s
-i  交互式
-f  强制删除
-r  递归
rm -r 递归删除目录树
--no-preserve-root 删除/   例子 rm -rf --no-preserve-root /
rm 原理:
链接数递减,从而释放的inode号可以被重用
把数据块放在空闲列表中
删除目录项
数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖
alias rm='mkdir /data/^date +%s^;mv -t /date/^date +%s^'

tree 显示目录树

-d: 只显示目录 tree -d
-L level:指定显示的层级数目 tree -L 2
-P pattern: 只显示由指定pattern匹配到的路径

mkdir 创建目录

-p: 存在于不报错,且可自动创建所需的各目录
-v: 显示详细信息
-m MODE: 创建目录时直接指定权限
mkdir -pv testdir/dir{3,4,5/dir{6,7}}
mkdir -pv testdir/dir2/{x/{a,b},y}

rmdir 删除空目录

-p: 递归删除父空目录
-v: 显示详细信息

构建系统装满解决办法

1.创建满的信息:cp /dev/zero /boot/bigfile
2.df -h 查看/boot目录已经100%无法再写入
3.追加到此文件中 >/boot/bigfile  此时文件清空
4.删除bigfile文件 rm -rf bigfile 若是正式环境中建议用mv代替

rename 更改名字

rename 源 目标 哪些文件
rename .log .logbak .log 把.log文件的后缀.log改为.logbak
mkdir {a…c}.log
rename .log .logbak *.log

节点编号inode

查看ls -i
创建
echo f{1..100002}|xargs touch 创建inode满的现象,满之后就不能写入只能删除inode表
利用inode删除文件 find /data -inum 5461 |xargs rm -f ; find . -inum 5464 -delete
;find ./* -inum 1049741 -exec rm -i {} \; 

https://blog.csdn.net/fdipzone/article/details/41558685
ln 软硬链接
ln 硬链接不能跨设备,不支持文件夹创建
软连接:改文件只要软连接名字在就不报错误。
创建软连接,原始文件要写路径要写相对路径
/data/f1
/data/d1/f1.link
ln -s …/f1 /data/d1/f1.link
rm -rf d1/删除源文件 rm -rf d1 删除软连接
区别https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/index.html
硬链接特点
文件有相同的 inode 及 data block;
只能对已存在的文件进行创建;
交叉文件系统进行硬不能链接的创建;
不能对目录进行创建,只可对文件创建;
删除一个硬链接文件并不影响其他有相同 inode 号的文件。
软连接特点
软链接有自己的文件属性及权限等;
可对不存在的文件或目录创建软链接;
软链接可交叉文件系统;
软链接可对文件或目录创建;
创建软链接时,链接计数 i_nlink 不会增加;
删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接(即 dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。
-b 删除,覆盖以前建立的链接
-d 允许超级用户制作目录的硬链接
-f 强制执行
-i 交互模式,文件存在则提示用户是否覆盖
-n 把符号链接视为一般目录
-s 软链接(符号链接)
-v 显示详细的处理过程
file 判断文件
file a.txt

vim 编辑器

配置文件/etc/vimrc

家目录下面.vimrc


set ignorecase
set cursorline
#nocursorline 不显示那条白线
set autoindent
set paste
autocmd BufNewFile *.sh exec “:call SetTitle()”
func SetTitle ()
if expand("%:e") == ‘sh’
call setline(1,"#!/bin/bash")
call setline(2,"#")
call setline(3,"#")
call setline(4,"#Author: wqw")
call setline(5,"#QQ: 666666")
call setline(6,"#Date: “.strftime(”%Y-%m-%d"))
call setline(7,"#FileName: “.expand(”%"))
call setline(8,"#URL: http://wangqw.vn")
call setline(9,"#Description: The test script")
call setline(10,"#Copyright ©: “.strftime(”%Y")." All rights reserved")
call setline(11,"#
")
call setline(12,"")
endif
endfunc
autocmd BufNewFile * normal G


vim 常用

1G第一行;G最后一行;ctrl+f 向尾部翻一屏幕;ctrl+b向首部翻一屏
【G】 光标移动到文件的最后一行(第一个字符处)
【nG】 n为数字(下同),移动到当前文件中第n行
【gg】 移动到文件的第一行,相当于"1G"
【n[Enter]】 光标向下移动n行
【[0]或[Home]】 光标移动到当前行的最前面
【[$]或[End]】 光标移动到当前行的末尾
2,5s#2#66666#g 2-5行2替换成66666
【:! command】 暂时离开vi到命令行下执行一个命令后的显示结果
【:set nu】 显示行号
【:set nonu】 取消显示行号
【:w newfile】 另存为
先按v出现VISUAL选择区域位置按y复制p粘贴,dd是剪切

i/o输入输出
重定向
优先级别> 例子;(ls;hostname)>a.log
1> 正确
2> 错误
&> 一起
set -c 禁止内容覆盖文件
set +c 允许内容覆盖文件

/dev/null 2>&1
cat >a.txt<<EOF
SADAD
EOF

tr 转换和删除字符

tr -s 压缩   tr -s ace   输入aaeeaaccee 会变成aece
tr -d 删除   tr -d 123   输入1132445    会变成445
tr -t 转换   tr -t aa bb 输入 aasda      会变成bbsdb
tr -t ' ' '\n' <a.txt  把空格转换成换行符

tr -c 反向选择
tr [[:upper:]] [[:lower:]] a.log 把大写转换为小写定向到a.log里面

df命令

如何查看linux文件,分别显GB、MB、KB?
答:du -h
du -m
du -k
如何查看linux硬盘使用情况,分别使MB、KB显示?
答: df -m
df -k
linux如何查看磁盘空间?
答: df -h

ko_oi 发布了141 篇原创文章 · 获赞 70 · 访问量 1万+ 私信 关注

标签:文件,04,删除,管理,call,setline,rm,链接
来源: https://blog.csdn.net/ko_oi/article/details/103935733