Bootstrap

五,Linux常用命令综合练习。-----------让我们操作linux系统像操作windows系统一样顺手;温故而知新不亦说乎~

  • 很高心您打开了本篇博客;
  • 本篇是Linux专栏札记中的第五篇;
  • 主要作用:让我们操作linux系统像操作windows系统一样顺手;
  • 在第一篇中,我们梳理了:配置虚拟机和linux的环境的图文步骤笔记;

一,Linux基础介绍和配置环境。2024年最新完整图文安装详细步骤 VMware虚拟机和CentOS操作系统。以及如何配置Linux连接互联网详细步骤。-CSDN博客

  • 在第二篇中我们梳理了一些liunx系统常用的命令:路径相关,文件相关,压缩和解压相关,查看和查找相关,打印,管道符,重定向,通配符等相关命令;

二,Linux常用命令一。 ls、cd、pwd、mkdir、touch、cp、mv、rm-rf、cat、less、more、tar、zip、which、find、grep、wc等用法-CSDN博客

  • 在第三篇中,我们梳理了:linux常用的快捷键,vim编辑器,用户和用户组相关指令,权限相关,软件安装相关,yum更换国内镜像源,任务管理器(服务器,进程,内存,磁盘)相关;

三,Linux常用命令二。vim编辑器详细篇,用户和用户组以及权限的相关指令,软件安装与下载,yum更换国内镜像源,Linux的任务管理器(进程,服务器,内存,磁盘)相关,Linux常用的快捷键-CSDN博客

  • 在第四篇,我们梳理了:ip和主机相关命令,如何固定虚拟机的ip,端口相关命令,网络传输与下载相关命令,时间相关,liunx系统环境变量,软连接(创建快捷方式)与硬链接相关命令,文件上传与下载相关命令。

四,Linux常用命令三。ip,主机,端口,固定虚拟机ip,网络传输,软/硬连接,时间,环境变量,文件上传与下载-CSDN博客

  • 本篇内容:主练习linux海量的常用命令。
  • 学习:知识的初次邂逅

  • 复习:知识的温故知新

  • 练习:知识的实践应用

  • 本篇主要内容:练习以上四篇中Linux最常用的相关命令

逐一写完下面的练习题,差不多能玩了~

目录

1,命令组成部分练习

2,路径相关命令练习

3,目录相关命令练习

4,文件相关命令练习一

5,文件相关命令练习二

6,文件相关命令练习三

7,文件相关命令练习四

8,文件相关命令练习五

9,文件相关命令练习六

10,权限相关命令练习一

11,权限相关命令练习二

12,权限相关命令练习三

13,vim编辑器命令练习一

14,vim编辑器相关命令二

15,压缩与解压命令练习一

16,压缩与解压命令练习二

17,压缩与解压命令练习三

18,网络和进程相关命令练习

19,shell脚本相关命令练习


1,命令组成部分练习

Linux 中的命令由几部分组成?分别说出每部分的功能。

命令格式
command [-options] [parameter]
命令       -选项      参数
例如 ls -alh /home


2,路径相关命令练习

 如果pwd 显示当前路径在/home/python/Desktop 目录下,我们该如何到/home/python/Music 目录下呢?试用相对路径和绝对路径两种方式实现。

#desktop 和music是同级别目录
#绝对路径 直接进入
cd music

#绝对路径  从根目录进入
cd /home/python/Music
'''
绝对路径
	在Linux系统中,绝对路径从根目录(/)开始,然后依次遍历目录结构直到目标文件或目录。例如,/home/python/Desktop 就是绝对路径; 
	在Windows系统中,绝对路径从盘符(如C:、D:等)开始,后面跟着该盘符下的目录结构,直到目标文件或目录。例如 D:\学习资料\python\test.py
'''

