当前位置: 首页 > article >正文

Linux文件目录命令

touch 1.txt

创建一个空文件

rm ./1.txt ./2.txt -rf

删除文件/目录 -rf最好放最后

echo "Hello, world!" | cat > newfile.txt

创建新文件

echo "New line" >> existingfile.txt

追加内容到文件

echo -n    #去掉换行符打印    

echo打印

-E    #不解析转义字符

     -e    #解析转义字符

cat > /etc/hosts << EOF

Aa

Bbb

EOF

覆盖文件内容

cat >> /etc/hosts << EOF

     192.168.1.162 k8s-master01

     192.168.1.165 k8s-work01

     192.168.1.166 k8s-work02

     EOF

追加多行到文件

cat filename

cat -n example.txt

显示文件内容

显示文件内容并带行号

cat file1 file2 > output.txt

合并多个文件内容

cat -n filename  # 显示带行号的内容

cat -b filename  # 显示非空行的行号

cat -e filename  # 在每行末尾添加 $ 符号

cat  -n  文件   #显示行号

 -E  文件   #在文件内容每行行尾加一个$(验证每行尾是否有空格)

 -b  文件   #将查看文件显示行号,排除空行显示行号;

 -s  文件   #当文件有多个连续空行的时候,会只显示一行空行(为了方便阅读);

  cat -A file1 file2

显示多个文件内容,并区分文件

  cat file1.txt file2.txt > combined.txt

将多个文件合并到一个文件中

 cat sys.log|grep 路牙泊位车辆变化,向巡检员

过滤文件

cat filename | tail -n +3000 | head -n 1000

从第3000行开始,显示1000行。即显示3000~3999行

tail -10 /var/log/secure

tail -f /var/log/secure  监控文件变化

查看文件最下方的十行(最新的十行)

head -13 /var/log/secure

head查看文件(从上往下查看)

more  文件名   #按照分页查看大文件

f/b #上下翻页(上下键) 

less  文件名

f/b #上下翻页(上下键)   G最后一行 gg第一行 ,q退出

分页查看大文件

查看日志常用:

head/tail/less/more

#查看目录下详细信息==ll命令

# ls -l

#查看目录下的隐藏信息【-a】

# ll -a

#查看目录下详细信息,以人类可读的方式【-h】

# ll -h /

#查看目录本身信息【-d】

# ll -d /usr/

drwxr-xr-x. 13 root root 155 7月  17 10:46 /usr/

# ls -ld /usr/

drwxr-xr-x. 13 root root 155 7月  17 10:46 /usr/

ls -lt # 按时间降序 -t时间

ls -ltr # 按时间升序 -r逆序

查看目录

 

file 文件

stat 文件

查看一个文件属于什么类型的文件(图片,视频,文本)(

# stat 1.txt

  文件:"1.txt"

  大小:43                块:8          IO 块:4096   普通文件

设备:803h/2051d        Inode:67168133    硬链接:1

权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)

最近访问:2024-07-29 10:16:33.868745358 +0800    #最近查看时间

最近更改:2024-07-29 10:16:33.868745358 +0800    #最近编辑时间

最近改动:2024-07-29 10:16:33.868745358 +0800    #属性信息发生变化的时间

文件属性-时间属性

 # 创建硬链接:

ln 源文件 目标文件

#创建软链接。

ln -s 源文文件或目录 目标文件或目录

# 最常用( 移动软连接文件软连接不会失效)

ln -s 目标文件绝对路径  软连接文件名称

#硬链接:删除源文件,硬链接依旧可以访问;- 就是文件的入口;直接指向inode号码,多个硬链接互为硬链接,只能给文件创建硬链接,防止误删除文件;

#软连接:就是快捷方式.删除源文件,软连接失效,可用给文件,目录创建软连接;

#####################################

目录有多少个硬链接?????

一个目录的硬链接:

· 目录自己本身

· 目录中的【.】

· 下级目录【..】

------目录无法无法创建硬链接-----

# echo "123456" | tr "123456" "654321

# tr "ddd" "ccc" < a.txt

替换  tr

pwd -P

显示绝对路径(软连接目录pwd不会显示绝对路径)

cd -

返回上次目录

# dirname /etc/hostname

/etc

命令去除文件名中的非目录部分

cp -r  /usr/lib /var/lib  复制目录

#复制当前目录下的文件到/mnt目录下

# cp 1.txt /mnt/

#复制并改名

# cp -r /mnt/999  ./111

复制目录或文件

 -r递归复制,

-p 保持属性不

-a == -pdr

-d 复制软连接

