网站首页 > 文章中心 > 其它

linux保存目录树命令

作者:小编 更新时间:2023-09-17 16:48:20 浏览量:221人看过

linux怎么保存 linux如何保存

①.、连接相应linux主机,进入到linux命令行状态下,等待输入shell指令.

Linux 从 0 到 1(一) - 终端简介,文件与目录以及相关操作,常用命令

模式:

当打开终端,第一行所见的就叫命令行提示符.我的是这样的:

命令行提示符,顾名思义就是提示在其后面输入命令.在你输入新的一行命令前,这个命令提示符都会出现.分别解析一下上边代表什么意思:

oscar 这是当前用户的名字.Linux是一个多用户的操作系统,Windows也可以.不过Linux的多用户管理更方便.我们一般建议每个使用Linux系统的用户都创建一个属于自己的账户,便于隐私管理.

: 这是分隔符,没有什么特别的涵义.

~ 这是当前所在目录的名字,会随着用户进入不同目录而改变.~表示当前用户的家目录,有点类似Windows系统的"我的文档"这个目录.

$ 指示你所具有的权限的字符.在Linux系统中有两种可能:

你目前是以oscar这个用户登录;你的电脑名称为oscar-laptop;你目前位于 ~ 目录下,就是你的用户家目录.你是普通用户,拥有有限的权限.

参数里可以包含多个参数,由空格隔开,也可以包含数字,字母,等等.可以说,参数没有固定的格式,但是一般来说还是遵循一定的规范的.

如果我们要一次加好几个短参数,可以用空格隔开,例如:

多个短参数也可以合并在一起,例如上面的命令等价于:

请注意:参数的字母的大小写是有区别的,大写的T和小写的t通常表示不同意思.

如果有多个长参数,是不能像多个短参数那样合并写的.而是只能以空格隔开,例如:

当然我们也可以组合使用短参数和长参数,例如:

有时候,同一个意义的参数有短参数和长参数两种形式,效果是一样的,可以任选哪一种.

有一些参数你还需要给它赋一个值才行.而且短参数和长参数的赋值的方式不尽相同.

例如,短参数赋值,通常是这样的:

表示把10赋值给p参数.

如果是长参数,则一般是这样赋值:

长参数的方式更加容易理解,但是不如短参数那么简洁.

正如我们说过的,参数的形式没有绝对的准则.我们上面给出的规则是一般的,有些命令的参数格式可能是我们没怎么见过的.

有些参数就不一样,而且取决于命令.例如对于 ls 这个命令,假如后面带了一个参数,这个参数是一个目录的路径名的话,那么就会列出此目录下的文件.

两种类型的文件

简单起见,我们把Linux下的文件分为两大类:

在一个文件系统中,我们总有一个被称为根目录的东西,这个根目录里包含了所有其他目录和文件.Linux中有且只有一个根目录,就是

是的,就是用一个斜杠表示.没有比根目录再高一阶的目录了,因为没有目录包含根目录,根目录就是Linux最顶层的目录.

Linux系统安装后,包含了很多的文件和目录(虽然其实都是文件),我们很容易迷失在"茫茫文海"中.

当然我们不可能一下子列出Linux中的所有文件,那不现实.但是我们可以向你展示如何在Linux的目录树中来回穿梭,你可以知道此刻你位于哪个目录下.就好比能看懂Linux这个很大的"地图".

pwd 是英语Print Working Directory的缩写,表示"打印当前工作目录".

which 命令:获取命令的可执行文件的位置,which命令用于显示一个命令的对应的可执行程序的位置.可能听起来有点拗口.

在Linux下,每一条命令其实对应了一个可执行程序.我们在终端中输入命令,再按回车的时候,其实就是执行了对应的那个程序.比如说,pwd命令对应的pwd程序就是存在于Linux中的.

which命令接受一个参数,也就是你想要知道其可执行程序位于哪里的那个命令.

我们来测试一下,就拿pwd命令来测试好了:

得到:

所以呢,pwd命令对应的pwd这个可执行程序位于/bin目录中.

我们也可以注意到Linux中的可执行程序和Windows中不太一样,在Windows中可执行程序一般以.exe结尾,而Linux中一般是没有后缀名的.

Linux中的可执行程序也不是都位于相同目录的.我们可以来测试一下which命令本身对应的可执行程序位于哪里:

