失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Linux目录结构 基本命令及文件操作命令

Linux目录结构 基本命令及文件操作命令

时间:2020-04-10 08:22:57

相关推荐

Linux目录结构 基本命令及文件操作命令

一.Linux系统中的目录结构

1.根目录(/)

根目录与开机/还原/系统修复等动作有关。目录不要放在非常大的分区,因为越大的分区内你会放入越多的数据,如此一来根目录所在分区就可能会有较多发生错误的机会。

因此FHS标准建议:根目录(/)所在分区应该越小越好,且应用程序所安装的软件最好不要与根目录放在同一个分区内,保持根目录越小越好。 说白了,就是根目录和Windows的C盘一个样。

一下介绍根目录下的子目录

2.bin目录(二进制)

/bin主要用于存放普通用户可以使用的命令。

该目录为命令文件目录,也称为二进制目录。包含了供系统管理员及普通用户使用的重要的linux命令和二进制(可执行)文件,包含shell解释器等。

3.boot目录(引导)

主要用于存放Linux启动所需的文件,包括内核,引导文件等。

该目录中存放系统的内核文件和引导装载程序文件,/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小100M即可。

4.dev目录(设备)

/dev: 设备文件目录,存放设备文件。访问该目录下某个文件,相当于访问某个设备存放连接到计算机上的设备(终端、磁盘驱动器、光驱及网卡等)的对应文件,包括字符设备和块设备等,常用的是挂载光驱mount /dev/cdrom/mnt。

5.etc目录

/etc: 存放系统和服务的配置文件。该目录存放系统的大部分配置文件和子目录(例如系统用户密码,网络接口,防火墙和系统服务的配置文件等)。不建议在此目录下存放可执行文件,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11(X Window系统有关)、/etc/sysconfig(与网络有关)、/etc/xinetd.d若要修改其中文件,要遵循先备份后修改的原则。该目录下的文件由系统管理员来使用,普通用户通常仅能只读。

6.home目录

/home: 该目录用于存放普通用户的家目录,用来存放用户的个人文件,系统文件和应用程序的初始化文件等。家目录是用户登录系统后的起始目录。

新增用户账号时,用户的宿主目录都存放在此目录下,~表示当前用户的宿主目录,~test表示用户test的宿主目录。建议单独分区。

7.lib目录

/lib:用于存放系统及相关软件的依赖的库文件。

系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,该目录下存放了各种编程语言库。典型的linux系统包含了C、C++和FORTRAN语言的库文件。/lib目录下的库映像文件可以用来启动系统并执行一些命令,目录/lib/modules包含了可加载的内核模块,/lib目录存放了所有重要的库文件,其他的库文件则大部分存放在/usr/lib目录下。

8.lost+fount目录

/lost+fount:如果系统出现意外或掉电关机,文件系统会损失一些文件或产生一些文件碎片。当系统重新启动时会修复这些文件,并将这些文件放入次目录以便管理员恢复。多数情况下系统会自动修复这些碎片文件,该目录只存在于分区挂载目录中。

9.media,mnt目录

/media:用来挂载一些可移动媒体,例如光驱,U盘。

/mnt主要用来临时挂载一些磁盘设备,为某些设备提供默认挂载点.如floppy,cdrom。这样当挂载了一个设备如光驱时,就可以通过访问目录/mnt/cdrom下的文件来访问相应的光驱上的文件了。

10.opt目录

/opt:给主机额外安装软件所摆放的目录,也可以将需要编译安装的软件放于此目录。如:如果想要自行安装某软件,可以将该软件安装在该目录下。以前的 Linux 系统中,习惯放置在 /usr/local 目录下。

11.proc目录(process)

/proc: 系统运行时将相关的暂存信息放在此目录。此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等。

12、root目录(根)

/root:系统管理员root的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。

13.sbin目录

存放一些系统管理命令。一般情况下普通用户不能执行这些命令。

/sbin,/usr/sbin,/usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount等。

与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能"查看"而不能设置和使用。

14.srv目录(serve服务)

/srv:服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在/srv/www内。

15.usr目录

存放一些应用程序,帮助和文档,有时也存放一些配置文件和程序等。

