当前位置: 首页 > news >正文

【Linux】基本指令(上篇)

这里是目录

  • 前言
  • ls指令
  • pwd指令
  • mkdir指令(重要)
  • tree指令
  • cd指令
    • 结合
  • touch指令
  • rmdir指令(重要)
  • rm指令(重要)
  • *通配符
  • man指令(重要)
  • echo指令
  • cat指令
  • cp指令(重要)
    • 拷贝一批目录
  • mv指令(重要)
    • 修改名字
    • 剪切功能

前言

Linux操作的特点:有图形化界面,但大部分都是以纯命令行为主
Windows也是命令行 但是他是面向普通用户的所以大部分都是以图形化界面为主
无论是图形化界面,还是指令,本质其实都是一样的,指令操作更贴近操作系统

Xshell :alt+enter:全屏和取消全屏

ls指令

ls - 对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息
语法: ls [选项][目录或文件]
在这里插入图片描述
因为当前目录没有文件,所以并没有显示

指令是可以携带选项的(可以带多个选项)

-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-d 将目录象文件一样显示,而不是显示其下的文件 如:ls –d 指定目录
-i 输出文件的 i 节点的索引信息如 ls –ai 指定文件
-k 以 k 字节的形式表示文件的大小ls –alk 指定文件
-l 列出文件的详细信息
-n 用数字的 UID,GID 代替名称(介绍 UID, GID)
-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)(目录类型识别)
-r 对目录反向排序
-t 以时间排序
-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
-R 列出所有子目录下的文件(递归)
-1 一行只输出一个文件

比如 ls -l 可以查看文件的属性(也可以写成ll)
在这里插入图片描述

pwd指令

pwd - 显示当前命令行进行操作时所处在的目录

在这里插入图片描述

mkdir指令(重要)

mkdir - 创建一个目录
就和在Windows中创建了一个文件夹一样,但是在Linux下我们并不能直接看到所创建的文件夹,因为Linux是纯命令行的形式,所以需要配合ls指令来查看

在这里插入图片描述
如果想创建一串目录:mkdir -p d1/d2/d3/d4/d5即可
在这里插入图片描述

tree指令

tree - 将目录结构以树状的形式显示

想使用这个命令是需要进行安装的:
输入:yum install -y tree即可
在这里插入图片描述
如果出现这种情况就说明没有安装
安装完成后即可使用:

在这里插入图片描述

cd指令

cd - 进入一个目录
常用选项:

cd … : 返回上级目录
cd /home/litao/linux/ : 绝对路径
cd …/day02/ : 相对路径
cd ~:进入用户家目录
cd -:返回上一次访问的目录
在Linux中只有两种用户,一种是超级用户root,一种是普通用户
在centos系统中,所有普通用户,用户账户都会统一放在/home(家目录)中

在这里插入图片描述
通过pwd指令可以看到我们所处的位置就是12_2的文件夹中


结合

ls -la 也可以写成 ls -l -a - 显示所有的文件(包括隐藏文件)
在这里插入图片描述
在这里插入图片描述

使用..回到上级目录:
在这里插入图片描述
Linux的路径分隔符是:/
最前面的 / 是Linux的根目录
在这里插入图片描述
所以Linux的目录结构整体就是一个多叉树,他的叶子节点一定是空目录或者非目录文件,路上节点一定是一个非空目录
在这里插入图片描述
所以我们所有的对文件或者目录的增删查改,本质上都是对这棵多叉树的增删查改
所以我们定位一个文件,通常用路径来进行定位,路径定位:唯一性(任何节点都只有一个父节点)
我们把从根目录开始定位到指定位置,具有唯一性的路径称为:绝对路径
那我们就可以进行以下操作:直接从根目录进入到某个指定的目录:
在这里插入图片描述

我们以自己当前所处的路径作为起始参照位置,来进行特定文件的定位称为:相对路径(所处的路径发生变化,可能相对路径就失效了)
一般从根目录开始就叫绝对路径反之都叫做相对路径

1.绝对路径往往比较长,但是不变,一般在一些固定场景中使用,比如:配置文件中使用
2.一般命令行输入,比较常用相对路径


touch指令

语法:touch [选项]… 文件…
touch - 命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件(普通文件)

常用选项:

-a 或–time=atime或–time=access或–time=use只更改存取时间
-c 或–no-create 不建立任何文档
-d 使用指定的日期时间,而非现在的时间
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或–time=mtime或–time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间

在这里插入图片描述

rmdir指令(重要)

rmdir - 删除目录
rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除目录
语法:rmdir [-p][dirName]

常用选项:

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

在这里插入图片描述

rmdir不能删除非空目录:
在这里插入图片描述

rm指令(重要)

rm - 可以直接删除普通文件
语法:rm [-f-i-r-v][dirName/dir]
在这里插入图片描述
常用选项:

-f 即使文件属性为只读(即写保护),亦直接删除(删除前不询问)
-i 删除前逐一询问确认
-r 删除目录及其下所有文件

在这里插入图片描述
每次删除都要询问是不是有点麻烦?如果我有几百个文件呢?
这时候就可以加上:-f 直接删除不询问
在这里插入图片描述

