[linux长征路第一篇]基本指令

小白又菜 小白又菜     2022-11-28     223

关键词:

从今天开始我会持续更新我学习Linux的学习笔记。今天主要学习Linux下基本指令。

1.Linux下基本指令

1.为什么要进行指令操作?

因为指令距离OS更近,便于我们更好的掌握OS。

指令操作对于非专业人员来说没有必要学习,对于专业人员可以必要也可以不必要。但是对于我们学习OS原理,编程,指令操作必须需要掌握。

2.图像化界面不香吗?那是先有指令还是现有图形化界面呢?

答案是:先有指令。

我们要进行指令输入需要键盘,进行图形化界面需要鼠标。所有的操作系统,刚开始的时候全部都是支持指令操作的。但是由于指令操作的操作成本高因此在后期慢慢就出现了图形化界面。

01.ls 指令

语法: ls [选项][目录或文件]

功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。常用选项:

1: -a 列出目录下的所有文件,包括以 . 开头的隐含文件。

2:-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录

3:-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件

4:-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件

5:-l 列出文件的详细信息。

6:-n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)

7:-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)

8:-r 对目录反向排序。

9:-t 以时间排序。

10:-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)

11:-R 列出所有子目录下的文件。(递归)

12:-1 一行只输出一个文件。


ls  #只显示文件名


[root@VM-20-12-centos 22_06_02_lesson4]# ls
tar_package
[root@VM-20-12-centos 22_06_02_lesson4]# mkdir code
[root@VM-20-12-centos 22_06_02_lesson4]# ls
code tar_package
[root@VM-20-12-centos 22_06_02_lesson4]# touch mytest.c
[root@VM-20-12-centos 22_06_02_lesson4]# ls
code mytest.c tar_package