cp /var/log/secure  ./secureb-`date +%F`

cp /var/log/secure /a/b/log/secure-`date +%F`.log

 备份文件

#1,【移动】移动当前目录下的111/mnt、

# mv 111  /mnt/

#2,【移动并改名】将/mnt/目录下的111移动到当前目录下,改名为999;

# mv /mnt/111  ./999

  #移动文件

mv 到/tmp/ 移动到回收站

假设你想在 Vim 中查找单词 "example",你会这样做:

按下 / 键输入 example按下 Enter。

vim查找

# mkdir 111

#在指定目录下创建目录;

# mkdir /111

#快速创建100个目录

# mkdir {1..100}

#递归创建

# mkdir -p 111/222/333/444

创建目录

cd ~  #前往家目录

cd .. #前往上一级目录

cd ../.. #前往上两级目录

cd -  #回到上一次所在的目录

cd 改变当前目录

tree -L 1 ./

显示目录树 ,-L 1 显示一层

 sudo rm -rf /usr/share/jenkins

sudo rm -rf /etc/gitlab /var/opt/gitlab /var/log/gitlab

删除目录

find / -name java | grep -v docker

 grep 排除包含"docker"的结果

vim 常用指令_vim常用命令-CSDN博客

超详细的Vim编辑器vim命令大全 强烈建议收藏!_编程开发_软件教程_脚本之家

Vim 快捷键:

ctrl+f:向后翻页

ctrl+b:向前翻页

Ctrl+d: 向下翻半屏

Ctrl+u: 向上翻半屏

退出命令:

:w 保存编辑的内容

:q 离开vi

:wq 保存后离开

:q! 不想保存修改强制离开

查找功能:

/xxx 向下寻找一个名为xxx的字符串

?xxx 向上寻找一个名为xx的字符串

n 重复上一个查找动作

N 反向

Vim 快捷键

#1,模式一:视图模式

i  #插入-进入编辑模式,在当前光标下插入

esc #回到视图模式

a  #追加-进入编辑模式,在当前光标后一个字符插入

A  #追加光标所在行尾进入编辑模式;

o  #在当前行的下一行插入空行,进入编辑模式;

O  #在当前行的上一行插入空行,进入编辑模式;

u  #返回上一步操作;

ctrl + r #返回下一步操作;

C(大写) #删除光标所在位置删除到行尾,进入编辑模式;

cc       #清空当前行,进入编辑模式

--------------------------------------------

dd   #删除当前行;

2dd  #连续删除两行;

dG   #删除光标所在位置到文件末尾;

d1G  #删除光标所在行到文件首行

d^   #删除光标所在位置到行首

d$   #删除光标所在位置到行尾

    ^    #光标到行首

    $    #光标到行尾

    yy   #复制当前行

    3yy  #复制光标往下的3行

    p    #黏贴yy复制的行

    3p   #黏贴yy复制的行3次

    10gg或者10G   #光标前往文件第十行;

   上k,下j,左h,右l

   

#2,模式二:编辑模式

-不用说,打字

#3,模式三:命令模式(视图模式切换)

#检索字符串

/字符串    #检索字符串

-n   #向下查找

-N   #向上查找

/字符串\c  #检索字符串,不区分大小写;

#取消高亮显示

:noh

#显示行号

:set nu

#退出编辑

:wq    #退出并保存

:wq!   #强制退出并保存

:q     #退出不保存

:q!    #强制退出不保存

#保持原格式粘贴(暂时先了解下):

:set paste

#替换文件内容【s###g】或者【s///g】或者【s@@@g】

:8,12s#V#i#g   #将文件中的8-12行中的V修改成i

:%s#var#hahahahah#g   #将整个文件中的var修改为hahahahah

Vim 命令

100G跳到100行

批量编辑模式

批量删除

shft+v,选择要删除的行

按d删除

批量删除开头的字符

ctrl+v

选择要删除的内容

按d

批量增加内容

ctrl+v

现在要增加的地方

shift+I

输入内容

按esc

等待

方式一:继续vi/vim这个文件,按R(回复上次编辑内容)/D(删除上次编辑的内容)

方式二:直接删除本地的隐藏文件.***.swp

当文件异常退出时,再次编辑文件会无法编辑;解决方式:

wc /et/services

ls -l /root | wc -l  # 显示root目录下的目录文件数量

显示文件行数

diff a.txt  b.txt   # a增加 d删除 c修改

vimdiff

查看文件区别

# stat 1.txt

  文件:"1.txt"

  大小:11                块:8          IO 块:4096   普通文件

