百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

Linux终端生存指南 文件和目录操作

bigegpt 2024-09-27 00:46 4 浏览

这是一系列基础命令的集合,我会面向初学者从使用角度介绍,看完这些以后你能够在Linux终端下完成大部分之前需要鼠标和键盘才能完成的操作。

今天是第一篇,Linux下的普通文件和目录的操作,最简单的用法,不会介绍花里胡哨的命令给初学者。

  • 一切皆文件
  • 文件系统结构
  • 主目录
  • 文件和目录
  • 文件创建和删除
  • 目录创建和删除
  • 复制和剪切

一切皆文件

Linux中一切接文件,算是早期的一句名言了。事实也差不多,就连硬件设备在Linux中也是以一个文件来实现的,因此Linux下的文件类型也是非常有门道的(有门道不代表类型多),具体文件类型我们后面文章会整理。

文件系统结构

我们这里主要介绍跟文件系统的目录结构,这个非常关键,因为用终端在文件系统的路径中频繁切换,如果你对整个文件系统目录结构或者自己的位置不熟悉很容易出现迷路的情况。

想象成你正在爬树找果子,如果你不知道这棵树有多大,有多少树枝可以承受你的重量,非常容易出问题,轻则找不到你要的果子,重则连着树枝一起摔下来。

这里用个比喻是真的希望你能重视这个,同时你真的可以以一颗树的模型来理解文件系统。

根目录

根目录是Linux工作必须的文件树型结构,在docker中就是以不同的根文件系统(rootfs)来区分不同的虚拟机的。

在Linux中根目录用“/”来表示,cd / 就可以到达根目录。

ubuntu@ubuntu-virtual-machine:~$ cd /
ubuntu@ubuntu-virtual-machine:/$ ls
bin  boot  cdrom  dev  etc  home  lib  lib32  lib64  libx32  lost+found  media  mnt  opt  proc  root  run  sbin  snap  srv  sys  tmp  usr  var

没有人为修改情况下,根目录下面每个目录都有特殊的用途,可以了解一下:

目录

作用

/bin/

存放系统命令,普通用户和 root 用户都可以执行

/boot/

系统启动目录,保存与系统启动相关的文件

/dev/

设备文件

/etc/

配置文件保存位置,内核和Linux系统功能的大部分配置信息都在这里,包括一些第三方软件

/home/

普通用户的主目录(也称为家目录),如用户 ubuntu的主目录就是 /home/ubuntu

/lib/

系统调用的函数库保存位置

/media/

媒体设备挂载目录

/mnt/

挂载目录,系统建议这个目录用来挂载额外的设备,如 U 盘、移动硬盘和其他操作系统的分区

/misc/

挂载目录。系统建议用来挂载 NFS 服务的共享目录。虽然系统准备了三个默认挂载目录 /media/、/mnt/、/misc/,但是到底在哪个目录中挂载什么设备可以由管理员自己决定。

/opt/

一般第三方安装的软件保存位置

/root/

root 的主目录

/sbin/

系统环境设置相关的命令

/srv/

服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据

/tmp/

临时目录

/proc/

虚拟文件系统,运行过程中很多临时文件保存在这里

/lost+found/

/lost+found 就是根分区的备份恢复目录

其实我写完这个表格以后在考虑要不要删除,还是留着吧。

每个文件夹的功能初学时没必要全部了解,关键是位置。

主目录

在Linux下,每一个用户都有属于自己的主目录,大多数情况被称为家目录,前面表格中有描述。

普通用户的家目录一般在/home 目录下面,可以用~快速指代当前用户的家目录。

root用户的家目录是 /root

ubuntu@ubuntu-virtual-machine:/$ cd ~
ubuntu@ubuntu-virtual-machine:~$ pwd
/home/ubuntu
ubuntu@ubuntu-virtual-machine:~$ ls -l
总用量 44
drwxr-xr-x 2 ubuntu ubuntu 4096 4月   7 21:04 公共的
drwxr-xr-x 2 ubuntu ubuntu 4096 4月   8 22:05 模板
drwxr-xr-x 2 ubuntu ubuntu 4096 4月   7 21:04 视频
drwxr-xr-x 2 ubuntu ubuntu 4096 4月  10 23:08 图片
drwxr-xr-x 2 ubuntu ubuntu 4096 4月   7 21:04 文档
drwxr-xr-x 2 ubuntu ubuntu 4096 4月   9 18:42 下载
drwxr-xr-x 2 ubuntu ubuntu 4096 4月   7 21:04 音乐
drwxr-xr-x 2 ubuntu ubuntu 4096 4月  10 22:58 桌面