/usr:应用程序存放目录,/usr/bin存放应用程序,/usr/share存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件,/usr/local存放软件升级包,/usr/share/doc系统说明文件存放目录。/usr/share/man:程序说明文件存放目录,使用 man ls时会查询/usr/share/man/man1/ls.1.gz的内容。建议单独分区,设置较大的磁盘空间。

16.var目录

放置系统执行过程中经常变化的文件,例如日志文件,数据库文件,和web服务器程序文件等。

随时更改的日志文件 /var/log。/var/log/message: 所有的登录文件存放目录。/var/spool/mail: 邮件存放的目录。/var/run: 程序或服务启动后。建议单独分区,设置较大的磁盘空间。

17.tmp目录(temporary 临时)

存放系统或进程在运行时产生的临时文件,用户也可以在此存放自己的临时文件。

tmp目录保存的临时文件对所有用户可见,因此此目录的文件可能回泄露并造成一些安全问题。

该目录下的所有文件会被定时删除,且任何人都可以访问,重要数据不可放置在此目录下。10天内未访问,未更改的文件讲自动被删除。以避免临时文件占满整个磁盘。/var/tmp,30内未访问,未更改的文件讲自动被删除。

注意:

在没有确认修改文件内容安全之前,不要随意修改目录proc中的任何文件,否则会造成系统崩溃。

/etc,该目录下的文件由系统管理员来使用,普通用户通常仅能只读。

/tmp,保存的临时文件对所有用户可见,且所有文件会被定时删除,因此重要数据不可放置在此目录下。

二.Linux基本命令

1.切换工作目录命令cd

Linux cd命令用于切换当前工作目录至 dirName(目录参数)。

其中 dirName 表示法可为绝对路径(以/开头的)或相对路径(以“ .”或者“../”开头的)。若目录名称省略,则变换至使用者的 home 目录。

另外,"~" 也表示为 home 目录 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。

#查看当前路径lkw@lkw-PC:~$ pwd /home/lkw#查看上级目录lkw@lkw-PC:~$ cd ../lkw@lkw-PC:/home$ pwd/homelkw@lkw-PC:/home$ cd /var/loglkw@lkw-PC:/var/log$ #快速返回家目录lkw@lkw-PC:/var/log$ cd ~lkw@lkw-PC:~$ pwd/home/lkw#cd参数为空,也是返回家目录,与~相同lkw@lkw-PC:~$ cd /var/loglkw@lkw-PC:/var/log$ cd lkw@lkw-PC:~$ pwd/home/lkw

目录文件有r x 权限时,可以cd进入一个目录并可以通过ls命令查清该目录文件包含有什么文件。

目录文件有r无x权限时,可以cd不进入一个目录

目录文件有x无r权限时,可以cd进入一个目录但不可以通过ls命令查清该目录文件包含有什么文件。

2.查看当前路径命令pwd

3.查看文件列表命令ls

Linux ls命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录),还可以查看文件的详细信息,例如查看文件的权限,大小,所有者等。

参数:

-a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出-r 将文件以相反次序显示(原定依英文字母次序)-t 将文件依建立时间之先后次序列出-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)-F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"-R 若目录下有文件,则以下之文件亦皆依序列出

