1:文件与目录

  • CD 切换当前工作目录
  • mkdir 创建目录
  • re -dir 删除目录
  • pwd 打印当前工作目录
  • 绝对路径和相对路径
  • 硬链接 和软链接
  • CP拷贝
  • MV 移动
  • dirname 和 basenam
  • 文件内容的查阅
  • 修改时间文件于新建文件
  • 命令与文件的查询
cd /etc #直接切换到/etc目录
cd .. #切换到上层目录
cd . #切换到当前目录
cd #回到自己的家目录
cd ~ #回到自己的家目录
cd - #回到上次工作目录
pwd [-LP]
• L 显示逻辑工作目录
• P 显示物理工作目录
&#x2022; mkdir [pm] <dir> &#x2022; -p &#x81EA;&#x52A8;&#x521B;&#x5EFA;&#x2F57;&#x76EE;&#x5F55;
&#x2022; -m &#x8BBE;&#x7F6E;&#x6743;&#x9650;</dir>
[root@iZbp16r4d86u2hs6405o6mZ ~]# mkdir -p python/code/
[root@iZbp16r4d86u2hs6405o6mZ ~]# ls -al
total 128
dr-xr-x---. 14 root root  4096 May 24 13:20 .
dr-xr-xr-x. 18 root root  4096 May 21 12:02 ..

-rw-r--r--   1 root root    61 May 23 08:44 1.c
-rw-------   1 root root  4288 May 24 13:14 .bash_history
-rw-r--r--.  1 root root    18 Dec 29  2013 .bash_logout
-rw-r--r--.  1 root root   176 Dec 29  2013 .bash_profile
-rw-r--r--.  1 root root   176 Dec 29  2013 .bashrc
drwxr-xr-x   3 root root  4096 Jul 11  2019 .cache
drwxr-xr-x   2 root root  4096 May 24 11:02 Ccode
-rw-r--r--.  1 root root   100 Dec 29  2013 .cshrc
drwxr-xr-x   2 root root  4096 May 21 13:07 .LfCache
drwxr-xr-x   3 root root  4096 May 21 12:26 .local
drwxr-xr-x   2 root root  4096 Jul 11  2019 .pip
drwxr-----   3 root root  4096 May 21 12:19 .pki
-rw-r--r--   1 root root   205 May 21 11:59 .pydistutils.cfg
drwxr-xr-x   3 root root  4096 May 24 13:20 python

rm dir [r]

• r 递归删除目录及其内容 对话框 强制删除

• f — force 递归删除

