乐趣区

关于程序员:linux-文件操作命令

文件操作命令

创立文件

应用 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 file
Device: fd00h/64768d    Inode: 131272      Links: 1
Access: (0664/-rw-rw-r--)  Uid: (500/ zhanghe)   Gid: (500/ zhanghe)
Access: 2021-02-14 18:34:47.995289019 +0800
Modify: 2021-02-14 18:34:58.308673839 +0800
Change: 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_file

ls -l
-------------------------------
total 4
lrwxrwxrwx. 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 多平台公布

退出移动版