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

【Linux操作系统】简学深悟启示录:Linux基本指令

文章目录

  • 1.什么是操作系统?
  • 2.Xshell的使用
  • 3.常用指令
    • 3.1 ls指令
    • 3.2 pwd指令
    • 3.3 cd指令
    • 3.4 touch指令
    • 3.5 mkdir指令
    • 3.6 rmdir指令 && rm指令
    • 3.7 man指令
    • 3.8 cp指令
    • 3.9 mv指令
    • 3.10 cat指令
    • 3.11 echo指令(重定向)
    • 3.12 more指令
    • 3.13 less指令
    • 3.14 head指令
    • 3.15 tail指令
    • 3.16 date指令
    • 3.17 cal指令
    • 3.18 find指令
    • 3.19 grep指令
    • 3.20 zip/unzip指令
    • 3.21 tar指令
    • 3.22 bc指令
    • 3.23 uname指令
    • 3.24 shutdown指令
  • 4.常用快捷键
  • 希望读者们多多三连支持
  • 小编会继续更新
  • 你们的鼓励就是我前进的动力!

本篇将开启 Linux 操作系统的全面学习,默认使用的是 CentOS 操作系统,使用 Xshell 进行远程登录服务器进行操作测试

1.什么是操作系统?

在这里插入图片描述

这是一个计算机系统层次结构的示意图,运行的过程是从上往下实现的,操作系统其实本质也是一种软件,是一种基础软件,对下提供软硬件资源的管理,对上提供稳定、快速、安全的操作环境,给予应用软件功能的支撑,因此所有的软件最终都会转化为硬件行为,都要经过操作系统的管理

2.Xshell的使用

在这里插入图片描述

目前更新的最新的是Xshell8,可以直接下载家庭学校的免费版本,能够满足基本的 Linux 学习,再就是需要自己购买一台轻量级云服务器进行登录使用

[C:\~]$ ssh root@公网IP地址

首先初始状态下只有一个主用户,即 root,输入 ssh root@公网IP地址,然后会弹出窗口让你输入密码,公网 IP 和密码都能在你购买服务器的地方找到

[C:\~]$ Connecting to 公网IP:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.WARNING! The remote SSH server rejected X11 forwarding request.
Last failed login: Tue Jun 17 21:39:20 CST 2025 from 公网IP on ssh:notty
There was 1 failed login attempt since the last successful login.
Last login: Tue Jun 17 21:21:28 2025 from 公网IPWelcome to Huawei Cloud Service

显示这一段说明就连接成功了,这个警告不用管,我使用的是华为云,可能会出现些许不兼容的情况,但是这不影响后续的学习,但是我们一般不使用主用户,root 操作记录混杂,出问题时难以定位责任;普通账户操作留痕,便于排查。所以一般创建普通用户来使用

[root@hcss-ecs-6aa4 ~]# adduser 用户名

adduser 用户名 用于增加普通用户

[root@hcss-ecs-6aa4 ~]# passwd 用户名
Changing password for user 用户名.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.

passwd 用户名 设置刚创立的普通用户的密码,一般输入的时候密码不回显

然后可以输入 exit 退出 root 账户(其实也能用命令直接切换,后面会讲),切换用户名即可登录普通用户账号

🔥值得注意的是:

[root@hcss-ecs-6aa4 ~]# userdel -r 用户名

由于 root 用户权限比普通用户高,所以只有在 root 用户下才能通过 userdel -r 用户名 来删除普通用户

3.常用指令

Linux 通常都在后端运行,纯命令行能降低消耗,提高效率,因此一般不需要图形化界面,指令一般都会搭配选项使用

3.1 ls指令

在这里插入图片描述

ls 的作用是列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息

Linux 中,目录指的就是我们平常创建的文件夹,蓝色的是目录,白色的是文件

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

🔥值得注意的是:

常用的是 -a-l-F-d,其他一般不怎么用

[zzh_test@hcss-ecs-6aa4 ~]$ ll
total 4
drwxrwxr-x 3 zzh_test zzh_test 4096 Jun 18 19:14 dir1
-rw-rw-r-- 1 zzh_test zzh_test    0 Jun 17 23:23 text1

ls -l 可以缩写成 ll