我们可以看到,which命令对应的可执行程序which并不位于/bin中,而是在/usr/bin中.

Ubuntu的终端默认是有颜色标注的,一般来说:

如果在你的终端里没有标明颜色,那么你可以加上参数 --color=auto 来开启颜色标注.如下:

如果你不需要颜色标注,那么可以用 --color=none 来关闭颜色标注.如下:

当然,为了避免每次都输入这么一串额外的参数,其实我们可以在一个配置文件里修改,使得永久显示颜色或不显示颜色.

在Linux,以点( . )开头的文件是隐藏文件,不过这里不包括开头的两个 . 和 .. ,这两个的含义如下:

- . (一个点)表示当前目录.在当前情况下,就是 /home/oscar .

- .. (两个点)表示上一级目录.因为当前目录是/home/oscar,所以上一级目录就是 /home .

我们有一个大写的参数 -A,它的作用和小写的-a几乎一样,唯一不同就是-A不列出 . 和 .. 这两个文件.

-l 这个参数算是ls命令最常用的了.加上-l参数使得ls命令列出一个显示文件和目录的详细信息的列表.

当我们仅用ls -l时,列出的文件详细信息中,文件的大小是以字节为单位的.有时这不是太直观.我们可以再加一个参数-h,h是humain readable的缩写,表示"适合人类阅读的".所以我们的命令变成了:

t是time的缩写.

du命令也是很有用的,因为它可以让我们知道文件和目录所占的空间大小.

虽然ls -l命令也可以显示文件和目录的大小,但是du命令统计的才是真正的文件大小.du命令会深入遍历每个目录的子目录,把所有文件的大小都做一个统计.

du是英语disk usage的缩写,表示"磁盘使用/占用".

我们的du命令也可以使用参数.

cat命令和less命令:显示文件内容,这两个命令只能显示文件内容,并不能对文件内容进行修改.

一次性显示文件的所有内容,如果你想要在显示的文件内容上加上行号,那么你可以加上 -n 这个参数.

分页显示文件内容

head命令和tail命令:显示文件的开头和结尾.

显示文件开头,默认情况下,head会显示文件的头10行.我们也可以指定显示的行数,用 -n 这个参数:

显示文件结尾.默认情况下,tail会显示文件的尾10行.

我们也可以指定显示的行数,用 -n 这个参数:

tail命令还可以配合 -f 参数来实时追踪文件的更新:

这样,就会检查文件是否有追加内容,如果有,就显示新增内容.

默认地,tail -f会每过1秒检查一下文件是否有新内容.你也可以指定间隔检查的秒数,用 -s 参数:

可以用快捷键 Ctrl ◆ c 来终止tail -f 命令.

touch命令和mkdir命令:创建文件和目录

创建一个空白文件.事实上,Linux没有一个命令是专门用来创建一个空白文件的.touch命令其实一开始的设计初衷是修改文件的时间戳,就是可以修改文件的创建时间或修改时间,让电脑以为文件是在那个时候被修改或创建的.但是touch命令如果后面跟着的文件名是不存在的,那么它就会新建一个.

事实上,我们可以用touch命令同时创建多个文件:

如果我所要创建的文件的名字里有空格怎么办呢?

很简单,加上双引号:

创建一个目录.

mkdir也可以同时创建好几个目录:

如果我所要创建的目录的名字里有空格怎么办呢?

我们还可以用 -p 参数来递归创建目录结构.

比如:

cp命令和mv命令:拷贝文件和移动文件

拷贝文件或目录

cp是英语copy的缩写,表示"拷贝".所以,顾名思义,此命令用于拷贝.cp命令不仅可以拷贝单个文件,还可以拷贝多个文件,也可以拷贝目录.

复制文件到另一个目录只需要把cp命令的第二个参数换成目录名.

拷贝目录

要拷贝目录,只要在cp命令之后加上-R参数(注意是大写的R).拷贝的时候,目录中的所有内容(子目录和文件)都会被拷贝.

使用通配符*

*号(星号)是很常用的正则表达式的符号,被称为"通配符",

所以如果我们用如下命令:

那么就会把当前目录下所有txt文件拷贝到folder这个子目录当中.

又如:

那么就会把当前目录下凡是以ha开头的文件都拷贝到folder目录中.

