|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 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博客](https://blog.csdn.net/a40850273/article/details/86505385 "vim 常用指令_vim常用命令-CSDN博客") [超详细的Vim编辑器vim命令大全 强烈建议收藏!_编程开发_软件教程_脚本之家](https://www.jb51.net/softjc/927234.html "超详细的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脚本编写一个命令 |
Linux文件目录命令
daizikui2024-11-14 20:39
相关推荐
运维老司机17 分钟前
Jenkins修改LOGOD-海漠33 分钟前
基础自动化系统的特点我言秋日胜春朝★41 分钟前
【Linux】进程地址空间繁依Fanyi1 小时前
简易安卓句分器实现C-cat.1 小时前
Linux|环境变量yunfanleo1 小时前
docker run m3e 配置网络,自动重启,GPU等 配置渠道要点m51271 小时前
LinuxC语言运维-大白同学2 小时前
将django+vue项目发布部署到服务器糖豆豆今天也要努力鸭2 小时前
torch.__version__的torch版本和conda list的torch版本不一致烦躁的大鼻嘎2 小时前
【Linux】深入理解GCC/G++编译流程及库文件管理