设备:803h/2051d        Inode:67214417    硬链接:1

权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)

最近访问:2024-07-19 16:19:00.106720775 +0800    #最近查看

最近更改:2024-07-19 16:19:00.106720775 +0800    #最近一次内容被修改的时间;

最近改动:2024-07-19 16:19:00.107720789 +0800    #属性信息发生变化的时间;

查看文件更更更详细信息

# ll -i 1.txt

67214417 -rw-r--r--. 1 root root 11 7月  19 16:19 1.txt

#属性解释

67214417   #inode号:系统中文件存储在磁盘中的唯一标识;类似座位号;

-  #代表是普通文件(d:目录  -:普通文件)

rw-r--r--.   #【rw-】:属主的权限,【r--】:属组的权限 ,【r--】:普通用户其他

1      #文件的硬链接数量

root   #属主

root   #属组

查看文件的属性信息
 

#1,以文件后缀分类(linux的拓展名,只是有标识作用,没有实际意义)

***.config  #配置文件

.rpm        #安装包

.tar.gz   .zip    #压缩包

.log  #日志文件

#2,以符号区分(ll 第一个字符):

- #普通文件

d #目录 白色

l #链接文件

#普通文件

[root@wa ~]# file 1.txt

1.txt: ASCII text

#图片

[root@wa ~]# file banner.jpg

banner.jpg: JPEG image data, EXIF standard

#链接文件

[root@wa ~]# file /etc/rc.local

