Linux基本指令

news2024/11/17 3:36:16

这一章我们将讲解在Linux系统下,一些基本指令的用法和功能.

后面有一些重要的指令我们将单独讲解.

目录

ls 指令

pwd 指令

cd 指令

touch 指令

mkdir 指令★

 rmdir 指令 && rm指令★

man 指令★

cp 指令 ★

mv 指令★

cat && tac指令

echo 指令


ls 指令

用法:ls [选项] [目录和文件]

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

ls常用的选项有以下几种:

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

-l 列出文件的详细信息

ls -a

这就是当前目录下的所有文件,包括隐藏的文件.

ls -l

这个是显示文件的详细信息,但是不显示隐藏文件的信息. 

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

值得注意的是:

1.选项可以随意搭配使用,并不是只可以指定一个选项,而是可以多个一起使用.

2.可以不写选项和文件名,默认为显示当前目录下的文件夹.

3.前两个文件:代表当前目录;.. 代表上一级目录.

pwd 指令

用法:pwd(后面不加任何东西)

功能:显示用户当前所在目录.

说明我当前所在的路径在/home/liqi

cd 指令

用法:cd 目录名

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

用法举例:

cd ..    :返回上级目录(上面说过,..代表上级目录,所以进入上级目录就是cd ..)

cd /home/liqi     : 绝对路径

cd ../liqi/    : 相对路径

cd ~     :进入用户家目录

cd -    :访问最近一次访问的目录 

.代表是当前路径,所以cd .就是进入当前路径,所以并没有什么效果.

解释一下相对路径:不是以根目录开始,而是以当前路径为参考点,这样定位文件的方式,叫做相对路径.

touch 指令

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

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

有以下选项,但不常用,touch主要被用来创建文件.

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

用touch创建普通文件

touch 文件名

 可以看到,我先显示一下当前文件,然后再创建一个liqi文件,这个时候我们再显示,发现liqi这个文件已经被创建好了.

这里先说一个命令:ll   等价于ls -l

touch还有一个作用:就是更新文件的时间.

看liqi这个文件,我一开始创建的时间是12:27,过了一会,我再touch一下,再次显示,发现最近新的时间更新为了当前的时间12:31.

mkdir 指令★

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

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

这里只有一个常用的选项 -p

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

先来看普通mkdir的使用.

可以看到一开始这个文件里什么都没有,然后我mkdir既创建了一个名字为liqi的目录.然后再显示,发现成功了.

但是如果我想创建的时候在liqi的目录里再添加一个hmy的目录呢?

我们先按普通的试一下:

 可以看到无法创建.

所以此时要想同时创建多个目录,必须加-p

 可以发现此时liqi和hmy同时被创建完成了.

这里大家可以安装一个tree的结构,可以树状结构显示目录.

指令为yum install -y tree(注意必须是root用户)

安装完成后,就可以使用了,tree 目录名即可把当前目录下的所有文件树状显示.

这样再看目录时就一目了然了.

 rmdir 指令 && rm指令★

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

 用法:rmdir [-p] [dirname]

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

功能:删除空目录

记住,只能删除空目录,不是空目录不能被删除.

当然上面这个是次要的,最重要的是下面这个指令.

rm指令

rm [选项] [dirname/dir]

适用对象:所有使用者

功能:删除文件或目录

常用选项:

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

看一下大致用法

 rm不加选项默认删除文件,不能删除目录.

加上-r才可以删除目录!

 还有下面几种小用法,可以自己下去具体了解一下

rm -rf 文件/目录    //删除文件或目录

rm -rf *.c                //*是一种通配结构,既*是什么都可以,只要最后带有.c的文件会全被删除.相当于是xxx.c的文件都会被移除.

rm -rf *                   //*后面什么都没加,说明这是删除所有文件(-r递归(删目录),-f强制)

rm -rf /                  //直接将根目录下的所有文件全部删除,也就是我们口中所说的删库.大家不要轻易尝试哦~

man 指令★

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

功能:查看相关指令的用法

选项:

1. -k 根据关键字搜索联机帮助
2. num 只在第num章节找
3. -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。

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

举个例子:

我们想查ls的用法. 

这个时候我们可以用man 1 ls       (ls属于普通的命令,所以选项是1,不加选项也可以)

 然后看结果:

 看NAME下面那一行,解释了功能:是列出所有的目录.

然后下面那一行也介绍了相应的用法.

再下面也分别介绍了各个选项的作用.非常方便.

cp 指令 ★

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

功能:复制文件或目录

说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息

常用选项:

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

先来一个文件的cp

 

这里就成功的将test1和test2拷贝到了tmp文件,而且自身也没有变化.

再来看目录的cp

首先可以看到普通的不加选项的cp指令不可以拷贝目录.

拷贝目录必须添加选项-r.

mv 指令★