第三行:d 开头的表示目录
第四行:- 开头的表示普通文件

3.2 pwd指令

[zzh_test@hcss-ecs-6aa4 ~]$ pwd
/home/zzh_test

pwd 的作用是显示当前所在的路径,没有搭配的选项

3.3 cd指令

Linux 任何一个目录下都有两个隐藏文件

  • .:表示当前路径
  • ..:表示上一级路径

这两个文件都是为了帮助定位文件位置,即相对路径,平常见到的路径一般是绝对路径

在这里插入图片描述

所有的文件都是从根目录 / 开始的

[zzh_test@hcss-ecs-6aa4 ~]$ ls
dir1  text1
[zzh_test@hcss-ecs-6aa4 ~]$ cd dir1
[zzh_test@hcss-ecs-6aa4 dir1]$ pwd
/home/zzh_test/dir1

改变工作目录,将当前工作目录改变到指定的目录下

  • cd ..:返回上级目录
  • cd /home/litao/linux/:绝对路径
  • cd ../day02/ :相对路径
  • cd ~ :进入用户家目录
  • cd - :返回最近访问目录

3.4 touch指令

[zzh_test@hcss-ecs-6aa4 ~]$ touch text2
[zzh_test@hcss-ecs-6aa4 ~]$ ls
dir1  text1  text2

touch 指令可更改文档或目录的相关属性,或者新建一个不存在的文件

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

3.5 mkdir指令

[zzh_test@hcss-ecs-6aa4 ~]$ mkdir -p dir1/dir2/dir3
[zzh_test@hcss-ecs-6aa4 ~]$ tree
.
├── dir1
│   └── dir2
│       └── dir3
├── text1
└── text23 directories, 2 files

mkdir 用于创建目录(文件夹)

🔥值得注意的是:

  • -p 一般用于递归式创建目录,普通创建就需要进入该级目录才能创建下一级目录,所以 -p 就方便了很多
  • tree 指令用于展示树形结构的目录文件的层级关系,使用 yum install -y tree 指令下载即可使用

3.6 rmdir指令 && rm指令

rmdir 只能用来删除空目录

  • -p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除
[zzh_test@hcss-ecs-6aa4 ~]$ tree
.
├── dir1
│   └── dir2
│       └── dir3
├── text1
└── text23 directories, 2 files
[zzh_test@hcss-ecs-6aa4 ~]$ rm -rfi dir1
rm: descend into directory ‘dir1’? y
rm: descend into directory ‘dir1/dir2’? y
rm: remove directory ‘dir1/dir2/dir3’? y
rm: remove directory ‘dir1/dir2’? y
rm: remove directory ‘dir1’? y
[zzh_test@hcss-ecs-6aa4 ~]$ tree
.
├── text1
└── text20 directories, 2 files

rmdir 还是太鸡肋了,所以更多使用 rm,能够删除文件或目录

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

3.7 man指令

[zzh_test@hcss-ecs-6aa4 ~]$ man man

man 指令用于查看指令手册,毕竟不可能记住所有的指令,man man 是查询 man 这条指令的意思

  • -k:根据关键字搜索联机帮助
  • numman num printf 只在第 num 章节找,比如 printf 在第一章是一个命令,但是在第三章是一个函数,有可能你的系统没有安装相应手册文件,可执行 yum install man-pages,就能查找函数了
  • -a:将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用 a 选项,当按下 q 退出,他会继续往后面搜索,直到所有章节都搜索完毕

在这里插入图片描述

3.8 cp指令

[zzh_test@hcss-ecs-6aa4 ~]$ ls
text1  text2
[zzh_test@hcss-ecs-6aa4 ~]$ cp text1 new_test
[zzh_test@hcss-ecs-6aa4 ~]$ ls
new_test  text1  text2

cp 指令的作用是将已存在的文件或目录,复制到新文件(若文件不存在会自行创建)或目录中

cp 源文件1 源文件2 源文件3... 目标目录/

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

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

🔥值得注意的是: 同一目录下,不能出现同名文件

3.9 mv指令