'''
相对路径
	是从当前工作目录开始,然后指向目标文件或者目标文件夹的路径。他不依赖盘符和根目录;
	例如/home/python/Desktop 和/home/python/Music 
	同级别目录: 我们观察得知 desktop和music都是在同级别目录下,所以我们切换进入music 直接cd就中;
	父级别目录:../某某文件夹/某文件  或者../../../某某文件;
	子级别目录: 同级别某某文件夹/某某文件;

'''


3,目录相关命令练习

1,查看根目录下的所有文件、目录的详细信息。

#题干:查看根目录下的所有文件、目录的详细信息
ls -alh


ls 查看文件信息
	常用的参数有-a -l -h
	ls -a :查看隐藏文件夹
	ls -l :以列表形式查看当前的文件信息  简写ll
	ls -lh :通常配合 l 一起使用。可以更加人性化的查看文件的大小,也就是可以显示文件的k M G信息
	更多参数可以 man ls 查看【有困难找男人】  也可以通过 ls --help查看更多详细信息
	
cd 进入文件夹目录
	cd ~ 	返回家目录
	cd -   返回上一个目录
	cd / 	返回根目录
	cd .. 	返回上一级目录
	cd 路径	进入指定路径
	cd ../../  进入上一级别的上一级别


4,文件相关命令练习一

  1. 新建文件夹名为dirfile

    mkdir dirfile

  2. 进入dirfile文件夹,展示当前路径,分别新建文件为:a.txt,b.txt

    cd mkdir
    touch a.txt b.txt

  3. 拷贝a.txt 并重命名fz.txt

    cp a.txt fz.txt

  4. 删除a.txt文件

    rm -rf fz.txt

    总结

mkdir 通常用来创建文件夹  也可以批量创建多个; 加上-p可以创建 不存在的目录下的文件夹目录和文件夹目录下的文件
touch 通常用来创建文件 ,也可以批量创建多个;要使用这个指令创建更深目录下的文件,前提是目录文件夹必须存在;
cd 通常用来进入/切换目录 。详情第一题已简答;
cp 是复制文件或者文件夹  也可以重命名文件(前提是文件不存在的时候);复制文件夹的时候需要加上 -r
rm 是删除文件或者文件夹 通常加上 rm -rf 组合是个非常霸道的指令。也是铁窗泪最有效的指令 sudo rm -rf /


5,文件相关命令练习二

  1. 使用Linux命令查看当前目录下的文件、文件夹的名字

    ls 
    ls -a
    ls -lh
    ls -alh
    ll 

  2. 在当前路径下创建A文件夹

    mkdir A

  3. 在上一步创建的A文件夹中,创建B文件夹

    mkdir A/B

  4. 在第2步所在的路径中,使用一个命令在A/B文件夹中创建C文件夹

    mkdir A/B/C

  5. A/B/C中创建一个hello.py文件

    touch A/B/C/hello.py

  6. 在A/B文件夹中创建一个world.py文件

    touch A/B/world.py
    
    当前路径树
    ​
    [root@node1 /]# tree A/
    A/
    └── B
        ├── C
        │   └── hello.py
        └── wold.py

  7. 复制A/B/C/hello.py文件到桌面

    cp -p A/B/C/hello.py /hello.py

  8. 将A/B/C/haha.py文件移动到A/B文件夹中

    #创建haha.py
    touch A/B/C/haha.py
    #移动该文件到A/B中
    mv A/B/C/haha.py A/B/haha.py

  9. 查看当前操作的路径

    pwd

  10. 跳转到桌面路径

    cd /

  11. 删除桌面上的hello.py文件

    rm -rf hello.py

  12. 在桌面创建test文件夹

    mkdir test

   总结

