磁盘,文件,目录相关操作
大约 2 分钟
磁盘,文件,目录相关操作
vim操作
#normal模式下 g表示全局, x表示查找的内容, y表示替换后的内容
:%s/x/y/g
#normal模式下
0 #光标移到行首(数字0)
$ #光标移至行尾
shift + g #跳到文件最后
gg #跳到文件头
#显示行号
:set nu
#去除行号
:set nonu
#检索
/xxx(检索内容) #从头检索, 按n查找下一个
?xxx(检索内容) #从尾部检索
打开只读文件,修改后需要保存时(不用切换用户即可保存的方式)
#在normal模式下
:w !sudo tee %
查看磁盘, 文件目录基本信息
#查看磁盘挂载情况
mount
#查看磁盘分区信息
df
#查看目录及子目录大小
du -H -h
#查看当前目录下各个文件, 文件夹占了多少空间, 不会递归
du -sh *
wc命令
#查看文件里有多少行
wc -l filename
#看文件里有多少个word
wc -w filename
#文件里最长的那一行是多少个字
wc -L filename
#统计字节数
wc -c
常用压缩, 解压缩命令
压缩命令
tar czvf xxx.tar 压缩目录
zip -r xxx.zip 压缩目录
解压缩命令
tar zxvf xxx.tar
#解压到指定文件夹
tar zxvf xxx.tar -C /xxx/yyy/
unzip xxx.zip
变更文件所属用户, 用户组
chown eagleye.eagleye xxx.log
cp, scp, mkdir
#复制
cp xxx.log
#复制并强制覆盖同名文件
cp -f xxx.log
#复制文件夹
cp -r xxx(源文件夹) yyy(目标文件夹)
#远程复制
scp -P ssh端口 username@10.10.10.101:/home/username/xxx /home/xxx
#级联创建目录
mkdir -p /xxx/yyy/zzz
#批量创建文件夹, 会在test,main下都创建java, resources文件夹
mkdir -p src/{test,main}/{java,resources}
比较两个文件
diff -u 1.txt 2.txt
日志输出的字节数,可以用作性能测试
#如果做性能测试, 可以每执行一次, 往日志里面输出 “.” , 这样日志中的字节数就是实际的性能测试运行的次数, 还可以看见实时速率.
tail -f xxx.log | pv -bt
查看, 去除特殊字符
#查看特殊字符
cat -v xxx.sh
#去除特殊字符
sed -i 's/^M//g’ env.sh 去除文件的特殊字符, 比如^M: 需要这样输入: ctrl+v+enter
处理因系统原因引起的文件中特殊字符的问题
#可以转换为该系统下的文件格式
cat file.sh > file.sh_bak
#先将file.sh中文件内容复制下来然后运行, 然后粘贴内容, 最后ctrl + d 保存退出
cat > file1.sh
#在vim中通过如下设置文件编码和文件格式
:set fileencodings=utf-8 ,然后 w (存盘)一下即可转化为 utf8 格式,
:set fileformat=unix
#在mac下使用dos2unix进行文件格式化
find . -name "*.sh" | xargs dos2unix
tee, 重定向的同时输出到屏幕
awk ‘{print $0}’ xxx.log | tee test.log
Loading...