mv命令是move的缩写,可以用来移动文件或者将文件改名,是Linux系统下常用的命令,经常用来备份文件或者目录。

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

功能:

视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。(若目标是个文件,则将其(源文件名字)重命名为目标文件名字,若目标是个目录,则会移动到这个目录中)

1.当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
2. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。

常用选项:

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

第一种情况:当目标参数类型是文件时

 可以看到test1里是123456,test2里是789

然后将test1 mv到 test2 中

由于test2是文件,所以将test1重命名为test2,里面的内容也变成了test1里的内容

相当于是test1覆盖了test2,并且将test1重命名为test2

再来看第二种情况:当目标参数类型是目录时

 可以看到这会将文件移动到目标目录下.

这就是mv的两种基本用法.

cat && tac指令

语法:cat [选项] [文件]
功能: 查看目标文件的内容

常用选项:

-b 对非空输出行编号(不包括空行)
-n 对输出的所有行编号(包括空行)
-s 不输出多行空行(不输出每一行的的空行,相当于是不输出每一行的空格)

我们具体来看一下效果,然后很快就能明白区别.

 tac指令

cat是把文件内容正向输出出来.

而tac指令是把文件内容反向输出出来.

我们看下面:

echo 指令

用法:echo [选项] [输出内容(string类型)]

功能:显示文字

选项

  • -n 不要输出新行
  • -e 启用反斜线转义解释
  • -E 禁用反斜线转义解释(默认)

第二第三个选项的意思是对后面的string字符串,是否启用转义字符,-e启用,-E禁用.

若是用-e选项,则可用如下转义序列:

  • \ 反斜线
  • \a 警告(BEL)
  • \b 反斜线
  • \c 不产生进一步输出
  • \e 转义
  • \f 换页
  • \n 新行
  • \r 换行字符
  • \t 水平制表
  • \v 垂直制表
  • \0NNN 八进制值表示的字节NNN(1到3个数字)
  • \xHH 十六进制值表示的字节NNN(1到2个数字)

看这三选项的区别.

 可以看到带-e选项的字符串中的\n被转移成了换行,而-E没有.

还有一种用法,就是可以直接输出到指定文件,用法如下:

echo "string" > 文件名

 可以看到原本的文件里的内容是hello world

把hello linux输出到文件里面时候,会先清除文件里所有内容,然后再进入写入.

所以此时文件里只有hello linux.

这是Linux的一些基本的指令,但这只是一小部分,还有一部分等待我们后面继续讲解.

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

nodejs+vue毕业生就业知道信息平台系统

大学毕业生招聘系统分三个身份登录,一个学生,一个管理员,一个是企业用户。学生可以注册登录管理自己的简历,应聘职位,企业用户可以发布招聘,收到应聘信息,查看学生简历,收藏学生简历,而管理员可以修改任何信息。 管理员模块有: 1.…

【8-数据库表结构的创建后台管理系统的搭建】

一.知识回顾 【0.三高商城系统的专题专栏都帮你整理好了,请点击这里!】 【1-系统架构演进过程】 【2-微服务系统架构需求】 【3-高性能、高并发、高可用的三高商城系统项目介绍】 【4-Linux云服务器上安装Docker】 【5-Docker安装部署MySQL和Redis服务】…

OPSS-PEG-N3,OPSS-PEG-azide,巯基吡啶-PEG-叠氮化学试剂供应

1、名称 英文:OPSS-PEG-N3,OPSS-PEG-azide 中文:巯基吡啶-聚乙二醇-叠氮 2、CAS编号:N/A 3、所属分类:Azide PEG Orthopyridyl disulfide (OPSS) PEG 4、分子量:可定制,2K 巯基吡啶-PEG-叠…

海量短视频打标问题之多模态机器学习

引言 接着讲,既然我们是给视频打标签,那么肯定就不能只局限于图像上做文章。视频文件包含的信息很多,一个短视频除了有一帧一帧的图像,还有声音信息,甚至还有字幕或者用户打的标签和文字评论之类的这些信息&#xff0…

第2关:ZooKeeper配置

配置项介绍 基础配置 tickTime:Client和Server通信心跳数。 Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每隔tickTime的时间就会发送一个心跳。tickTime以毫秒为单位。 initLimit:LF初始通信时限。 集群中的followe…

muduo库的高性能日志库(二)——LogStream文件

目录概述FixBuffer类(模板缓冲区)LogStream类LogStream.hLogStream.cc十进制整数转化为字符串地址(指针)数据转换为16进制字符串浮点类型数据转化为字符串Fmt类C单元测试框架(简略)什么是单元测试常用测试工…

用了CDN就一定比不用更快吗?

对于开发同学来说,CDN这个词,既熟悉又陌生。 平时搞开发的时候很少需要碰这个,但却总能听到别人提起。 我们都听说过它能加速,也大概知道个原因,但是往深了问。 用了CDN就一定比不用更快吗? 就感觉有些…