#查看当前目录下的文件列表lkw@lkw-PC:~$ ls1 bf2.c Desktop FF.c phi rw sy33sy4Templates 新建文本.txt3 bf.c DocumentsFF.cpp phi.crw.c sy333 sy44 Videos3.c bff.c Downloadsgdphiqscreen shot sy333.c sy44.c wfbf cceclipse-workspace gd.c phiq.c sy2 sy33.c sy4.c wf.cbf2 Code FF Music Pictures sy2.csy3.c synopsis?:q wfz.c#文件详细信息lkw@lkw-PC:~$ ls -l总用量 384-rw-r--r-- 1 lkw lkw 120 10月 12 20:28 1-rwxr-xr-x 1 lkw lkw 8784 4月 4 3-rw-r--r-- 1 lkw lkw 1508 4月 4 3.c-rwxr-xr-x 1 lkw lkw 18064 5月 10 17:06 bf-rwxr-xr-x 1 lkw lkw 18064 5月 10 17:08 bf2-rw-r--r-- 1 lkw lkw 10960 5月 10 17:08 bf2.c-rw-r--r-- 1 lkw lkw 11178 5月 10 16:45 bf.c-rw-r--r-- 1 lkw lkw 11219 5月 10 16:23 bff.c-rw-r--r-- 1 lkw lkw0 3月 29 ccdrwxr-xr-x 4 lkw lkw 4096 4月 4 Codedrwxr-xr-x 3 lkw lkw 4096 5月 24 17:00 Desktopdrwxr-xr-x 4 lkw lkw 4096 3月 20 Documentsdrwxr-xr-x 2 lkw lkw 4096 4月 4 Downloadsdrwxr-xr-x 5 lkw lkw 4096 3月 28 eclipse-workspace-rwxr-xr-x 1 lkw lkw 13144 5月 10 17:06 FF-rw-r--r-- 1 lkw lkw 6186 5月 3 17:27 FF.c-rw-r--r-- 1 lkw lkw0 5月 3 16:51 FF.cpp-rwxr-xr-x 1 lkw lkw 9192 4月 9 gd-rw-r--r-- 1 lkw lkw 1187 4月 9 gd.c.....

第一个字段第一个字符描述文件类型。“ - ” 代表普通文件,” d “代表一个目录,” l “链接文件,” b “块设备文件,”c“字符设备文件,” p “管道文件。文件的连接数文件的属主文件的属组文件的大小(默认单位为字节)文件创建的时间文件及目录名

绿色表示可执行文件,蓝色表示目录;

#参数为目录,查看目录中所有文件kw@lkw-PC:~$ ls -l /usr总用量 84drwxr-xr-x 2 root root 40960 4月 4 bindrwxr-xr-x 2 root root 4096 3月 17 gamesdrwxr-xr-x 55 root root 4096 3月 20 includedrwxr-xr-x 116 root root 4096 3月 28 libdrwxrwsr-x 10 root staff 4096 3月 10 localdrwxr-xr-x 2 root root 12288 3月 20 sbindrwxr-xr-x 234 root root 12288 4月 4 sharedrwxr-xr-x 6 root root 4096 3月 10 src#参数为目录,用d查看目录lkw@lkw-PC:~$ ls -ld /usrdrwxr-xr-x 10 root root 4096 3月 10 /usr#隐藏文件都以点号”.“开头,默认情况下ls不显示隐藏文件,用a显示查看lkw@lkw-PC:~$ ls -al总用量 1028drwxr-xr-x 32 lkw lkw 4096 10月 16 21:06 .drwxr-xr-x 4 root root 4096 3月 10 ..-rw-r--r-- 1 lkw lkw120 10月 12 20:28 1-rw------- 1 lkw lkw 12288 3月 18 .1.c.swo-rw------- 1 lkw lkw 12288 3月 18 .1.c.swp-rw-r--r-- 1 lkw lkw 12288 10月 12 21:01 .1.swp-rw-r--r-- 1 lkw lkw 12288 3月 18 .2.c.swp......#以k字节lkw@lkw-PC:~$ ls -lak总用量 1164drwxr-xr-x 32 lkw lkw 4096 10月 16 21:06 .drwxr-xr-x 4 root root 4096 3月 10 ..-rw-r--r-- 1 lkw lkw120 10月 12 20:28 1-rw------- 1 lkw lkw 12288 3月 18 .1.c.swo#以h查看文件大小,klkw@lkw-PC:~$ ls -lah总用量 1.2Mdrwxr-xr-x 32 lkw lkw 4.0K 10月 16 21:06 .drwxr-xr-x 4 root root 4.0K 3月 10 ..-rw-r--r-- 1 lkw lkw 120 10月 12 20:28 1-rw------- 1 lkw lkw 12K 3月 18 .1.c.swo-rw------- 1 lkw lkw 12K 3月 18 .1.c.swp-rw-r--r-- 1 lkw lkw 12K 10月 12 21:01 .1.swp-rw-r--r-- 1 lkw lkw 12K 3月 18 .2.c.swp-rwxr-xr-x 1 lkw lkw 8.6K 4月 4 3

