【Linux系统编程】Linux常用的基本指令

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 *

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VKumPe8V-1681822713085)(C:\Users\Z-zp\AppData\Roaming\Typora\typora-user-images\image-20220507101723405.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JVEerbty-1681822713086)(C:\Users\Z-zp\AppData\Roaming\Typora\typora-user-images\image-20220507103959126.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U5MTCAsA-1681822713086)(C:\Users\Z-zp\AppData\Roaming\Typora\typora-user-images\image-20220507103833684.png)]

tar指令

掌握基本的压缩和解压即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iWFdOnbG-1681822713087)(C:\Users\Z-zp\AppData\Roaming\Typora\typora-user-images\image-20220715113409286.png)]

这是都是压缩包,其中tar.gz就是tar.gzip,为了方便,我们实验时写作tgz

-c :建立一个打包文件的参数指令(create 的意思) —— 打包(压缩)

-x :解开一个打包文件的参数指令! —— 解包(解压缩)

-v:压缩的过程中显示文件,如果文件太多,可以选择不显示过程

-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩? —— 压缩,解压缩

-f :使用档名,请留意,在 f 之后要立即接档名! —— 自定义名称,类比 gcc -o 接程序名

-C : 解压到指定目录

-tf:查看某一压缩文件中的文件

压缩:-czvf

解压:-xzvf

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O6NuGau9-1681822713087)(C:\Users\Z-zp\AppData\Roaming\Typora\typora-user-images\image-20220715113818793.png)]

样例:压缩成tar.gzip文件(tgz)并解压到上级目录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kCb17sPl-1681822713087)(C:\Users\Z-zp\AppData\Roaming\Typora\typora-user-images\image-20220715114600037.png)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿波呲der

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值