linux指令初识(代码片段)

Zheng"Rui Zheng"Rui     2023-01-15     628

关键词:

Linux基础指令分为四个方面的指令:
目录相关指令,普通文件指令,匹配查找指令,权限相关指令

要想使用指令,要先明白指令的使用规则:

一、指令使用规则

指令名称 [操作选项] [操作对象]……

[]中括号中的内容表示可有可无;

指令名称:就是一个命令的名字,表示要执行什么功能。
操作选项:为了指定要完成一个大功能之下的一个可选择的的小功能。
操作对象:指定要操作的对象。

例如像ls,可以没有操作选项,也可以选择查看文件夹内所有文件(包括隐藏文件),或者查看文件详细信息。
ls 游览目录(目录就是我们通常说的文件夹) --展示一个文件夹内部的文件信息。
例如 可以这么使用ls:
ls -l ./workspace (-l 表示查看文件的详细信息,包括权限,所属人,所属组,文件大小等等)

ls 的使用方法
-l 显示详细信息
-a 显示所有文件,包括隐藏文件

二、目录相关指令

关于目录的指令除了ls,还有很多……

1.pwd命令

pwd命令用于显示当前所在文件夹的路径。

要想知道Linux的文件路径,首先要知道,Linux中的目录结构
在计算机中文件的存储实际上都是存储在磁盘上的。
磁盘上的空间至少会被分为 swap分区,和filesystem分区。
swap分区:作为交换分区,当内存不够用的时候就排上用场
filesystem分区:文件系统分区,用于进行文件的存储管理,一个硬盘可以有多个文件系统分区

windows下会为每个磁盘分区,分配一个盘符,说白了就是一个大的文件夹,这个文件夹中的文件所占的存储空间都是来源于这个分区的。有多少个分区就可以有多少个盘符。
但是Linux下不同,目录结构与磁盘分区多少没有关系,Linux下的目录结构是唯一的,实现是将指定的分区挂载到某个目录上。

pwd使用实例

pwd
/home/test

这里显示的路径是绝对路径

绝对路径与相对路径

绝对路径:一个路径的表示,以根目录作为起始的就叫做绝对路径(唯一路径)
相对路径:一个路径的表示,以当前所在目录作为起始叫做相对路径(会随着所在目录不同而不同);

. :表示当前目录;
. . :表示一个目录的上一层目录(也就是它的父目录)

像ls -l workspace 用的就是相对目录,这里workspace是当前目录的文件夹,但是省略了./ 其实是 ./workspace

2.mkdir命令

mkdir 创建一个目录
使用实例

**mkdir ./temp**
可以ls看一下,发现新添了一个temp的目录
mkdir ./temp/aaa
在temp中添加一个aaa目录

但是再看
mkdir ./temp2/bbb

这个例子会显示失败,因为一开始不存在temp2目录,所以要再mkdir中添加-p选项,进行多层级创建目录

mkdir -p ./temp2/bbb
这一次就可以了。

3.rmdir 删除空目录

rmdir ./temp2/bbb

但是,使用
rmdir temp
这会报错,因为rmdir只能删除空目录,一般用来删除空文件夹,不用担心文件误删。

4.rm 删除目录或文件

rm -r ./dirname 表示递归删除其中的所有目录和文件夹

5.cp 复制目录或文件

cp 的作用是复制一个目录后文件夹,(默认不能拷贝目录),有两个操作对象,一个源对象,一个目标对象。

cp -r ./dirname 复制目录,包括目录中的所有子项。

6.mv 剪切

mv 的作用是移动一个文件或者目录到目标位置(它也有两个操作对象,一个源对象,一个目标对象);

mv ./dirname1 ./dirname2
如果没有dirname2这个文件,那么就相当于给dirname1改名为dirname2;

7.cd 改变当前所在目录(或者说改变当前工作路径)

注意,ls不管游览那个目录,自己所在目录都是不会变的,也就是ls完之后,还是在当前位置。
所以可以用 cd 来改变当前路径。

cd ./dirname 进入此目录
cd ~ 表示快速返回当前用户的家目录。

三、普通文件相关指令

1.touch 创建一个普通文件

touch可以创建一个空的普通文件,也可以用来刷新已存在文件的时间属性(比如文件的最后访问时间)。

2.cat 打印文件内容到终端上

cat filename
即可显示其中的内容,主要用于短小文件的显示上,如果文件过长,滚动略微麻烦,一般用其他的指令,而且cat 只会显示其中的前1000行,其他的会显示不全。

3.more显示文件内容

为了解决cat的缺点,我们使用more来分页显示文件内容。
当查看文件内容的时候:
回车表示下一行
空格或者ctrl+f表示向下一页
ctrl+b表示向上一页
q 直接退出

4.less显示文件内容

因为more中,分页操作非常麻烦,所有有less这种功能更加全面的文件显示指令。
在less文件内容显示中:
ctrl+f/b 表示上下翻页
上下箭头或者 j/k 表示按行滚动
/string 表示向下查找指定的字符串
?string 表示向上查找指定字符串
q 直接退出

5.head 打印文件的前n行数据

head 用来打印文件的前n行数据,默认是10行
当然 也可以使用
head -n number 来指定前n行的数据

6.tail 打印文件的末尾n行数据

tail 用来打印文件的末尾n行的数据,默认是10行
当然,和head一样,可以使用 tail -n
tail -n number 来显示末尾n行的数据

tail还可以选择 -f
-f 表示动态显示文件的末尾内容,命令运行之后不会退出,而是一直等待文件末尾有新的数据则刷新显示。

linux学习:信号初识(代码片段)