/etc/rc.local: symbolic link to `rc.d/rc.local'

#目录

[root@wa ~]# file /etc

/etc: directory

#块设备

[root@wa ~]# file /dev/sda1

/dev/sda1: block special

#压缩文件

[root@wa ~]# file html.zip

html.zip: Zip archive data, at least v1.0 to extract

file 命令查看一个文件类型

#文件类型

file

文件

ls中标识符 -

dirtectory

目录

link

软连接

ls中标识符 l

device

设备文件

磁盘,光驱 ls中标识符 b

character

特殊字符文件

输入,输出

黑洞 /dev/null

白洞 /dev/urandom(用于生成随机字符)

pipeline

管道文件

ls中标识符 p

socket

套接字文件

which vim

which 查看命令文件路径

#1,通过文件名称查找文件【-name】

[root@wa ~]# find / -name "ifcfg-eth0"

/etc/sysconfig/network-scripts/ifcfg-eth0

#忽略大小写查找

[root@wa ~]# find ./  -iname a.txt

./A.txt

./a.txt

#2,[``]:先执行反引号中的内容;

[root@wa ~]# cat `find / -name "ifcfg-eth0"`

TYPE=Ethernet

BOOTPROTO=none

…….

#3,通过文件时间查找【-mtime】以天为单位

[root@wa ~]# find / -mtime +2    #两天之前所创建的文件

[root@wa ~]# find / -mtime -2    #两天之内创建的文件

[root@wa ~]# find / -mtime 2    #正好两天创建的文件

#4,通过文件时间查找【-mmin】以分钟为单位查找

[root@wa ~]# find / -mmin +2   #两分钟之前创建

[root@wa ~]# find / -mmin -2   #两分钟之内创建

#5,通过文件类型查找【-type】

-  #find:f

d  #d

l  #l

[root@wa ~]# find /etc/ -type l

[root@wa ~]# find /etc/ -type d

[root@wa ~]# find /etc/ -type f

#组合使用

[root@wa ~]# find / -type f  -name *-eth0

/etc/sysconfig/network-scripts/ifcfg-eth0

#取反

[root@wa ~]# find / ! -type f  -name *-eth0

/etc/sysconfig/network-scripts/ifcfg-eth0

#6,通过文件大小查找【-size】

- 查找家目录下,大于5M的文件

[root@wa ~]# find ~ -size +5M

/root/2.txt

/root/3.txt

- 查找家目录下,小于15M的文件

[root@wa ~]# find ~ -size -15M

- 总结:

[root@wa ~]# find ~ -size -15M   #小于15M

                          -15    #小于15字节   默认【15c】

                          -15G   #小于15G

                          -15k    #小于15KB

#7,(拓展)通过权限查找【-perm】

[root@wa ~]# find ~ -perm  644   #之后权限讲解时再说;

 find查找文件位置
命令格式

【find 要查找的位置路径 参数 搜索的值】

参数

-type #类型 f 文件 d 目录 l 连接文件

-name

-size # 大小 +20k -20k

-mtime  # 根据修改时间擦查询

-maxdepth 1 # 目录深度1

-iname # 忽略大小写

-user # 指定用户

-group # 指定用户组

-perm # 指定权限

 

find 与 ls,cat head

find 与 cp/mv

find 与   tar

find 与其他命令配合使用

du -sh /etc/

查看目录占用空间大小

 tar tf wa.tar.gz

解压前查看压缩包内容

打包压缩三剑客

tar

最常用

gzip

备份文件用

 zip/unzip

一般用户解压windwos的zip格式压缩包

tar -xvf frp_0.51.2_linux_arm64.tar.gz -C /tmp/

-C   #指定解压到哪里,不加就代表当前目录;

 解压文件 参数:xf

tar zcvf wa.tar.gz ./*

#参数解释

z  #压缩数据的方式:zzip

c  #创建压缩包;

v  #显示压缩过程;

f  #识别压缩包生成的路径;

h  #跟随软链接,将源文件进行压缩;

#2,找到以【.txt】结尾的文件,并进行压缩;

tar zcvf wa.tar.gz `find ./ -name "*.txt"`

【|】管道方式

find ./ -name "*.txt" |xargs  tar zcvf wa01.tar.gz

压缩当前目录文件到wa.tar.gz 参数zcf

change

chown

chmod

文件权限命令

change

改变文件属性

 -R 递归处理,将指定目录下的所有文件及子目录一并处理。

-v<版本编号> 设置文件或目录版本。

-V 显示指令执行过程。

+<属性> 开启文件或目录的该项属性。

-<属性> 关闭文件或目录的该项属性。

=<属性> 指定文件或目录的该项属性。

 #给三个角色都加上x执行权限

chmod +x  1.txt 

- 属主加减权限

      u+x 1.txt

      u-x 1.txt

      u-rwx 1.txt

      u+rwx 1.txt

      -属组加减权限

      g+x   1.txt

      g+rwx 1.txt

      - 普通用户加减权限

      o+rwx 1.txt

#数字方式设置权限(推荐使用)

chmod 654 1.txt

#-R递归修改权限为

 chmod -R 744 /test

修改权限

u,g,o,a

-+=

wrx

-rw-r--r--

【rw-】:权限是属主的权限

【r--】:权限是属组的权限

【r--】:其他用户;

文件

r

显示与查看

w

修改,需要r配合

x

执行,需要r配合

目录

r

查询目录内容,需要x配合

w

修改,在目录创建,删除,重命名文件,需要rx配合

x

是否可进入目录,只有x无法操作,需要rw配合

日常操作

需要权限

查看文件

文件r

编辑文件

文件rw

执行脚本

文件rx

查看目录

目录rx

创建,删除文件

文件所在目录rwx

重命名

文件所在目录rwx

chown root.root 1.txt

#-R递归修改属主和属组

chown -R root.root/test

修改属主和属组(文件送人)

1,写个脚本

2,给脚本x权限

3,将脚本移动到PATH路径;

用shell脚本编写一个命令


http://www.kler.cn/a/392795.html

相关文章:

  • 详解VHDL如何编写Testbench
  • STM32 FLASHdb
  • 常见网络攻击场景常被用于测试系统安全性
  • VUE3+VITE简单的跨域代理配置
  • LeetCode--347.前k个高频元素(使用优先队列解决)
  • Seata AT 模式两阶段过程原理解析【seata AT模式如何做到对业务的无侵入】
  • 歌尔嵌入式面试题及参考答案
  • Python的装饰器
  • 什么是MVC模式?
  • python爬虫获得淘宝商品类目 API 返回值说明
  • 深入理解 Spark 中的 Shuffle
  • 不同规模的企业需要部署哪种组网?
  • 【Goland】——Gin 框架简介与安装
  • yolo标签自动标注(使用python和yolo方法)
  • 031集——获取外轮廓(只支持线段多段线)(CAD—C#二次开发入门)
  • 海思Hi3516DV300上播放G711U音频文件
  • 【Hadoop】【hdfs】【大数据技术基础】实验三 HDFS 基础编程实验
  • 【监控】如何调出电脑的中摄像头,从摄像头获取视频流
  • STM32完全学习——点亮LED灯
  • C#发票识别、发票查验接口集成、电子发票(航空运输电子行程单)
  • 【再谈设计模式】抽象工厂模式~对象创建的统筹者
  • Python酷库之旅-第三方库Pandas(214)
  • 利用编程语言和脚本编写技术,实现自动化渗透测试和安全工具的开发
  • Llama微调测试记录
  • Go 加密算法工具方法
  • 嵌入式linux系统中RTC硬件的控制与实现