[zzh_test@hcss-ecs-6aa4 dir1]$ mv a1 ../
[zzh_test@hcss-ecs-6aa4 dir1]$ mv a1 text1
[zzh_test@hcss-ecs-6aa4 dir1]$ mv a1 dir1
[zzh_test@hcss-ecs-6aa4 dir1]$ mv a1 ../text1
[zzh_test@hcss-ecs-6aa4 dir1]$ mv a1 ../dir1

mv 命令是 move 的缩写,可以用来 移动文件 或者 将文件改名

第一行: 表示将文件 a1 剪切到上级目录下
第二行: 表示将文件 a1 剪切到当前路径的文件 text1,即重命名
第三行: 表示将文件 a1 剪切到当前路径的目录 dir1
第四行: 表示将文件 a1 剪切到上级路径的文件 text1,即重命名
第五行: 表示将文件 a1 剪切到上级路径的目录 dir1

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

3.10 cat指令

[zzh_test@hcss-ecs-6aa4 ~]$ tree
.
├── dir1
│   ├── dir2
│   │   └── dir3
│   └── new_test
├── my_dir
│   ├── a1
│   └── dir2
│       └── dir3
├── text1
└── text26 directories, 4 files
[zzh_test@hcss-ecs-6aa4 ~]$ cat dir1/new_test
hello world!

cat 的作用是查看文件内容

  • -b 对非空行输出行编号
  • -n 对输出的所有行编号
  • -s 不输出多行空行,即将多行空行压缩成一行空行输出

3.11 echo指令(重定向)

[zzh_test@hcss-ecs-6aa4 ~]$ ll
total 12
drwxrwxr-x 3 zzh_test zzh_test 4096 Jun 26 00:12 dir1
drwxrwxr-x 3 zzh_test zzh_test 4096 Jun 22 15:21 my_dir
-rw-rw-r-- 1 zzh_test zzh_test   44 Jun 29 20:41 text1
-rw-rw-r-- 1 zzh_test zzh_test    0 Jun 18 22:06 text2
[zzh_test@hcss-ecs-6aa4 ~]$ echo "Hello Linux" > text2
[zzh_test@hcss-ecs-6aa4 ~]$ cat text2
Hello Linux

Linux 中,一切的指令本质皆是可执行文件,指令也是在系统特定路径下存在的,本来正常情况下 echo 是向显示器打印出来给我们看的,但是加了 > 表示 输出重定向,即将本来打印到显示器的文本重定向到具体文件中(若文件不存在会自动创建)

默认情况下,echo 会在输出末尾自动加换行符;若要取消,在 Linux 中可用 echo -n "文本",例如 echo -n "Hi" 输出后不会换行

但是 > 在写入的时候是覆盖式写入,即先清空文件再写入,如果想要追加可以使用 >>,同样的,像 cat > text1 这样的,叫做 输入重定向,其实作用和 cat text1 没啥区别,他的区别在深入学习后会讲

通常能够打印信息到显示器的指令都能使用输出重定向,输入重定向同理

3.12 more指令

[zzh_test@hcss-ecs-6aa4 ~]$ more Text
hello Linux 1
hello Linux 2
hello Linux 3
hello Linux 4
hello Linux 5
hello Linux 6
hello Linux 7
hello Linux 8
hello Linux 9
......

当遇上大文本时,cat 的查看就不适合了,因为需要自行翻找内容特别麻烦,因此 cat 只适合查看小文本,这个时候就要使用 more 指令,查看的时候可以按 ENTER 键向下滚动翻找

  • /字符串:查找特定内容
  • q:退出 more

3.13 less指令

lessmore 类似,但使用 less 可以使用⬆️⬇️随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件,只会加载你需要看的部分,加快了文件打开速度

  • -i:忽略搜索时的大小写
  • -N:查看的时候,输入再按 ENTER 会显示每行的行号
  • -n:隐藏输出的所有行编号
  • /字符串:向下搜索“字符串”的功能
  • ?字符串:向上搜索“字符串”的功能
  • q:退出 less
  • n:重复前一个搜索(与 /? 有关)
  • N:反向重复前一个搜索(与 /? 有关)

/hello 搜关键词 hello ,找到第 3 行的 hello
n → 继续往下(正向)找下一个 hello
N → 往回(反向)找之前的 hello

3.14 head指令