Linux希望所有用户都能快速回家,所以cd 命令不带任何参数就是回到自己的家目录,下面这三条命令都是一个效果:

ubuntu@ubuntu-virtual-machine:~$ cd
ubuntu@ubuntu-virtual-machine:~$ cd ~
ubuntu@ubuntu-virtual-machine:~$ cd /home/ubuntu

每个用户的家目录下一般有一些固定资源文件夹,比如文档、图片、音乐、桌面等,其中桌面文件夹就真的是指向图形界面的桌面的,如果你在这个文件夹创建一个文本文件那么就会在桌面也显示这个文本文件;一般浏览器或者一些下载器下载的文件会自动保存在下载目录里,其他目录也都是可以使用的。

文件和目录

文件和目录当然是不同的东西,在Linux下也是这样。

文件用来存储具体的内容,必须存储二进制数据、ASCII文本等。

目录用来存放文件和子目录。

通过ls -l可以查看目录下的文件信息,包括文件类型,现在你只需要区分目录和文件就可以了:

ubuntu@ubuntu-virtual-machine:~$ ls -l
总用量 44
drwxrwxr-x 2 ubuntu ubuntu 4096 4月  10 22:44 1
-rw-rw-r-- 1 ubuntu ubuntu    0 4月  12 22:51 t.txt

目录显示的文件信息第一个字符是‘d’,普通文件是‘-’(还有其他类型后面再讲)。

有个特殊的目录需要了解:

除了根目录,在任何一个目录下执行ll 或者 ls -al会看到几个特殊的目录

  • 隐藏目录 .
  • 当前目录 .
  • 上一级目录 ..

看这个例子:

ubuntu@ubuntu-virtual-machine:~$ ll
总用量 108
drwxr-xr-x 21 ubuntu ubuntu 4096 4月  12 23:06 ./
drwxr-xr-x  3 root   root   4096 4月   7 20:34 ../
-rw-r--r--  1 ubuntu ubuntu 3771 4月   7 20:34 .bashrc

因此 cd .. 这个命令就代表到当前目录的上一级目录去,ls .其实就是列出当前目录的文件。

文件创建和删除

  • touch命令创建一个空文件
ubuntu@ubuntu-virtual-machine:~$ touch 2.txt
ubuntu@ubuntu-virtual-machine:~$ touch 3
ubuntu@ubuntu-virtual-machine:~$ ls -l
-rw-rw-r-- 1 ubuntu ubuntu    0 4月  12 22:54 2.txt
-rw-rw-r-- 1 ubuntu ubuntu    0 4月  12 22:55 3
  • echo命令创建一个文本文件并写入数字123
ubuntu@ubuntu-virtual-machine:~$ echo 123 > 4.txt
ubuntu@ubuntu-virtual-machine:~$ ls -l
-rw-rw-r-- 1 ubuntu ubuntu    4 4月  12 22:57 4.txt
ubuntu@ubuntu-virtual-machine:~$ cat 4.txt
123
  • 创建一个空文件
ubuntu@ubuntu-virtual-machine:~$ > 6.txt
ubuntu@ubuntu-virtual-machine:~$ ls -l
-rw-rw-r-- 1 ubuntu ubuntu    0 4月  12 23:00 6.txt
ubuntu@ubuntu-virtual-machine:~$ cat 6.txt

能创建文件的方式还有很多,touch和echo命令本身的作用不是用来创建文件的,创建文件只是一种用法,而 > 在Linux中成为定向输出符号,也不是专业创建文件的,他的用处还多。

  • 删除文件

删除文件就相对统一一些,一般使用rm命令

ubuntu@ubuntu-virtual-machine:~$ ls 6.txt
6.txt
ubuntu@ubuntu-virtual-machine:~$ rm 6.txt
ubuntu@ubuntu-virtual-machine:~$ ls 6.txt
ls: 无法访问 '6.txt': 没有那个文件或目录

目录创建和删除

  • 创建目录

使用mkdir来创建目录

