Ubuntu 系统的基础操作和使用

文章目录

  • 前言
  • 常用命令
    • 1. 基本操作
      • ls
      • cd
      • pwd
    • 2. 对文件的操作
      • touch
      • cat
      • echo
      • vim
    • 3. 对目录的操作
      • mkdir
      • rm
    • 4. 移动文件 / 目录的操作
      • cp
      • mv
    • 5. 总结基本操作
    • 6. 必不可少的实用操作
      • man
      • grep
      • ps
      • netstat
  • 总结


前言

本文内容为一些超常用命令, 内容不多且十分实用, 这些命令是每一个开发人员必须都熟悉了解的. 以下介绍命令时, 本人连接云服务器使用的终端工具是 xShell, 使用的 Linux 发行版是 Ubuntu 的, 所有发行版的基本常用命令都大同小异, 任何版本都可参考学习.

还不知道什么是Linux? 可以先简单了解一下什么是 Linux >> Linux的前世今生

关注收藏, 开始学习吧🧐


常用命令

Ubuntu 是基于 Linux 系统来发行的, 其基本操作没有什么太大的难度, 和 Linux 不能说有点相似, 只能说是一模一样. 其实就是一个练习和使用 Linux 的过程. 在我们的日常工作中, 最常用的命令也只有十个左右. 我们将这些命令熟练掌握之后, 就足以应对大多数工作场景了.

1. 基本操作

我们首先要了解的是对 Linux 目录的一些基本操作, 包括如何访问目录, 如何显示目录, 如何查看自己当前所在位置. 涉及到以下三个操作.

  • ls
  • cd
  • pwd

ls

ls(list), 列出当前 / 指定目录中, 都有哪些内容(包含的文件和目录), 类似于 Windows 的文件资源管理器.(可视化)

在这里插入图片描述

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

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

常用选项

  • -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
  • -d 将目录像文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
  • -k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
  • -l 列出文件的详细信息。
  • -r 对目录反向排序。
  • -t 以时间排序。
  • -R 列出所有子目录下的文件。(递归)

重点示例:

ls

在这里插入图片描述
可以看到我们当前目录下内容并不多. ls 后面也可以跟上一个指定的目录, 列出指定的目录下有哪些内容.

ls /

在这里插入图片描述

我们要知道, Linux 上一定会有 / 这个目录. 叫做 “根目录”, 有点类似于 Windows 系统中的 “此电脑”.

也可以看到 xShell 中会针对不同类型的文件, 使用不同的颜色进行区分.

  • 白色, 代表普通文件.
  • 深蓝色, 代表目录.
  • 浅蓝色, 代表链接文件. (可以理解为 Windows 中的快捷方式)
  • 红色, 代表压缩包.

而我们在查看目录中, 使用更多的是 ls -l 方式 (也可以写作 ll)

ls -l / ll

在这里插入图片描述
在这里插入图片描述

可以发现, 在列出目录的全部信息后. 有点像平时使用的 Windows 系统中的信息了.

在这里插入图片描述
我们拿一条文件信息出来解释.
在这里插入图片描述

  • drwxr-xr-x: 代表文件的权限, 哪些用户可读可写可执行. 第一个字母描述了文件类型, - 为普通文件, d 为目录, l 为链接文件.
  • root: 第一个代表文件的拥有者是谁, 第二个代表的是文件拥有者所在的用户组.
  • 4096: 代表文件的大小.
  • 后面的信息是指上次修改文件时间.

cd

cd(change list), 可以用来切换目录的位置(相当于 Windows 上双击目录的效果), cd 操作大家务必要熟练掌握, 这样才能在我们的 Linux 系统中来去自如.

语法: cd 目录名

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

示例:

cd etc/

进入当前目录下的 etc 目录
在这里插入图片描述

cd ../

返回上级目录
在这里插入图片描述

cd ~

进入用户家目
在这里插入图片描述

cd -

返回最近访问目录
在这里插入图片描述

扩展知识:

认识 Linux 目录结构
Linux 是一个树形目录结构.
在这里插入图片描述
几个特殊的目录:

  • / 称为根目录
  • . 称为当前目录
  • .. 称为当前目录的上级目录

绝对路径 vs 相对路径
形如: /usr/share/tomcat/logs/ 以根目录开头的, 称为绝对路径.
形如: ./logs 以 . 或者 … 开头的, 称为相对路径.

