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)

大家都在看

  • [20220811]奇怪的隐式转换问题.txt

    [20220811]奇怪的隐式转换问题.txt –//生产系统遇到一个奇怪的隐式转换问题,问题在于没有发生隐式转换,做一个分析调查。 –//后记:后面的分析…

    Linux 2023年6月13日
    088
  • 雷霆传奇H5光柱版游戏详细图文架设教程

    前言 想体验经典传奇的热血PK吗?想体验满级VIP的尊贵吗?想体验一刀99999的爽快吗?各种极品炫酷时装、坐骑、翅膀、宠物通通给你,就在光柱版雷霆传奇H5! 本文讲解雷霆传奇架设…

    Linux 2023年6月7日
    0132
  • Markdown 常用语法精讲

    标题 (# 跟标题名称一定要留空格) 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 缩进 (使用) 这是缩进四个空格文本 (源码: 这是缩进四个空格文本) 强调/加粗…

    Linux 2023年6月7日
    0125
  • Pycharm快捷键设置(鼠标滚动控制字体大小)

    一、pycharm字体放大的设置 File —> setting —> Keymap —>在搜寻框中输入:increase —> Increase Font…

    Linux 2023年6月8日
    095
  • linux-0.11分析:进程初始化函数init(),第三部分,fork创建第二个进程,第十四篇随笔

    第三部分,fork创建第二个进程 [引用github这个博主 多多支持][ https://github.com/sunym1993/flash-linux0.11-talk ]先…

    Linux 2023年6月7日
    0202
  • centos 更换yum 源

    1.如果系统有wget : 备份yum repo cd /etc/yum.repos.d for i in $(ls);do mv ${i}{,.bak};done for i i…

    Linux 2023年6月13日
    082
  • date 参数(option)-d

    记录这篇博客的原因是:鸟哥的linux教程中,关于date命令的部分缺少-d这个参数的介绍,并且12章中的shell编写部分有用到-d参数 date 参数(option)-d与&#…

    Linux 2023年6月6日
    094
  • Centos 6 DNS 配置 解决 Unknown host

    测试服务器Maven 打包时遇到了如下的错误 看上去应该是对 maven.aliyun.com的DNS 域名解析出问题了。 登录到服务器上 ping maven.aliyun.co…

    Linux 2023年5月27日
    099
  • redis缓存数据库简单使用

    1、在Linux上安装与配置 -最新:7.0 -最稳定版本:6.x-讲课:5.x-企业里:3.x,4.x,5.x 6.x(极少数公司在用)-windows:3.x,5.x 1 速度…

    Linux 2023年6月14日
    090
  • Redis主从复制的配置和实现原理

    Redis的持久化功能在一定程度上保证了数据的安全性,即便是服务器宕机的情况下,也可以保证数据的丢失非常少。通常,为了避免服务的单点故障,会把数据复制到多个副本放在不同的服务器上,…

    Linux 2023年5月28日
    079
  • 嵌入式软件开发中必备软件工具

    1、前言 作为一个软件开发人员,除了程序能力素养方面外,还应该熟练地使用各种常用的辅助工具,所谓”工欲善其事,必先利其器”;通过这些工具能提升自己的专业素养…

    Linux 2023年6月7日
    0101
  • Vue 3-150行代码实现新国标红绿灯效果案例

    昨天刷视频,都是关于新国标红绿灯的,看大家议论纷纷,下班就用150行代码通过Vue组件实践红绿模拟演示,视频也跟大家展示过了。今天接着更新图文版本,大家跟着优雅哥通过该案例实操模拟…

    Linux 2023年6月7日
    076
  • Timeout connecting to [localhost/127.0.0.1:9200]

    空服务启动时(或者压根没引入es相关jar包)报Timeout connecting to [localhost/127.0.0.1:9200]错误时,查看pom.xml中是否引用…

    Linux 2023年6月7日
    0123
  • 字符串

    20、【剑指Offer学习】【面试题20:表示数值的字符串】 38、【剑指Offer学习】【面试题38:字符串的排列】 46、【剑指Offer学习】【面试题46:把数字翻译成字符串…

    Linux 2023年6月13日
    0111
  • mac使用brew安装postgresql

    在您的命令行中运行以下命令: brew doctorbrew update安装在您的命令行中运行以下命令:brew install postgres 你也可以指定版本: brew …

    Linux 2023年6月14日
    0117
  • 聊聊 Netty 那些事儿之 Reactor 在 Netty 中的实现(创建篇)

    本系列Netty源码解析文章基于 4.1.56.Final版本 在上篇文章《聊聊Netty那些事儿之从内核角度看IO模型》中我们花了大量的篇幅来从内核角度详细讲述了五种 IO&am…

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