热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux操作系统学习笔记4【文件管理与常用命令】

文件目录:一:Linux文件基础知识1.Linux常用文件类别2.Linux目录结构概述3.Linux目录常见概念4.Linux系统目录及说明

文件目录:

一:Linux文件基础知识 

1.Linux常用文件类别

2.Linux目录结构概述

3.Linux目录常见概念

4.Linux系统目录及说明


二:文件与目录基本操作

1.显示文件内容命令——cat,more,less,head,tail

1.1 cat命令

1.2.more命令

1.3 less命令

1. 4 head命令

1.5 tail命令

2.文件内容查询命令——grep,egrep,fgrep

3.文件查找命令——find,locate

3.1 find命令

3.2 locate命令

4.文本处理命令——sort,uniq

4.1 sort命令

4.2 uniq命令

5.文件内容统计命令——wc

6.文件比较命令——comm,diff

6.1 comm命令

6.2 diff命令

7.文件的复制、移动和删除命令——cp,mv,rm

7.1 cp命令

7.2 mv命令

7.3 rm命令

8.文件链接命令——ln

9.目录的创建与删除命令——mkdir,rmdir

9.1 mkdir命令

9.2 rmdir命令

10.改变工作目录、显示路径以及显示目录内容命令——cd,pwd,ls

10.1 cd命令

10.2 pwd命令

10.3 ls命令


三:文件/目录访问权限管理

1.文件/目录访问权限简介

2.改变文件/目录的访问权限——chmod命令

2.1 文字设定法

2.2 数字设定法

3.更改文件/目录的默认权限——umask命令

4.更改文件/目录的所有权——chown命令


四:文件/目录的打包和压缩

1.文件压缩——gzip压缩

2.文件压缩——bzip2压缩

3.文件归档——tar命令

4.  zip压缩

5.unzip解压缩

6.其他归档压缩工具


本章介绍了Linux文件和目录的基本知识,并且对常用的文件和目录操作命令进行了讲解。除此之外,本章还对Linux下常用的压缩归档工具gzip,bzip,tar,zip等进行了介绍。

一:Linux文件基础知识 

1.Linux常用文件类别


1.在Linux系统上,任何软件和I/O设备都被视为文件。

 

2.Linux中的文件名最大支持256个字符,分别可以用A~Za~z0~9等字符来命名。

 

3.和Windows不同,Linux中文件名是区分大小写的,所有的UNIX系列操作系统都遵循这个规则。

 

4.Linux下也没有盘符的概念(如Windows下的C盘、D盘),而只有目录,不同的硬盘分区是被挂载在不同目录下的。

Linux目录和Windows目录有着很大的不同,Linux目录类似一个树,最顶层是其根目录,如下图:

 

5.Linux的文件没有扩展名,所以Linux下的文件名称和它的种类没有任何关系。例如,abc.exe可以是文本文件,而abc.txt也可以是可执行文件。

 

6.Linux下的文件可以分为5种不同的类型:

普通文件、目录文件、链接文件、设备文件和管道文件


2.Linux目录结构概述


Linux系统以文件目录的方式来组织和管理系统中的所有文件

——所谓文件目录就是将所有文件的说明信息采用树型结构组织起来

——【目录也是一种类型的文件】各个目录结点之下都会有一些文件和子目录


3.Linux目录常见概念


1.路径

          路径是指从树型目录中的某个目录层次到某个文件的一条道路。

2.根目录

          Linux的根目录(/)是Linux系统中最特殊目录。

3.用户主目录

         是系统管理员增加用户时建立起来的(以后也可以根据实际情况改变),每个用户都有自己的主目录,不同用户的主目录一般互不相同

4.工作目录

         用户登录Linux系统之后,每时每刻都处在某个目录之中,此目录被称作工作目录或当前目录(Working Directory)


4.Linux系统目录及说明


目录

 

/bin

存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里。

/etc

存放系统管理和配置文件

/home

存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示

 

/usr

用于存放系统应用程序,比较重要的目录/usr/local 本地系统管理员软件安装目录(安装系统级的应用)。这是最庞大的目录,要用到的应用程序和文件几乎都在这个目录。

/usr/x11r6 存放x window的目录

/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 本地增加的库

/opt

额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把tomcat等都安装到这里。