C++ Reference: Standard C++ Library reference: Containers: deque: deque: cbegin

C官网参考链接&#xff1a;https://cplusplus.com/reference/deque/deque/cbegin/ 公有成员函数 <deque> std::deque::cbegin const_iterator cbegin() const noexcept;返回指向开始的常量迭代器 返回指向容器第一个元素的const_iterator。 const_iterator是指向const内…

大一新生HTML期末作业,实现登录页面

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

js+贝塞尔曲线+animate动画

文章目录一 介绍二 示例1阶贝塞尔曲线2阶贝塞尔曲线3阶贝塞尔曲线:4/n阶贝塞尔曲线三 封装和使用bezier.jsApp.jsxApp.scss一 介绍 贝塞尔曲线(Bzier curve)&#xff0c;又称贝兹曲线或贝济埃曲线&#xff0c;是应用于二维图形应用程序的数学曲线。 下面是我们最常用到bezier曲…

【7-创建商城系统的子模块并将修改后的信息使用Git提交到Gitee上】

一.知识回顾 【0.三高商城系统的专题专栏都帮你整理好了&#xff0c;请点击这里&#xff01;】 【1-系统架构演进过程】 【2-微服务系统架构需求】 【3-高性能、高并发、高可用的三高商城系统项目介绍】 【4-Linux云服务器上安装Docker】 【5-Docker安装部署MySQL和Redis服务】…

测试.net开源敏感词检测库ToolGood.Words

微信公众号“DotNet”看到介绍.net开源敏感词检测库ToolGood.Words的文章《.NET Core一款高性能敏感词检测开源库》&#xff0c;根据参考文献2中的测试&#xff0c;该库的检测效率比C#自带的正则效率高8.8倍&#xff0c;如果数量量越大性能优势越明显。   ToolGood.Words的Gi…

英文Paper写作如何尽量避免抄袭?

说到英文Paper的写作&#xff0c;我们就不得不提到reference&#xff0c;中文称之为引用。在国外&#xff0c;合理正确的利用reference非常重要&#xff0c;国外对于知识产权的保护很严格&#xff0c;对于抄袭行为也是不能容忍的。学术表现差或是学术不诚实问题是造成学生被开除…

4.构造类型,类型转换

构造类型 由若干各个相同或不同类型的数据构成的集合&#xff0c;这种集合类型被称为构造类型 例&#xff1a;int a[10]; 数组、结构体、共用体、枚举 类型转换 数据有不同的类型&#xff0c;不同类型数据之间进行混合运算时必然涉及到类型转换的问题。 转换的方式有两种&am…

使用verdaccio搭建私有组件库

前言 最近公司需要根据现有的公用组件搭建一套私有组件库&#xff0c;方便其他项目使用&#xff0c;然后经过一系列尝试和走了许多坑&#xff0c;终于搭建成功了&#xff0c;这里记录下搭建步骤&#xff0c;希望对你有些帮助。 为什么选择verdaccio 由于公司组件库越来越多&…

ZZNUOJ_Java软件的下载安装和写代码

ZZNUOJ_Java软件的下载安装和写代码一、Java软件myeclipse图标二、下载安装的步骤三、使用myeclipse软件1、创建项目名和类名的步骤2、写代码和运行结果一、Java软件 myeclipse图标 二、下载安装的步骤 第一步骤&#xff1a;下载myeclipse&#xff1a;myeclipse 第二步骤&…

怎么把旧电脑的用户配置文件迁移到新电脑

您购买了一台新笔记本电脑&#xff0c;但不想花大量时间重新下载、编辑、备份旧电脑上的所有文件&#xff0c;也不想重新安装常用的软件&#xff0c;更不想重新配置电脑账户&#xff0c;那么&#xff0c;应该怎么把旧电脑的用户配置文件迁移到新电脑&#xff1f; 一、如何迁移用…

[附源码]java毕业设计基于疫情防控物流管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

BDP 581/591 azide,Bodipy581/591标记叠氮,2183473-20-1

产品名称&#xff1a;Bodipy581/591标记叠氮 英文名称&#xff1a;BDP 581/591 azide CAS&#xff1a;2183473-20-1 BDP 581/591是一种相对疏水的明亮且多用途的荧光团。 结构式&#xff1a; General properties Appearance: dark solid Molecular weight: 474.31 分子式…

中台深入剖析和实现技巧

什么是中台 中台发展史 无共享架构-大烟囱架构 共享架构模式 IaaS架构 PaaS架构 SaaS架构 中台架构 中台定义 中台就是“企业级的能力复用平台”-Thoughtworks 首席咨询师王健 中台是将系统的通用化能力进行打包整合&#xff0c;通过接口的形式赋能到外部系统&#xff0c;从…