【Hello Linux】 Linux基础命令

news/2024/5/9 20:42:01

作者:@小萌新
专栏:@Linux
作者简介:大二学生 希望能和大家一起进步!
本篇博客简介:介绍Linux的基础命令

Linux基础命令

  • ls指令
    • ls
    • ls -a
    • ls -d
    • ls -i
    • ls -s
    • ls -l
    • ls -n
    • ls -F
    • ls -r
    • ls -t
    • ls -R
    • ls -1
    • 总结
    • 思维导图
  • pwd指令
  • whoami指令
  • cd指令
    • cd ..
    • cd + 绝对路径
    • cd + 相对路径
    • cd ~
    • cd -
  • clear指令
  • touch指令
    • touch + 文件名
    • touch -d
  • mkdir指令
    • mkdir + 目录名
    • mkdir -p +多重目录
  • rmdir指令
    • rmdir + 空目录名
    • rmdir -p + 多重目录
  • rm指令
    • rm + 文件名
    • rm -i
    • rm -r
    • rm -f
  • man指令
  • cp指令
    • cp 文件1 文件2
    • cp -i
    • cp -f
    • cp -r
  • mv指令
    • mv 文件1 文件2
    • mv -i
    • mv -f
  • cat指令
    • cat + 文件
    • cat + n
    • cat + b
    • cat + s
  • tac指令
  • more指令
  • less指令
  • head指令
    • head + 文件
    • head -n
  • tail指令
    • tail + 文件
    • tail -n
  • 如何读取文件的指定行到指定行
  • date指令
    • date
    • date +%...
    • 设定时间
    • 时间时间戳转换
    • cal指令
    • cal + 年份/ 月份 + 年份
    • cal -3
    • cal -j
    • cal +y
  • find指令
    • find + 路径 + -name
    • find + 路径 + -szie
  • which指令
  • alias指令
  • grep指令
    • grep -i
    • grep -n
    • grep -v
  • adduser
  • userdel
  • zip / unzip
  • tar指令
    • tar -czf
    • tar -xzf xxx -C
    • tar -tf
  • file指令
    • file + 文件
  • bc指令
  • uname指令
    • uname -r
    • uname -a
  • 五个重要热键
    • 上下按键 (很重要!)
    • ctrl + d
    • ctrl + c
    • tab
    • ctrl + R
  • 关机指令

ls指令

ls

在我们使用的windows系统中 一般会直接展现该目录中的所有子目录和文件在这里插入图片描述
如果我们想要在Linux系统中展现当前目录中的所有子目录和文件则需要我们打出以下命令
在这里插入图片描述

ls -a

在windows系统中 某些文件可能会被隐藏 如果我们不打开 隐藏的项目 这一设置 它们是不会展现出来的
在这里插入图片描述
而在Linux系统中 如果我们想要展示所有文件我们则需要使用 ls-a这个命令

这里要注意的是

  • 在Linux中每个目录下有两个文件是默认隐藏的 它们分别是 . 和 . .
  • 其中 . 代表当前目录 . .代表上级目录

在这里插入图片描述

ls -d

ls -d的作用是将目录像文件一样展示 而不是展示目录下的文件

在这里插入图片描述
我们这里使用了三个ls命令 接下来我将详细解释这三个命令以及它们对于解释ls -d的意义

  1. 首先我们如果直接用ls + 目录名的话 则会展示目录下的所有文件即目录
  2. 我们在ls后面加上-d命令之后 则只会展示这个目录
  3. 如果我们使用ls -d后面不指定文件 则默认展示当前文件 当前文件为 .

ls -i

ls -i的作用是输出文件的 i 节点的索引信息

在这里插入图片描述
至于i节点的索引信息是什么 我们目前阶段不需要知道

ls -s

ls -s的作用是在文件名前输出该文件的大小

在这里插入图片描述

ls -l

ls -l的作用是展示文件的详细信息

一般来说我们习惯上将 ls -l 简化为 ll 两种写法是一样的

在这里插入图片描述

ls -n

ls -n的作用是使用用户的uid gid来代替名称

在这里插入图片描述

ls -F

ls -F的作用是在每个文件的最后加上一个字符来说明该文件的类型

