Linux基本命令、文件目录管理

来源:互联网 发布:下载手机开关机软件 编辑:程序博客网 时间:2024/06/05 17:55

任务:2.1-2.13 目录结构,文件系统,文件类型,相对和绝对路径,环境变量PATH,ls, cd, alias, mkdir, rmdir, cp, mv, cat, more, less, head, tail。

目录结构

Linux的文件和磁盘目录结构与windows完全不同,Linux下没有C盘、D盘、E盘的概念,所有的磁盘都以文件夹的形式存在。

  • / 称为根目录(root),是Linux下最重要的目录,所有的文件和目录全在他下面。

  • /bin 是binary的缩写,存放是常用的命令文件。

  • /boot 含义是引导,存放的是启动文件。包括一些连接文件以及镜像文件。

  • /dev 是device的缩写,该目录下存放的是Linux的外部设备。在Linux中访问设备的方式和访问文件的方式是一样的。

  • /etc 该目录下存放的是系统的配置文件。

  • /home 这是用户的家目录,在Linux下每个用户都有一个自己的home目录,一般该目录是以用户自己的账户名命名的。

  • /lib和/lib64 这两个目录存放的是系统最基本的动态连接共享库。

  • /media 系统会自动识别一些设备,如u盘和光驱等,当识别后,Linux会把这些设备挂在在此目录下。

  • /mnt 是mount的缩写,可以挂在其他的文件系统在此目录下,如新的硬盘以及光驱。

  • /opt 是optional的缩写,是给主机安装额外的软件时存放的目录。

  • /root 是系统管理员的家目录。

  • /sbin 是super User bin,存放的是系统管理员可以使用的命令。

  • /sys 存放的是与硬件驱动程序有关的信息。

  • /tmp 临时文件夹

  • /usr 类似于windows下的program files文件夹,用户的很多应用程序和文件都放在该目录下。

  • /usr/bin 该目录存放的是系统用户使用的应用程序

  • /usr/sbin 该目录存放的是超级用户使用的比较高级的管理程序和系统守护程序

  • /usr/src 改目录是内核源代码默认的放置位置

  • /var 存放的是不断扩充且经常修改的目录,包括各种文件或者pid文件

文件系统

文件系统通俗的讲就是磁盘的格式,同时一个文件系统就是一个单独的分区。windows的文件系统是FAT和NTFS,Linux的文件系统有ext3,ext4,以及现在centos7使用的xfs,ext4已经很完美了,但xfs比ext4要更强大,所以centos7默认使用xfs格式。

可以使用命令cat /etc/filesystems 查看你的系统所支持的文件系统。

文件类型

Linux下常见的文件类型有普通文件,目录,链接文件和设备。

  • 普通文件:用ls -l 查看文件列表时,以”-” 开头的文件即为普通文件。分为文本文件和二进制文件,文本文件可以用cat、more、less进行查看,二进制bin文件则是一个命令,可以直接运行。

  • 目录:用ls -l 查看文件列表时,以d开头的文件即为目录。

  • 链接:用ls -l 查看文件列表时,以l开头的文件即为链接。类似于windows下的快捷方式。

  • 设备: 通常都存放在/dev文件夹下,设备分为两种,一种是块设备(block)如硬盘,另一种是字符设备(character)如鼠标键盘等。用ls -l 查看文件列表时,以b开头的是块设备,以c开头的是字符设备。

文件后缀名在windows下有直接意义,他可以指定对应的程序打开这个文件。但是在Linux下文件扩展名的作用仅仅是为了便于让程序员识别那个文件的类型。如.sh是shell脚本,.tar.gz是压缩包,.cfg是配置文件,.zip是压缩文件。

硬链接软链接

  • 硬链接 是直接对应文件的inode索引,所以每个硬链接文件之间都是相互独立的,互不影响。删除一个硬链接文件并不影响另一个硬链接的使用。但是硬链接的缺点是,不能跨文件系统(即不能跨分区),不能对目录做链接。

  • 软链接 相当于windows系统下的快捷方式,软链接文件的使用依赖于原文件的存在,如果原文件删除或者损坏,软链接也将无法使用。但软链接没有硬链接的这些使用限制,可以跨文件系统,可以对目录做链接,所以使用比硬链接更广泛。

创建链接的时的命令如下:

ln abc efg //创建硬链接ln -s 123 456 //创建软链接

相对路径和绝对路径

  • 绝对路径 是从根写起的,如 /usr/local/mysql

  • 相对路径 不是从根目录写起,如用户首先进入到/home目录下,然后再进入到test目录下,执行的命令为:

cd /homecd test

此时用户所在的目录是 /home/test, 第二个命令test前没有 / ,这个test是相当于/home来讲的,所以称为相对路径。

在Linux中,有两个特殊的符号也可以表示目录,”.”表示当前目录,”..”表示上一级目录。

环境变量PATH

环境变量的作用是全局的对系统里的应用程序提供值和运行环境,Linux下的环境变量PATH则可以让指定路径的命令文件是否可以调用。

例如,之所以命令ls可以生效,是因为ls的路径/usr/bin被添加到了环境变量PATH中。如果/usr/bin路径被从环境变量PATH中移除,ls就不会再生效。

想让命令文件所在的路径在全局中生效,可以用如下命令:

PATH=$PATH: /samplepath  

这样samplepath文件夹下的命令文件就可以生效。

另一种方法是使用绝对路径运行命令文件,这样也可以让ls在全局生效。
/samplepath/ls

ls

-l  //列出文件的详细信息-a  //列出包括.a开头的隐藏文件的所有文件-d  //显示指定目录的属性,如果不加的话则会显示目录里面内容的属性-A  //通-a,但不列出"."和".."-c  //根据ctime排序显示-t  //根据文件修改时间排序

cd

- //返回上层目录.. //返回上层目录回车 //返回主目录/ //根目录

alias

alias ii = “ls -l”  //示例unalias li //取消别名

mkdir

-p  //递归创建目录,若父目录不存在则依次创建-m  //自定义创建目录的权限  `mkdir -m 777 abc`

rmdir

-v  //显示执行过程-p  //若自父母删除后父目录为空则一并删除

cp

-r -R //递归复制该目录及其子目录内容-f //不询问而强制复制-i //安全选项,如果遇到文件已存在,询问是否覆盖

mv

  • 当目标文件是目录时,如果目标不存在,则把源目录更名为给定的目标文件名

  • 当目标目录存在时,则是把源目录移动到目标目录下

  • 当目标文件是文件,且存在时将会询问是否覆盖目标

  • 当目标文件是文件且不存在时,则直接重命名为目标文件

cat

-n //显示行号-A //显示所有内容,包括特殊字符

more, less

more和less的作用都是分屏一页一页的显示文本内容,不像cat是一次把文本的所有内容全部显示出来。

head, tail

head和tail的作用分别是默认显示文本的前10行或者后10行,同时也可以添加参数-n 指定显示头n行或者末尾n行,n为阿拉伯数字。

head -3 abc.txt //显示文本文件abc.txt的头三行