ubuntu@ubuntu-virtual-machine:~$ mkdir mydir
ubuntu@ubuntu-virtual-machine:~$ ls -l mydir/
总用量 0
ubuntu@ubuntu-virtual-machine:~$ mkdir mydir2/subdir2
mkdir: 无法创建目录 “mydir2/subdir2”: 没有那个文件或目录
ubuntu@ubuntu-virtual-machine:~$
ubuntu@ubuntu-virtual-machine:~$ mkdir mydir2/subdir2 -p
ubuntu@ubuntu-virtual-machine:~$ ls -l mydir2/
总用量 4
drwxrwxr-x 2 ubuntu ubuntu 4096 4月  12 23:16 subdir2
ubuntu@ubuntu-virtual-machine:~$

这里记住一个参数-p,当你需要创建多级目录,而前一级目录不存在的时候,可以使用-p参数,Linux会为你创建缺失的上一级目录。如果不加这个参数将会在没有的第一层目录时报错,显示“ 没有那个文件或目录”。

  • 删除目录

使用rm命令来删除目录

ubuntu@ubuntu-virtual-machine:~$ rm -rvf mydir2/
已删除目录 'mydir2/subdir2'
已删除目录 'mydir2/'
ubuntu@ubuntu-virtual-machine:~$

这里需要记住三个常用参数;

-r 表示删除目录下所有子目录文件

-v 表示打印删除执行情况,初学者建议使用这个检查你有没有删错文件

-f 表示强制执行

复制和剪切

  • 复制

使用cp命令复制文件和目录

ubuntu@ubuntu-virtual-machine:~$ ls -l mydir
总用量 0
-rw-rw-r-- 1 ubuntu ubuntu 0 4月  12 23:26 8.txt
-rw-rw-r-- 1 ubuntu ubuntu 0 4月  12 23:25 9.txt
ubuntu@ubuntu-virtual-machine:~$ ls -l mydir2
总用量 0
ubuntu@ubuntu-virtual-machine:~$ cp mydir/8.txt mydir2/ # 将8.txt复制一份到mydir2
ubuntu@ubuntu-virtual-machine:~$ ls -l mydir2
总用量 0
-rw-rw-r-- 1 ubuntu ubuntu 0 4月  12 23:26 8.txt

ubuntu@ubuntu-virtual-machine:~$ cp -r mydir mydir3 # 将mydir目录复制一份命名为mydir3
ubuntu@ubuntu-virtual-machine:~$ ls -l mydir3
总用量 0
-rw-rw-r-- 1 ubuntu ubuntu 0 4月  12 23:28 8.txt
-rw-rw-r-- 1 ubuntu ubuntu 0 4月  12 23:28 9.txt

目录复制时cp命令后面紧跟-r参数。

cp 后面跟两个路径,第一个是被拷贝对象,第二个是拷贝出来的对象。

  • 剪切
ubuntu@ubuntu-virtual-machine:~$ ls -l mydir3/
总用量 0
-rw-rw-r-- 1 ubuntu ubuntu 0 4月  12 23:28 8.txt
-rw-rw-r-- 1 ubuntu ubuntu 0 4月  12 23:28 9.txt
ubuntu@ubuntu-virtual-machine:~$ ls -l mydir2/
总用量 0
-rw-rw-r-- 1 ubuntu ubuntu 0 4月  12 23:26 8.txt
ubuntu@ubuntu-virtual-machine:~$ mv mydir3/9.txt mydir2/ #将mydir3下的9.txt剪切到mydir2目录下
ubuntu@ubuntu-virtual-machine:~$ ls -l mydir2/
总用量 0
-rw-rw-r-- 1 ubuntu ubuntu 0 4月  12 23:26 8.txt
-rw-rw-r-- 1 ubuntu ubuntu 0 4月  12 23:28 9.txt
ubuntu@ubuntu-virtual-machine:~$ ls -l mydir3/
总用量 0
-rw-rw-r-- 1 ubuntu ubuntu 0 4月  12 23:28 8.txt
ubuntu@ubuntu-virtual-machine:~$ mv mydir3/ mydir4/ #将mydir3 剪切到mydir4
ubuntu@ubuntu-virtual-machine:~$ ls -l mydir3/
ls: 无法访问 'mydir3/': 没有那个文件或目录
ubuntu@ubuntu-virtual-machine:~$ ls -l mydir4/
总用量 0
-rw-rw-r-- 1 ubuntu ubuntu 0 4月  12 23:28 8.txt

