Linux下的基本指令(一)

1.文件系统层次结构

 Linux系统中的所有文件存储在文件系统中,它们被组织到一个颠倒的目录树中,称为文件系统层次结构。这棵树是颠倒的,因为树根在该层次结构的顶部,树根下方延伸出目录和子目录的分支。
 /目录是根目录,位于文件系统层次结构的顶部。/字符还用作文件名中的目录分隔符。

例如:
	etc是/目录的子目录,我们把它们称为/etc目录。
	/etc目录包含一个名为issue的文件,可称为 /etc/issue目录。

1.1根目录下重要的目录

/usr 安装的软件、共享的库,包含文件和静态只读程序的数据。
/etc 特定于此系统的配置文件
/var 系统的可变数据,在系统启动之间保持永久性。
/run 自上一次系统启动以来启动的进程的运行时数据
/home 普通用户存储其个人数据和配置文件的主目录
/root 管理超级用户root的主目录
/tmp 供临时文件使用的全局可写空间
/boot 开始启动过程所需的文件
/dev 包含特殊的设备文件,共系统用于访问硬件

2. 对目录进行操作

命令结构的使用结构: 命令名称 [操作选项] [操作源对象] [操作目标对象]
 [] 里面的内容可以省略

2.1 树状目录结构的解释

颠倒的树状目录结构,最上次的目录是根目录(‘/’)
Linux是一个多用户、多任务操作系统,同时可以登录多个用户。
特性:

  • 根目录下的home目录功能:总的家目录
  • 总的家目录下边又有各个用户自己的家目录
  • 默认情况下家目录就是以用户名定义的

2.2 目录的基本命令

指令名称 指令作用
cp 复制文件或目录
mv 移动文件或目录
mkdir 创建目录
rm 删除文件或目录
rmdir 删除目录

1. cp 指令:复制一个或多个文件

 将一个现有文件复制为当前或另一个目录中的新文件,或将多个文件复制到另一个目录中(最后一个参数必须为目录)。在目标位置时,新文件都必须是唯一的。如果新文件名不唯一,那么复制命令将覆盖现有文件。
常用选项:

-f 强制(force)复制文件或目录
-i 覆盖文件之前先询问用户
-r 复制文件到指定位置,包含目录
-R 将指定目录下的文件及子目录

举例:

[lemon@localhost workspace]$ cp study_02 study02
[lemon@localhost workspace]$ ls -l
总用量 16
drwxrwxr-x. 2 lemon lemon 4096 10月 20 17:09 study
-rw-rw-r--. 1 lemon lemon 2585 10月 20 17:20 study02
-rw-rw-r--. 1 lemon lemon 2585 10月 20 09:08 study_02
-rw-rw-r--. 1 lemon lemon 1641 10月 20 08:41 study_file
[lemon@localhost workspace]$ cp study studyfile
cp: 略过目录"study"
[lemon@localhost workspace]$ cp -r study studyfile
[lemon@localhost workspace]$ ls
study  study02  study_02  studyfile  study_file
[lemon@localhost workspace]$ ls -R
.:
study  study02  study_02  studyfile  study_file

./study:
study02

./studyfile:
study02

使用cp study studyfile命令时,提示略过目录"study",但使用-r递归选项时,复制成功。

2.mv指令:移动文件或者文件改名

功能:
a. mv命令中第二个参数类型的类型不同,mv命令将文件重命名或将其移至一个新的目录中。
b. 当第二个参数是文件时,mv命令完成文件重命名,此时源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
c. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
常用选项:

-f 如果目标文件已存在,不会询问而直接覆盖
-i 若目标文件已经存在,就会询问是否覆盖

举例:

[lemon@localhost workspace]$ ls -R
.:
study  study00  study01  study02

./study:
[lemon@localhost workspace]$ mv study00 study_00
[lemon@localhost workspace]$ ls
study  study_00  study01  study02
[lemon@localhost workspace]$ mv study_00 ./study
[lemon@localhost workspace]$ ls -R
.:
study  study01  study02

./study:
study_00

第一个mv命令是重命名,第二个命令会导致文件重新放置到另外的目录中。
在这里插入图片描述

3.mkdir:创建目录

常用选项:

-p 递归创建目录,为目标位置请求创建缺失的父目录(若路径中某些目录尚不存在,系统将自动创建好那些不存在的目录,即一次可以创建多层目录)

举例:

[lemon@localhost workspace]$ ls -R
.:
study  study01  study02

./study:
study_00
[lemon@localhost workspace]$ mkdir aaa/bbb/ccc
mkdir: 无法创建目录"aaa/bbb/ccc": 没有那个文件或目录
[lemon@localhost workspace]$ mkdir -p aaa/bbb/ccc
[lemon@localhost workspace]$ ls -R
.:
aaa  study  study01  study02

./aaa:
bbb

./aaa/bbb:
ccc

./aaa/bbb/ccc:

./study:
study_00

mkdir通过-p命令创建了该目录下的aaa/bbb/ccc目录。

4.rm / rmdir:删除文件或目录

 rm 删除文件或目录,默认是删除文件
常用选项:

-f 忽略所有提示信息,强制删除(即使文件属性为只读,也直接删除,使用时应该小心)
-r 删除文件,包括目录
-i 删除文件时,提示是否要删除