[zzh_test@hcss-ecs-6aa4 ~]$ head -5 Text
hello Linux 1
hello Linux 2
hello Linux 3
hello Linux 4
hello Linux 5

head 用于捕捉大文本的前面的内容,若没有指定行数,head 默认查看前十行

  • -n:显示的行数

3.15 tail指令

[zzh_test@hcss-ecs-6aa4 ~]$ tail -5 Text
hello Linux 996
hello Linux 997
hello Linux 998
hello Linux 999
hello Linux 1000

tail 用于捕捉大文本的结尾的内容,若没有指定行数,tail 默认查看后十行

  • -f:循环读取,执行后不会退出,而是持续监听文件变化,一旦文件有新内容添加(比如日志文件被写入新记录),会立即显示在屏幕上,直到手动按 Ctrl + C 终止
  • -n:显示行数

🔥值得注意的是:

有一个文件共有 1000 行内容,请取出第 500-510 行内容

  • 方法一
  1. head -510 Text 生成 1510 的序列装入临时文件 tmp
  2. tail -11 tmp 取出结尾 500-510 行的内容
  • 方法二
[zzh_test@hcss-ecs-6aa4 ~]$ head -510 Text | tail -11
hello Linux 500
hello Linux 501
hello Linux 502
hello Linux 503
hello Linux 504
hello Linux 505
hello Linux 506
hello Linux 507
hello Linux 508
hello Linux 509
hello Linux 510

利用管道文件的方法,像流水线一样快速处理多个指令,| 作用是将前一个命令 head 的输出作为后一个命令 tail 的输入

3.16 date指令

[zzh_test@hcss-ecs-6aa4 ~]$ date +%Y-%m-%d_%H:%M:%S
2025-07-04_16:40:39

data 用于显示时间

  1. 在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下
  • %H:小时(00..23)
  • %M:分钟(00..59)
  • %S:秒(00..61)
  • %X:相当于 %H:%M:%S
  • %d:日 (01..31)
  • %m:月份 (01..12)
  • %Y:完整年份 (0000..9999)
  • %F:相当于 %Y-%m-%d
  1. 在设定时间方面
  • date -s //设置当前时间,只有 root 权限才能设置,其他只能查看。
  • date -s 20080523 //设置成 20080523,这样会把具体时间设置成空 00:00:00
  • date -s 01:01:01 //设置具体时间,不会对日期做更改
  • date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
  • date -s “01:01:01 20080523″ //这样可以设置全部时间
  • date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
  • date -s “20080523 01:01:01″ //这样可以设置全部时间
  1. 时间戳

时间戳:197011 日开始算的秒数,比如 202574 日对应的秒数是 1751500800

  • 时间->时间戳:date +%s
  • 时间戳->时间:date -d@1508749502
  • Unix 时间戳(英文为Unix epoch, Unix time, POSIX timeUnix timestamp)是从 197011 日(UTC / GMT的午夜)开始所经过的秒数,不考虑闰秒

3.17 cal指令

[zzh_test@hcss-ecs-6aa4 ~]$ calJuly 2025     
Su Mo Tu We Th Fr Sa1  2  3  4  56  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

cal 命令可以用来显示公历(阳历)日历

  • -3:显示系统前一个月,当前月,下一个月的月历
  • -j:显示在当年中的第几天(一年日期按天算,从 11 号算起,默认显示当前月在一年中的天数)
  • -y:显示当前年份的日历,cal –y 2018

3.18 find指令

[zzh_test@hcss-ecs-6aa4 ~]$ tree
.
├── dir1
│   ├── dir2
│   │   └── dir3
│   └── new_test
├── my_dir
│   ├── a1
│   └── dir2
│       └── dir3
├── Text
├── text1
└── text26 directories, 5 files
[zzh_test@hcss-ecs-6aa4 ~]$ find dir1
dir1
dir1/new_test
dir1/dir2
dir1/dir2/dir3

find 可以在磁盘中进行指定文件的搜索,在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指 30G 字节以上的文件系统)

🔥值得注意的是: 还有一些和find功能类似的指令

[zzh_test@hcss-ecs-6aa4 ~]$ which ls
alias ls='ls --color=auto'/usr/bin/ls

which通常用于搜索指令的路径