mv命令一般除了用来剪切文件和目录外,还用来对文件和目录进行更名。比如前面的例子其实就将mydir3更名为了mydir4。

相关推荐

有些人能留在你的心里,但不能留在你生活里。

有时候,你必须要明白,有些人能留在你的心里,但不能留在你生活里。Sometimes,youhavetorealize,Somepeoplecanstayinyourheart,...

Python学不会来打我(34)python函数爬取百度图片_附源码

随着人工智能和大数据的发展,图像数据的获取变得越来越重要。作为Python初学者,掌握如何从网页中抓取图片并保存到本地是一项非常实用的技能。本文将手把手教你使用Python函数编写一个简单的百度图片...

软网推荐:图像变变变 一“软”见分晓

当我们仅需要改变一些图片的分辨率、裁减尺寸、添加水印、标注文本、更改图片颜色,或将一种图片转换为另一种格式时,总比较讨厌使用一些大型的图像处理软件,尤其是当尚未安装此类软件时,更是如此。实际上,只需一...

首款WP8.1图片搜索应用,搜照片得资料

首款WP8.1图片搜索应用,搜照片得资料出处:IT之家原创(天际)2014-11-1114:32:15评论WP之家报道,《反向图片搜索》(ReverseImageSearch)是Window...

分享一组美图(图片来自头条)(头条美女头像)

...

盗墓笔记电视剧精美海报 盗墓笔记电视剧全集高清种子下载

出身“老九门”世家的吴邪,因身为考古学家的父母在某次保护国家文物行动时被国外盗墓团伙杀害,吴家为保护吴邪安全将他送去德国读书,因而吴邪对“考古”事业有着与生俱来的兴趣。在一次护宝过程中他偶然获得一张...

微软调整Win11 24H2装机策略:6月起36款预装应用改为完整版

IT之家7月16日消息,微软公司今天(7月16日)发布公告,表示自今年6月更新开始,已默认更新Windows1124H2和WindowsServer2025系统中预装...

谷歌手把手教你成为谣言终结者 | 域外

刺猬公社出品,必属原创,严禁转载。合作事宜,请联系微信号:yunlugongby贾宸琰编译、整理11月23日,由谷歌新闻实验室(GoogleNewsLab)联合Bellingcat、DigD...

NAS 部署网盘资源搜索神器:全网资源一键搜,免费看剧听歌超爽!

还在为找不到想看的电影、电视剧、音乐而烦恼?还在各个网盘之间来回切换,浪费大量时间?今天就教你如何在NAS上部署aipan-netdisk-search,一款强大的网盘资源搜索神器,让你全网资源...

使用 Docker Compose 简化 INFINI Console 与 Easysearch 环境搭建

前言回顾在上一篇文章《搭建持久化的INFINIConsole与Easysearch容器环境》中,我们详细介绍了如何使用基础的dockerrun命令,手动启动和配置INFINICon...

为庆祝杜特尔特到访,这个国家宣布全国放假?

(观察者网讯)近日,一篇流传甚广的脸书推文称,为庆祝杜特尔特去年访问印度,印度宣布全国放假,并举办了街头集会以示欢迎。菲媒对此做出澄清,这则消息其实是“假新闻”。据《菲律宾世界日报》2日报道,该贴子...

一课译词:毛骨悚然(毛骨悚然的意思是?)

PhotobyMoosePhotosfromPexels“毛骨悚然”,汉语成语,意思是毛发竖起,脊梁骨发冷;形容恐惧惊骇的样子(withone'shairstandingonend...

Bing Overtakes Google in China's PC Search Market, Fueled by AI and Microsoft Ecosystem

ScreenshotofBingChinahomepageTMTPOST--Inastunningturnintheglobalsearchenginerace,Mic...

找图不求人!6个以图搜图的识图网站推荐

【本文由小黑盒作者@crystalz于03月08日发布,转载请标明出处!】前言以图搜图,专业说法叫“反向图片搜索引擎”,是专门用来搜索相似图片、原始图片或图片来源的方法。常用来寻找现有图片的原始发布出...

浏览器功能和“油管”有什么关联?为什么要下载

现在有没有一款插件可以实现全部的功能,同时占用又小呢,主题主要是网站的一个外观,而且插件则主要是实现wordpress网站的一些功能,它不仅仅可以定制网站的外观,还可以实现很多插件的功能,搭载chro...