...信号3.由软件条件产生信号4.硬件异常产生信号信号捕捉初识简单的信号捕捉模拟代码实现阻塞信号1.信号相关概念2.在内核中的表示3.sigset_t4.信号集操作函数5.模拟实现捕捉信号(自定义捕捉)1.定义2.信号的捕捉(1&#x... 查看详情

初识汇编(代码片段)

...保存栈底的地址!()注意:ARM64开始,取消32位的LDM,STM,PUSH,POP指令!取而代之的是ldr\ldpstr\stpARM64里面对栈的操作是16字节对齐的!!关于内存读写指令注意:读/写数据是都是往高地址读/写str(storeregister)指 查看详情

初识systemd-使用篇(代码片段)

Linux操作系统的开机过程是这样的,即从BIOS开始,然后进入BootLoader,再加载系统内核,然后内核进行初始化,最后启动初始化进程。初始化进程作为Linux系统的第一个进程,它需要完成Linux系统中相关的初始化工作,为用户提供... 查看详情

linux----编译器+gdb+初识make/makefile+git(代码片段)

...编连接函数库静态库动态库g++2)gdb操作3)初识make/Makefile使用makefile实现程序编译全过程4)git程序编译过程:预处理(进行宏替换)编译(生成汇编) 查看详情

debian系统+xfce桌面初识,基础环境搭建(代码片段)

从大二2016年接触Linux系统到现在2018年大四开学,本人对Linux有了入门级的了解。现在有幸分享个人的Linux下的习惯配置,具体操作可能阐述得比较粗糙。在图形化界面进行配置操作,十分简便舒心。Linux发行版:Debian9.5(Stretch)... 查看详情

深度学习cpu(番外篇)——初识总线(代码片段)

...基于内存全面理解高速缓冲存储器》4.《深度学习计算机指令系统,彻底搞懂指令十大寻址方式》5.《降维打击,带你深度学习CPU(上)》6.《深度学习CPU(番外篇)— 查看详情

linux(代码片段)

文章目录Linux实用指令通过修改Linux的运行级别找回root密码Linux帮助指令文件和目录相关的指令pwd指令ls指令cd指令mkdir指令rmdir指令touch指令cp指令rm指令mv指令cat指令more指令less指令echo指令head指令tali指令输出重定向指令和追加指... 查看详情

docker学习之旅--初识docker(代码片段)

Docker安装Dockerdocker的中央仓库docker镜像操作docker容器操作docker数据卷dockerfile自定义镜像docker-compose安装Docker查看内核版本(Linux操作系统Centos7,Linux内核版本至少在3.10以上)使用uname-a命令查看uname-a更新yum包yumupdate安... 查看详情

docker学习之旅--初识docker(代码片段)

Docker安装Dockerdocker的中央仓库docker镜像操作docker容器操作docker数据卷dockerfile自定义镜像docker-compose安装Docker查看内核版本(Linux操作系统Centos7,Linux内核版本至少在3.10以上)使用uname-a命令查看uname-a更新yum包yumupdate安... 查看详情

数据结构与算法--初识和时间复杂度(代码片段)

...和思想:求解一个问题步骤的描述是求解问题的方法它是指令的有限序列其中每条指令表示一个或者多个操作对于算法而言,实现的语言并不重要,重要的是思想算法特性确定性:无二义有穷性:合适时间内可以执行输入项输出... 查看详情

vue之旅:初识vue(代码片段)

...控制器(controller)的缩写而vue是mvvm,m有了,v有了,vm相当于cvue指令 v-xxx其实vue就是一片html代码配合上json,再new出来vue实例适合:移动端项目,小巧目前vue的发展势头很猛,githu 查看详情

面向对象初识(代码片段)

面向对象 面向过程核心:过程(即流水线思维) 优点:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可 缺点是:一套流水线或者流程就是用来解决一个问题,代码牵一发而动全身 应用场景:一旦完... 查看详情

初识进程1.0(代码片段)

...通过系统调用获取进程标示符通过系统调用创建进程-fork初识理解进程创建fork父子执行顺序,及代码和数据复制的问题fork为什么有两个返回值进程状态看看Linux内核源代码怎么说进程状态查看Z(zombie)-僵尸进程僵尸进程危害孤... 查看详情

vue学习笔记之初识vue——实例方法声明(代码片段)

...,执行一个复杂的操作,那么采用单一的表达式作为v-on指令值就不够了——我们需要将复杂的操作封装为Vue实例的一个方法,然后将v-on指令的值设置为这个方法。使用methods配置项来声明Vue实例的方法。当Vue.js创建一个Vue实例时... 查看详情

linux常用指令(代码片段)

目录前言一.基本操作文件相关操作ls指令pwd命令cd指令tree指令stat指令touch指令mkdir指令rm指令cp指令mv指令man指令umask指令 file指令文件内容显示 echo指令cat指令tac指令 more指令less指令head指令tail指令查找 find指令 grep指令which指令... 查看详情

面向对象初识(代码片段)

一,初始面向对象.面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西。优点是:极大的降低了写程序的复杂度,只需要... 查看详情

初识fastbuild(代码片段)

FASTBuild是一款高性能、开源的构建系统,支持高度可扩展的编译,缓存和网络分发。以上是FASTBuild官网对其产品的一句话介绍。FASTBuild的开源地址:https://github.com/fastbuild/fastbuild众所周知C/C++语言的一大特色就是需要人为地描述... 查看详情

linux学习手册大全(代码片段)

...6、编辑命令7、用户管理8、CentOS7找回root密码9、文件目录指令pwd指令ls指令cd指令mkdir指令rmdir指令touch指令cp指令rm指令mv指令cat指令more指令less指令echo指令head指令tail指令指令>和指令& 查看详情