注:Linux删除就真的删除了(没有回收站),恢复成本很大,所以删除前需要慎重考虑

*通配符

需要搭配使用,如ls或者rm

ls + * 显示所有文件——不包括隐藏文件
ls + *+后缀名 ——显示后缀名相同的文件
ls + 前缀名 +* ——显示前缀名同的文件

比如:只查看后缀为.c的文件,或者只查看以.txt结尾的文件
在这里插入图片描述

删除所有后缀为.c的文件

在这里插入图片描述

man指令(重要)

访问Linux手册页的命令是:man 语法: man [选项] 命令

比如:man ls
在这里插入图片描述


man rm
在这里插入图片描述
这个手册是可以汉化的,但现阶段不建议汉化

常用选项:

-k 根据关键字搜索联机帮助
num 只在第num章节找
-a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕
指令 : man + 手册号 +要查的函数
man手册分为8章

  1. 是普通的命令
  2. 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
  3. 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
  4. 是指文件的格式,比如passwd,,就会说明这个文件中各个字段的含义
  5. 是给游戏留的,由各个游戏自己定义
  6. 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
  7. 是系统管理用的命令,这些命令只能由root使用,如ifconfig

如果没有带手册号,默认按1号查找,如果1号没找到,找2号,2号没找到,找3号…以此类推,如果一个函数在1号和3号手册都有出现那么直接查找(不带手册号)则会显示1号手册的内容,3号手册需要指定3号(带手册号:3)

echo指令

echo+字符串:
在这里插入图片描述
直接将字符串输出到显示器上
> (大于符号)——指的是将内容重定向到指定的文件
echo + 内容 + > +文件 ,就是将指定内容输出到文件中
比如:
在这里插入图片描述
可以看到加了 > 之后字符串并没有输出到显示器上,但是test.txt的大小发生了改变,说明字符串被写入到了文件当中 - 称之为输出重定向
含义:本来应该显示到显示器的内容,打印到文件中

cat指令

语法:cat [选项][文件]
cat - 查看目标文件的内容
在这里插入图片描述

cp指令(重要)

语法:cp [选项] 源文件或目录 目标文件或目录
常用选项:

-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
-R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理

在这里插入图片描述
拷贝到上级目录
在这里插入图片描述

拷贝一批目录

cp + -r + 指定目录下的目录 + 拷贝到目标处的目录(给拷贝到目标目录重命名)

在这里插入图片描述

mv指令(重要)

语法: mv [选项] 源文件或目录 目标文件或目录

常用选项:

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖

修改名字

在这里插入图片描述

看上去是修改了名字,实际上也可以是把这个文件剪切并重命名了一下

剪切功能

在这里插入图片描述

如果只有mv test.txt …/(后面没有跟任何东西)就叫做单纯的剪切
如果mv test.txt …/ test2.txt(带了一个名字)就叫剪切并重命名

如果上级目录已经存在要重命名的名字,则操作就会变成剪切文件到上级目录的文件名中:
在这里插入图片描述

以上就是本篇文章的全部内容了,希望大家看完能有所收获

相关文章:

  • Linux中的文件IO
  • [Java] 模拟Jdk 以及 CGLib 代理原理
  • Ribbon负载均衡
  • KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(21)
  • C++分数计算器
  • 为何要3次握手?TCP协议的稳定性保障机制
  • 02.PostgreSQL 查询处理期间发生了什么?
  • 实现一个简单的网络通信下(udp)
  • 计算机网络——传输层
  • C++ 智能指针和内存管理:使用指南和技巧
  • 鸿蒙App开发 HarmonyOS:网络请求+三方库使用+底栏切换+列表+Banner
  • Python 错误 TypeError: __str__ Returned Non-String but Printing Output
  • Redis中缓存穿透、击穿、雪崩以及解决方案
  • PHP如何实现邮箱验证
  • 如何解决ajax浏览器缓存
  • 自己简单写的 事件订阅机制
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • create-react-app项目添加less配置
  • Fastjson的基本使用方法大全
  • markdown编辑器简评
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • mysql 数据库四种事务隔离级别
  • tensorflow学习笔记3——MNIST应用篇
  • Terraform入门 - 1. 安装Terraform
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 基于游标的分页接口实现
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 微信小程序--------语音识别(前端自己也能玩)
  • 小而合理的前端理论:rscss和rsjs
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • Linux权限管理(week1_day5)--技术流ken
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #Linux(Source Insight安装及工程建立)
  • #考研#计算机文化知识1(局域网及网络互联)
  • $(function(){})与(function($){....})(jQuery)的区别
  • (1)Android开发优化---------UI优化
  • (1)bark-ml
  • (a /b)*c的值
  • (bean配置类的注解开发)学习Spring的第十三天
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (Python第六天)文件处理
  • (SpringBoot)第七章:SpringBoot日志文件
  • (定时器/计数器)中断系统(详解与使用)
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • ***检测工具之RKHunter AIDE
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .mysql secret在哪_MYSQL基本操作(上)
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .NET DevOps 接入指南 | 1. GitLab 安装