使用 tab 键补全
我们敲的所有的 Linux 命令, 都可以使用 Tab 键来尝试补全, 加快效率.

使用 ctrl + c 重新输入
如果命令或者目录敲错了, 可以 Ctrl + c 取消当前的命令. 在 Linux 中, Ctrl + c 不是复制的意思, 复制操作为 Ctrl + Insert, 粘贴为 Shift + Insert.

pwd

当我们进行 cd 多次后, 找不到自己在哪了, 就可以使用 pwd 来直接查看我们当前位置的绝对路径.

语法: pwd

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

2. 对文件的操作

接下来我们讲讲关于 Linux 中如何对文件进行操作, 包括创建文件, 读取文件内容, 显示文件内容, 写文件. 涉及到以下四个操作:

  • touch
  • cat
  • echo
  • vim

touch

touch 操作用来创建一个文件.

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

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

举例:

touch test.txt
在这里插入图片描述

cat

有了一个文件之后, 我们就可以通过 cat 操作来读取文件内容了.

语法cat [选项] [文件]

功能: 查看目标文件的内容

常用选项

  • -n 对输出的所有行编号

举例:

cat test.txt
在这里插入图片描述
由于此时我们 test.txt 文件是空的, 所以是没有任何内容的.

echo

echo 操作可以实现一个简单的给文件中写内容的效果.

语法: echo [写的内容] >(覆盖) / >>(拼接) [文件名]

功能: 给文件写一些简单内容, 可拼接, 可覆盖.

举例:

echo hello > test.txt
在这里插入图片描述

echo hello >> test.txt
在这里插入图片描述

vim

通过上述操作来读写一些简单的文件还好, 但如果读写一些复杂的文件, 内容更长的文件, 显然就不是很方便了, vim 操作就是针对文件进行更加细粒度的编辑(可以理解为 Linux 系统上自带的记事本程序). vim 这个程序的使用方法其实是非常复杂的, 有兴趣学习 vim 编辑的读者可以查阅 vim 使用相关的书籍. 在这里我主要讲讲, vim 的三个基本操作.

  • 打开文件
  • 编辑文件
  • 保存退出

示例:

创建文件 / 打开文件:
vim test.txt
在这里插入图片描述

进入插入模式(编辑文件):
vim 打开文件后默认是普通模式. 普通模式下键盘的按键表示一些特殊功能的快捷键. (例如按下 j 并不是输入字母 “j”, 而是表示光标往下移动一行). 需要进入插入模式才能进行文本编辑.

使用 i 键可以进入到插入模式. (左下角提示 --INSERT-- ) 然后就可以像记事本一样正常编辑了.
在这里插入图片描述

保存并退出文件:
在插入模式下不能保存退出文件, 需要先回到 普通模式 . 按下 Esc 回到普通模式. 在普通模式下输入 :wq , 再按下回车, 即可保存并退出文件.

也可以单单使用 :w 执行保存操作, :q 执行退出操作.

关于 Vim 的用法还有很多. 此处不做过多介绍了. 有兴趣的读者可以参考 vimtutor (直接在终端输入vimtutor 即可进入官方教程) 或者 参考其余学习书籍.
在这里插入图片描述

3. 对目录的操作

前面讲了对文件的一些操作, 这里再谈一谈对目录的一些操作, 包括创建目录, 删除目录.

  • mkdir
  • rm

mkdir

mkdir(make directory), 可以用来创建目录.

语法mkdir [选项] [目录名]

功能:在当前目录下创建一个目录.

常用选项

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

举例

mkdir test111
在这里插入图片描述

mkdir -p test222/111/222/333
在这里插入图片描述

rm

如果我们想删除一个文件或者目录, 就需要使用到 rm(remove) 操作了.

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

功能:删除文件或目录

常用选项

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

举例:

删除文件:

rm test.txt
在这里插入图片描述

删除目录:

rm -r test222
在这里插入图片描述

重要注意事项:

千万不要运行 rm -rf / , 该操作是删除根目录的所有内容(相当于删除 Windows 系统中打不开 “此电脑” 了). 尤其是在某些生产服务器上.

理解递归删除的过程:

rm -ri test111
在这里插入图片描述

4. 移动文件 / 目录的操作

接下来再聊聊 Linux 中是如何移动, 复制文件 / 目录的.

  • cp
  • mv

cp

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

功能: 复制文件或目录

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

常用选项

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

举例:

