前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >运维分享|Linux指令入门文件和目录

运维分享|Linux指令入门文件和目录

原创
作者头像
Aion
修改2023-11-24 20:50:55
2540
修改2023-11-24 20:50:55
举报
文章被收录于专栏:开发运维工程师

简介: Linux 中所有内容都是以文件的形式保存和管理的,即一切皆文件,普通文件是文件,目录(Windows 下称为文件夹)是文件,硬件设备(键盘、监视器、硬盘、打印机)是文件,就连套接字(socket)、网络通信等资源也都是文件。

1 Linux文件

Linux的核心思想就是“一切皆文件”

Linux 中所有内容都是以文件的形式保存和管理的,即一切皆文件,普通文件是文件,目录(Windows 下称为文件夹)是文件,硬件设备(键盘、监视器、硬盘、打印机)是文件,就连套接字(socket)、网络通信等资源也都是文件。

——引用自C语言中文网

I/O设备也被模型化为文件,对于输入输出的操作就变成了对于文件的读和写,Linux内核提供接口给用户

2 文件操作命令

2.1 目录管理|ls

「命令描述」

ls命令用于显示指定工作目录下的内容。

「命令格式」

ls [参数] [目录名]。

「参数说明」

参数

说明

-a

显示所有文件及目录(包括隐藏文件)

-l

将文件的权限、拥有者、文件大小等详细信息列出(ll等同于ls -l)

-r

将文件反序列出(默认按英文字母正序)

-t

将文件按创建时间正序列出

-R

递归遍历目录下文件

命令使用示例:

查看当前目录下的所有文件(包括隐藏文件)。

代码语言:javascript
复制
ll -a

「示例」

2.2 当前所在目录|pwd

「命令描述」

获取当前工作目录的绝对路径。

「示例」

2.3 切换目录|cd

「命令描述」

cd命令用于切换工作目录。同windows一致。

「示例」

在路径表示中:

  • 一个半角句号(.)表示当前目录,例如路径./app/log等同于app/log。
  • 两个半角句号(..)表示上级目录,例如路径/usr/local/../src等同于/usr/src,其中local和src目录同级。

cd命令的默认参数为~,符号~表示当前用户的家目录,即在root用户登录时,命令cd、cd ~和cd /root执行效果相同。

2.4 修改/创建文件/目录的属性|touch

「命令描述」

touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。

「命令格式」

touch [参数] [文件]。touch --help可以查看帮助。

代码语言:javascript
复制
[root@iZuf6bldw9r1va5vuegtacZ home]# touch --help
Usage: touch [OPTION]... FILE...
Update the access and modification times of each FILE to the current time.

A FILE argument that does not exist is created empty, unless -c or -h
is supplied.

A FILE argument string of - is handled specially and causes touch to
change the times of the file associated with standard output.

Mandatory arguments to long options are mandatory for short options too.
  -a                     change only the access time
  -c, --no-create        do not create any files
  -d, --date=STRING      parse STRING and use it instead of current time
  -f                     (ignored)
  -h, --no-dereference   affect each symbolic link instead of any referenced
                         file (useful only on systems that can change the
                         timestamps of a symlink)
  -m                     change only the modification time
  -r, --reference=FILE   use this file's times instead of current time
  -t STAMP               use [[CC]YY]MMDDhhmm[.ss] instead of current time
      --time=WORD        change the specified time:
                           WORD is access, atime, or use: equivalent to -a
                           WORD is modify or mtime: equivalent to -m
      --help     display this help and exit
      --version  output version information and exit

Note that the -d and -t options accept different time-date formats.

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
For complete documentation, run: info coreutils 'touch invocation'

「参数说明」

参数

说明

-c

如果指定文件不存在,不会建立新文件

-r

使用参考文件的时间记录

-t

设置文件的时间记录

「示例」

1)创建空文件

2)修改文件的时间属性(最后更改时间)

2.5 创建目录|mkdir

「命令描述」

mkdir命令用于新建子目录。-p参数确保目录名称存在,不存在的就新建一个。

「示例」

代码语言:javascript
复制
mkdir -p a/b/c/d

上述使用了 -r 属性,意思是循环创建目录。我们使用tree命令查看结构。

2.6 树形显示文件/目录结构|tree

上一个步骤我们演示了。下面演示一个只显示2级的目录结构。具体参考tree -help

「示例」

2.7 删除命令|rm

使用时留意,需要仔细,认真。

「命令描述」

rm命令用于删除一个文件或者目录。

「命令格式」

rm [参数] [文件]。

「参数说明」

参数

说明

-i

删除前逐一询问确认

-f

无需确认,直接删除

-r

删除目录下所有文件

「示例」

1)查看当前目录 2)执行删除test.log文件 3)再次查看确认

当然我们也可以删除一个目录。例如我们删除a目录

2.8 复制文件/目录|cp

「命令描述」

cp命令主要用于复制文件或目录。

「命令格式」

cp [参数] [源文件] [目标文件]。

「参数说明」

参数

说明

-d

复制时保留链接

-f

覆盖已经存在的目标文件而不给出提示

-i

覆盖前询问

-p

除复制文件的内容外,还把修改时间和访问权限也复制到新文件中

-r

复制目录及目录内的所有项目

「示例」

当前目录下test文件夹下面有个文件test1.txt,复制到test2文件夹下面去。

2.9 移动命令|mv

「命令描述」

mv命令用来为文件或目录改名、或将文件或目录移入其它位置。

「命令格式」

mv [参数] [源文件] [目标文件]

「参数说明」

参数

说明

-i

若指定目录已有同名文件,则先询问是否覆盖旧文件

-f

如果目标文件已经存在,不会询问而直接覆盖

「示例」

1)改名称

将test2目录下的test1.txt改为test1-1.txt

2)移动文件

将文件test1.log移动到test目录下

3)移动目录

这里要留意下,执行命令后,自己不能移动,不然就是在这里死循环了,但是其他文件还是可以被移动到目录下。

2.10 按照格式修改命令|rename

「命令描述」

rename命令用字符串替换的方式批量改变文件名。rename命令有C语言和Perl语言两个版本,这里介绍C语言版本的rename命令,不支持正则表达式。

「示例」

📚 总结

有些时候,学习时间一件很快乐的事情,慢慢来吧~

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 Linux文件
  • 2 文件操作命令
    • 2.1 目录管理|ls
      • 2.2 当前所在目录|pwd
        • 2.3 切换目录|cd
          • 2.4 修改/创建文件/目录的属性|touch
            • 2.5 创建目录|mkdir
              • 2.6 树形显示文件/目录结构|tree
                • 2.7 删除命令|rm
                  • 2.8 复制文件/目录|cp
                    • 2.9 移动命令|mv
                      • 2.10 按照格式修改命令|rename
                        • 📚 总结
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档