/* 目录下所有

remark:—→ rm -rf /* 意义递归删除所有

相对路径 指令

[root@iZbp16r4d86u2hs6405o6mZ Ccode]# gcc 1.c
[root@iZbp16r4d86u2hs6405o6mZ Ccode]# ls

[root@iZbp16r4d86u2hs6405o6mZ Ccode]# ./a.out
[root@iZbp16r4d86u2hs6405o6mZ Ccode]# gcc 1.c
[root@iZbp16r4d86u2hs6405o6mZ Ccode]# ls
1.c  2.c  3.c  a.c  a.out  b.c
[root@iZbp16r4d86u2hs6405o6mZ Ccode]# ./a.out
Hello World[root@iZbp16r4d86u2hs6405o6mZ Ccode]#

PATH=”$PATH”:/Ccode/a.out —?硬转义 当前代码代表什么意思。

[root@iZbp16r4d86u2hs6405o6mZ ln]# touch f12
[root@iZbp16r4d86u2hs6405o6mZ ln]# ln f12 f11
[root@iZbp16r4d86u2hs6405o6mZ ln]# ln -s f12 f13
[root@iZbp16r4d86u2hs6405o6mZ ln]# ls -li
total 0
1063645 -rw-r--r-- 2 root root 0 May 24 14:15 f11
1063645 -rw-r--r-- 2 root root 0 May 24 14:15 f12
1063646 lrwxrwxrwx 1 root root 3 May 24 14:16 f13 -> f12

试验一下…

当前目录下的id F11硬链接和F12 相同 但是F13的软链接指向F12 ID却是有差异的

ln -s 软连接 实际上→在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

ln dir ln dir 硬链接 →硬连接指通过索引节点来进行连接

提示:硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。 在Linux中,多个文件名指向同一索引节点是存在的。 —>一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止”误删”的功能。 —>硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止”误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

cp [irapdslu]

Ø -i:若⽂件存在,询问用户

Ø -r:递归复制

Ø -a: pdr的集合

Ø -p: 连同⽂件属性⼀起拷贝

Ø -d: 若源⽂件为连接⽂件的属性,则复制连接⽂件的属性

Ø -s:拷贝为软连接

Ø -l:拷贝为硬连接

Ø -u:源⽂件比目的⽂件新才拷贝

Ø 尝试:cp file1 file2 … dir

[root@iZbp16r4d86u2hs6405o6mZ ln]# touch a.c
[root@iZbp16r4d86u2hs6405o6mZ ln]# ls -i
1063645 a.c
[root@iZbp16r4d86u2hs6405o6mZ ln]# ln a.c b.c
[root@iZbp16r4d86u2hs6405o6mZ ln]# ls -i
1063645 a.c  1063645 b.c
[root@iZbp16r4d86u2hs6405o6mZ ln]# ln -s a.c c.c
[root@iZbp16r4d86u2hs6405o6mZ ln]# ls -i
1063645 a.c  1063645 b.c  1063646 c.c
[root@iZbp16r4d86u2hs6405o6mZ ln]# ls -il
total 0
1063645 -rw-r--r-- 2 root root 0 May 24 15:14 a.c
1063645 -rw-r--r-- 2 root root 0 May 24 15:14 b.c
1063646 lrwxrwxrwx 1 root root 3 May 24 15:17 c.c -> a.c
[root@iZbp16r4d86u2hs6405o6mZ ln]# ls -il
total 0
1063645 -rw-r--r-- 2 root root 0 May 24 15:14 a.c
1063645 -rw-r--r-- 2 root root 0 May 24 15:14 b.c
1063646 lrwxrwxrwx 1 root root 3 May 24 15:17 c.c -> a.c
[root@iZbp16r4d86u2hs6405o6mZ ln]# cp c.c d.c
[root@iZbp16r4d86u2hs6405o6mZ ln]# ls -il
total 0
1063645 -rw-r--r-- 2 root root 0 May 24 15:14 a.c
1063645 -rw-r--r-- 2 root root 0 May 24 15:14 b.c
1063646 lrwxrwxrwx 1 root root 3 May 24 15:17 c.c -> a.c
1063649 -rw-r--r-- 1 root root 0 May 24 15:30 d.c
[root@iZbp16r4d86u2hs6405o6mZ ln]#

remark :

        &#x5728;&#x5F53;&#x524D;&#x62F7;&#x8D1D;&#x7684;c.c &#x5230;d.c (c.c &#x6765;&#x81EA;&#x4E8E;a.c&#x2192;&#x5B9E;&#x9645;&#x4E5F;&#x662F;a.c)     &#x6700;&#x7EC8;cp&#xFF08;&#x62F7;&#x8D1D;&#x7684;&#x6307;&#x4EE4;&#x6700;&#x7EC8;&#x6587;&#x4EF6;id &#x4E5F;&#x4E8E;a.c&#x7684;id&#x4E0D;&#x540C;&#xFF09;
[root@iZbp16r4d86u2hs6405o6mZ ln]# cp -d c.c e.c
[root@iZbp16r4d86u2hs6405o6mZ ln]# ls i
[root@iZbp16r4d86u2hs6405o6mZ ln]# ls -il
1063646 lrwxrwxrwx 1 root root 3 May 24 15:17 c.c -> a.c
1063649 -rw-r--r-- 1 root root 0 May 24 15:30 d.c
1063650 lrwxrwxrwx 1 root root 3 May 24 15:37 e.c -> a.c
[root@iZbp16r4d86u2hs6405o6mZ ln]#

remark :-d 由此 返回看出(e.c -> a.c) 这里是链接的属性

[root@iZbp16r4d86u2hs6405o6mZ ln]# vim c.c
[root@iZbp16r4d86u2hs6405o6mZ ln]# cp c.c d.c
cp: overwrite &#x2018;d.c&#x2019;? y
[root@iZbp16r4d86u2hs6405o6mZ ln]# ls -il
total 12
1063645 -rw-r--r-- 2 root root 72 May 24 15:56 a.c
1063645 -rw-r--r-- 2 root root 72 May 24 15:56 b.c
1063646 lrwxrwxrwx 1 root root  3 May 24 15:17 c.c -> a.c
1063651 -rw-r--r-- 1 root root 72 May 24 15:57 d.c
1063650 lrwxrwxrwx 1 root root  3 May 24 15:37 e.c -> a.c

从c.c 覆盖到d.c 必须是源文件比目标文件新

mv [ifu]

mv source1 source2 source3 dir

Ø-i:互动模式

Ø-f:force

Ø-u:源⽂件(更新)才会移动

[root@iZbp16r4d86u2hs6405o6mZ ln]# mv d.c Ccode
[root@iZbp16r4d86u2hs6405o6mZ ln]# ls
a.c  b.c  c.c  Ccode  e.c
[root@iZbp16r4d86u2hs6405o6mZ ln]# cd
[root@iZbp16r4d86u2hs6405o6mZ ~]# cd Ccode
[root@iZbp16r4d86u2hs6405o6mZ Ccode]# ls
1.c  2.c  3.c  a.c  a.out  b.c
[root@iZbp16r4d86u2hs6405o6mZ Ccode]#

dirname

1:获取目录部分,剥掉文件名。

[root@iZbp16r4d86u2hs6405o6mZ ~]# dirname /Ccode/a.c
output   -->/Ccode

如果不存在就在. 一般在脚本取路径

basenam

2:获取末尾的文件名或者路径名

[root@iZbp16r4d86u2hs6405o6mZ ~]# basename /Ccode/1.c
-->1.c

文件内容的查阅

参数 cat [-b] file 显示行号

[root@iZbp16r4d86u2hs6405o6mZ Ccode]# cat -b 1.c
    out put
     1  #include<stdio.h>
     2  #include<stdlib.h>
     3  #include<unistd.h>
     4  #include<fcntl.h>
     5  #include<string.h>
     6  #include<pthread.h>

     7  int main()
     8  {
     9      /*&#x5728;&#x53CC;&#x5F15;&#x53F7;&#x4E2D;&#x95F4;&#x8F93;&#x5165;Hello World*/
    10      printf("Hello World");
    11      return 0;
    12  }</pthread.h></string.h></fcntl.h></unistd.h></stdlib.h></stdio.h>