ls 通常用来查看文件或者文件夹信息;第二题已简答;
mv 通常用来移动文件或者移动文件夹,也可以重命名文件夹(前提是文件夹不存在);
pwd 通常是查看当前的绝对路径
mkdir 通常用来创建文件夹  也可以批量创建多个; 加上-p可以创建 不存在的目录下的文件夹目录和文件夹目录下的文件
touch 通常用来创建文件 ,也可以批量创建多个;要使用这个指令创建更深目录下的文件,前提是目录文件夹必须存在;
cd 通常用来进入/切换目录 。详情第一题已简答;
cp 是复制文件或者文件夹  也可以重命名文件(前提是文件不存在的时候);复制文件夹的时候需要加上 -r
rm 是删除文件或者文件夹 通常加上 rm -rf 组合是个非常霸道的指令。也是铁窗泪最有效的指令 sudo rm -rf /


6,文件相关命令练习三

  1. 简述相对路径和绝对路径的区别

    /*
    绝对路径
        在Linux系统中,绝对路径从根目录(/)开始,然后依次遍历目录结构直到目标文件或目录。例如,/home/python/Desktop 就是绝对路径; 
        在Windows系统中,绝对路径从盘符(如C:、D:等)开始,后面跟着该盘符下的目录结构,直到目标文件或目录。例如 D:\学习资料\python\test.py
    */
    ​
    /*
    相对路径
        是从当前工作目录开始,然后指向目标文件或者目标文件夹的路径。他不依赖盘符和根目录;
        例如/home/python/Desktop 和/home/python/Music 
        同级别目录: 我们观察得知 desktop和music都是在同级别目录下,所以我们切换进入music 直接cd就中;
        父级别目录:../某某文件夹/某文件  或者../../../某某文件;
        子级别目录: 同级别某某文件夹/某某文件;
    */

  2. 在桌面上的A/B/C/D/E/F/G文件夹下,创建一个文件夹MM

    mkdir -p A/B/C/D/E/F/G/MM

  3. 使用相对路径跳转到C文件夹中

    cd A/B/C

  4. 在C文件夹中创建一个HH文件夹

    mkdir HH

  5. 显示从A文件夹开始的目录树

    tree /A


7,文件相关命令练习四

归纳总结rm、mv在操作文件/文件夹时的区别

都可以让文件和文件夹理论上消失;
rm 是真的让文件或者文件夹消失了
mv 仅仅只是让文件或者文件夹换一个地方而已
​
​
rm 是霸道的删除指令 通常配上 -rf 会更加的霸道 在使用 rm -rf 删除的时候一定要仔细观察目标路径,防止误删;
mv 通常用来移动文件或者移动文件夹,也可以重命名文件夹(前提是文件夹不存在);


8,文件相关命令练习五

在/home/python/Desktop路径中有一个文件夹heima,且heima文件夹中有n个文本文件,如何将heima这个文件夹删除?

rm -rf /home/python/Desktop/heima


9,文件相关命令练习六

  1. 在桌面目录上创建一个code 目录

    cd /
    mkdir code

  2. code 目录下创建一个新目录data

    mkdir code/data

  3. data 目录下创建一个新文件file1

    tuoch code/data/file1.py

  4. code目录下创建一个多级嵌套的目录A/B/C/D/E/

    mkdir -p code/A/B/C/D/E/
    当前路径树
    ​
    [root@node1 /]# tree code/
    code/
    ├── A
    │   └── B
    │       └── C
    │           └── D
    │               └── E
    └── data
        └── file1.py

  5. file1 文件拷贝到 E目录下;

    cp -r code/data/file1.py code/A/B/C/D/E/
    当前路径树
    ​
    [root@node1 /]# tree code/
    code/
    ├── A
    │   └── B
    │       └── C
    │           └── D
    │               └── E
    │                   └── file1.py
    └── data
        └── file1.py

  6. data目录拷贝到C目录下(与 D 同级);

    cp -r code/data code/A/B/C/
    当前路径树
    ​
    [root@node1 /]# tree code/
    code/
    ├── A
    │   └── B
    │       └── C
    │           ├── D
    │           │   └── E
    │           │       └── file1.py
    │           └── data
    │               └── file1.py
    └── data
        └── file1.py
     
  7. code 目录下的data目录中的file1删除;

    rm -rf code/data/file1.py
    当前路径树
    ​
    [root@node1 /]# tree code/
    code/
    ├── A
    │   └── B
    │       └── C
    │           ├── D
    │           │   └── E
    │           │       └── file1.py
    │           └── data
    │               └── file1.py
    └── data
    ​