其中字符的说明如下

  • “*” 表示可执行的普通文件
  • “/” 表示目录
  • “@” 表示符号链接
  • “|” 表示FIFOs
  • “=” 表示套接字sockets

在这里插入图片描述

ls -r

ls -r的作用是对目录反向排序

在这里插入图片描述

ls -t

ls -t的作用是对目录按照时间排序

为了验证是否真的是按照时间排序 我们可以使用 ll 看文件的创建时间

在这里插入图片描述

ls -R

ls -R的作用是展示目录下所有子目录的信息

在这里插入图片描述

ls -1

ls -1的作用是每行只输出一个子目录或文件

在这里插入图片描述

总结

  • 我们在使用ls指令的时候如果有多种要求可以省略 - 符号

在这里插入图片描述
比如说这里的r1就是既让目录逆序又让它每行只输出一个

  • 如果不指定目录 则默认操作对象为当前目录 这一点在ls -d中已进行验证 这里不再赘述

思维导图

在这里插入图片描述

pwd指令

pwd指令是显示用户当前所在的目录

在windows系统下 我们想要看到文件的位置 只需要找到上面的索引即可

在这里插入图片描述

而在Linux系统下我们则需要通过pwd命令来实现

在这里插入图片描述

whoami指令

whoami指令的作用是显示当前用户的身份

在这里插入图片描述

cd指令

cd的作用是改变目录

在讲解cd指令之前我们首先要对于Linux系统文件的结构要有一个大概的认知

在这里插入图片描述
首先Linux系统的基本结构是一颗多叉树

每个目录都可以是一个非叶子节点 而每个普通文件都可以是一个叶子节点

而实际上windows的系统储存结构也是类似一颗多叉树

在windows中我们可以通过鼠标的点击来实现目录之间的切换
在这里插入图片描述

而在Linux中我们通过cd操作来实现这一点

下面我将介绍几种cd指令的常用方式

cd …

cd …的作用是进入上级目录

在这里插入图片描述

cd + 绝对路径

cd + 绝对路径的作用是进入该绝对路径

在这里插入图片描述

cd + 相对路径

cd + 相对路径的作用是进入该相对路径

其实这一点我们的 …操作已经演示了

… 就是一个相对路径 它是相对于当前目录来说的

cd ~

cd ~ 的作用是进入主目录

这里有一点要注意的是

  • root的主目录是 /root
  • 普通用户的主目录是 /home/username

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

cd -

cd -的作用是返回上一次所在的目录

在这里插入图片描述

clear指令

clear指令的作用是清屏

在这里插入图片描述
我们可以看到 经过clear命令了之后屏幕上的所有指令都消失了
在这里插入图片描述
这里再深入了解下clear

其实它并不是将所有命令清除 而是将它们放到屏幕的上方去了 如果我们使用鼠标滚轮向上滑动的话我们还是可以找到之前的命令的

在这里插入图片描述

touch指令

touch指令的作用是创建一个新的空文件或者更改文档的日期时间

常用指令如下

touch + 文件名

touch + 文件名可以创建一个空文件

在这里插入图片描述

touch -d

touch -d可以指定时间创建一个空文件

在这里插入图片描述

touch的其余指令要学习到更深入的linux知识之后才能理解

因此其余内容会更新在后面的博客之中

mkdir指令

mkdir指令的用途是创建一个新空目录

在windows系统中 我们可以通过右键选择来新建一个目录或者文档
在这里插入图片描述
而对应到linux系统中 这个动作变成了mkdir指令

mkdir + 目录名

它的作用是创建一个新的目录

在这里插入图片描述

mkdir -p +多重目录

它的作用是创建多重目录

一般的 我们如果不加上-p指令 我们是无法创建多重目录的

·

但是加上-p指令之后就可以创建成功了

在这里插入图片描述

rmdir指令

rmdir指令的用途是删除一个新空目录

在windows系统中 我们想要删除一个空目录 同样的 只需要右键点击 然后找到删除按钮就好

在这里插入图片描述
而在Linux中这个指令是rmdir

rmdir + 空目录名

删除这个空目录

需要特别注意的是 如果该目录不为空 则我们不能删除

