[Linux初阶]常见的指令

我们学Linux指令,其实就是和学windows一样,学习Linux的操作

一、Linux下基本指令

ls 指令

语法 ls [ 选项 ] [ 目录或文件 ]
功能 :对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
常用选项:(并不全,只是常用的)
  1. -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
  2. -d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
  3. -i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
  4. -k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
  5. -l 列出文件的详细信息。
  6. -t 以时间排序。
  7. -R 列出所有子目录下的文件。(递归)

上面的我可能不会全部讲完,大家可以自己尝试一下。

但是在说这个之前我们先来讲一个小指令,pwd。

pwd

pwd会展示当前路径。

我们来试一试:

我们输入pwd加【回车】我们可以我们现在我们处于root路径。

这时我们输入ls【空格】-a【回车】,来看看root路径下有什么文件(ls和选项这将一般为一个空格但也可以是多个

我们发现有蓝色的和白色的,还有“.”".."这两个也是蓝色的,这个是什么,我们向不说,但是根据我们的学习windows类比,我们可以猜测这个可能是目录或者文件夹。

再来测试ls -l

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

那么我们思考一下能不能ls -l -a来显示所有问价你的详细信息呢?

答案是可以的

而且我们发现ls -a -l的结果也一样

也可以这样写

所以我们可以得出这个结论:

ls指令的选项可以依次传递多个,可以拼接在一起,顺序可以随意。

隐藏文件

关于-a:

        再Linux中,以.开头的文件,我们称之为隐藏文件。

现在我们来举个例子:

首先我们要知道一个指令:mkdir

mkdir指令(重要)

语法:mkdir [选项] dirname...
功能:在当前目录下创建一个名为 “dirname”的目录
常用选项
-p, --parents  可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
例:
mkdir –p test/test1 : 递归建立多个目录
现在我们来验证隐藏文件:
我们输入以下指令:
然后我们输入
然后输出的结果是:
我们发现没有.seeme目录,这时我们输入
我们在这里我们可以看见
.seeme 目录
当然,我们输入ls -a也可以看到
这里证明了
        在Linux中,以.开头的文件,叫做隐藏文件。
这样我们也能够知道问什么我们开始输入 ls -l 什么都没有,因为开始里面都只有隐藏文件,因此"."和".."我们一开始也看不到。
当然对于隐藏文件,我们可以来类比一下Windows
这是我们的文件夹
我们一般是看不到隐藏的文件的。
在Windows中,如果我们要看到隐藏的文件,我可以这样子:
选上隐藏的项目,这样我们就能看到当前路径下的隐藏文件了。
这里的.git就是Windows环境下的隐藏文件。
 

touch指令

上面我们讲了这些,那么我们该怎么新疆一个普通文件呢?这里我们得提到了touch指令

语法 :touch [ 选项 ]...  文件 ...
功能 touch 命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
常用选项
-a   或--time=atime或--time=access或--time=use只更改存取时间。
-d  使用指定的日期时间,而非现在的时间。
-f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

-m   或--time=mtime或--time=modify  只更改变动时间。
-r  把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t  使用指定的日期时间,而非现在的时间。
例:
可见我们创建了一个新的普通文件。
我们来类比Windows下新建文件,
这里我们就新建一个文本文件。
那么现在问题来了,这里显示大小是0KB,那么我们新建的这个文件是否在磁盘上占用空间呢?
当然是占用的。
因为我们新建一个文件的时候我们不只要新建文件的名称,还要有文件的修改时间,文件的类型。
文件名+文件修改时间+文件类型=文件属性
同时我们还要知道:
文件=文件内容+文件属性
在Linux下我们也有描述文件属性的地方
上图里我们要区分蓝色和白色的文件的差别,我们说过蓝色的是目录,白色的是普通文件夹。
而开头的drwxr-xr-x的我们称之为目录类型。
我们用touch创建过普通文件,那么我们能拿来创建隐藏文件吗?
答案是可以的

pwd命令

语法 : pwd
功能 :显示用户当前所在的目录
在Windows中我们的当前的目录是这个:
在Windows中’\‘是路径分隔符
在Linux中’/‘是路径分隔符
用文件夹(目录)和路径分隔符====一条路径----->找到文件
那么问题来了,我们可以把路径和ls指令结合吗?
答案是肯定的
在Linux中我们一般把第一个’/‘叫做根目录

cd命令

Linux 系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。
语法 :cd 目录名
功能 :改变工作目录。将当前工作目录改变到指定的目录下。
cd .. : 返回上级目录
cd /home/litao/linux/ : 绝对路径
cd ../day02/ : 相对路径
cd ~ :进入用户家目
cd - :返回最近访问目录
例:
既然讲到这里,我来讲讲前面的
所以我们cd ..会返回上一级:
此时我们就处于根目录
如果我们这时候像看dir1目录呢?
有人可能会这么写:
我们会发现我们打印的是dir1目录下的内容,如果我们只是想打印dir1这个目录呢?
我们可以使用 -d
而且我们可以这样打印更详细的信息:
因此我们也可以查看根目录:
这时候问题来了根目录下能放普通文件吗?可以放目录吗?
当然是可以的,这里我就不写了。

Linux的目录结构

我们知道根目录里面的目录也可放普通文件和目录,所以我们可以推断出:
Linux的目录结构---> 整体是一颗多叉树的形状。
那么我们该如何证明呢?
这里我们补充一条命令
tree [空格] [目录]
但是有些人运行了,结果却是这样的:
主要因为大家的Linux里没有安装
我们可以输入:
yum install -y tree
然后运行:
这样你的系统里就安装好了!
我们可以尝试一下:
我这里文件比较少不大明显,大家甚至可以试试
tree /
由此我们就可以得知是多叉树的形状
通过观察我们可以得到如下结论:
  1. 这个多叉树的叶子节点,一定是空目录或者普通文件
  2. 任何一个父节点,可能存在多个子节点
  3. 任何一个子节点,一定只有一个父节点

绝对路径与相对路径

所以我们前面可以通过/root/dir1找到这个目录,因为路径具有唯一性。

而上面这种从根目录到指定文件的路径我们称为:绝对路径。

我们可以通过绝对路径创建文件

我们也可以通过绝对路径找到文件

我们知道root目录下有以下文件:
如果我们现在在dir1路径内:
我们可以通过访问上级路径去寻找me文件
而这个路径,我们称之为 相对路径。
那么这个路径是相对与什么的呢?
它相对的是我们当前路径,按照上面写的,整体应该是:
因为我们当前处于/root/dir1的文件夹下
绝对路径与相对路径的比较:
  1. 一般命令行操作时,比较喜欢用相对路径
  2. 绝对路径,在任何路径下,都能找到指定的文件 —— 配置文件中使用

我们可以把路径和上面的指令结合

回到cd命令,我们观察这些目录下,我们能得出什么?

通过观察我们可以得到如下结论:

Linux下,任何一个目录,都存在..和.,新建的空目录也一样。

我们接着来

cd -跳转到最近的上一次路径

cd ~ 跳转到的都是root目录,这个是root用户的家目录

类比的话

这个就是Windows下的用户的家目录。

Linux用户登录,默认所处的路径,就是自己的家目录

上面我们说了root用户的根目录就是/root

如果我们是普通用户呢?(这里我就不做演示了)

那么普通用户的家目录也可以用 cd ~

来看,一般就是/home/xxx(xxx为用户名)

这个叫做普通用户的家目录

下面是一些知识点:

  1. Linux用户登录,默认所处的路径,就是自己的家目录

通过上面的路径知识和指令我们可以通过mkdir -p创建一整段路径:
例:

mkdir -p   可以创建一串路径,而且支持对已有路径创建新的路径

rmdir指令 && rm 指令(重要):

rmdir 是一个与 mkdir 相对应的命令。 mkdir 是建立目录,而 rmdir 是删除命令。
语法 rmdir [-p] [dirName]
适用对象 :具有当前目录操作权限的所有使用者
功能 :删除空目录

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

rm 命令可以同时删除文件或目录
语法 rm [-f-i-r-v] [dirName/dir]
适用对象 :所有使用者
功能 :删除文件或目录
常用选项
  1. -f 即使文件属性为只读(即写保护),亦直接删除
  2. -i 删除前逐一询问确认
  3. -r 删除目录及其下所有文件

我们可以通过rmdir删除空目录

例子:

此处由于我是root用户所以会有再次确定。我们可以通过rm删除文件或目录

我们还可以通过rm -r 来递归式删除非空目录

例:

那么这个递归式有点麻烦了,我们可以改吗?
我们可以通过rm -rf 来强制递归删除(不会问你,直接删除)

man指令(重要)

Linux 的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问 Linux 手册页的命令是 man
语法 : man [ 选项 ] 命令

常用选项
-k 根据关键字搜索联机帮助
num 只在第 num 章节找
-a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用 a 选项,当按下
q 退出,他会继续往后面搜索,直到所有章节都搜索完毕。
解释一下 , 面手册分为 8
1 是普通的命令
2 是系统调用 , open,write 之类的 ( 通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件 )

3 是库函数 , printf,fread4 是特殊文件 , 也就是 /dev 下的各种设备文件
5 是指文件的格式 , 比如 passwd, 就会说明这个文件中各个字段的含义
6 是给游戏留的 , 由各个游戏自己定义
7 是附件还有一些变量 , 比如向 environ 这种全局变量在这里就有说明
8 是系统管理用的命令 , 这些命令只能由 root 使用 , ifconfig

例:

可以通过方向键翻页,按“Q”退出

man的手册,可以通过man man查看

我们也可以用man 查C语言之类的但是我们要安装一些东西

我们输入:

yum install -y man-pages

安装好后,我们就可以用这个查C语言函数

cp指令(重要):

语法 cp [ 选项 ] 源文件或目录 目标文件或目录
功能 : 复制文件或目录
说明 : cp 指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则
它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的
目录,则会出现错误信息
常用选项
-f --force  强行复制文件或目录, 不论目的文件或目录是否已经存在
-i --interactive 覆盖文件之前先询问用户
-r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,
则一律视为普通文件处理
-R --recursive 递归处理,将指定目录下的文件及子目录一并处理

在Linux我们可以用nano函数类似写记事本(注意这个也要安装)

yum install -y nano

例:

然后ctrl+x回车保存

我们也可以运行

gcc test.c -o xxxx

把代码编译成可执行程序,然后运行

这里我们再来讲cp指令

我们就把mytest拷贝如dir目录里了

cp指令整体类似rm我们可以通过cp -r把目录递归式拷贝入另一个目录。

但是cp -rf在root用户下也仍需要确认,大家可以自己试一试。

二、Linux的一些热键(方便大家尝试今天所学)

1.Tab键(快速按两次)

1.会自动展示当前字符开头的指令,自动补齐

2.展示当前目录下的路径,自动补齐

2.ctrl+c

失控的状态,直接ctrl+c终止

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/571654.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

就业班 第三阶段(负载均衡) 2401--4.19 day3

二、企业 keepalived 高可用项目实战 1、Keepalived VRRP 介绍 keepalived是什么keepalived是集群管理中保证集群高可用的一个服务软件,用来防止单点故障。 ​ keepalived工作原理keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundan…

装饰模式【结构型模式C++】

1.概述 装饰模式是一种结构型设计模式, 允许你通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。 2.结构 抽象构件(Component)角色:定义一个抽象接口以规范准备接收附加责任的对象。具体构件(Concrete…

Adobe Illustrator 2024 v28.4.1 (macOS, Windows) - 矢量绘图

Adobe Illustrator 2024 v28.4.1 (macOS, Windows) - 矢量绘图 Acrobat、After Effects、Animate、Audition、Bridge、Character Animator、Dimension、Dreamweaver、Illustrator、InCopy、InDesign、Lightroom Classic、Media Encoder、Photoshop、Premiere Pro、Adobe XD 请…

穿越代码迷雾:解密Tracing技术的神奇力量

穿越代码迷雾:解密Tracing技术的神奇力量 在软件开发和性能优化领域,追踪(Tracing)技术是一种重要的工具,用于收集和分析程序的执行过程和性能数据。本文将深入讲解Tracing的原理、工作方式以及在不同领域的应用场景&a…

sql题目练习

cookie注入 解题思路和之前的整数型注入一样,只是比整数型注入多了一步,题目没有给输入框,提示“尝试找找cookie吧”cookie的中文翻译是曲奇,小甜饼的意思。cookie其实就是一些数据信息,类型为“小型文本文件”&#…

【笔试强训】day10

1.最长回文子串 思路: 常规思路就是dp。dp[i][j]表示字符串i-j是否是回文子串。 如果A[i]A[j],考虑以下几种情况: 长度小于3,说明一定是回文。 要想让dp[i][j]为真,则dp[i1][j-1]必须也为真。否则就是false.即dp[i…

【亲测有效】connection refused报错 为什么redis 进程突然挂掉,频繁出现redis 进程突然挂掉情况解决方案

linux服务器redis 进程突然挂掉,频繁出现redis 进程突然挂掉情况解决方案,出现connection refused报错 前期出现过几次没当回事,但是最近频繁出现甚至有事,一天出现好几次就排查了一下问题 redis 进程突然挂掉常见原因 内存不足…

【后端】git与python的结合使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、git介绍二、git常见使用三、git与python的结合使用四、总结 前言 随着开发语言及人工智能工具的普及,使得越来越多的人会主动学习使用一些开发…

ctfshow web41-web50

web41 代码审计 <?php if(isset($_POST[c])){$c $_POST[c]; if(!preg_match(/[0-9]|[a-z]|\^|\|\~|\$|\[|\]|\{|\}|\&|\-/i, $c)){eval("echo($c);");} }else{highlight_file(__FILE__); } ?> 过滤了&#xff1a;[0-9] [a-z] ^ ~ $ [ ] { } & -…

介绍一个开源IOT组态项目

项目介绍 金合可视化平台是一款强大而操作简便的低代码平台&#xff0c;专为满足物联网领域的可视化开发需求而设计。通过该平台&#xff0c;用户可以利用拖拽配置的方式&#xff0c;轻松创建个性化的可视化大屏&#xff0c;无需熟练的编程技能&#xff0c;大幅提高了开发效率。…

报错import build constraints exclude all Go files in

好久没用fyne突然报错 报错import ...go-gl.. build constraints exclude all Go files in go-gl .. 检查gcc --version正常输出 检查gcc版本正常&#xff0c;路径正常。 尝试解决的方法&#xff0c; 1.重新安装依赖&#xff0c;不行 2.重新配置下载地址&#xff0c;不…

制作github.io学术个人主页

制作如图的学术个人主页。About me - Xianwen Ling’s Blog 学术个人主页是一个学者展示个人学术成果和研究方向的重要工具。个人主页可以集中展示学者的研究论文、出版物、演讲和发布的项目等学术成果&#xff0c;这样其他人可以更方便地了解和评估学者的研究贡献。个人主页可…

基于uni-app的动态表单

一、应用场景和意义 可以通过配置字段和校验规则&#xff0c;快速完成页面开发、提升开发效率 二、应用前提 形成ui/业务规范&#xff0c;最好是应用在问卷调查之类的业务 三、动态表单的功能 字段报错、快速滚动定位报错信息、支持字段值和字段规则拆分&#xff0c;便于实…

Linux安装Matlab运行时

一般而言&#xff0c;安装Matlab的linux系统是带桌面版的&#xff0c;如果没带&#xff0c;不在本教程范围内。 一、下载Matlab 下载地址&#xff1a;MATLAB Runtime - MATLAB Compiler - MATLAB 本教程使用R2020b(9.9) 二、linux系统中进行解压 将zip传入linux系统&#xf…

微电子领域常见概念(八)靶材

微电子领域常见概念&#xff08;八&#xff09;靶材 靶材是用于物理气相沉积&#xff08;PVD&#xff09;技术中的一种关键材料&#xff0c;它在制备薄膜的过程中起到至关重要的作用。PVD技术包括多种不同的工艺&#xff0c;如磁控溅射、离子束溅射、分子束外延&#xff08;MBE…

Vue:vue的工程化

Vue前端工程化 前后端分离开发 即前端人员开发前端工程,将开发好的前端工程打包部署在前端服务器上 后端开发人员开发后端工程,再将后端工程打包部署在后端服务器上,这种模式称为前后端分离开发 而前后端要顺利对接的关键就是要遵循一定的开发规范 开发规范 这种开发规范定…

CCF区块链会议--Middleware 2024 截止5.24 附录用率

会议名称&#xff1a;Middleware CCF等级&#xff1a;CCF B类会议 类别&#xff1a;软件工程/系统软件/程序设计语言 录用率&#xff1a;2022年录用率38%&#xff08;8/21&#xff09; Topics of Interest The Middleware conference seeks original submissions of resear…

LAMP(Linux+Apache+MySQL+PHP)环境介绍、配置、搭建

LAMP(LinuxApacheMySQLPHP)环境介绍、配置、搭建 LAMP介绍 LAMP是由Linux&#xff0c; Apache&#xff0c; MySQL&#xff0c; PHP组成的&#xff0c;即把Apache、MySQL以及PHP安装在Linux系统上&#xff0c;组成一个环境来运行PHP的脚本语言。Apache是最常用的Web服务软件&a…

科技赋能无人零售

科技赋能无人零售&#xff0c;使其具备以下独特优势&#xff1a; 1. 全天候无缝服务 &#xff1a;无人零售店依托科技&#xff0c;实现24小时不间断运营&#xff0c;不受人力限制&#xff0c;满足消费者随时购物需求&#xff0c;尤其惠及夜间工作者、夜猫子及急需购物者&…

微前端是如何实现作用域隔离的?

微前端是如何实现作用域隔离的&#xff1f; 一、前言 沙箱&#xff08;Sandbox&#xff09;是一种安全机制&#xff0c;目的是让程序运行在一个相对独立的隔离环境&#xff0c;使其不对外界的程序造成影响&#xff0c;保障系统的安全。作为开发人员&#xff0c;我们经常会同沙…