/proc

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

/root

超级用户(系统管理员)的主目录(特权阶级^o^)

/sbin

存放二进制可执行文件,只有root才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如ifconfig等。

/dev

用于存放设备文件。

/mnt

系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统。

/boot

存放用于系统引导时使用的各种文件

/lib

存放跟文件系统中的程序运行所需要的共享库及内核模块。共享库又叫动态链接共享库,作用类似windows里的.dll文件,存放了根文件系统程序运行所需的共享文件。

/tmp

用于存放各种临时文件,是公用的临时文件存储点。

/var

用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等。

/lost+found

这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里

参考:Linux各目录及每个目录的详细介绍



二:文件与目录基本操作

1.显示文件内容命令——cat,more,less,head,tail


1.1 cat命令


主要功能是用来显示文件,依次读取其后所指文件的内容并将其输出到标准输出设备上
还能够用来连接两个或多个文件,形成新的文件常用形式如下:
cat [option] filename


1.2.more命令


该命令就可以一次显示一屏文本,并在终端底部打印出“--More--”,
系统还将同时显示出已显示文本占全部文本的百分比。
若要继续显示,按回车或空格键即可常用形式如下:
more [option] filename


1.3 less命令


和more命令的功能基本相同,也是用来按页显示文件。不同之处在于less命令在显示文件时,允许用户既可以向前又可以向后逐行翻阅文件,而more命令只能向后翻阅文件如果要向后翻阅,可以使用键盘的“Page UP”键,
要向前翻阅文件,则相应地使用键盘的“Page Down”键即可。
按方向键可以逐行滚动,
按“Q”键退出

如果要按页显示test文件,则执行如下命令:[root@localhost root]# less test

 


1. 4 head命令


该命令只显示文件或标准输入
(从计算机的标准输入设备中得到的信息流,通常是指从键盘、鼠标等获得的数据)的头几行内容。如果用户希望查看一个文件究竟保存的是什么内容,
只要查看文件的头几行,而不必浏览整个文件,便可以使用这个命令。常用形式如下:
head - number filename


1.5 tail命令


和head命令的功能相对应。如果想查看文件的尾部,可以使用tail命令该命令显示一个文件的指定内容。它把指定文件的指定显示范围内的内容显示在标准输出上
同样,如果没有给定文件名,则使用标准输入文件常用形式如下:
tail option filename


2.文件内容查询命令——grep,egrep,fgrep


指定的查找模式搜索文件,通知用户在什么文件中搜索到与指定的模式匹配的字符串,
并且打印出所有包含该字符串的文本行,该文本行的最前面是该行所在的文件名

这组命令在搜索与定位文件中特定的主题和关键词方面非常有效
可以用其来搜索文件中包含的这些关键词grep命令
一次只能搜索一个指定的模式;egrep命令
检索扩展的正则表达式(包括表达式组和可选项);fgrep命令
检索固定字符串,并不识别正则表达式,是一种更为快速的搜索命令——总的来说,grep命令的搜索功能比fgrep强大
因为grep命令的搜索模式可以是正则表达式,而fgrep却不能

该组命令的常用格式如下:grep [option] [search pattern] [file1, file2,……]erep [option] [search pattern] [file1, file2,……]frep [option] [search pattern] [file1, file2,……]

 


3.文件查找命令——find,locate


3.1 find命令


功能是在指定的目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作。此命令提供了相当多的查找条件,功能非常强大。find命令提供的寻找条件——可以是一个用逻辑运算符not、and、or组成的复合条件
——and:逻辑与
在命令中用“-a”表示,是系统默认的选项,表示只有当所给的条件都满足时,寻找条件才满足
——or:逻辑或
在命令中用“-o”表示。该运算符表示只要所给的条件中有一个满足时,寻找条件就满足
——not:逻辑非
在命令中用“!”表示。该运算符表示查找不满足所给条件的文件常用格式如下:
find [option] filename


3.2 locate命令


4.文本处理命令——sort,uniq


4.1 sort命令


对文件中的各行进行排序
该命令将逐行地对文件中的内容进行排序,如果两行的首字符相同,该命令将继续比较这两行的下一字符
sort排序是根据从输入行抽取的一个或多个关键字进行比较来完成的可以被认为是一个非常强大的数据管理工具,用来管理内容类似数据库记录的文件默认情况下,以整行为关键字按ASCII字符顺序进行排序。sort命令的常用格式如下:
sort [option] filename