cp test1.txt test2.txt
在这里插入图片描述

mv

mv(move), 该操作不仅可以实现文件移动, 还可以实现文件的重命名.

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

功能:

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

常用选项:

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

举例:

mv test2.txt test1.txt
在这里插入图片描述

mv test1.txt test_dir
在这里插入图片描述

5. 总结基本操作

  • ls 列出目录中的内容
  • cd 切换目录
  • pwd 查看目录所在位置
  • touch 创建新的空文件
  • cat 查看文件内容
  • echo 显示内容 / 写文件
  • vim 文本编辑器
  • mkdir 创建目录
  • rm 删除文件或目录
  • cp 复制文件或目录
  • mv 移动文件或重命名

上述讲的和 文件 / 目录 相关的操作命令, 都是 Linux 操作系统中最常用的一些命令, 读者务必将上述命令熟练掌握, 牢记于心.

6. 必不可少的实用操作

接下来我们讲一些 Linux 系统中的其余一些重要命令. 包括查阅手册, 字符串匹配搜索, 查看进程列表, 显示网络状态.

  • man
  • grep
  • ps
  • netstat

man

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。

语法: man [选项] 命令

常用选项:

  • -k 根据关键字搜索联机帮助
  • num 只在第num章节找
  • man man 能够看到 man 手册中的若干个章节及其含义.

举例:

man ls
在这里插入图片描述
查阅完毕后, 我们可以按 q 退出.

grep

可以实现, 字符串搜索 / 匹配的命令.

语法grep [参数]... [文件]...

功能:用于查找文件中是否包含指定字符串, 并显示对应的行.

选项

  • -n<行数> 显示的行数.
  • -w 全字匹配. 要求整个单词都完全相同的结果才能匹配出来, 而不仅仅是一个单词的一部分.
  • -r 递归查找. 可以搜索多级目录下的所有文件.
  • --color 高亮查找到的结果.
  • --include 指定查找某些文件.
  • --exclude 指定排除某些文件.

举例:

我们先创建一个 test.txt 文件, 使用 vim 写入一些内容.
在这里插入图片描述

grep aaaa test.txt
在这里插入图片描述

ps

显示进程列表

语法ps [参数]...

功能:用于查看当前系统上运行的进程

选项

  • a 显示一个终端的所有进程
  • u 以用户为主的格式来显示程序状况
  • x 显示所有程序,不以终端机来区分

举例:

ps

这里的内容不全, 只显示了当前会话中的进程.
在这里插入图片描述

ps aux

这样的操作就可以看到所有完整的进程.
在这里插入图片描述

ps aux | grep vim

联合 grep 操作实现查看 vim 进程.
在这里插入图片描述
| 叫做 “管道”, 能够把多个命令连接到一起, 把前一个命令的输出, 作为后一个命令的输入.

netstat

显示网络状态一些情况.

语法netstat [参数]...

功能:查看系统上的网络状态.

选项

  • -a 显示所有正在或不在侦听的套接字
  • -n 显示数字形式地址而不是去解析主机、端口或用户名
  • -p 显示套接字所属进程的PID和名称

举例:

netstat -anp | grep 80
在这里插入图片描述


总结

✨ 本文重点讲述了 Ubuntu 系统中的十几个常用的基本命令, 掌握这些命令后, 就足以应对大部分的场景了.
✨ 想了解更多知识, 请持续关注博主, 本人会不断更新学习记录, 跟随我一起不断学习.
✨ 感谢你们的耐心阅读, 博主本人也是一名学生, 也还有需要很多学习的东西. 写这篇文章是以本人所学内容为基础, 日后也会不断更新自己的学习记录, 我们一起努力进步, 变得优秀, 小小菜鸟, 也能有大大梦想, 关注我, 一起学习.

再次感谢你们的阅读, 你们的鼓励是我创作的最大动力!!!!!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Head First Design Patterns - 策略模式

策略模式 策略模式&#xff1a;策略模式是一种行为型模式&#xff0c;它将对象和行为分开&#xff0c;将行为定义为 一个行为接口 和 具体行为的实现。策略模式最大的特点是行为的变化&#xff0c;行为之间可以相互替换。每个if判断都可以理解为就是一个策略。本模式使得算法可…

每日一练(编程题-C/C++)