举例:

[lemon@localhost workspace]$ ls
aaa  study  study01  study_01  study02
[lemon@localhost workspace]$ ls -R
.:
aaa  study  study01  study_01  study02

./aaa:
bbb

./aaa/bbb:
ccc

./aaa/bbb/ccc:

./study:
study_00
[lemon@localhost workspace]$ rm study_01
[lemon@localhost workspace]$ ls
aaa  study  study01  study02
[lemon@localhost workspace]$ rm aaa
rm: 无法删除"aaa": 是一个目录
[lemon@localhost workspace]$ rm -r aaa
[lemon@localhost workspace]$ ls
study  study01  study02
[lemon@localhost workspace]$ rm -ri study
rm:是否进入目录"study"? n
[lemon@localhost workspace]$ ls
study  study01  study02
[lemon@localhost workspace]$ mkdir -p aaa/bbb/ccc
[lemon@localhost workspace]$ rm -ri aaa
rm:是否进入目录"aaa"? y
rm:是否进入目录"aaa/bbb"? y
rm:是否删除目录 "aaa/bbb/ccc"?y
rm:是否删除目录 "aaa/bbb"?y
rm:是否删除目录 "aaa"?y
[lemon@localhost workspace]$ ls
study  study01  study02

以上的操作,第一个为删除一个文件rm study_01;第二个为删除一个目录rm aaa,但由于没有加任何选项,所以没有成功删除;第三个加了-p选项rm -p aaa,成功删除目录aaa;第四个提示询问消息rm -i;第五个 rm -ri aaa,即询问且一级一级的询问提示的消息,发现了-r递归删除目录,先进入目录删除目录中的子目录及文件,成为空目录后再删除文件。
rmdir 命令仅删除空的目录,删除的目录无法取消,也灭有回收站,所以大家需要谨慎使用

[lemon@localhost workspace]$ ls -R
.:
aaa  study  study01  study02

./aaa:
bbb

./aaa/bbb:

./study:
study_00
[lemon@localhost workspace]$ rmdir aaa
rmdir: 删除 "aaa" 失败: 目录非空
[lemon@localhost workspace]$ rmdir aaa/bbb
[lemon@localhost workspace]$ ls -R
.:
aaa  study  study01  study02

./aaa:

./study:
study_00

5. ls命令:查看当前目录下内容

常用选项:

-a 查看隐藏文件(标准解释:查看所有文件,并不忽略以 . 开头的文件) Linux以 . 开头的文件都是隐藏文件 . 当前目录 … 上一层目录(每一个目录下都有这一个目录)
-l 列出目录下内容的详细信息
-t 按时间排序
-r 对排序进行逆序(一般与-t一起使用)
-h 人性化显示 (一般和-l在一起使用)

举例:

[lemon@localhost workspace]$ ls -R
.:
aaa  study  study01  study02

./aaa:

./study:
study_00
[lemon@localhost workspace]$ ls -a
.  ..  aaa  study  study01  study02
[lemon@localhost workspace]$ ls -l
总用量 16
drwxrwxr-x. 2 lemon lemon 4096 10月 20 19:44 aaa
drwxrwxr-x. 2 lemon lemon 4096 10月 20 18:01 study
-rw-rw-r--. 1 lemon lemon 1641 10月 20 17:54 study01
-rw-rw-r--. 1 lemon lemon 2585 10月 20 17:53 study02
[lemon@localhost workspace]$ ls -t
aaa  study  study01  study02
[lemon@localhost workspace]$ ls -r
study02  study01  study  aaa
[lemon@localhost workspace]$ ls -lh
总用量 16K
drwxrwxr-x. 2 lemon lemon 4.0K 10月 20 19:44 aaa
drwxrwxr-x. 2 lemon lemon 4.0K 10月 20 18:01 study
-rw-rw-r--. 1 lemon lemon 1.7K 10月 20 17:54 study01
-rw-rw-r--. 1 lemon lemon 2.6K 10月 20 17:53 study02

在这里需要对-l选项的结构分析一下,大家需要知道。
在这里插入图片描述
-l选项显示出一系列的消息,我们可以看到第一竖列文件类型,d代表什么文件类型呢?

d 目录文件。
l 符号链接文件(指向另一个文件,类似于windows的快捷方式)。
s 套接字文件。
b 块设备文件。
c 字符设备文件。
p 命名管道文件。

  • 普通文件。

6. pwd命令:打印当前用户所在目录

先了解一下绝对路径和相对路径:
绝对路径:完整路径,从根目录开始到达要进入目录,/home/lemon
相对路径:从本目录下进入到下一个目录,…/lemon
pwd打印的是绝对路径

[lemon@localhost workspace]$ pwd
/home/lemon/workspace

我们可以了解到,我们在根目录下的home目录下的当前用户lemon目录下的workspace目录。

7. cd命令:改变工作目录

cd 将当前工作目录改变到指定的目录下。
常用选项:

cd … 返回上一级目录 ~ 进入当前用户所在的家目录
– 返回最近访问的目录

猜你喜欢

转载自blog.csdn.net/meng_lemon/article/details/83216474
今日推荐