4.2 uniq命令


用uniq命令将这些重复行从输出文件中删除,只留下每条记录的唯一样本常用格式如下:
uniq [option] filename


5.文件内容统计命令——wc


统计给定文件中的字节数、字数、行数如果没有给出文件名,则从标准输入读取wc同时也给出所有指定文件的总统计数字是由空格字符区分开的最大字符串常用格式如下:
wc [option] filename


6.文件比较命令——comm,diff


6.1 comm命令


该命令是对两个已经排好序的文件进行比较comm读取这两个文件,然后生成三列输出:
仅在file1中出现的行;
仅在file2中出现的行;
在两个文件中都存在的行。如果文件名用“-”,则表示从标准输入读取常用格式如下:
comm [option] filename


6.2 diff命令


功能为逐行比较两个文本文件,列出其不同之处它对给出的文件进行系统地检查,并显示出两个文件中所有不同的行,不要求事先对文件进行排序常用格式如下:
diff [option] file1 file2
diff [option] dir1 dir2


7.文件的复制、移动和删除命令——cp,mv,rm


7.1 cp命令


功能是将给出的文件或目录复制到另一文件或目录中
就如同DOS下的copy命令一样,功能非常强大常用格式如下:
cp [option] [src_file|src_dir] [dst_file|dst_dir]


7.2 mv命令


为文件或目录改名或将文件由一个目录移入另一个目录中该命令如同DOS下的ren和move的组合常用格式如下:
mv [option] [src_file|src_dir] [dst_file|dst_dir]


7.3 rm命令


对于无用文件,用户可以用rm命令将其删除
功能为删除一个目录中的一个或多个文件,它也可以将某个目录及其下的所有文件及子目录均删除
对于链接文件,只是删除了链接,原有文件均保持不变常用格式如下:
rm [option] [files|dirs]


8.文件链接命令——ln


在文件之间创建链接是给系统中已有的某个文件指定另外一个可用于访问它的名称对于这个新的文件名,可以为其指定不同的访问权限,以控制对信息的共享和安全性的问题链接有两种:
一种称为硬链接(Hard Link);
另一种称为符号链接(Symbolic Link),也称为软链接常用格式如下:
ln [option] file link


9.目录的创建与删除命令——mkdir,rmdir


9.1 mkdir命令


创建目录需要使用mkdir命令,该命令创建名为dirname的目录要求创建目录的用户在当前目录(即dirname的父目录)中具有写权限,
并且dirname不能是当前目录中已有的目录或文件名称常用格式如下:
mkdir [option] [dirname]


9.2 rmdir命令


删除目录需要使用rmdir命令dirname表示目录名。rmdir命令可以从一个目录中删除一个或多个子目录项。须要注意的是,一个目录被删除之前必须是空的。和mkdir命令一样,删除某目录时也必须具有对父目录的写权限常用格式如下:
rmdir [option] [dirname]


10.改变工作目录、显示路径以及显示目录内容命令——cd,pwd,ls


10.1 cd命令


cd命令即英文词组change directory的缩写,作用是改变当前工作目录常用格式如下:
cd [directory]


10.2 pwd命令


pwd命令即英文词组print working directory的缩写,作用是显示当前工作目录的路径该命令无参数和选项要想知道当前所处的目录,可以用pwd命令,该命令显示整个路径名


10.3 ls命令


ls是英文单词list的简写,其功能为列出目录的内容用户要不时地查看某个目录的内容该命令类似于DOS下的dir命令对于每个目录,该命令将列出其中所有的子目录与文件
对于每个文件,ls将输出其文件名以及所要求的其他信息默认情况下,输出条目按字母顺序排序当未给出目录名或文件名时,就显示当前目录的信息常用格式如下:
ls [option] [dirname|filename]




三:文件/目录访问权限管理

Linux系统中的每个文件和目录都有访问许可权限通过其确定何种用户/用户组可以通过何种方式对文件和目录进行访问和操作

1.文件/目录访问权限简介