[zzh_test@hcss-ecs-6aa4 ~]$ whereis ls
ls: /usr/bin/ls /usr/share/man/man1p/ls.1p.gz /usr/share/man/man1/ls.1.gz

whereis 用于查找命令、源文件和手册页的位置

  • which 仅查找 $PATH 中的可执行文件;whereis 搜索范围更广,包括系统默认的多个目录,且能找到手册页、源码等
  • which 更侧重 “命令在哪里可以执行”,whereis 更侧重 “与目标相关的所有系统文件在哪里”

3.19 grep指令

[zzh_test@hcss-ecs-6aa4 ~]$ grep 99 Text
hello Linux 99
hello Linux 199
hello Linux 299
hello Linux 399
hello Linux 499
hello Linux 599
hello Linux 699
hello Linux 799
hello Linux 899
hello Linux 990
hello Linux 991
hello Linux 992
hello Linux 993
hello Linux 994
hello Linux 995
hello Linux 996
hello Linux 997
hello Linux 998
hello Linux 999

grep 指令是个行文本过滤工具,查找文件包含特定文本行的内容,并显示出来

  • -i:忽略大小写的不同,所以大小写视为相同
  • -n:顺便输出行号
  • -v:反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行

3.20 zip/unzip指令

[zzh_test@hcss-ecs-6aa4 ~]# zip Text.zip Textadding: Text (deflated 86%)
[zzh_test@hcss-ecs-6aa4 ~]# tree
.
├── dir1
│   ├── dir2
│   │   └── dir3
│   └── new_test
├── my_dir
│   ├── a1
│   └── dir2
│       └── dir3
├── Text
├── text1
├── text2
└── Text.zip

zip 命令用于压缩文件,若想要解压文件,可以输入 unzip Text.zip。由于服务器之间的差异,可能没有这两个指令,可以使用 yum install -y zip unzip 进行下载

  • -r 递归处理,将指定目录下的所有文件和子目录一并处理

3.21 tar指令

[zzh_test@hcss-ecs-6aa4 ~]# tar -czf code.tgz text2
[zzh_test@hcss-ecs-6aa4 ~]# ll
total 36
-rw-r--r-- 1 root     root       137 Jul  5 16:53 code.tgz
drwxrwxr-x 3 zzh_test zzh_test  4096 Jul  5 16:43 dir1
drwxrwxr-x 3 zzh_test zzh_test  4096 Jun 22 15:21 my_dir
-rw-rw-r-- 1 root     root     15893 Jun 29 22:16 Text
-rw-rw-r-- 1 zzh_test zzh_test    44 Jun 29 20:41 text1
-rw-rw-r-- 1 zzh_test zzh_test     7 Jul  4 18:07 text2
[zzh_test@hcss-ecs-6aa4 ~]# rm -rf text2
[zzh_test@hcss-ecs-6aa4 ~]# ll
total 32
-rw-r--r-- 1 root     root       137 Jul  5 16:53 code.tgz
drwxrwxr-x 3 zzh_test zzh_test  4096 Jul  5 16:43 dir1
drwxrwxr-x 3 zzh_test zzh_test  4096 Jun 22 15:21 my_dir
-rw-rw-r-- 1 root     root     15893 Jun 29 22:16 Text
-rw-rw-r-- 1 zzh_test zzh_test    44 Jun 29 20:41 text1
[zzh_test@hcss-ecs-6aa4 ~]# tar -tzf code.tgz
text2
[zzh_test@hcss-ecs-6aa4 ~]# tar -xzf code.tgz
[zzh_test@hcss-ecs-6aa4 ~]# ll
total 36
-rw-r--r-- 1 root     root       137 Jul  5 16:53 code.tgz
drwxrwxr-x 3 zzh_test zzh_test  4096 Jul  5 16:43 dir1
drwxrwxr-x 3 zzh_test zzh_test  4096 Jun 22 15:21 my_dir
-rw-rw-r-- 1 root     root     15893 Jun 29 22:16 Text
-rw-rw-r-- 1 zzh_test zzh_test    44 Jun 29 20:41 text1
-rw-rw-r-- 1 zzh_test zzh_test     7 Jul  4 18:07 text2

