cd
cd命令用于进入目录文件,其用法有两种
- cd + 绝对路径
- cd + 相对路径
Linux的目录结构和文件的组织形式是以多叉树的形式组织的。
为什么大部分操作系统组织文件时,选择以多叉树的形式完成?
便于查找——快速定位文件
如何做到快速定位?为了做到快速定位文件,所有的文件都必须有唯一的标识方式。
- 绝对路径
所有的叶子节点都只有唯一的父亲,换言之,所有的叶子节点到根的路径是唯一的。
反之,根到任意叶子节点的路径也是唯一的。无论在任何路径下,绝对路径永远有效
- 相对路径
要访问的文件相对于当前路径所在的路径
当前路径下有效,当前路径发生变化,相对路径也要发生变化,否则可能失效。
cp的使用
cp 要拷贝的对象 拷贝到哪个路径
样例1:
cp test ..
样例2:
拷贝多个文件
cp test1 test2 ..
在cp指令中,最后一个东西就是我们要往哪个路径拷贝。前面的就是要拷贝的文件
样例3:
cp -rf * ..
拷贝当前目录下的所有文件
mv的使用
作用一:剪切
与cp的使用基本一致,cp是拷贝,mv是剪切
作用二:重命名
例:把文件 test1 更名为 mytest
mv test1 mytest
cat、more、less指令
共性:它们都可以用来查看文本,都是将文本直接打印到命令行中
我们以特定场景为例: 假设现在文本内容有1000000行
用shell脚本实现1000000行内容。
count=0;while [ $count -le 100000 ]; do echo "hello 100 Linux $count"; let count++; done >> file.txt
**cat特性:**cat一次性将文本内容全部打印出来,如果文本内容多,会一直不停打印,直到将全部内容打印完,期间不断往下刷新内容。**如果我们要查看的内容在中间部分或开头,**除非终止打印(Ctrl+C) ,否则无法停下来查看。
**more特性:**若数据量大,在将整个屏幕的命令行塞满文本内容后,就会停止打印,
我们可以通过回车键来继续往下打印查看文本内容。但不支持上翻。
**less特性:**less与more几乎是一致的。
但less不仅支持我们往下打印查看,也支持我们往上查看之前打印的内容。more只支持往下,无法回头。
less通过 ↑ ↓ 方向键控制往上往下查看
综上,在实际项目中,more和less的使用频率是相当高的,当我们需要查看日志,或者其他大量的文本内容。
往往就需要用到它们,而cat则更适合用来查看一些小型文本。
注:如需更好地体会这三者的区别,可以执行上面那个shell脚本,然后分别执行观察cat、more、less的差别。
head指令
场景:大量文本内容
同样是100万行的文本内容,如果我们只想要看前 n 行内容(n = 1、2、3…)怎么做?
我们固然可以使用more或less。
但是如果我就一定要只看到前5行内容,多一行都不想看到,那怎么办?
head顾名思义,就是用来打印文本开头的内容的。
head XXX //XXX是文件名
n默认为10,head默认打印前10行内容。
如果我就需要5行呢?—— head - 5 XXX
7行?—— head -7 XXX
tail指令
从名字上来看,就知道它与 head是一对相对的指令。
tail可以打印文本末尾的后n行。n默认为10
echo
- 输出重定向 >
- 追加重定向 >>
- 输入重定向 <
cat + 文件名,从文件中读取数据,但如果没有给文件,默认是从键盘中读取
cat test //写法1
cat < test //写法2
find指令
find ddd -name XXX // ddd为目录名 ,XXX为文件名或部分文件名
样例:
find ~ -name XXX // XXX为文件名或部分文件名
在主工作目录下查找任意文件。
~的意义参考 cd ~
which指令
查找命令文件所在位置
例:
which ls
which pwd
alias指令
为指令取别名,比如我们最熟悉的 ll 其本质是这样的
alias ll='ls -l --color=auto'
zip、unzip(压缩、解压)指令
zip
-r:递归。如果当前目录还存在子目录,连同子目录一起打包压缩
使用方法:
zip -r 自定义压缩包名称 要压缩的文件
[zzp@VM-24-2-centos lesson3]$ ll
total 2148
drwxrwxr-x 3 zzp zzp 4096 May 7 09:50 dir1
-rw-rw-r-- 1 zzp zzp 2188913 May 7 09:49 file.txt
-rw-rw-r-- 1 zzp zzp 30 May 7 09:49 test
[zzp@VM-24-2-centos lesson3]$ zip -r temp.zip * ##掌握
adding: dir1/ (stored 0%)
adding: dir1/temp.txt (stored 0%)
adding: dir1/dir2/ (stored 0%)
adding: dir1/dir2/dir3/ (stored 0%)
adding: file.txt (deflated 88%)
adding: test (deflated 20%)
[zzp@VM-24-2-centos lesson3]$ ll
total 2408
drwxrwxr-x 3 zzp zzp 4096 May 7 09:50 dir1
-rw-rw-r-- 1 zzp zzp 2188913 May 7 09:49 file.txt
-rw-rw-r-- 1 zzp zzp 264014 May 7 10:00 temp.zip
-rw-rw-r-- 1 zzp zzp 30 May 7 09:49 test
zip -r temp.zip *
unzip
-d,将文件解压到指定路径下
使用方法:
unzip 要解压的压缩包名称 -d 指定路径
[zzp@VM-24-2-centos code]$ ll
total 268
drwxrwxr-x 2 zzp zzp 4096 May 7 08:40 lesson2
drwxrwxr-x 3 zzp zzp 4096 May 7 10:31 lesson3
-rw-rw-r-- 1 zzp zzp 264014 May 7 10:31 temp.zip
[zzp@VM-24-2-centos code]$ clear
[zzp@VM-24-2-centos code]$ ll
total 268
drwxrwxr-x 2 zzp zzp 4096 May 7 08:40 lesson2
drwxrwxr-x 3 zzp zzp 4096 May 7 10:31 lesson3
-rw-rw-r-- 1 zzp zzp 264014 May 7 10:31 temp.zip
[zzp@VM-24-2-centos code]$ unzip temp.zip -d ./ ##掌握
Archive: temp.zip
creating: ./dir1/
extracting: ./dir1/temp.zip
creating: ./dir1/dir2/
creating: ./dir1/dir2/dir3/
inflating: ./file.txt
inflating: ./test
[zzp@VM-24-2-centos code]$ ll
total 2416
drwxrwxr-x 3 zzp zzp 4096 May 7 10:19 dir1
-rw-rw-r-- 1 zzp zzp 2188913 May 7 10:10 file.txt
drwxrwxr-x 2 zzp zzp 4096 May 7 08:40 lesson2
drwxrwxr-x 3 zzp zzp 4096 May 7 10:31 lesson3
-rw-rw-r-- 1 zzp zzp 264014 May 7 10:31 temp.zip
-rw-rw-r-- 1 zzp zzp 30 May 7 10:10 test
tar指令
掌握基本的压缩和解压即可
这是都是压缩包,其中tar.gz就是tar.gzip,为了方便,我们实验时写作tgz
-c :建立一个打包文件的参数指令(create 的意思) —— 打包(压缩)
-x :解开一个打包文件的参数指令! —— 解包(解压缩)
-v:压缩的过程中显示文件,如果文件太多,可以选择不显示过程
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩? —— 压缩,解压缩
-f :使用档名,请留意,在 f 之后要立即接档名! —— 自定义名称,类比 gcc -o 接程序名
-C : 解压到指定目录
-tf:查看某一压缩文件中的文件
压缩:-czvf
解压:-xzvf
样例:压缩成tar.gzip文件(tgz)并解压到上级目录