与cat 同理不多做赘述

Ø nl [-bnw]

Ø选项

Ø -b: ⾏号指定的⽅式

Ø -b a:相当于cat –n

Ø -b t:相当于cat -b

Ø -n:列出⾏号的表示⽅法

Ø -n ln:⾏号在屏幕最左边显示

Ø -n rn:⾏号在自⼰字段的最右边显示

Ø -n rz:⾏号在自⼰字段的最右边显示,前面自动补全0

Ø -w

[root@iZbp16r4d86u2hs6405o6mZ Ccode]# nl -b a 1.c

  1  #include<stdio.h>

  2  #include<stdlib.h>

  3  #include<unistd.h>

  4  #include<fcntl.h>

  5  #include<string.h>

  6  #include<pthread.h>

  7

  8  int main()

  9  {

  10      /*&#x5728;&#x53CC;&#x5F15;&#x53F7;&#x4E2D;&#x95F4;&#x8F93;&#x5165;Hello World*/

  11      printf("Hello World");

  12      return 0;

  13  }</pthread.h></string.h></fcntl.h></unistd.h></stdlib.h></stdio.h>

复习一下 | 管道符

Original: https://www.cnblogs.com/yijieyufu/p/16423165.html
Author: Aquiet
Title: 1:文件与目录

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/581808/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Windows下的SSH Server

    (请注意,本文内容以杂谈为主,稍微提及了一些在MobaXterm中开启SSH Server可能遇到的情况和解决方法,没有多少干货,请酌情查看,谢谢) 最近比较无聊,使用MobaXt…

    Linux 2023年6月6日
    0121
  • wsl2环境搭建

    我电脑配置不高,开虚拟机跑linux总觉得太卡。最近才了解到windows早就上了wsl2——一款较为轻量的虚拟机软件。所以本篇博客偏笔记向,存粹记录以便多次使用。 WSL2安装 …

    Linux 2023年6月7日
    0100
  • 023.Ubuntu常见个性化配置

    root登录设置 ubuntu默认关闭了root账户,可根据实际情况开启或关闭root登录。 ubuntu@localhost:~$ sudo apt install openss…

    Linux 2023年6月13日
    0153
  • Mybatis源码解读-SpringBoot中配置加载和Mapper的生成

    本文 mybatis-spring-boot探讨在springboot工程中mybatis相关对象的注册与加载。 建议先了解mybatis在spring中的使用和springboo…

    Linux 2023年6月7日
    0125
  • [CentOS7]redis设置开机启动,设置密码

    简介 上篇文章介绍了如何安装redis,但每次重启服务器之后redis不会自启,这里将介绍如何进行自启设置,以及如何设置redis的密码,进行密码验证登陆。 上篇文章: Cento…

    Linux 2023年5月28日
    0116
  • linux与windows的批处理应用

    本文主要记录一下,不同服务器部署springboot项目时,用到的批处理命令 linux,针对maven-assembly-plugin打的tar.gz包的springboot项目…

    Linux 2023年6月14日
    0109
  • 三系统删除与恢复引导(windows,Ubuntu,deepin)

    三系统的删除与引导修复 一、情况说明: 相信能找到我这篇随笔的朋友估计也是我和一样作死装了三个系统,例如我的(Window10,Ubuntu,deepin) 从左往右为我装系统的顺…

    Linux 2023年6月14日
    0104
  • CentOS——Redis远程连接可视化工具Rdis Desktop Manage

    前排提示 Centos没有安装Redis的可参考 https://www.cnblogs.com/tianhengblogs/p/15265028.html 一。 修改redis….

    Linux 2023年5月28日
    0174
  • [转帖]shell学习之shell执行方式及排错

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年5月28日
    098
  • 以Docker方式安装Redis集群

    以 Redis-6.0.6 为例,先从仓库将镜像拉下来: docker pull redis:6.0.6 Redis 的配置文件和数据文件不能放在镜像中,这里选择容器中的目录和宿主…

    Linux 2023年5月28日
    079
  • 项目开发流程与开发模式

    企业项目开发流程 商城 1.1 B2C 直销商城 商家与会员直接交易 ( Business To Customer ) 1.2 B2B 批发商城 商家与商家直接交易 1.3 B2B…

    Linux 2023年6月14日
    0130
  • Laxcus集群操作系统桌面图标优化和算法

    泰山不拒细壤,故能成其高;江海不择细流,故能成其深。全抱之末生于毫末,九层之台起于累土,千里之行始于足下。 任何一个完善成熟的产品,都是从微小的改进开始! Laxcus集群操作系统…

    Linux 2023年6月6日
    0103
  • 记录一次shell脚本环境全局变量在函数内部生效问题

    背景 计划核对内网IP的使用情况,所以写了个小脚本扫描有哪些IP还在使用。执行脚本过程中发现函数中一直获取不到变量的值,排查后将结论记录下来。 问题现象 已经配置了全局变量,但是在…

    Linux 2023年6月14日
    0112
  • MSSQL中UPDATE与 INNER JOIN联用的语法结构

    | 0.16分钟 | 267.2字符 | 1、引言&背景 2、解决方案 3、声明与参考资料 | SCscHero | 2022/4/30 PM9:36 | 系列 | 已完成…

    Linux 2023年6月14日
    086
  • 运维开发之路:带你解剖html列表,一个看似简单而又不简单的知识点。

    HTML支持有序、无序和自定义列表,本篇笔者对这几个知识点进行剖析,跟紧步伐,我们一起出发吧! 无序列表 无序列表以ul标签开始,每个列表项都以li标签开始,无序列表是一个项目的列…

    Linux 2023年6月7日
    0116
  • 配置管理docker对象和守护进程

    使用 Docker 的主要工作是创建和使用各类对象:镜像、容器、网络、卷等。 1、Docker对象的标记 标记(Label):是一种将元数据应用于Docker对象(镜像、容器、网络…

    Linux 2023年6月8日
    096
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球