4.文件链接命令ln

Linux文件系统中,有所谓的链接(link)可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接即一个快捷方式。硬链接,是目标文件的副本。无论目标文件存在多少个副本,这些副本都使用同一块存储区域,其中一个副本内容变化则所有副本和目标文件内容都改变。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。

不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。

软链接

1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式2.软链接可以 跨文件系统 ,硬链接不可以3.软链接可以对一个不存在的文件名进行链接4.软链接可以对目录进行链接

硬链接

1.硬链接,是目标文件的副本。无论目标文件存在多少个副本,这些副本都使用同一块存储区域。其中一个副本内容变化则所有副本和目标文件内容都改变。2.不允许给目录创建硬链接3.硬链接只有在同一个文件系统中才能创建

命令参数

必要参数

-b 删除,覆盖以前建立的链接-d 允许超级用户制作目录的硬链接-f 强制执行-i 交互模式,文件存在则提示用户是否覆盖-n 把符号链接视为一般目录-s 软链接(符号链接)-v 显示详细的处理过程

选择参数

(1)创建硬链接

默认为硬链接

-S "-S<字尾备份字符串> "或 "--suffix=<字尾备份字符串>"-V "-V<备份方式>"或"--version-control=<备份方式>"--help 显示帮助信息--version 显示版本信息

#不使用任何选项时ln会创建一个硬链接文件#将/home/lkw/1 创建一个硬链接,并命名未lkwwlkw@lkw-PC:~$ ln /home/lkw/1 lkww#查看建立的硬链接文件lkw@lkw-PC:~$ ls -l lkww-rw-r--r-- 2 lkw lkw 120 10月 12 20:28 lkww

(2)创建软链接

创建软链接,需使用s选项

#使用s创建软链接文件lkw@lkw-PC:~$ ln -s /home/lkw/1 lla #查看建立的软链接文件,将显示链接的源文件信息lkw@lkw-PC:~$ ls -l llalrwxrwxrwx 1 lkw lkw 11 10月 17 17:17 lla -> /home/lkw/1

链接文件显示为红色,并且以 l 开头。

三.文件操作命令

1.文件命名规则

(1)文件命名规则

遵守以下规则:

除了/外,所有的字符都可以;有些字符最好不用,如空格符,制表符,退格符和字符:? @ # $ & () \ | ; ‘’ “ ” <> 等;避免使用+ -或.作为普通文件名的第一个字符(在Linux下以. 开头的文件是属于隐藏文件);另外和Windows文件命名不一样的是,在Linux下文件名大小写敏感。

(2)文件扩展名

虽然Linux系统下无扩展名的概念,但某些特殊的程序要求文件必须要有正确的扩展名才可使用。例如,gcc编译器要求源码文件必须 .c 结尾。.conf表示配置文件。 .sh表示一段shell程序。 .log表示日志文件

(3)特殊字符和隐藏文件

. 开头的文件都属于隐藏文件。不建议使用

2.创建文件命令touch

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

#创建一个文件ablkw@lkw-PC:~$ touch ab查询ab信息lkw@lkw-PC:~$ ls -l ab-rw-r--r-- 1 lkw lkw 0 10月 17 17:42 ab#创建文件时,使用选项d指定时间lkw@lkw-PC:~$ touch -d "8/10/16 18:32" ed#查询ed文件lkw@lkw-PC:~$ ls -l ed-rw-r--r-- 1 lkw lkw 0 8月 10 ed

3.创建目录命令mkdir( directory)

mkdir命令用于建立目录。

#创建一个目录lkw@lkw-PC:~$ mkdir test#显示目录 -ldlkw@lkw-PC:~$ ls -ld testdrwxr-xr-x 2 lkw lkw 4096 10月 17 17:51 test#多级目录,-p(目录不存在),若存在不加-plkw@lkw-PC:~$ mkdir -p a/b/c/d/e#进入目录lkw@lkw-PC:~$ cd a/b/c/d/e#显示当前目录lkw@lkw-PC:~/a/b/c/d/e$ pwd/home/lkw/a/b/c/d/e