分为三种:只读、只写、可执行有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户每一个文件或目录的访问权限都有三组,每组用三位表示,分别为:
文件属主的读、写和执行权限;
与属主同组的用户的读、写和执行权限;
系统中其他用户的读、写和执行权限。


2.改变文件/目录的访问权限——chmod命令

改变文件或目录的访问权限,它是一条非常重要的系统命令
用户可用其控制文件或目录的访问权限该命令有两种用法:
一种是包含字母和操作符表达式的文字设定法;
另一种是包含数字的数字设定法

2.1 文字设定法

一般使用形式如下:
chmod [who] [+|-|=] [mode] filename

2.2 数字设定法

比文字设定法更加简洁数字设定法用3个二进制位来表示文件权限:【设定好后将其换算为十进制数即可】
第一位表示r权限(可读),
第二位表示w权限(可写),
第三位表示x权限(对于文件而言为可执行,对于文件夹而言为可枚举)也可以直接用十进制数计算:
0表示没有权限,
1表示x权限,
2表示w权限,
4表示r权限,
然后将其相加数字属性的格式应为3个从0到7的八进制数——其顺序是(u)、(g)、(o)如果想让某个文件的属主有“读/写”二种权限,须要把4(可读)+2(可写)=6(读/写)
一般使用形式如下:
chmod [mode] filename

3.更改文件/目录的默认权限——umask命令

登录系统之后,创建文件或文件夹有一个默认权限的umask命令则用于显示和设置用户创建文件的默认权限当使用不带参数的umask命令时,系统会输出当前umask的值
代码如下所示:
[root@localhost root]# umask
0022

4.更改文件/目录的所有权——chown命令

chown命令用来更改某个文件或目录的属主和属组常用格式如下:
chown [option] [user|group] filename



四:文件/目录的打包和压缩

1.文件压缩——gzip压缩

gzip压缩利用Lempel-Ziv(LZ77)算法与之相关的命令有:gzip(压缩),gunzip(解压缩)和zcat(解压并输出到标准输出设备)常用格式如下:
gzip [-acdfhlLnNqrtvV] [-level] [-S suffix] [file]
gunzip [-acdfhlLnNqrtvV] [-S suffix] [file]
zcat [-fhlV] [file]使用gzip时需要注意以下几点。(1)默认gzip压缩的文件会以.gz结尾,同时删除原始文件。(2)若不希望使用.gz后缀,则需用-S覆盖。(3)gunzip -c和zcat功能相同

2.文件压缩——bzip2压缩


利用Burrows-Wheeler block sorting和Huffman编码算法与之相关的命令有:
bzip2(压缩),
bunzip2(解压缩),
bzcat(解压并输出到标准输出设备)
和bz2recover(从损坏的bzip2文件中恢复数据)常用格式如下。
bzip2 [-cdfhkLstvVz][--repetitive-best][--repetitive-fast][-level] [file]
bunzip2 [-fkLsvV] [file]
bzcat [-s] [file]
bz2recover [file]

bzip2压缩的命令和gzip非常类似,不过bzip2通常都比基于LZ77算法的工具压缩率更高。默认bzip2压缩的文件会以.bz2结尾,同时删除原始文件。但和gzip相比,bzip2可以通过添加-k参数保留原始文件。bunzip2-c和bzcat功能相同

 


3.文件归档——tar命令


tar可以把许多文件打包成为一个归档文件或者把它们写入备份设备,例如一个磁带驱动器Linux下保存文件都是先用tar命令将目录或者文件打成tar归档文件(也称为tar包),然后gzip或bzip2压缩正因为如此,Linux下已压缩文件的常见后缀有tar.gz、tar.bz2,以及tgz和tbz等

1.创建tar包创建归档可以使用-cf参数,如果需要显示日志,可以使用-cvf参数。
2.查看tar包内容查看归档可以使用-tf参数。
3.还原tar包还原归档可以使用-xf参数,如果需要显示日志,可以使用-xvf参数。
4.直接在tar包中使用压缩选项打好的tar包可以交由gzip或bzip2进行压缩另外也可以直接在tar命令中调用这些压缩功能,加入相应参数即可

 


4.  zip压缩

与zip相关的命令相当多,主要有zip、unzip等zip命令的格式如下:
zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$]
[-b tmp_dir] [-ll] [-n suffix]
[-t datetime] [-level] [zipfile]
[files_to_zipped] [-i include_pattern] [-x exclude_pattern]

