草庐IT

【Linux】文件目录操作指令(pwd、ls、cd、mkdir、rmdir、touch、cp、rm、mv、cat、echo、tail等)

努力学习的小马 2023-04-30 原文

目录

1 指定运行级别

1.1 基本介绍

运行级别说明:
0 :关机
1 :单用户【找回丢失密码】
2:多用户状态没有网络服务(基本不用)
3:多用户状态有网络服务(用的最多)
4:系统未使用保留给用户
5:图形界面
6:系统重启

常用运行级别是3和5 ,也可以指定默认运行级别,后面演示

1.2 应用实例

命令: init 运行级别

按下回车后

2 帮助指令

2.1 man获得帮助信息

基本语法: man [命令或配置文件](功能描述:获得帮助信息>

案例: 查看ls命令的帮助信息 man ls

像命令的可选项可以组合使用,比如 ls -al/root

意思是把root下面所有的文件(包括隐藏文件)显示出来,并以单行的形式显示出来

2.2 help指令

基本语法:help命令(功能描述:获得shell内置命令的帮助信息)

案例: 查看cd命令的帮助信息

3 文件目录类

3.1 pwd指令

基本语法: pwd(功能描述:显示当前工作目录的绝对路径)

案例: 显示当前工作目录的绝对路径

3.2 ls指令

基本语法:ls [选项] [目录或是文件] √常用选项

-a :显示当前目录所有的文件和目录,包括隐藏的。
-l :以列表的方式显示信息

案例: 查看当前目录的所有内容信息

3.3 cd指令

基本语法: cd [参数] (功能描述:切换到指定目录)

理解:绝对路径和相对路径

cd ~ 回到自己的家(home)目录,比如你是root , cd ~到/root

cd … 回到当前目录的上一级目录

实例:

案例1:使用绝对路径切换到root目录,cd /root
案例2:使用相对路径到/root目录,比如现在是在/home/tom ,那么应该输入的指令为:

cd …/…/root

先返回到home路径,再返回到根(/)路径,再进入root路径

比如你家地址,绝对路径就是:某国/某省/某市/某区/某街道/某地

相对路径就是,如果你现在在隔壁邻居家,那么相对路径就是在隔壁,是从你现在相对的位置算起,而不像绝对路径这么具体

再举个例子帮助理解,当前位置如下,a.txt的绝对路径和相对路径如图所示

3.4 mkdir指令


如上图,创建一个目录和创建多个目录的区别在哪里呢?

案例一中home是已经存在的,dog是不存在的

而案例二中,animaltiger都是不存在的,所以就相当于创建了两个目录

madir默认是创建一个目录,如果想要创建多个目录,需要加上选项-p

3.5 rmdir指令删除空目录

基本语法:rmdir [选项] 要删除的空目录

使用细节:

rmdir 删除的是空目录,如果目录下有内容时无法删除的。

提示:如果需要删除非空目录,需要使用rm -rf要删除的目录

比如:rm-rf /home/animal

删除的是整个目录,谨慎!

3.6 touch指令

touch指令创建空文件

基本语法:touch 文件名称

案例:在/home目录下,创建一个空文件 hello.txt

3.7 cp指令

cp指令拷贝文件到指定目录

基本语法:
cp [选项] source dest

常用选项
-r:递归复制整个文件夹

案例1:

将/home/hello.txt拷贝到 /home/bbb/目录下

cp hello.txt/home/bbb


案例2:

递归复制整个文件夹,举例,比如将/home/bbb整个目录,拷贝到/opt

bbb 和 opt 后面的斜杠可以省略


当你要拷贝到某路径去的某文件已经在该路径有一个同名的文件了,那么系统就会不停的提示你是否需要覆盖,这会导致一个问题,假如你拷贝的文件下面有很多其他问价,那你就要一个一个的去确定,这个就很浪费时间。
使用细节:
强制覆盖不提示的方法:\cp ,\cp -r /home/bbb /opt

3.8 rm指令

说明:rm指令移除文件或目录

基本语法:

rm [选项] 要删除的文件或目录

常用选项:
-r:递归删除整个文件夹
-f:强制删除不提示

应用实例:

案例1:将/home/hello.txt删除,rm /home/hello.txt

案例2:递归删除整个文件夹/home/bbb,rm -rf /home/bbb[删除整个文件夹,不提示]

3.9 mv指令

mv指令移动文件与目录或重命名

基本语法:

mv oldNameFile newNameFile (功能描述:重命名)

mv /temp/movefile /targetFolder (功能描述:移动文件)

copy是拷贝,相当于复制,原文件的位置不会改变;move是移动,相当于剪切,原文件会移动到指定的目录

应用案例:

案例1:将/homelcat.txt文件重新命名为pig.txt


案例2:将/home/pig.txt文件移动到/root目录下


案例3:移动整个目录,比如将/opt/bbb移动到/home下, mv /opt/bbb /home.(bbb文件夹里是有其他文件的)

假如把指令改为mv /opt/bbb /home/ttt,如果home路径下存在ttt文件夹,该命令则会把bbb文件夹移动到ttt文件夹内;如果home路径下不存在ttt文件夹的话,该命令则会把bbb文件夹移动到home路径下,并把bbb文件夹改名为ttt文件夹

3.10 cat指令

cat 查看文件内容

基本语法:

cat [选项] 要查看的文件

常用选项

-n:显示行号

应用案例

案例1:/etc/profile文件内容,并显示行号


使用细节

cat只能浏览文件,而不能修改文件,为了浏览方便,一般会带上管道命令| more

即:cat-n /etc/profile | more [进行交互]

输入enter会一行一行的显示,输入空格会一页一页的显示

3.11 more指令

more 指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more 指令中内置了若干快捷键(交互的指令),详见操作说明

基本语法

more 要查看的文件

操作说明,如图

应用实例:

3.12 less指令

less 指令用来分屏查看文件内容,它的功能与more 指令类似,但是比 more 指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。

基本语法

less 要查看的文件

操作说明

3.13 echo指令

echo 输出内容到控制台

基本语法

echo [选项] [输出内容]

应用实例

案例:使用echo 指令输出环境变量,比如输出$PATH(环境变量) $HOSTNAME(主机名), 比如echo $HOSTNAME

案例:使用echo指令输出 hello,world!

3.14 head指令

head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容

基本语法

head 文件(功能描述:查看文件头10行内容)

head -n 5文件 (功能描述:查看文件头5行内容,5可以是任意行数)

应用实例

案例:查看/etc/profile 的前面5行代码

head -n 5 letc/profile

3.15 tail指令

tail用于输出文件中尾部的内容,默认情况下tail 指令显示文件的前10行内容。

基本语法

  1. tail 文件 (功能描述:查看文件尾10行内容)
  2. tail -n 5 文件――(功能描述:查看文件尾5行内容,5可以是任意行数)
  3. tail -f 文件 (功能描述:实时追踪该文档的所有更新)

应用实例

案例1:查看/etc/profile 最后5行的代码

tail -n 5/etc/profile

案例2:实时监控mydate.txt,看看到文件有变化时,是否看到,实时的追加 hello,world

tail -f/home/mydate.txt

可以看到,在xshell中输入指令后,当我们在虚拟机的终端通过echo向mydate.txt写进“hello”时,xshell也实时的显示出了hello

3.16 >指令 和 >>指令

 >输出重定向和>>追加

一个箭头表示删除了文件中的原有内容,将现在内容加了进去,也就是覆盖。两个箭头是追加,即不删除原文件中的内容,而是在末尾添加新的内容。

基本语法

  1. ls -l >文件 (功能描述:列表的内容写入文件a.txt 中(覆盖写入))
  2. ls -al >>文件(功能描述:列表的内容追加到文件aa.txt的末尾)
  3. cat 文件1 > 文件2(功能描述:将文件1的内容覆盖到文件2)
  4. echo “内容”>>文件(追加)

应用实例

案例1:将/home目录下的文件列表写入到/home/info.txt中,覆盖写入
ls -l /home >/home/info.txt[如果info.txt没有,则会创建]

案例2:将当前日历信息追加到 /home/mycal 文件中指令为: cal >> /home/mycal

3.17 ln指令

软链接也称为符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径

基本语法

ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)