4.移动,重命名文件命令mv

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

参数说明

-i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;-f: 在mv操作要覆盖某已有的目标文件时不给任何指示;

#创建文件alkw@lkw-PC:~$ touch a#把文件a移到test目录下lkw@lkw-PC:~$ mv a test/lkw@lkw-PC:~$ ls -l test总用量 0-rw-r--r-- 1 lkw lkw 0 10月 17 18:00 a#创建文件b c dlkw@lkw-PC:~$ touch b c d#批量移植lkw@lkw-PC:~$ mv b c d test/lkw@lkw-PC:~$ ls -l test总用量 0-rw-r--r-- 1 lkw lkw 0 10月 17 18:00 a-rw-r--r-- 1 lkw lkw 0 10月 17 18:01 b-rw-r--r-- 1 lkw lkw 0 10月 17 18:01 c-rw-r--r-- 1 lkw lkw 0 10月 17 18:01 d#重命名文件或目录lkw@lkw-PC:~$ mv test test1lkw@lkw-PC:~$ ls1 bf2 Desktop FF.c phi rw.c sy333.c sy4.c wf3 bf2.c DocumentsFF.cpp phi.cscreen shot sy33.c synopsis?:q wf.c3.c bf.c Downloadsgdphiqsy2 sy3.c task wfz.caa bff.c eclipse-workspace gd.c phiq.c sy2.csy4Templates 新建文本.txtab cced llaPictures sy33 sy44test1bf Code FF Music rw sy333sy44.c Videos

5.复制文件命令cp(copy)

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

参数说明

-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。-f:覆盖已经存在的目标文件而不给出提示。-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。-l:不复制文件,只是生成链接文件。

#创建目录lkw@lkw-PC:~$ mkdir filelkw@lkw-PC:~$ mkdir test #复制目录。使用R递归复制目录及目录中的文件lkw@lkw-PC:~$ cp -R test file/#用p复制时保留权限lkw@lkw-PC:~$ cp -p a blkw@lkw-PC:~$ ls -l a b-rw-r--r-- 1 lkw lkw 0 10月 17 20:36 a-rw-r--r-- 1 lkw lkw 0 10月 17 20:36 b

6.删除文件命令rm

7.删除空目录命令rmdir

#创建b文件夹lkw@lkw-PC:~$ mkdir blkw@lkw-PC:~$ ls -l总用量 28-rw-r--r-- 1 lkw lkw 0 10月 17 21:02 adrwxr-xr-x 2 lkw lkw 4096 10月 17 21:03 bdrwxr-xr-x 2 lkw lkw 4096 10月 17 20:54 Desktopdrwxr-xr-x 3 lkw lkw 4096 10月 17 20:55 Documentsdrwxr-xr-x 2 lkw lkw 4096 10月 17 20:54 Downloadsdrwxr-xr-x 2 lkw lkw 4096 10月 17 20:54 Musicdrwxr-xr-x 2 lkw lkw 4096 10月 17 20:54 Picturesdrwxr-xr-x 2 lkw lkw 4096 10月 17 20:54 Videos#删除空文件夹blkw@lkw-PC:~$ rmdir blkw@lkw-PC:~$ ls -l总用量 24-rw-r--r-- 1 lkw lkw 0 10月 17 21:02 adrwxr-xr-x 2 lkw lkw 4096 10月 17 20:54 Desktopdrwxr-xr-x 3 lkw lkw 4096 10月 17 20:55 Documentsdrwxr-xr-x 2 lkw lkw 4096 10月 17 20:54 Downloads#p创建一个路径上的目录lkw@lkw-PC:~$ mkdir -p b/c/dlkw@lkw-PC:~$ ls -l b总用量 4drwxr-xr-x 3 lkw lkw 4096 10月 17 21:04 c#-p删除一个路径上的目录lkw@lkw-PC:~$ rmdir -p b/c/dlkw@lkw-PC:~$ ls -l bls: 无法访问'b': 没有那个文件或目录

8.查看文件类型命令file

如果觉得《Linux目录结构 基本命令及文件操作命令》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。