在这里插入图片描述

我们可以知道dir4目录是为空的 之后我们来试验下rmdir命令

在这里插入图片描述
可以删除

rmdir -p + 多重目录

如果删除子目录之后父目录为空 则删除父目录

在这里插入图片描述

rm指令

rm指令可以用来删除各种文件

rm + 文件名

它的作用是指定删除文件

值得注意的是 linux中并没有回收站一类的东西 所以删除文件前务必小心仔细!!!

在这里插入图片描述

rm -i

它的作用是删除文件前逐一询问

在这里插入图片描述

rm -r

它的作用是递归删除目录及以下的所有文件

在这里插入图片描述

rm -f

强制删除文件 不询问

通常我们f指令和r指令一起使用

在这里插入图片描述

通常我们使用通配符 " * " 来告知系统我们要删除当前目录下的所有文件

在这里插入图片描述
一般的 我们在删除的时候喜欢加上 ./来指定删除当前目录下的文件

使用 -f 来强制删除 不用询问

在这里插入图片描述

这里有一个特别危险的命令

rm -rf / 

这个命令的意思是从根目录开始递归删除所有的文件

我们在上面提到过了 linux中式没有回收站的

所以说一旦删除了之后我们就几乎没有办法能够恢复文件了!

这也是我们所说的删库操作

删库操作是有很大概率触犯法律的 所以同学们只要知道这个命令就好 在实际的工作中不要去尝试

man指令

它的作用是帮助我们学习或回忆linux的指令和其他指令

在这里插入图片描述
在这里插入图片描述
之后它会展示一个文档来告知我们怎么使用

我们只需要按q就能退出这个文档

关于man的一些使用细则如下

  • -k 根据关键字搜索联机帮助
  • num 只在第num章节查找
  • -a 将所有章节的查找结果都显示出来

其中man手册分别八章

  • 可执行程序或shell命令
  • 系统调用(内核提供的函数)
  • 库函数(程序库中的函数)
  • 特殊文件(通常在/dev中找到)
  • 文件格式和约定 如/etc/passwd
  • 游戏
  • 杂项
  • 系统管理命令(通常仅限于root用户)

cp指令

他的作用是复制文件或者目录

在外面的windows系统中 我们可以使用ctrl c ctrl v来 将一个地方的文件或目录转移到另一个地方

而在Linux系统中 我们使用cp指令来完成之

cp 文件1 文件2

将文件1拷贝一份到文件2里面去

在这里插入图片描述

cp -i

他的作用是在文件已经存在的情况下询问用户是否进行重写

在这里插入图片描述

cp -f

他的作用和i相反 强制复制 不询问

在这里插入图片描述

cp -r

递归拷贝 拷贝目录下的所有内容

在这里插入图片描述

mv指令

我们通常使用mv指令来移动文件

mv 文件1 文件2

它的作用是将文件1移动到文件2里面去

在这里插入图片描述
这里还有一种特殊情况 假如说dir1不存在 那么此时就会将dir2重名名为dir1

在这里插入图片描述

mv -i

它的在目标文件已存在的情况下询问是否重写

在这里插入图片描述

mv -f

它的在目标文件已存在的情况下不询问是否重写 直接覆盖

在这里插入图片描述

cat指令

cat指令的作用是查看目标文件的内容

在windows系统中 如果我们想要查看一个文件的内容 我们需要点击并打开它
在这里插入图片描述
但是在Linux系统中 如果我们想要查看文件的内容则我们只需要使用cat命令

cat + 文件

在这里插入图片描述

cat + n

它的作用是显示行数

在这里插入图片描述

cat + b

它的作用是对非空行进行编号

在这里插入图片描述

cat + s

它的作用是禁止空行连续输出

在这里插入图片描述
我们可以发现 连续的空行不见了

tac指令

它的作用是反向查看文件

在这里插入图片描述
我们可以发现 输出反过来了

more指令

more指令用来看海量信息文件

当我们的文件内容比较多的时候我们使用more指令来查看

在这里插入图片描述

这里有几个注意点:

  • more指令查看时会加载整个文件
  • more指令只能向下翻页不能向上翻页
  • more指令只能使用enter来翻页

less指令