5.unzip解压缩

zip文件可用unzip解压缩unzip命令的格式如下:
unzip [-cflptuvz] [-agCjLMnoqsVX] [zipfile] [files] [-d dir] [-x file]

6.其他归档压缩工具

Linux中还可以使用的工具有:
UNIX下的压缩工具compress/uncompress(后缀.Z),
从lharc演变而来的压缩程序lha(后缀.lzh),
以及解压ARJ的unarj与解压RAR的unrar等。有备份归档的程序还有:dump、cpio等Linux也有图形化的压缩/解压缩工具,如GNOME桌面环境下的压缩操作

 


推荐阅读
  • Windows 7 64位系统下Redis的安装与PHP Redis扩展配置
    本文详细介绍了在Windows 7 64位操作系统中安装Redis以及配置PHP Redis扩展的方法,包括下载、安装和基本使用步骤。适合对Redis和PHP集成感兴趣的开发人员参考。 ... [详细]
  • 俗话说得好,“工欲善其事,必先利其器”。这句话不仅强调了工具的重要性,也提醒我们在任何项目开始前,准备合适的工具至关重要。本文将介绍几款C语言编程中常用的工具,帮助初学者更好地选择适合自己学习和工作的编程环境。 ... [详细]
  • 随着EOS主网的成功启动,众多开发者和投资者对其给予了高度关注。本文旨在介绍如何构建EOS开发环境,包括所需的基本硬件配置、软件安装步骤以及常见问题的解决方案。 ... [详细]
  • 本文介绍了如何在Ubuntu 16.04系统上配置Nginx服务器,以便能够通过网络访问存储在服务器上的图片资源。这解决了在网页开发中需要使用自定义在线图标的需求。 ... [详细]
  • 本文详细介绍了JSP的三大指令:page、include和taglib,重点探讨了静态包含与动态包含的区别及其应用场景,并解释了如何使用taglib指令引入第三方标签库。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 本文详细介绍了如何解压并安装MySQL集群压缩包,创建用户和组,初始化数据库,配置环境变量,并启动相关服务。此外,还提供了详细的命令行操作步骤和常见问题的解决方案。 ... [详细]
  • 本文详细介绍了如何在现有的Android Studio项目中集成JNI(Java Native Interface),包括下载必要的NDK和构建工具,配置CMakeLists.txt文件,以及编写和调用JNI函数的具体步骤。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中安装MySQL 5.5.37时遇到的启动失败和PID文件问题,并提供了详细的解决方案,包括日志分析、权限检查等步骤。 ... [详细]
  • 本文探讨了在Windows 7 x64系统上使用easy_install工具时遇到的问题及解决方案,特别是当尝试安装Django活塞时出现的路径问题。 ... [详细]
  • GNU GRUB(简称GRUB)是一个来自GNU项目的支持多启动的引导加载程序。它允许用户在同一台计算机上安装多个操作系统,并在启动时选择希望启动的系统。 ... [详细]
  • 本文详细介绍了RPM包构建过程中Spec文件的结构和各部分的作用,包括包描述、准备阶段、构建过程、安装步骤、清理操作以及文件列表等关键环节。同时,提供了关于RPM宏命令、打包目录结构及常见标签的深入解析。 ... [详细]
  • CSV 文件的存取
    CSV文件介绍CSV(Comma-SeparatedValues),中文通常叫做逗号分割值。CSV文件由任意数目的记录(行& ... [详细]
  • 解析 HTTP 头 'Vary: Accept-Encoding' 的作用与重要性
    本文详细探讨了 'Vary: Accept-Encoding' HTTP 头的作用,即指导缓存系统(如代理服务器和 CDN)根据不同的编码需求存储和提供适当的资源版本,确保不同类型的客户端能够接收到适合自己的内容。 ... [详细]
  • 本文详细介绍了在PHP中如何获取和处理HTTP头部信息,包括通过cURL获取请求头信息、使用header函数发送响应头以及获取客户端HTTP头部的方法。同时,还探讨了PHP中$_SERVER变量的使用,以获取客户端和服务器的相关信息。 ... [详细]
author-avatar
手机用户2502863161
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有