目录 CSDN每日一练1. 2023/2/27- 一维数组的最大子数组和(类型&#xff1a;数组 难度&#xff1a;中等)2. 2023/4/7 - 小艺照镜子(类型&#xff1a;字符串 难度&#xff1a;困难)3. 2023/4/14 - 最近的回文数(难度&#xff1a;中等)4. 2023/2/1-蛇形矩阵(难度&#xff1a;困难)…

算法通关村第十关—归并排序(黄金)

归并排序 一、归并排序原理 归并排序(MERGE-SORT)简单来说就是将大的序列先视为若干个比较小的数组&#xff0c;分成几个比较小的结构&#xff0c;然后是利用归并的思想实现的排序方法&#xff0c;该算法采用经典的分治策略&#xff08;分就是将问题分(divide)成一些小的问题分…

BIT-6-指针(C语言初阶学习)

1. 指针是什么 2. 指针和指针类型 3. 野指针 4. 指针运算 5. 指针和数组 6. 二级指针 7. 指针数组 1. 指针是什么&#xff1f; 指针是什么&#xff1f; 指针理解的2个要点&#xff1a; 指针是内存中一个最小单元的编号&#xff0c;也就是地址平时口语中说的指针&#xff0c;通常…

【FPGA】分享一些FPGA视频图像处理相关的书籍

在做FPGA工程师的这些年&#xff0c;买过好多书&#xff0c;也看过好多书&#xff0c;分享一下。 后续会慢慢的补充书评。 【FPGA】分享一些FPGA入门学习的书籍【FPGA】分享一些FPGA协同MATLAB开发的书籍 【FPGA】分享一些FPGA视频图像处理相关的书籍 【FPGA】分享一些FPGA高速…

【什么是反射机制?为什么反射慢?】

✅ 什么是反射机制&#xff1f;为什么反射慢&#xff1f; ✅典型解析✅拓展知识仓✅反射常见的应用场景✅反射和Class的关系 ✅典型解析 反射机制指的是程序在运行时能够获取自身的信息。在iava中&#xff0c;只要给定类的名字&#xff0c;那么就可以通过反射机制来获得类的所有…

合并两个有序链表算法(leetcode第21题)

题目描述&#xff1a; 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a;输入&#xff1a;l1 [1,2,4], l2 [1,3,4] 输出&#xff1a;[1,1,2,3,4,4] 示例 2&#xff1a;输入&#xff1a;l1 [], l2 [] 输…

【FPGA 器件比较】Altera -- Xilinx

比较以下市场前二名的产品线及定位 应用场景XilinxAltera高性能VersalAgilex F/I性能Virtex / Kintex / Artix / Zynq UltraScaleAgilex F/I / Stratix 10中档Virtex / Kintex / Zynq ~ 7 / UltraScaleStratix 10 / Arria 10低成本Artix-7 Sparton-7Cyclone 10 如上表&#x…

06_树的入门

二叉树入门 树的基本定义树的相关术语二叉树的基本定义二叉查找树的创建二叉树的结点类二叉查找树API设计二叉查找树实现二叉查找树其他便捷方法查找二叉树中最小的键查找二叉树中最大的键 二叉树的基础遍历前序遍历中序遍历后序遍历 二叉树的层序遍历二叉树的最大深度问题折纸…

【图文教程】windows 下 MongoDB 介绍下载安装配置

文章目录 介绍MySQL 之间的区别和适用场景差异数据模型&#xff1a;查询语言&#xff1a;可扩展性&#xff1a;数据一致性&#xff1a; 下载安装环境变量配置 介绍 MongoDB 是一种开源的、面向文档的 NoSQL 数据库管理系统。它使用灵活的文档模型来存储数据&#xff0c;这意味…

HarmonyOS4.0系统性深入开发03UIAbility组件详解(中)

UIAbility组件基本用法 UIAbility组件的基本用法包括&#xff1a;指定UIAbility的启动页面以及获取UIAbility的上下文UIAbilityContext。 指定UIAbility的启动页面 应用中的UIAbility在启动过程中&#xff0c;需要指定启动页面&#xff0c;否则应用启动后会因为没有默认加载…

嵌入式开发必须学习qt吗?

嵌入式开发必须学习qt吗&#xff1f; 在开始前我有一些资料&#xff0c;是我根据自己从业十年经验&#xff0c;熬夜搞了几个通宵&#xff0c;精心整理了一份「 嵌入式的资料从专业入门到高级教程工具包」&#xff0c;点个关注&#xff0c;全部无偿共享给大家&#xff01;&#…