[


ls -l  #显示文件的更多属性


[root@VM-20-12-centos 22_06_02_lesson4]# ls -l
total 8
drwxr-xr-x 2 root root 4096 Jun 15 12:54 code
-rw-r--r-- 1 root root 0 Jun 15 12:54 mytest.c
drwxr-xr-x 3 root root 4096 Jun 2 19:59 tar_package
[root@VM-20-12-centos 22_06_02_lesson4]#

[


ls -a #显示更多的隐藏文件


Linux中以 . 开头的是隐藏文件

[root@VM-20-12-centos 22_06_02_lesson4]# ls -a
. .. code mytest.c tar_package
[root@VM-20-12-centos 22_06_02_lesson4]# ls -a -l
total 16
drwxr-xr-x 4 root root 4096 Jun 15 12:54 .
dr-xr-x---. 10 root root 4096 Jun 2 18:37 ..
drwxr-xr-x 2 root root 4096 Jun 15 12:54 code
-rw-r--r-- 1 root root 0 Jun 15 12:54 mytest.c
drwxr-xr-x 3 root root 4096 Jun 2 19:59 tar_package
[root@VM-20-12-centos 22_06_02_lesson4]#

[

在任意目录下,都会存在两个隐藏文件 其中 一个. (当前路径)  ..(上级路径)

[[

我们在当前路径下怎么返回上级路径呢?我们就可以使用cd ..

[root@VM-20-12-centos 22_06_02_lesson4]# pwd
/root/22_06_02_lesson4
[root@VM-20-12-centos 22_06_02_lesson4]# cd ..
[root@VM-20-12-centos ~]# pwd
/root

[

.(当前路径)有什么用?

作为一个限定,表示我要执行当前路径下的程序。比如我们写一段C语言程序,要这行这个结果,我们要使用./a.out

[root@VM-20-12-centos 22_06_02_lesson4]# vim mytest.c
[root@VM-20-12-centos 22_06_02_lesson4]# gcc mytest.c
[root@VM-20-12-centos 22_06_02_lesson4]# ls
a.out code mytest.c tar_package
[root@VM-20-12-centos 22_06_02_lesson4]# cat mytest.c
#include <stdio.h>
int main()

printf("Hello Linux\\n");
return 0;

[root@VM-20-12-centos 22_06_02_lesson4]# ./a.out
Hello Linux
[root@VM-20-12-centos 22_06_02_lesson4]#

[


总结:ls核心命令就是ls -a和 ls -l 指令


02.pwd命令

语法: pwd

功能:显示用户当前所在的目录  查看当前所处的路径

[root@VM-20-12-centos 22_06_02_lesson4]# pwd
/root/22_06_02_lesson4
[root@VM-20-12-centos 22_06_02_lesson4]#

[

03.cd指令


Linux的目录结构本质是一颗多叉树。

1.每一个子节点,既可以是一个目录(再放目录或者普通作业,递归式的定义),也可以是一个普通文件。

2.这课多叉树的叶子结点,一定是一个普通文件或者空目录。

语法:cd 目录名

功能:改变工作目录。将当前工作目录改变到指定的目录下。

cd .. : 返回上级目录
cd /home/litao/linux/ : 绝对路径
cd ../day02/ : 相对路径
cd ~:进入用户家目
cd -:返回最近访问目录

[

我们一般通过“定位”,通过路径定位的方式找到文件的!那为什么我们都是通过路径方式定位文件的呢?

这是因为任何一个节点可以有很多子节点,但是只能有一个父节点。因此常规的路径定位是具有唯一性的!

绝对路径:常规路径,从跟目录开始直到目的节点的这条路径。

相对路径:相对于我当前所处的路径。

结论:如果是日常使用,我们推荐相对路径(简单);如果是进行添加配置文件之类,推荐绝对路径(不会出错)

[root@VM-20-12-centos 22_06_02_lesson4]# pwd
/root/22_06_02_lesson4
[root@VM-20-12-centos 22_06_02_lesson4]# cd ../
[root@VM-20-12-centos ~]# pwd
/root
[root@VM-20-12-centos ~]# cd ../
[root@VM-20-12-centos /]# pwd
/

[


cd ~ :进入用户家目


[root@VM-20-12-centos 22_06_02_lesson4]# cd ~
[root@VM-20-12-centos ~]# pwd
/root

[


 cd -:跳转至我上一次所处的路径


[root@VM-20-12-centos 22_06_02_lesson4]# cd ~
[root@VM-20-12-centos ~]# pwd
/root
[root@VM-20-12-centos ~]# cd -
/root/22_06_02_lesson4
[root@VM-20-12-centos 22_06_02_lesson4]# pwd
/root/22_06_02_lesson4
[root@VM-20-12-centos 22_06_02_lesson4]#

[

[[

04.touch命令

语法:touch [选项]... 文件...

功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。

常用选项

-a   或--time=atime或--time=access或--time=use只更改存取时间。

-c   或--no-create  不建立任何文档。

-d  使用指定的日期时间,而非现在的时间。

-f    此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

-m   或--time=mtime或--time=modify  只更改变动时间。

-r   把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

-t   使用指定的日期时间,而非现在的时间

[root@VM-20-12-centos 22_06_02_lesson4]# ls
a.out code mytest.c tar_package
[root@VM-20-12-centos 22_06_02_lesson4]# touch test.c
[root@VM-20-12-centos 22_06_02_lesson4]# ls
a.out code mytest.c tar_package test.c
[root@VM-20-12-centos 22_06_02_lesson4]# nano test.c
[root@VM-20-12-centos 22_06_02_lesson4]# gcc test.c
[root@VM-20-12-centos 22_06_02_lesson4]# ls
a.out code mytest.c tar_package test.c
[root@VM-20-12-centos 22_06_02_lesson4]# ./a.out
Hello World
[root@VM-20-12-centos 22_06_02_lesson4]#

[

[[

05.mkdir命令

语法:mkdir [选项] dirname...

功能:在当前目录下创建一个名为 “dirname”的目录

我们想创建一长串目录,我们可以使用,mkdir -p

-p, --parents  可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;

[root@VM-20-12-centos 22_06_15]# mkdir -p dir1/dir2/dir3/dir4
[root@VM-20-12-centos 22_06_15]# ls
dir1
[root@VM-20-12-centos 22_06_15]# cd dir1
[root@VM-20-12-centos dir1]# ls
dir2
[root@VM-20-12-centos dir1]# cd dir2
[root@VM-20-12-centos dir2]# ls
dir3
[root@VM-20-12-centos dir2]# cd dir3
[root@VM-20-12-centos dir3]# ls
dir4
[root@VM-20-12-centos dir3]# cd dir4
[root@VM-20-12-centos dir4]# ls
[root@VM-20-12-centos dir4]# pwd
/root/code/22_06_15/dir1/dir2/dir3/dir4

[

[[

06.rmdir指令&&rm指令

rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。

语法:rmdir [-p][dirName]

适用对象:具有当前目录操作权限的所有使用者

功能:删除空目录

如果我们想删掉空目录可以是用rmdir指令

删除空目录(不常用)

[root@VM-20-12-centos 22_06_15]# rmdir dir1
rmdir: failed to remove ‘dir1’: Directory not empty
[root@VM-20-12-centos 22_06_15]# ls
dir1

[


-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除 


删除普通文件(常用)

rm命令可以同时删除文件或目录

语法:rm [-f-i-r-v][dirName/dir]

适用对象:所有使用者

功能:删除文件或目录

常用选项

-f 即使文件属性为只读(即写保护),亦直接删除

-i 删除前逐一询问确认

-r 删除目录及其下所有文件

[root@VM-20-12-centos 22_06_15]# touch test.txt
[root@VM-20-12-centos 22_06_15]# ls
dir1 test.txt
[root@VM-20-12-centos 22_06_15]# rm test.txt
rm: remove regular empty file ‘test.txt’? y
[root@VM-20-12-centos 22_06_15]# ls
dir1

[

如果要删除目录,使用rm-r

[root@VM-20-12-centos 22_06_15]# rm -r dir1
rm: descend into directory ‘dir1’? y
rm: descend into directory ‘dir1/dir2’? y
rm: descend into directory ‘dir1/dir2/dir3’? y
rm: remove directory ‘dir1/dir2/dir3/dir4’? y
rm: remove directory ‘dir1/dir2/dir3’? y
rm: remove directory ‘dir1/dir2’? y
rm: remove directory ‘dir1’? y
[root@VM-20-12-centos 22_06_15]# ls

[

此时我们发现dir1下的文件被全部删掉,我们在删除的过程中发现系统会询问你确定要删除?如果我们不想这个提示弹出的话,我们可以使用rm -f ,此命令表示强制删除。

[root@VM-20-12-centos 22_06_15]# touch test.txt
[root@VM-20-12-centos 22_06_15]# mkdir -p dir1/dir2/dir3/dir4
[root@VM-20-12-centos 22_06_15]# ls
dir1 test.txt
[root@VM-20-12-centos 22_06_15]# rm -f test.txt
[root@VM-20-12-centos 22_06_15]# ls
dir1
[root@VM-20-12-centos 22_06_15]# rm -r -f dir1
[root@VM-20-12-centos 22_06_15]# ls
[root@VM-20-12-centos 22_06_15]#

[

[[

(本篇完)


[linux长征路第六篇]linux使用git上传gitee三板斧

 1.git是什么?git是一个版本控制器。这样说我们暂时可能无法理解,我们现在可以理解为版本控制器类似于百度云盘。2.使用git2.1安装git我们直接是用yum命令安装gityuminstallgit2.2在Gitee上创建项目​​Gitee官方网站​​2.2.1使用G... 查看详情

[linux长征路第四篇]开发工具vim的使用gcc/g++的使用

1.Linux下软件包管理器yum在Linux下软件的安装,软件的卸载在Linux下该做呢?在centos7中有三种安装方式:1.源码安装2.rpm包安装3.yum安装 1.1什么是软件包在Linux下安装软件,一个通常的办法是下载到程序的源代码(源码安装),并... 查看详情

linux入门第一篇:linux下的基本指令(超详解)(代码片段)

目录前言ls指令✔pwd指令✔cd指令✔touch指令✔mkdir指令✔rmdir指令✔rm指令✔man指令✔cp指令✔mv指令✔cat指令✔more指令✔less指令✔head指令✔tail指令✔如何获取中间的一段内容date时间相关指令✔Cal指令✔find指令✔grep指令✔zip/unz... 查看详情

前端学习linux——第一篇

前端学习linux-第一篇本文主要介绍“linux发行版本”、“cpu架构”、“Linux目录结构”、“vi和vim”、“用户管理”、“文件目录指令”、“docker安装ubuntu20.04”。注:笔者使用的是ubuntu20.04桌面版。linux发行版本linux主要发行版有u... 查看详情

9.3-9.9博客精彩回顾

...选​​3.​​Spark面试题——Spark容错机制​​4.​​[Linux长征路第三篇]权限理解​​​5.​​python爬虫等获取实时数据+Flume+Kafka+SparkStreaming+mysql+Echarts实现数据动态实时采集、分析、展示​​​6.​​超简单的Python教程系列​​7.... 查看详情

一篇搞定学会redis基本使用(万字长篇)(代码片段)

文章目录前言服务启动Windows环境下linux环境下设置口令启动服务器关闭服务连接查看服务性能数据库指令数据库相关指令保存到本地存取指令对String的操作set/get切片操作追加操作setnx/setexmset/mget一次输入/获取多个值hash类型的操... 查看详情

linux从青铜到王者第十四篇:linux网络基础第一篇

系列文章目录文章目录系列文章目录前言一、计算机网络的发展过程1.独立模式2.网络互联模式3.局域网LAN4.广域网WAN二、认识计算机网络协议1.协议的概念2.什么是网络协议3.网络协议簇4.体系结构5.OSI七层模型6.TCP/IP五层(或四层)... 查看详情

linux基础篇(第一篇)(代码片段)

文章目录LInux目录结构为什么是树?绝对路径&相对路径一切皆文件导管重定向&追加重定向重定向追加重定向shell命令以及原理的理解Linux权限Linux权限的概念LInux切换用户su指令权限管理文件访问者分类(人)文... 查看详情

执行查询第一篇:基本概念

SQLServer是如何执行查询脚本的呢?首先,应用程序连接到SQLServer引擎,向SQLServer发送请求。一旦应用程序连接到数据库引擎,SQLServer创建会话(Session),用于表示客户端和服务器端之间数据交换的状态。其次,SQLServer引擎分配Ta... 查看详情

linux脚本使用第一篇

Linux如何在任何目录下都能执行脚本文件:首先你需要把你写的脚本放在一个文件夹下,这里以/root/linux/Bash_sh为例然后你需要在你的PATH变量追加/root/linux/Bash_sh查看PATH命令:$PATH追加命令:方法一:在命令行下输入PATH=$PATH:/root/li... 查看详情

java知识积累jsp第一篇jsp介绍工作原理生命周期语法指令行为

JSP全名为JavaServerPages,java服务器页面。JSP是一种基于文本的程序,其特点就是HTML和Java代码共同存在!为什么需要JSPJSP是为了简化Servlet的工作出现的替代品,Servlet输出HTML非常困难,JSP就是替代Servlet输出HTML的。简单使用一下JSP... 查看详情

应急响应第一篇之基础篇(代码片段)

文章目录0x01基本流程和基本原则一、什么是应急响应二、应急响应的两个方面三、应急响应的基本流程四、应急响应的原则0x02技能和工具的简介一、常用工具-webshell工具--Processhacker工具-火绒剑工具-LastActivityview工具---Autoruns工... 查看详情

应急响应第一篇之基础篇(代码片段)

文章目录0x01基本流程和基本原则一、什么是应急响应二、应急响应的两个方面三、应急响应的基本流程四、应急响应的原则0x02技能和工具的简介一、常用工具-webshell工具--Processhacker工具-火绒剑工具-LastActivityview工具---Autoruns工... 查看详情

单链表的基本操作(第一篇)

...头结点与开始结点的关系: 链表的头指针一般指向其第一个结点,他有标识链表的作用。头结点的作用在于统一相关操作,头结点的数据域一般没有意义,在某些情况下可以存放链表长 度。如果链表含有头结点,无论链... 查看详情

读懂il代码就这么简单(代码片段)

原文:读懂IL代码就这么简单(二)一前言  IL系列第一篇写完后得到高人指点,及时更正了文章中的错误,也使得我写这篇文章时更加谨慎,自己在了解相关知识点时,也更为细致。个人觉得既然做为文章写出来,就一定要保证... 查看详情

第一篇博客应该发点什么呢

接下来几天计划要总结的知识体系:1.群论 1.基本概念 2.表示理论 3.点群 4.量子力学中的应用2.固体物理3.半导体物理4.钙钛矿太阳电池(PSCs) 1.基本结构 2.基本性质 3.缺陷 4.实验手段2021年暑假结束前计... 查看详情

嵌入式linux入门---第一篇(代码片段)

什么是“嵌入式”?答:除了电脑,其他东西都是“嵌入式”一、嵌入式Linux组成拿windows做类比,比如我们的手表运行Linux,那么这个手表的操作系统组成为下图右侧:因为Linux的bootloader、内核、根文件系... 查看详情

我的第一篇博客(代码片段)

Hadoop的三种模式搭建准备工作(对Linux客户机的操作)安装Linux(centOS7)关闭防火墙、IP主机名映射(vi/etc/hosts)、修改主机名(vi/etc/hostname)安装jdktar-zxvfjdk-8u144-linux-x64.tar.gz-C/opt/module配置环境变量vi/etc/profile#JAVA_HOMEexportJAVA_HOME... 查看详情