10,权限相关命令练习一

题干:在ls 命令查看文件详细信息时,r、w、x分别代表什么权限?是否可以更改?用什么命令更改?

r 全称read 代表读的权限
w 全称 write 代表写入的权限
x 全称 execute 代表执行的权限 
​
示例
-rwxr-x--r
9组了r,w,x的信息
第一组 rwx三个字符 是当前文件所属用户的权限(user)   
第二组 r-x三个字符 是当前文件所属组的权限(group)   
第三组 --r三个字符 是其他人的权限(owner)    
​
权限是可以更改的,前提是自己用户所属的文件或者root用户;
​
用chmod命令更改
    chmod 更改权限命令 有字母法和数字方
字母法  示例: chmod ugx=r-x 文件     
                结果:r-xr-xr-x  把用户,用户组,其他人统一设置为 可读不可写可执行的权限
             chmod u=rwx,g+w,o-x    
                结果:rwxrwxr--  用户读写执行,用户组添加了写入的权限,其他人去除了执行的权限
             chomd u=r,go=rx  
                结果 r--r-xr-x
数字法  4代表读取 ,2代表写入,1是执行 ,  3是1+2也就是执行+写入  ,5是4+1也就是执行+读取
        6是4+2也就是读取+写入 , 7是4+2+1也就是读取+写入+执行
        示例  chmod 421 文件
            结果:r---w---x
        示例 chomod 777 文件
            结果 rwxrwxrwx
        示例 chmod 666 文件
            结果 rw-rw-rw-

11,权限相关命令练习二

题干:

  1. 在系统/目录下新建一个文件 data.cnf

  2. 使用数字法将data.cnf的权限修改为 rwxrw-r--

  3. 使用字母法将data.cnf的权限修改为 rw-r-----

cd /
touch data.cnf
chmod 764 data.cnf
chmod u=rw,g=r,o-r data.cnf
#或者
chmod u-x,g-w,o-r data.cnf
​

12,权限相关命令练习三

题干:

  1. 在系统/目录下新建一个文件 a.txt

  2. 把a.txt的所属用户改成 itcast

  3. 把a.txt的所属组改成 itcast

  4. 把a.txt的所属用户和组同时更改为 root和root

cd /
touch a.txt
useradd itcast
chown itcast a.txt
chown :itcast a.txt
chown root:root a.txt


13,vim编辑器命令练习一

题干:vim有几种工作模式?分别是什么?

三种模式:命令模式 ,底行模式 , 编辑模式;
​
命令模式(我是中转站,按i可以进入编辑模式,按:进入底行模式,按其他指令也可以执行批量复制,删除,添加等操作);
​
编辑(输入)模式(我是干活的,按esc可以进入命令模式);       
​
底行模式(我是搞退出的,按w,wq,q!,wq!,分别是退出,保存退出,强制退出,强制保存退出。按下esc回到命令模式)。
​

14,vim编辑器相关命令二

题干:

1.使用vi编辑器打开一个文件(文件可以不存在)

2.添加以下内容

print("hello")

3.将以上内容修改如下

print("HELLO")

4、保存文件并退出

vi test.py
进入之后按i 进入编辑模式
输入print("hello")
在修改成一下 print("HELLO")
按esc进入命令模式
按: 进入底行模式
按wq 保存并退出

15,压缩与解压命令练习一