less指令用来查看海量信息文件 并且具有翻页和搜索功能

在这里插入图片描述

下面是几个注意点

  • less指令查看时不会加载整个文件
  • less指令可以通过 kj来进行上下翻页操作
  • 如果想要搜索内容可以通过 / + 搜索内容的方式来搜索

下面是几个常用选项

  • -i 忽略搜索时的大小写
  • -N 显示每行的行号
  • /字符串 向下搜索“字符串”的功能
  • ?字符串 向上搜索“字符串”的功能
  • n 重复前一个搜索(与/或?有关)
  • N 反向重复前一个搜索(与/或?有关

head指令

用于展示输出文件的开头 默认输出前十行

head + 文件

在这里插入图片描述

head -n

它的作用是指定输出的行数

在这里插入图片描述

tail指令

用于展示输出文件的末尾 默认输出最后十行

tail + 文件

在这里插入图片描述

tail -n

它的作用是指定输出的行数

在这里插入图片描述

如何读取文件的指定行到指定行

假设现在有以下要求

我们要读取并输出test2.c的第4行到第8行

经过上面的tail指令操作之后我们能想到如下的解决方式

  1. 首先读取文件的前8行并将其重定向道一个新文件中
  2. 读取并打印新文件的后5行

经过这样子的两步操作就能够得到我们想要的效果了

在这里插入图片描述
但是呢 这种方式特别的麻烦 尤其是要我们创建一个新文件来当作中转站

那么有没有办法能够解决这个麻烦呢?

linux中提出了一种叫做管道的思路

大致思路图如下

在这里插入图片描述
对应到我们需要解决的问题上 我们可以这样子做

  1. 我们使用head指令生产出前面八行的数据
  2. 我们使用 管道 来传输数据
  3. 我们使用 tail 来最后读取数据

在这里插入图片描述

date指令

date指令与时间相关

date

date命令可以显示当前的日期时间

在这里插入图片描述

date +%…

它的作用是显示更加具体的时间或日期

其中我们只需要知道两个比较关键的命令就好

date +%X 显示完整的当日时间

在这里插入图片描述

date +%F显示完整的日期

在这里插入图片描述

设定时间

此外date指令还可以用来设定时间

其中使用格式如下

  • date -s 设置当前时间 只有root用户才能设置 普通用户只能查看
  • date -s 20210725 将时间设置为20210725 这样会将具体时间设置为空(00:00:00)
  • date -s 01:01:01 设置具体时间 不会对日期做更改
  • date -s “01:01:01 2021-07-25” 同时设置日期和具体时间
  • date -s “01:01:01 20210725” 同时设置日期和具体时间
  • date -s “2021-07-25 01:01:01” 同时设置日期和具体时间
  • date -s “2021072501:01:01” 同时设置日期和具体时间

时间时间戳转换

我们可以通过以下的两个命令来完成时间和时间戳的转换

date +%s
在这里插入图片描述

date -d @时间戳
在这里插入图片描述

cal指令

cal指令用来显示日历

cal + 年份/ 月份 + 年份

如果cal后面+一个参数则默认为年份
如果cal后面+两个参数则默认为月份+年份

在这里插入图片描述

在这里插入图片描述

cal -3

显示以本月为中心的三个月份

在这里插入图片描述

cal -j

它的作用是让你知道你在一年中的第几天

在这里插入图片描述

cal +y

显示当前年份的日历

在这里插入图片描述

find指令

find指令用于在文件树中查找文件

这个指令是真正的遍历整棵树来查找文件

find + 路径 + -name

查找指定路径下的指定文件

在这里插入图片描述

find + 路径 + -szie

按照文件大小查找文件

在这里插入图片描述

which指令

which指令用于查看文件所在位置

Linux系统涉及采取了 “一切皆文件” 这种涉及哲学

将其中所有的命令都设计成了文件的形式

我们可以使用下面的代码来证明

在这里插入图片描述

alias指令

alias指令的作用是取别名

这个和我们c语言中的typedef十分相似

它的语法是这样子的

alias 别名=‘原名’

在这里插入图片描述
这里有一点需要注意的是

**我们的取别名仅仅是这次有效 下次登录就会失效 **

此外我不建议大家对于linux的命令取别名

grep指令

grep指令的作用是在文件中搜索字符串并打印

在这里插入图片描述

grep -i

它的作用是忽略大小写进行查找

在这里插入图片描述

grep -n

它的作用是输出带行号

在这里插入图片描述

grep -v

反向选择

在这里插入图片描述

我们可以发现 搜索出来的结果没有1

adduser

添加用户

首先添加用户必须要使用root用户的权限才能执行

添加用户分三步走

  1. 首先 adduser + 用户名

在这里插入图片描述

  1. 设置密码

在这里插入图片描述
这一有一点需要注意的是 我们设置密码的时候光标不移动

  1. 重复密码

之后只需要再输入一次密码 用户就创建成功了

在这里插入图片描述
之后我们只需要使用 ls /home 就能看见我们新增的用户了

在这里插入图片描述

userdel

我们使用userdel -r + 用户名 就能删除用户了

在这里插入图片描述
我们可以看到test用户直接被我们删除了

zip / unzip

它们的作用是压缩和解压文件

它的语法格式是这样子的

zip 选项 压缩文件.zip 待打包目录或文件

在这里插入图片描述
接下来就到解压了

语法是

unzip 压缩文件.zip 选项 目录

在这里插入图片描述

tar指令

tar指令也可以用来打包压缩和解压文件

它的语法格式如下

tar 选项 压缩文件 指定位置

各种常用选项如下

  • -c 建立一个压缩文件的参数指令(create)
  • -x 解开一个压缩文件的参数指令
  • -t 查看tarfile里面的文件
  • -z 是否同时具有gzip属性?即是否需要用gzip压缩?
  • -j 是否同时具有bzip2属性?即是否需要用bzip2压缩?
  • -v 压缩的过程中显示文件(常用)
  • -f 使用档名 请留意 在f之后要立即接档名 不要再加参数
  • -C 解压到指定目录

tar -czf

它的作用是使用.gzip格式打包到新目录中

在这里插入图片描述

tar -xzf xxx -C

它的作用是解压到指定目录中

在这里插入图片描述

tar -tf

不解压 查看压缩包内的内容

在这里插入图片描述

file指令

它的用处是查看文件的详细信息

file + 文件

在这里插入图片描述

bc指令

它的作用是展示一个计算器进行计算

在这里插入图片描述

uname指令

它的作用是显示系统的各种信息

uname -r

输出内核和电脑的操作系统相关信息
在这里插入图片描述

uname -a

输出服务器的所有详细信息

在这里插入图片描述

五个重要热键

上下按键 (很重要!)

它的作用是可以按照顺序一个个翻找我们之前写的指令

在这里插入图片描述

ctrl + d

它的作用是退出当前命令行

我们只需要按一次ctrl + d就能退出当前用户的登录

ctrl + c

它的作用是终止程序

因为有些情况我们可能会面对失控程序

这个时候我们就需要用 ctrl + c来强制停止它

tab

它的作用是自动补齐

当我们只记得指令的前面几个字母的时候我们可以使用tab指令

它可以帮助我们自动补齐

如果前面几个字母不能唯一确定指令的话 那么按两次 tab 它就会展示所有的命令

ctrl + R

它的作用是搜索以前的指令

当我们之前写出了一段很长的指令 但是现在我们不想打出来的时候 我们可以使用它来找出当时的指令

关机指令

用来关机

值得注意的是 我们的云服务器一般不关机!
所以说大家不必试验这个指令

它的指令是shutdown

如果我们不加任何选项 则它会默认在一分钟后关机

它的常用选项如下

  • shutdown -h 立即关机
  • shutdown -c 取消关机
  • shutdown -t xx 经过xx秒之后关机
  • shutdown -r 重新启动

http://wed.xjx100/news/2.html

相关文章

【C++之容器篇】精华:vector常见函数的接口的熟悉与使用

目录前言一、认识vector1. 介绍2. 成员类型二、默认成员函数(Member functions)1. 构造函数2. 拷贝构造函数vector (const vector& x);3. 析构函数4. 赋值运算符重载函数三、迭代器(Iterators)1. 普通对象的迭代器2. const对象…