移动文件

mv是英语move的缩写,表示"移动".mv命令有两个功能:

用mv命令来移动目录很简单,不需要额外的参数,就跟移动文件一样:

当然,我们也可以使用通配符.

除了移动文件,mv命令还可以用于重命名文件.

事实上,Linux中没有一个专门的命令用于重命名文件.之所以mv命令可以重命名文件,其实还是归因于它的机制:移动文件.经过mv移动之后,原始文件变成了新的名字的文件,文件内容是不变的,这不就相当于重命名了吗?

以上命令会将new_file重命名为renamed_file.

删除文件和目录

rm命令可以删除一个文件,多个文件,目录,甚至你的整个Linux系统(如果你愿意的话).

以上命令删除当前目录下的new_file_copy这个文件.

我们也可以同时删除多个文件,只要用空格隔开每个文件即可.例如:

保险起见,用rm命令删除文件时,可以加上 -i 参数,这样对于每一个要删除的文件,终端都会询问我们是否确定删除.i是英语inform的缩写,表示"告知,通知".

有两种回答:

y:是英语yes的缩写,表示"是".那么回车确认后,文件就删除了.

n:是英语no的缩写,表示"否".那么回车确认后,文件不会删除.

如果在rm命令后加上-f参数,那么终端不会询问用户是否确定删除文件,不论如何,文件会立刻被强制删除.

f是英语force的缩写.

以上命令会强制删除file文件.

r是英语recursive的缩写,表示"递归的".所以使用-r参数,可以使rm命令删除目录,并且递归删除其包含的子目录和文件.

这个命令也挺危险的,用得不好可能你的子目录和文件都没了.

以上命令会删除one这个目录,包括其子目录和文件.

其实,也存在一个命令

看着和 rm -r 挺像的.但是这个命令有个局限性:只能删除空的目录.

创建链接

事实上,Linux下有两种链接类型:

为了区分这两种链接类型的不同,我们首先来谈一谈如Linux这样的操作系统中文件在硬盘上的存放.

文件在硬盘上存储时,大致来说(请注意我用了"大致来说"),每个文件有两部分:

文件名的列表是储存在硬盘的其他地方的,和文件内容分开存放,这样方便Linux管理.

注意:为什么我上面要用"大致说来"呢?因为此处我们简化了描述,其实每个文件有三部分:

我们这里简化地将文件分为两部分:文件名和文件内容.因为我们不想把事情复杂化,我们想要理解两种链接类型的区别,暂时只要知道这些就够了.

每个文件的文件内容被分配到一个标示号码,就是inode.所以呢每个文件名都绑定到它的文件内容(用inode标识).原理如下图:

下面我们学习如何创建硬链接和软连接.

比之软链接,硬链接的使用几率小很多.但是我们还是要学习一下,毕竟可能会用到.

硬链接的原理:使链接的两个文件共享同样的文件内容,也就是同样的inode.

硬链接有一个缺陷:只能创建指向文件的硬链接,不能创建指向目录的硬链接.但是软链接可以指向文件或目录.当然了,事实上,通过一些参数的修改,也可以创建指向目录的硬链接,但是比较复杂,这里不再详述.所以对于目录的链接,我们一般都是用软链接.

硬链接原理图:

要创建硬链接,直接用ln命令,不加任何参数:

我们可以用ls -i命令查看一下(-i参数可以显示文件的inode).对于硬链接来说,删除任意一方的文件,共同指向的文件内容并不会从硬盘上被删除.

这个第二列的数字,一般来说对于普通文件,都是1,因为不同文件inode不同嘛.对于目录来说,这第二列的数字标明目录内所含文件数目.

其实,软链接才是真正像我们在Windows下的快捷方式的,其原理很相似.

创建硬链接是ln不带任何参数,但是要创建软链接需要加上-s参数.s是symbolic(符号的)的缩写.

软链接原理图:

软链接的特点:

关于Linux文件系统的目录树结构

Linux操作系统中的主要目录及目录内容由文件系统层次结构标准(英语:Filesystem Hierarchy Standard,FHS)定义.

在FHS中,所有的文件和目录都出现在根目录"/"下,即使他们存储在不同的物理设备中.但是请注意,这些目录中的一些可能或可能不会在Linux系统上出现,这取决于系统是否含有某些子系统,例如 X Window系统 的安装与否.