题干:

  1. tar命令的作用是什么?

  2. tar命令的-c和-x参数分别代表什么意思

  3. 写出使用tar打包文件的用法

    可以打包,解包,压缩,解压
    -c是打包/配合z是压缩,-x是解包/配合z是解压
    ------------------------------------------------------------------------------------
    1,打包
    [root@node1 ttt]# tar -cvf t1.tar 11.py 2.py
    -------------------------------------------------------------------------------
    2,解包
    [root@node1 ttt]# tar -xvf t1.tar -C B/
    --------------------------------------------------------------------------------------
    3,压缩
    [root@node1 ttt]# tar -zcvf t2.tar.gz 4.txt
    -------------------------------------------------------------------------------------
    4,解压
    [root@node1 ttt]# tar -zxvf t2.tar.gz -C m4/
    ------------------------------------------------------------------------------------


16,压缩与解压命令练习二

题干:小明经过两周的时间基本熟悉代码之后,跃跃欲试准备撸代码了。老大说,别急先把自己环境搭好。假设 小明打开浏览器 http://nginx.org/download/nginx-1.14.2.tar.gz成功下载这个文件到当前目录,接下来几个步骤小明如何操作呢?

  1. nginx-1.14.2.tar.gz文件解压到/export/server目录(如果该目录不存在则创建)

    tar -zxvf nginx-1.14.2.tar.gz -C /export/server

  2. nginx-1.14.2.tar.gz文件删除

    rm -rf nginx-1.14.2.tar.gz

  3. 将解压出来的文件夹nginx-1.14.2压缩为nginx.tar.gz 文件

    cd /export/server
    tar -zcvf nginx.tar.gz nginx-1.14.2

  4. 删除文件夹nginx-1.14.2nginx.tar.gz

    rm -rf nginx-1.14.2
    rm -rf nginx.tar.gz


17,压缩与解压命令练习三

题干:

  1. 新建a.txt、b.txt、c.txt文件,并打包成压缩包命名为abc.tar。

    touch a.txt b.txt c.txt
    tar -zcvf abc.tar.gz a.txt b.txt c.txt

  2. 解压abc.tar压缩包。

    tar -zxvf abc.tar.gz

  3. 给a.txt文件增加当前用户执行权限。

    chmod g+x a.txt


18,网络和进程相关命令练习

题干:

  1. 如何查看自己的IP地址?

    ip addr
    #或者
    ifconfig

  2. 如何查3306端口有没有被占用?

    netstat -nptl | grep 3306
    #或者
    netstat -anp |grep 3306

  3. 如何实时查看系统资源占用情况和占用资源比较多的应用程序.

    top
    或者
    ps -ef

  4. 如何搜索sshd进程是否正在运行.

    ps -ef |grep sshd

  5. 如何下载指定url:https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png下的文件.

    wget https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png
    #或者
    curl -O https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png


19,shell脚本相关命令练习

题干:

1.编写一个名称test1.sh的shell脚本文件.

2.定义变量name的值是tom

3.定义变量age的值是18

4.输出: "姓名:tom,年龄:18,打印时间:2024-04-07 XX:XX:XX"

5.使用不同的方式来运行这个shell脚本.

​
[root@node1 ~]# vim test1.sh 
#!/bin/bash
​
name=tom
age=18
echo "姓名:$name,年龄:$age,打印的时间`date +'%Y-%m-%d %H:%M:%S'`"
​
[root@node1 ~]# sh test1.sh  
姓名:tom,年龄:18,打印的时间2024-07-16 19:35:38
​
[root@node1 ~]# chmod u+x test1.sh 
[root@node1 ~]# ./test1.sh 
姓名:tom,年龄:18,打印的时间2024-07-16 19:36:04
​
​
[root@node1 ~]# /root/test1.sh 
姓名:tom,年龄:18,打印的时间2024-07-16 19:36:19
​
[root@node1 ~]# source test1.sh 
姓名:tom,年龄:18,打印的时间2024-07-16 19:36:29

  • 学习:知识的初次邂逅
  • 复习:知识的温故知新
  • 练习:知识的实践应用

linux命令有很多,本篇主练习与应用

谢谢观看!

;