文件操作命令
创立文件
应用touch命令能够创立和批改文件工夫
# 如果是已存在的文件,则会更新工夫戳touch test.txt# 创立多个文件touch test1.txt test2.txt# 批量创立文件touch test{3..11}.txt---------------a 只批改文件的最初拜访工夫-m 只批改文件的批改工夫-c 仅批改工夫,不创立文件-d 指定工夫-r 批改文件工夫雷同,如touch -r a.txt b.txt 使得b.txt的工夫和a.txt的工夫雷同-t 设置为指定工夫,格局为[[CC]YY]MMDDhhmm[.ss]
<!-- more -->
应用mktemp能够创立临时文件,会在/tmp目录下产生一个tep.xxxxxx的临时文件
删除文件
在应用rmdir删除目录的时候如果目录中存在子目录是不能够被删除的,应用起来比拟恶心,所以在删除文件或者目录的时候都习惯于应用rm来删除
#这里留神如果加上-f选项的话,就会强制删除,无奈找回,删除之前要思考分明rm -rf test.txt---------------选项-f 强制删除,不须要要确认-r 递归删除-i 删除提醒-v 具体显示删除过程
查看文件
file命令
file命令能够确定文件类型
file [options] file-list-f file 从文件file中读取要检测的文件
stat命令
查看文件详细信息
stat abc.txt ---------------------------- File: `abc.txt' Size: 5 Blocks: 8 IO Block: 4096 regular fileDevice: fd00h/64768d Inode: 131272 Links: 1Access: (0664/-rw-rw-r--) Uid: ( 500/ zhanghe) Gid: ( 500/ zhanghe)Access: 2021-02-14 18:34:47.995289019 +0800Modify: 2021-02-14 18:34:58.308673839 +0800Change: 2021-02-14 18:34:58.308673839 +0800
cat命令
查看文件内容
cat abc.txt-----------------------选项-A 相当于-vET,列出所有的暗藏字符-E 列出每行结尾的回车符$-n 显示行号-T 把Tab键用^I示意进去-v 展现特殊字符
more命令
cat不适宜查看大文件,应用more命令来分屏显示
more abc.txt--------------------+n 从第n行开始显示-n 每次查看n行+/字符串 查找字符串所在位置-c 清屏再显示-p 换页时清屏空格键 向下翻页b 向上翻页回车 向下滚动一行q 退出
less命令
less也能分页显示文件,和more相似,不过容许在文件中一行或多行的前后滚动
head和tail命令
head是显示文件头,tail是显示文件尾,默认10行
tail abc.txt-------------------------选项-n 显示行数-f 监听文件新增内容,滚动-v 显示文件名-c number 显示前number个字符,若number为正数,则显示除最初number个字符的所有内容
进阶
①从1000行开始显示500行
cat jvm.log | tail -n +1000 | head -n 500
②显示1000到2000行
cat jvm.log | head -n 2000 | tail -n +1000
软链接
建设文件的软链接(能够看作是windows的快捷方式)
ln [options] source_file target_file# 如果不加-s的话,则创立的是硬链接,硬链接相当于copy了一份源文件,且两个文件同步更新ln -s abc.txt abc_c.txt-f 强制创立链接-n 如果target_file已存在,不创立链接-s 为source_file 创立一个软链接,名为target_filels -l-------------------------------total 4lrwxrwxrwx. 1 zhanghe zhanghe 7 Feb 14 19:59 abc_c.txt -> abc.txt-rw-rw-r--. 1 zhanghe zhanghe 5 Feb 14 18:34 abc.txt
特色
- 软链接和源文件领有不同的Inode和block
- 批改任意一个,两者都会批改
- 删除源文件,软链接不可用;删除软链接,源文件没有影响
- 软链接不存储实在数据,存储的是源文件的Inode
复制文件
cp abc.txt /home/zhanghe/Documents/test/aaa.txt----------------------------选项-r 递归复制,用于复制目录-p 保留源文件的属性,如所有者、权限和工夫-f 强制复制,如果文件存在,会进行强制笼罩-s 生成快捷方式-i 询问是否笼罩-d 如果源文件是软链接,则复制进去的也是软链接-a 相当于-dpr-v 显示复制过程
在复制的时候,如果指标地位是目录,则将文件复制过来,如果指标地位是文件,则将文件内容复制过来
剪切或者重命名
mv aaa.txt acs.txt--------------------------f 如果文件存在,强制笼罩-b 笼罩前做备份-i 如果文件存在,询问是否笼罩-v 显示详细信息-t 将多个文件挪动到同一个目录,目录参数在前,文件参数在后
剪切如果在同一目录下就是重命名,不在同一目录下就是剪切
查看文件格式及其编码
file -b read.sh
查看文件的MIME类型
file -i read.sh
能够通过file命令来看该软链接的文件自身是谁
file read_s.sh
比拟文件
diff命令
能够一行一行的比照两个文件
diff [options] file1 file2-b 疏忽行尾的空白-e 生成并且显示一个脚本-h 疾速比拟
反复行
应用uniq命令能够删除文件中所有间断的反复行,所以个别与sort来联合应用,先进行排序在进行去重
# input-file自身不会产生扭转,如果没有指定output-file,会将输入为规范输入uniq [options] [+N] [input-file] [output-file]-c 在每行之前显示它们呈现的次数-d 只显示反复行,只显示呈现屡次的行-u 只显示未反复的行,只显示呈现一次的行
https://zhhll.icu/2021/linux/根底/文件操作命令/
本文由mdnice多平台公布