磁盘与文件管理
1.磁盘管理
1.1 windows和Linux磁盘管理的区别
windows里面磁盘管理是通过一个磁盘管理器来进行的,分为很多个盘符,比如说C盘,D盘等,一般我们的系统是装在C盘。
而Linux中没有C盘、D盘这些个盘符,在Linux操作系统里边,文档以树的形式组织," / " 是树根," / " 是一个目录名字,是Linux操作系统中所有文件的根。
" / " 下面又有很多其他的子目录,比如说dev、home、lib… 等等。
1.2 pwd
这个命令可以查看当前所在为止,比如:
1.3 man和–help
1.3.1 man命令
man命令可以查看某个命令的具体用法,例如:man pwd,如果一个命令具体的用法你不知道的话,直接问man(那个男人)就行了。
- man命令怎么进行翻页:空格
- man命令怎么退出:q
1.3.2 --help参数
–help也可以查看一个命令的参数,一次性列出,用法:touch --help,就可以直接打印touch的用法。
1.4 ls
1.4.1 ls
ls命令是list的意思:列出,列表等。
通过ls命令可以查看当前目录下的子目录和子文件,例如:
1.4.2 ls -a
a是all的意思,表示所有
列出包含隐藏文件在内的所有文件。(在Linux操作系统中隐藏文件的文件名通常是以“ . ”开始)
1.4.3 ls -l
-l 参数表示使用长格式输出:long format
输出结果中每一列的含义如下:
- 最前面的字符表示权限,第一个字符如果是d表示是一个目录,如果是-表示是一个文件,如果是l表示是一个软连接。后面的字符是九个字符,三个为一组(分别是读、写和执行),一共为三组,用来表示权限,第一组表示文件拥有者的权限,第二组表示文件所在组权限,第三组表示非同组权限
- 权限后面的数字表示文件或目录下所有子文件的链接数
- 第三部分表示文件拥有者。
- 第四部分表示文件所在组名
- 第五部分表示文件或子目录大小,单位是字节
- 第六部分表示最后修改时间
- 最后一部分是文件或目录名
1.5 cd
cd 命令用于进入指定目录
1.6 clear
clear命令用于清屏
2.文件管理
2.1 新建目录
- mkdir abc:新建一个名为abc的目录
- mkdir -p a/b/c (-p是一个参数,表示一次性创建多重目录)
- mkdir -p a/kk/ff (虽然a已经存在了,但是不会报错,直接在a目录下创建新建目录kk,kk目录下新建ff目录)
2.2 新建文件
- touch 文件名 ,例如:touch hello.java 表示在当前目录下新建一个文件hello.java
- touch a.txt b.txt c.txt 一次性在当前目录下,创建多个文件,文件名之间采用空格分隔
2.3 删除文件
用法:rm 文件名
- rm a.txt(删除当前目录下的a.txt文件),这种方式会询问,是否删除,输入y表示删除,输入n表示不删除
- rm -f a.txt 强行删除,不询问
- rm -f b.txt c.txt :删除多个文件
- rm -f *.txt:删除所有txt结尾的文件
2.4 删除目录
删除目录的时候,必须加上 -r 参数,这个参数表示删除一个目录,或者递归删除目录下的所有子目录以及子文件。
- rm -r x (删除当前目录下的x目录,以及x目录下的所有子目录),但是这种方式需要用户自己输入y进行确认删除
- rm -rf x(强行删除x目录以及x目录下的所有子目录,并且不询问,包括子文件也全部删除)
2.5 文件拷贝
cp a.txt aa.txst(复制当前目录下的a.txt文件,粘贴到当前目录下并且生成新文件aa.txt)
语法如下:
- cp file1 file2
- file1就是被拷贝的文件
- file2就是粘贴之后的文件
- file1和file2可以添加路径
- cp被拷贝文件的路径 粘贴到哪里的路径
2.6 目录拷贝
cp 目录名1 目录名2
- 目录名1是拷贝源
- 目录名2是拷贝到哪里
- -rf(-r递归拷贝,-f强行拷贝)
- cp -rf a abc (将当前目录下的a目录拷贝到当前目录下的abc目录当中)
2.7 移动
mv hello.java x(将当前目录下的hello.java文件移动到x目录下)
2.8 文件搜索
在CentOS中,可以使用以下方式进行文件搜索:
- 1.find命令:使用find命令可以在指定目录下搜索文件,可以使用不同的选项来指定搜索的文件类型、大小、修改时间等条件
- 2.whereis命令:使用whereis命令可以在系统中搜索指定的命令的为止
- 3.which命令:使用which命令也可以在系统中搜索指定的命令的为止。
3.软连接与硬链接
3.1 软连接
软链接类似于windows操作系统中的快捷方式
软连接的作用:方便操作。
创建软连接:
ln -s hello.java hello2.java
- 表示给hello.java创建一个hello2.java的快捷方式(软连接),这个s是soft的意思。
- hello.java是目标文件,hello2.java是软连接,属于快捷方式
软链接和目标文件实际上是两个文件,在软连接中存储的是目标文件的路径,软链接关联的目标文件如果被删除,软连接这个快捷方式也就失效了。
3.2 硬链接
怎么创建硬链接? (把软连接创建过程中的 -s 去掉就是创建硬链接的语法)
创建硬链接:
ln hello.java hello2.java
通过操作硬链接,目标文件会改变嘛?操作目标文件,硬链接会改变嘛?
答案是:当然会。
硬链接特点:
- 主要是用来做重要文件备份
- 目标文件删除之后,硬链接只要在,文件其实就没有被删除。或者说硬链接删除之后,目标文件还在。总之一句话:目标文件或者硬链接只要有一个存在,文件就没有被真正的删除。
- 硬链接机制和复制粘贴不一样,复制粘贴之后的文件,修改其中之一,另一个不会改变,但是硬链接就不一样。
4.文件压缩与解压缩
tar是Linux系统中完成压缩和解压缩的命令,压缩后的文件被称为归档文件。
4.1 tar命令详解
tar命令语法格式:tar 参数 要压缩的或解压缩的文件或者目录。
tar命令常用的参数:
- z:指定是否使用gzip压缩方式压缩。(扩展名通常为:tar.gz。特点:速度最快))
- j:是否需要用bzip2压缩方式压缩。(扩展名通常为:tar.gz2。特点:体积最小)
- c:创建压缩(create)(负责压缩的)
- x:解压缩 (复杂解压缩的)
- v:是否在压缩的过程中显示文件(view)
- f:指定归档文件名(file)。f参数后面必须紧跟文件名,不能在f参数后面再加其他参数。
- t:查看tarfile里面的文件(既不负责压缩,也不负责解压缩)
- C:指定解压的具体目录,注意这个C是大写。
注意:c、x、t,这三个参数不能共存,只能出现一个!
4.2 压缩
我们先创建两个文件:test1.java和test2.java
- touch test1.java
- touch test2.java
压缩一个文件
-
tar -zcf test1.tar.gz test1.java (没加v参数的话,压缩之后就没有返回值,不会返回被压缩的文件名称)
-
tar -zcvf test2.tar.gz test1.java (加了v参数,压缩之后就会返回压缩的文件名称)
压缩多个文件
-
tar -zcvf test3.tar.gz test1.java test2.java
-
tar -zcvf test4.tar.gz *.java (把所有java文件都压缩)
压缩目录
我们先创建一个test-dir目录,然后在目录里创建两个文件:test3.java和test4.java
- tar -zcvf test-dir.tar.gz test-dir (把test-dir目录压缩为test-dir.tar.gz)
4.3 查看归档文件
- tar -tf test-dir.tar.gz
4.4 解压
解压缩只需要把压缩时候的参数中的c改为x就行了。
- tar -zxvf test-dir.tar.gz(解压文件到当前目录下,解压之后会获取一个test-dir目录)
- tar -zxvf test-dir.tar.gz -C test (将mytxt.tar.gz压缩包解压到test目录)
5.文件编辑vi与vim
5.1 vi与vim概述
vi和vim都是在Linux和Unix中常用的基于字符终端的文本编辑器。
- vi是Unix早期提供的标准命令行下的文本编辑器,是一款非常强大的、高效的编辑器,可以对文本进行快速修改和编辑,具有常见编辑器的基本功能。
- vim是在vi基础上进行了改进和扩展的一个版本,它保留了vi的全部功能,并添加了许多新功能,如基本的GUI界面、语法高亮、多级撤销/重做、对齐、插件支持等。可以说vim是强大的文本编辑器之一,被众多的开发者、管理员、协作人员和爱好者使用。
通过vi和vim命令,我们可以在终端中打开并编辑文本文件,进行各种修改和编辑,保存后退出,是Linux和Unix系统中非常基础、常用的一种文本编辑方式。
在CentOS中,系统默认是安装vim编辑器的,但是为了兼容vi编辑器的使用习惯,CentOS将vim的执行文件命名为vi。因此,实际上在CentOS中使用vi和vim是等价的,都是使用vim编辑器进行文本编辑。
5.2 vi编辑器的使用
第一步:使用vi编辑器打开文件,语法:vi文件的路径
- vi test1.java (打开当前路径下的test1.java)
- vi /home/test/test1.java (打开/home/test目录下的test1.java文件。)
第二步:编辑文件(vi编辑器为用户准备了两个模式)
- 第一个模式:命令行模式。(此时键入的都是命令)
- 第二个模式:编辑模式。(此时键入的内容都会写入文件)
- 进入vi编辑器时是命令模式:键入i命令进入编辑模式
- 从编辑模式回到命令模式:按一下esc键。
第三步:保存,在命令模式下,输入以下命令:
- :wq 这是一个命令,这个命令可以保存并退出
- :q! 这是一个命令,这个命令可以强行退出vi编辑器,并且不保存。
注意:vi编辑器打开的文件如果不存在,则自动创建
5.3 vi编辑器常用命令
- dd:删除光标所在行
- yy:复制光标所在行到缓冲区
- p:粘贴缓冲区中的内容
- gg:光标回到文件的第一行
- GG:光标回到文件最后一行
- ^:光标移动到当前行的行首
- $:光标移动至当前行的行尾
- /关键字:按斜杠 / 键,可以输入像搜索的字符,然后确定进行搜索,如果第一次查找的关键字不是想要的,可以一直按n键往后查找到想要的关键字为止。
- o命令:在下一行插入。
- x命令:命令行模式下,x命令会删除单个字符
6.nano编辑器
nano编辑器相对于vi编辑器来说出现的比较晚,以下是nano常用的快捷键,这些快捷键多数是无法在windows环境下使用的,也就是说在xshell中无法使用,因为和windows很多快捷键是冲突的,在Linux环境中可以用:
- 1.打开文件:nano test.java
- 2.保存文件:ctrl + o
- 3.退出nano:ctrl + x
- 4.选中多个字符:shift + 左方向/右方向
- 5.剪切:ctrl + k
- 6.粘贴:ctrl + u
- 7.搜索:ctrl + w
- 8.替换:ctrl + \
- 9.复制选中的:alt + 6
- 10.撤销:alt + u
- 11.重做:alt + e