下面是FHS中所定义的一些目录,和目录的描述:

/bin 二进制可执行命令

/dev 设备特殊文件

/etc 系统管理和配置文件

/etc/rc.d 启动的配置文件和脚本

/home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示

/lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件

/sbin 系统管理命令,这里存放的是系统管理员使用的管理程序

/tmp 公用的临时文件存储点

/root 系统管理员的主目录

/mnt 系统提供这个目录是让用户临时挂载其他的文件系统.

/lost◆found 这个目录平时是空的,系统非正常关机而留下"无家可归"的文件(windows下叫什么.chk)就今天这一节

/proc 虚拟的目录,是系统内存的映射.可直接访问这个目录来获取系统信息.

/var 某些大文件的溢出区,比方说各种服务的日志文件

/usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录.其中包含:

/usr/bin 众多的应用程序

/usr/sbin 超级用户的一些管理程序

/usr/doc linux文档

/usr/include linux下开发和编译应用程序所需要的头文件

/usr/lib 常用的动态链接库和软件包的配置文件

/usr/man 帮助文档

/usr/src 源代码,linux内核的源代码就放在/usr/src/linux里

/usr/local/bin 本地增加的命令

/usr/local/lib 本地增加的库

关于LINUX最基本的一些命令?

跟老男孩学Linux运维:核心系统命令实战

前言

第1章 Linux命令行简介 / 1

①1Linux命令行概述 / 1

关机:

shutdown -h now

halt

init 0

ifup eth0

ifdown eth0

service network restart(/etc/init.d/network restart) 激活整个网络,所有网卡.

top命令

linux常用命令有哪些?

linux常用命令有pwd命令、cd命令、ls命令、cat命令、grep命令、touch命令、cp命令、mv命令、rm命令、rmdir命令等.

linux常用命令:

①.、 pwd命令

该命令的英文解释为print working directory(打印工作目录).输入pwd命令,Linux会输出当前目录.

cd命令用来改变所在目录.

cd / 转到根目录中

cd ~ 转到/home/user用户目录下

cd /usr 转到根目录下的usr目录中-------------绝对路径

cd test 转到当前目录下的test子目录中-------相对路径

ls命令用来查看目录的内容. 选项 含义 -a 列举目录中的全部文件,包括隐藏文件 -l 列举目录中的细节,包括权限、所有者、组群、大小、创建日期、文件是否是链接等 -f 列举的文件显示文件类型 -r 逆向,从后向前地列举目录中内容 -R 递归,该选项递归地列举当前目录下所有子目录内的内容 -s 大小,按文件大小排序 -h 以人类可读的方式显示文件的大小,如用K、M、G作单位 ls -l examples.doc 列举文件examples.doc的所有信息

cat命令可以用来合并文件,也可以用来在屏幕上显示整个文件的内容.

cat snow.txt 该命令显示文件snow.txt的内容,ctrl◆D退出cat.

grep命令的最大功能是在一堆文件中查找一个特定的字符串.

grep money test.txt

以上命令在test.txt中查找money这个字符串,grep查找是区分大小写的.

touch命令用来创建新文件,他可以创建一个空白的文件,可以在其中添加文本和数据.

touch newfile 该命令创建一个名为newfile的空白文件.

cp命令用来拷贝文件,要复制文件,输入命令:

cp

cp t.txt Document/t 该命令将把文件t.txt复制到Document目录下,并命名为t. 选项 含义 -i 互动:如果文件将覆盖目标中的文件,他会提示确认 -r 递归:这个选项会复制整个目录树、子目录以及其他 -v 详细:显示文件的复制进度

mv命令用来移动文件. 选项 说明 -i 互动:如果选择的文件会覆盖目标中的文件,他会提示确认 -f 强制:它会超越互动模式,不提示地移动文件,属于很危险的选项 -v 详细:显示文件的移动进度

mv t.txt Document 把文件t.txt 移动到目录Document中.

rm命令用来删除文件. 选项 说明 -i 互动:提示确认删除 -f 强制:代替互动模式,不提示确认删除 -v 详细:显示文件的删除进度 -r 递归:将删除某个目录以及其中所有的文件和子目录

rm t.txt 该命令删除文件t.txt

①.0、 rmdir命令

rmdir命令用来删除目录.

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章