应用实例

案例1:在/home目录下创建一个软连接myroot,连接到/root目录

ln -s /root /home/myroot


形象的说,myroot就像是root的一个快捷方式。

案例2:删除软连接myroot

rm /home/myroot

细节说明

当我们使用pwd指令查看目录时,仍然看到的是软链接所在目录。

3.18 history指令

查看已经执行过历史命令,也可以执行历史指令

基本语法

history (功能描述:查看已经执行过历史命令)

应用实例

案例1:显示所有的历史命令

history

案例2:显示最近使用过的10个指令

history 10

案例3:执行历史编号为5的指令

!5


📝我的个人主页
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​
💬总结:希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🖊
✉️今天你做别人不想做的事,明天你就能做别人做不到的事♐


有关【Linux】文件目录操作指令(pwd、ls、cd、mkdir、rmdir、touch、cp、rm、mv、cat、echo、tail等)的更多相关文章

  1. ruby - File.read ("| echo mystring") 是如何工作的? - 2

    我在我正在处理的一些代码中发现了这一点。它旨在解决从磁盘读取key文件的要求。在生产环境中,key文件的内容位于环境变量中。旧代码:key=File.read('path/to/key.pem')新代码:key=File.read('|echo$KEY_VARIABLE')这是如何工作的? 最佳答案 来自IOdocs:Astringstartingwith“|”indicatesasubprocess.Theremainderofthestringfollowingthe“|”isinvokedasaprocesswithappro

  2. 【Linux操作系统】——网络配置与SSH远程 - 2

    Linux操作系统——网络配置与SSH远程安装完VMware与系统后,需要进行网络配置。第一个目标为进行SSH连接,可以从本机到VMware进行文件传送,首先需要进行网络配置。1.下载远程软件首先需要先下载安装一款远程软件:FinalShell或者xhell7FinalShellxhell7FinalShell下载:Windows下载http://www.hostbuf.com/downloads/finalshell_install.exemacOS下载http://www.hostbuf.com/downloads/finalshell_install.pkg2.配置CentOS网络安装好

  3. Linux磁盘分区中物理卷(PV)、卷组(VG)、逻辑卷(LV)创建和(LVM)管理 - 2

    文章目录一基础定义二创建逻辑卷2-1准备物理设备2-2创建物理卷2-3创建卷组2-4创建逻辑卷2-5创建文件系统并挂载文件三扩展卷组和缩减卷组3-1准备物理设备3-2创建物理卷3-3扩展卷组3-4查看卷组的详细信息以验证3-5缩减卷组四扩展逻辑卷4-1检查卷组是否有可用的空间4-2扩展逻辑卷4-3扩展文件系统五删除逻辑卷5-1备份数据5-2卸载文件系统5-3删除逻辑卷5-4删除卷组5-5删除物理卷六LVM逻辑卷缩容6-1缩容注意事项6-2标准缩容步骤一基础定义LVM,LogicalVolumeManger,逻辑卷管理,Linux磁盘分区管理的一种机制,建立在硬盘和分区上的一个逻辑层,提高磁盘分

  4. ruby - 如何在 Ruby 中获取 linux 系统信息 - 2

    如何在Ruby中获取linux系统(这必须适用于Fedora、Ubuntu等)的软件/硬件信息? 最佳答案 Chef背后的优秀人才,拥有一颗名为Ohai的优秀gemhttps://github.com/opscode/ohai以散列形式返回系统信息,例如操作系统、内核、规范、fqdn、磁盘、空间、内存、用户、接口(interface)、sshkey等。它非常完整,非常好。它还会安装命令行二进制文件(也称为ohai)。 关于ruby-如何在Ruby中获取linux系统信息,我们在Stack

  5. ruby - rbenv:在 Linux Mint 上找不到 gem 命令 - 2

    我在LinuxMint17.2上。我最近使用apt-getpurgeruby​​删除了ruby​​。然后我安装了rbenv然后rbenvinstall2.3.0所以现在,~/.rbenv/versions/2.3.0/bin/ruby存在。但是现在,我无法执行geminstallrubocop。我明白了:$geminstallrubocoprbenv:gem:commandnotfoundThe`gem'commandexistsintheseRubyversions:2.3.0但是我可以~/.rbenv/versions/2.3.0/bin/geminstallrubocop。但是,

  6. ruby - 在 Linux 上编译 Ruby 1.9.2 所需的先决条件? - 2

    我是Ruby和RoR的新手。我有一个带有Ubuntu镜像的干净Linode实例,我想从源代码编译Ruby而不是使用apt-get。我已经在谷歌上搜索了执行此操作的说明,但经过一些尝试后,当我尝试运行一些教程示例时,我不断收到有关缺少zlib和其他一些包的错误。任何人都可以给我详细的说明(或链接),教我如何在从源代码编译Ruby之前安装必要的必备包吗?我的目的是编译Ruby的最新稳定版本,然后安装Rubygems和Rails。提前感谢您的帮助!!! 最佳答案 Thisblogpost涵盖从源代码编译ruby​​所需的包和安装过程;它引

  7. ruby-on-rails - 仅当满足某些条件时,如何将 "touch"关联为 `belongs_to` 关联的父模型? - 2

    我正在使用Rails3.1.0,并且我想仅在满足某些条件时“触摸”belongs_to关联的父模型。比如此时我有:belongs_to:article,:touch=>true只有当它是“公共(public)的”时,我才会“接触”父模型。也就是说,Article类有一个名为access的属性(@article.access=>public或private),我想在“触摸”之前检查这个值:如果这个值不是public,那么“触摸”它!是否可以在belongs_to关联声明中“直接”进行?如果是,怎么做? 最佳答案 您可以按照您所说的尝试

  8. Linux网络编程必备的POSIX API的细节 - 2

    目录POSIXAPI大集合五元组三次握手的过程,内核协议栈分析listen函数DDOS攻击,洪水攻击DDOS攻击的应对措施数据发送 怎么保证顺序?如何保证包地顺序到达(序号+确认应答机制+重传)TCP断开连接的过程问题1.大量的CLOSE_WAIT+FIN_WAIT2是为啥?time_wait状态存在的原因?POSIXAPI大集合五元组(sip,sport,dip,dport,protocol)三次握手的过程,内核协议栈分析内核协议栈中是有内核数据结构的.  我们send/write数据,都是先发送到内核协议栈中,然后由内核协议栈封装发送到物理介质中传输到对端的对端的接收过程也是经有内核协议栈

  9. Linux export 命令及如何删除export设置的环境变量 - 2

    背景:Linuxexport命令用于设置或显示环境变量。在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅限于该次登陆操作。语法:export[-fnp][变量名称]=[变量设置值]参数说明:-f 代表[变量名称]中为函数名称。-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。-p 列出所有的shell赋予程序的环境变量。实例:列出当前所有的环境变量#export-p//列出当前的环境变量值定义环境变量赋值#exportMYENV=7//定义环境变量并赋值添加环境变量:默认保存在

  10. Linux操作系统CentOS7安装Nginx[详细版] - 2

    Nginx安装1.官网下载Nginx2.使用XShell和Xftp将压缩包上传到Linux虚拟机中3.解压文件nginx-1.20.2.tar.gz4.配置nginx5.启动nginx6.拓展(修改端口和常用命令)(一)修改nginx端口(二)常用命令1.官网下载Nginxhttp://nginx.org/en/download.html这里我下载的是1.20.2版本,大家按需下载对应稳定版即可2.使用XShell和Xftp将压缩包上传到Linux虚拟机中没有XShell可以参考《Linux操作系统CentOS7连接XShell》3.解压文件nginx-1.20.2.tar.gz1)检查是否存

随机推荐