tarLinux 环境里常用的压缩指令,比 zip 更实用,通常压缩为 tar.gz 格式(简写为 tgz ),tar 不能压缩为 zip,常用选项为 -czfcreat zip file 创建压缩文件),-tzf(查看压缩文件),-xzf(解压压缩文件)

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

3.22 bc指令

[zzh_test@hcss-ecs-6aa4 ~]$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
5 + 3 * 2
11
scale=3    # 设置小数位数为3
10 / 3 
3.333
quit       # 退出交互模式

直接使用bc指令进入交互模式进行计算

echo "sqrt(25)" | bc -l  # 计算平方根,输出 5.0000000000
echo "sin(3.14159/2)" | bc -l  # 计算正弦值(弧度),约等于 1.000000

也可以用 echo 传递表达式给 bc 在非交互模式下进行计算,-l 表示调用数学库进行计算

3.23 uname指令

[zzh_test@hcss-ecs-6aa4 ~]$ uname -r
3.10.0-1160.119.1.el7.x86_64
[zzh_test@hcss-ecs-6aa4 ~]$ uname -a
Linux hcss-ecs-6aa4 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

uname -r 用来获取电脑和操作系统的相关信息,-a–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称

3.24 shutdown指令

关机指令

  • -h:将系统的服务停掉后,立即关机
  • -r:在将系统的服务停掉之后就重新启动
  • -t sec-t 后面加秒数,即过几秒后关机的意思

4.常用快捷键

  • [Tab] 按键:具有命令补全和档案补齐的功能
  • [Ctrl]-c 按键:让当前的程序停掉
  • [Ctrl]-d 按键:通常代表着键盘输入结束(End Of File, EOFEnd OfInput)的意思;另外,他也可以用来取代 exit
  • [Ctrl]-r 按键:搜索历史命令,也可以用 history 指令查看,通常只保存最新的 1000 条指令

希望读者们多多三连支持

小编会继续更新

你们的鼓励就是我前进的动力!

在这里插入图片描述

http://www.lryc.cn/news/582317.html

相关文章:

  • 串行接口:CAN总线
  • 2025年全国青少年信息素养大赛图形化(Scratch)编程小学低年级组初赛样题答案+解析
  • 华为OD机试 2025B卷 - 最长的指定瑕疵度的元音子串 (C++PythonJAVAJSC语言)
  • 互补功率放大器Multisim电路仿真——硬件工程师笔记
  • web渗透之指纹识别1
  • 施密特触发器Multisim电路仿真——硬件工程师笔记
  • 2048-控制台版本
  • 设计模式文章
  • 汽车信息安全 -- SHE密钥更新小细节
  • vscode配置gitlab仓库详细步骤
  • 闲庭信步使用图像验证平台加速FPGA的开发:第二课——RGB转YCbCr的FPGA硬件编程详解
  • Rust单例模式:OnceLock的使用指南
  • Rust 内存结构:深入解析
  • iOS 出海 App 安全加固指南:无源码环境下的 IPA 加固与防破解方法
  • 期待在 VR 森林体验模拟中实现与森林的 “虚拟复现”​
  • 企业物资集采平台解决方案之:AI+物联网,智能预测需求,让企业库存“零呆滞”的科技实践
  • OSPFv3基础
  • 基于 STM32+FPGA 的快速傅里叶频域图像在 TFT 中显示的设计与实现(项目资料)(ID:8)
  • 关于 c、c#、c++ 三者区别
  • vue时间轴,antd时间轴,带卡片时间轴
  • 全球 AI HR 浪潮下的中国实践:从效率革命到战略重构
  • Android kotlin中 Channel 和 Flow 的区别和选择
  • 【Qt】QSignalMapper
  • 谢飞机的Java高级开发面试:从Spring Boot到分布式架构的蜕变之旅
  • 【音视频】HLS简介与服务器搭建
  • 常用的webpack配置
  • 应用俄文OCR技术,为跨语言交流与数字化管理提供更强大的支持
  • 解数独(C++版本)
  • 关于Xinference 中部署服务不能成功的若干问题整理(持续迭代)
  • 安卓10.0系统修改定制化_____安卓9与安卓10系统文件差异 有关定制选项修改差异