【Linux】初学者指令指南

举报
IF'Maxue 发表于 2025/08/28 16:41:05 2025/08/28
【摘要】 一、知识铺垫 1.1登入账号首先在xshell8的界面输入ssh 用户名@公网ip,跳出SSH用户验证界面,输入密码即可进入(SSH是一种网络协议,通过加密和认证机制实现安全访问和文件传输) 1.2 创建和删除普通账号Linux属于多用户操作系统添加普通用户的操作步骤adduser 用户名passwd(密码)用户(输入密码时,是不显示密码的)passwd命令用于更改设置用户密码删除普通账号...

一、知识铺垫

1.1登入账号

首先在xshell8的界面输入ssh 用户名@公网ip,跳出SSH用户验证界面,输入密码即可进入
(SSH是一种网络协议,通过加密和认证机制实现安全访问和文件传输)
image.png

1.2 创建和删除普通账号

Linux属于多用户操作系统

添加普通用户的操作步骤

  1. adduser 用户名
  2. passwd(密码)用户(输入密码时,是不显示密码的)
  3. passwd命令用于更改设置用户密码
    删除普通账号的步骤 userdel -r 用户名@

1.3 操作系统概念

操作系统是一款进行软硬件资源管理的软件,对于Linux是一款具体的操作系统的一个品类,而centos7是一款集体的Linux操作系统,计算机是一个工具,被人使用的工具
image.png

【操作系统的作用】:image.png

  1. 提供人机交互接口,早期计算机的操作需要通过硬开关进行控制,操作系统最大的功能可以避免直接操作硬件带来的麻烦
  2. 提供了计算机软硬件资源管理
  3. 对下层操作系统提供了基本的管理工作,让多种硬件处于一个稳定、高效、安全的巩固走环境
  4. 对上层操作系统提供了一个稳定、高效、安全的运行环境

1.4 Xshell相关快捷键

  1. Alt+Enter:全屏
  2. Ctrl+D:退出
  3. Ctrl+insert:复制
  4. Shift+insert:粘贴
  5. 这里不支持ctrl c和ctrl v快捷键

1.5 文件

当在电脑上进行操作,实际上是通过操作系统来控制文件和文件夹。操作系统提供图形用户界面(GUI)和命令行界面(CLI),让你方便浏览、创建、删除、移动和修改文件和文件夹。

桌面属于文件夹
登入windows进行如下操作

  1. 确定你的用户名
  2. 根据用户名,找到该用户名下的桌面文件夹
  3. 将桌面文件夹显示成为图形化界面
    文件占用内存
    文件占用内存=文件属性+文件内容
    image.png

文件虽然显示大小是0kb,但是同样会占用内存。由于【文件=文件属性+文件内容】,这里显示的所有属性都是数据,在内存中都是要保存的

1.6 路径

windows下路径显示方式
D:\softword\java\Thread\src
Linux下路径显示方式
[root@hcss-ecs-5726 yhy]# pwd /root/yhy`

路径由文件夹+末尾文件夹或者文件夹+普通文件组成
这里的文件夹通常叫做目录,但是一个目录中可以有文件,也可以有目录

仔细观察:

  • windows路径分隔符:\
  • Linux路径分隔符:/

绝对路径和相对路径

绝对路径:以根目录为中心,找到目标文件的经过的所有路径
相对路径:以当前目录中心,找到目标文件的经过的所有路径(用.和…)

1.7 .和…的用法

隐藏文件

无论是Linux还是在Windows下,都有隐藏文件的存在
在Linux操作系统下,我们用ls -a指令显示隐藏文件
image.png

关于查找Linux的隐藏文件,我们需要用到ls-la或者ll指令查看。该指令的作用是显示所有的子目录音系和文件信息。而ls -la是列出目录下的所有文件,包括以 . 开头的隐含文件。任何目录下,都会默认具有两个隐藏目录.和…
image.png
.两种用法】:

  1. 可以表示当前路径
  2. 指定执行当前目录下的一个可执行文件,表示明确该文件在该目录下,可以直接执行该可执行文件

…的当前用法

image.png

【用法】:

  1. 表示上级路径,可以方便我们进行路径的回退。毕竟不光要进去,也要可以出来

二、常见指令介绍

2.1 pwd指令

【语法】:pwd
【功能】::显式用户当前所在的目录

image.png

2.2 cd指令

【语法】:cd 目录名(不是文件名)
【功能】:改变工作目录,将当前工作目录改变到指定目录下

常用功能

  • 返回上级目录】:cd …
  • 以绝对路径跳转目录】:cd /home/litao/linux/
  • 以相对路径跳转目录】:cd …/day02/
  • 【进入用户家目录】:cd~
  • 【返回最近的访问目录】:cd-
    cd~

作用】:

  • 跳转到我们最近一次所处的路径下,这有助于我们是实现处理两个路径的快速切换

cd -:

【作用】:

  • 跳转到我们最近访问目录。

image.png

2.3家目录

家目录(Home Directory)是操作系统为每个用户分配的一个专用目录,用于存储该用户的个人文件、配置文件和数据

【windows中的用户默认的家目录】

C:\Users\用户名

【Linux下指定用户的家目录】

对于root账号:默认的家目录/root—>超级管理员账号

对于普通用户:默认的家目录/home/新建的用户名

关于以上两点,任何一个用户,首次登录所处的路径都是自己的家目录,关于这点可以使用whoami指令查看当前正在使用Linux系统的用户名

2.4whoami指令

【语法】:whoami
【功能】::查看当前正在使用Linux系统的用户名
image.png

2.5重新认识指令

目前阶段来说指令的本质都是程序。指令、程序、可执行程序都是一回事,并且也是文件。

2.6which指令

【语法】:which
【功能】::要求系统打印出我所制定的指令名称在系统中所在路径位置

image.png

2.7alias指令

【语法】:alias
【功能】::给其他命令起一个别名。
image.png

–color== auto表示是否带上颜色

2.8 ls指令

【语法】:ls [选项] [目录或文件]
【功能】::对于目录,该命令列出该目录下的所有子目录于文件。对于文件,将列出文件名以及其他信息

【选项】:【常用选择】:主要掌握-d -l -a选项,剩下有需要记
[-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 ] :一行只输出一个文件。

image.png

2.9 touch指令

【语法】:touch [选项]… 文件…
【功能】:touch命令参数可改变文档或目录的时间,包括存储时间和更改时间,或者新建一个不存在的文件

【常用选项】[有需要记]:

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

2.10stat指令和文件ACM时间

【语法】:stat +文件
【功能】::进行查看,文件或目录的不同时间戳

  1. Access Time (atime)】:文件最后一次被访问(读取)的时间。
  2. Modify Time (mtime)】:文件内容最后一次被修改的时间。
  3. Change Time (ctime)】:文件元数据(如权限)最后一次被修改的时间。

2.11mkdir(重要)

【语法】:mkdir[选项] dirname…
【功能】::在当前目录下创建一个名为"dirname"的目录

常用选项】:

  • [-p (parent )] :可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后系统将自动建立好那些尚不存在的目录,**既一次性建立多个目录。**如果没有添加-p选项,就不能一次性建立多个目录。

2.12tree指令

【语法】:tree
【功能】:用于以树状图形式显示文件和目录的层次结构

如果使用tree指令,出现报错可能就是该指令没有安装。如果以后有指令需要安装使用,可以通过百度等搜索引擎进行查找

  • 如果你的Linux系统是Ubuntu版的,输入下面命令安装即可

sudo apt-get install tree

  • 如果你的Linux系统是cent os 版的,输入下面命令安装即可

yum -y install tree

2.13rmdir指令

【语法】:rmdir
【功能】::删除指令。

  • 语法】:rmdir [-p] [dirName]
  • 适用对象】:具有当前目录操作权限的所有使用者
  • 【功能】:只能删除空目录
  • 常用选项】:[-p ]当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。

2.14rm指令

【语法】:rm[-f-i-r-v] [dirName/dir]
【功能】:删除文件或指令,rm指令可以同时删除文件或指令

【常用选项】:
-f 即使文件属性为只读(即写保护),也是直接删除。强制意味
-i 删除前逐一询问确认
-r 删除目录及其下所有文件

  • 如果是root账号,对于超级管理员来说,这里会温馨地提示你是否要删除。
  • 如果是普通账号,那么你删除是没有提示的,因为主不在乎。

2.15man指令(重要)

Linux的命令有很多参数,我们可以通过联机手册查看

【语法】:man 【选项】命令
【功能】::通过联机手册查看命令参数
【安装命令】:yum -y install man

【选项】:

  • -k 根据关键字搜索联机帮助
  • num 只在第num章节找
  • -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕
  • 可以通过↑↓键进行滑动阅读

解释一下,手册分为8章

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

  • 这里主要知道1,2,3号手册,重要的是2号手册,在之后再提及。这里手册是通过C语言 + 汇编写的,关于C++,java,python相关的知识不能使用man手册,就算查找关于C语言相关知识也不推荐,man手册跟版本属于强相当使用手册的时候,同时注意man手册不全。
  • 手册从第一章开搜索,找到对应章节就会停下,由于Linux存在printf命令,那么将在第一章就会停下来,如果需要打印出C语言库中printf函数,可以使用num选项制定章节查找man 3 printf这里printf和C语言中printf函数实现类似功能,但是底层是毫无关系的
    image.png

2.16mv指令

【语法】:mv [选项] 源文件或目录(src) 目标文件或目录
【功能】::用来移动文件或者将文件改名

【三种使用场景】

  1. 【在指定的目录下,对一个文件或者目录进行重命名】
    • mv test.txt log.txt 将test.txt改名成为log.txt
  2. 【将指定目录下的文件或者目录,‘剪切’到指定的目录下】
      • mv /mydir .(当前目录) [mv src path/]
  3. 不仅仅要剪切,我还要剪切的同时,顺便进行一下重命名
  • mv mydir /111dir [mv src path/newname]
    存在同名文件

Linux中同一个目录下,不允许存在同名文件,那么mv同名文件时,会询问是否需要覆盖。

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

2.17* 通配符指令

*** 表示一个通配符,匹配任意文件名或路径的一种特殊符号,可以用来表示多个文件或目录。**在命令中使用通配符可以方便地操作多个文件或目录,特别是在复制、移动或删除文件时非常有用。

  • [h* x] :表示匹配任意数量的h,后面跟着一个 x,h可能出现零次或多次。
  • [h.* x] :表示匹配以h开头,以 x 结尾
    image.png

2.18nano指令

【语法】:nano
【功能】:简单的文本编辑器

image.png

在Linux下写出代码的步骤:

  1. nano 源文件.c
  2. ctrl x退出
  3. [y]+ [Enter回车] 确定退出
  4. gcc code.c gcc编译
  5. ./a.out 在当前路径执行可执行文件中程序(打印函数printf("Linux");)
  6. cat code.c #本质是显式打印文件内容

image.png

2.19cp指令

【语法】::cp [选项] 源文件或目录(src) 目标文件或目录(dst)
【功能】::复制文件或目录

说明

  • cp指令用于复制文件或目录
  • 【带路径的文件名】:拷贝到指定目录,顺便进行重命名,src、dst都可以携带绝对或者相对路径进行拷贝。
  • 如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的[所有文件或目录]复制到此目录中。
  • 若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会有出现错误信息

image.png

【常用选项】:

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

cp -fr 可用于强制递归复制文件或目录,但目标目录必须存在。建议在使用之前确保目标目录已经创建。

cat指令

在Linux当中无法想Windows一样用鼠标点开某一文件进行阅读,要想阅读文件可以用cat指令。

语法: cat 选项 文件
功能: 查看目标文件的内容。
常用选项:
• -b 对非空输出行编号
• -n 对输出的所有行编号
• -s 不输出多行空行
image.png

常用选项:
1)-b 对非空输出行编号。
image.png

2)-n 对输出的所有行编号。
image.png

3)-s 禁止重复的空输出行。
image.png

注意: cat指令会将目标文件内容全部打印到屏幕上。若是目标文件内容过大,则会导致刷屏(直到将文件内容全部打印到屏幕上)。因此cat指令一般仅适用于查看内容较少的文件。

tac指令✔

使用tac指令,我们可以反向查看目标文件的内容。

语法: cat 文件
功能: [[…/…/…/…/…/attchment/反向查看目标文件的内容]]。

more指令✔

上面说到,cat指令仅适用于查看内容较少的文件,我们若是要查看海量信息文件,则可以适用more指令。

语法: more 文件
功能: [[…/…/…/…/…/attchment/查看目标文件的内容。]]

注意: 指令只能通过按回车键进行下翻操作,无法进行上翻操作,并且more指令在查看之前会先加载整个文件。


less指令✔

上面的more指令只能进行下翻操作,而less指令可以同时支持上翻和下翻操作。

语法: less 选项 文件
功能:[[…/…/…/…/…/attchment/既有查看目标文件的内容的功能,又有搜索功能。]]

注意: less指令可以通过按上下键进行上翻和下翻操作,并且less指令在查看之前不会加载整个文件。
常用选项:
1)-i 忽略搜索时的大小写。
2)-N 显示每行的行号。
3)/字符串 向下搜索“字符串”的功能。
4)?字符串 向上搜索“字符串”的功能。
5)n 重复前一个搜索(与/或?有关)。
6)N 反向重复前一个搜索(与/或?有关)。

head指令✔

语法: head 选项 文件
功能: [[…/…/…/…/…/attchment/用于显示文件的开头至标准输出中,默认head指令打印其相应文件的开头10行。]]

常用选项:
1)-n [[…/…/…/…/…/attchment/需要显示的行数]]。

tail指令✔

语法: tail 选项 文件
功能: [[…/…/…/…/…/attchment/用于显示文件的末尾至标准输出中,默认tail指令打印其相应文件的末尾10行。]]

常用选项:
1)[[…/…/…/…/…/attchment/-n 需要显示的行数]]。
2)-f 循环读取。

拓展:如何读取文件中间某一段内容?
例如,现在test.txt文件当中有十万行内容,我们如何读取第1001至1010行?
在认识了head和tail指令后,你可能很容易想到如下方法:先用head指令读取test.txt文件中的前1010行存入临时文件temp.txt中,然后将temp.txt文件的后10行打印输出即可。
image.png

注意: >(输出重定向),图中第一条指令的意思是,将本应该输出到屏幕的内容输出重定向到temp.txt文件当中。

这样写显然有点麻烦(还需要创建一个临时文件),有一种简便的方式可以实现该操作,该方式需要用到“命令行管道”。
我们知道,管道是用于传输某种资源的(下水管道用于传输水,天然气管道用于传输天然气),而计算机上面最重要的资源就是数据。
在指令中管道用“|”来表示,管道左边接收产生的数据,右边读取数据。:
image.png

因此我们可以将test.txt文件的前1010行从管道左侧输入管道,并在管道右侧读取数据进行进一步的操作即可。image.png


date指令✔

语法: date 选项 格式
功能: [[…/…/…/…/…/attchment/用于显示时间、设置时间]]、完成时间与时间戳之间的相互转换等。

用法一: 用于显示时间,使用者可以选定欲显示的格式,格式设定为一个加号,后接数个标记,其中常用的标记如下:
1)[[…/…/…/…/…/attchment/%H 显示当前的小时,范围(00~23)。]]
2)[[…/…/…/…/…/attchment/%M 显示当前的分钟,范围(00~59)]]
3)[[…/…/…/…/…/attchment/%S 显示当前的秒数,范围(00~59)。]]
4)[[…/…/…/…/…/attchment/%X]] 相当于%H:%M:%S。
5)[[…/…/…/…/…/attchment/%d]] 显示当前的号数。
6)[[…/…/…/…/…/attchment/%m]] 显示当前的月份。
7)[[…/…/…/…/…/attchment/%Y]] 显示当前的年份。
8)[[…/…/…/…/…/attchment/%F]] 相当于%Y-%m-%d。

用法二: 用于设定时间。
1)date -s 设置当前时间,只有root用户才能设置,普通用户只能查看。
2)date -s 20210725 将时间设置为20210725,这样会将具体时间设置为空(00:00:00)。
3)date -s 01:01:01 设置具体时间,不会对日期做更改。
4)date -s “01:01:01 2021-07-25” 同时设置日期和具体时间。
5)date -s “01:01:01 20210725” 同时设置日期和具体时间。
6)date -s “2021-07-25 01:01:01” 同时设置日期和具体时间。
7)date -s “2021072501:01:01” 同时设置日期和具体时间。

用法三: 完成时间与时间戳之间的相互转换。
1)date +%s 显示当前时间的时间戳。
image.png

小贴士: 时间戳是当前时间与计算机起始时间的差值,单位为秒。

2)date -d @时间戳 将时间戳转换为时间。
image.png

cal指令✔

cal指令可以用于显示公历(阳历)日历。

语法: cal 选项 月份 年份
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1~9999),如有两个参数,则表示月份和年份。
image.png

**常用选项:**  

1)-3 显示系统前一个月、当前月以及下一个月的日历。
image.png

2)-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)。
image.png

3)-y 显示当前年份的日历。
image.png

find指令✔

语法: find 路径 选项 …
功能: 用于在文件树中查找文件,并作出相应的处理(可能访问磁盘->效率比较低)。

常用选项:
1)-name 按照文件名查找文件。
image.png

2)-size 按照文件大小查找文件。
image.png

which指令✔

Linux当中的每个指令其实都是用计算机语言编写出的可执行程序,这些程序都存储在文件当中,我们可以通过which指令查看某一指令的程序文件所在路径。

语法: which 指令
功能: 用于查找某一指令的程序文件所在路径。
image.png

当我们执行某一指令时,实际是调用其可执行程序,因此我们还可以通过其程序文件的所在路径进行调用该指令。
image.png

alias指令✔

当你觉得某一指令太长时,你可以使用alias指令给它起一个别名。

语法: alias 别名=‘原名’
功能: 可以用于给指令取别名。
image.png

grep指令✔

grep指令类似于关键词搜索(行过滤器)。

语法: grep 选项 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来。
在这里插入图片描述常用选项:
1)-i 忽略大小写进行查找。
image.png

2)-n 输出行号。
image.png

3)-v 反向选择,显示出没有待搜索字符串的行。
image.png
tar指令✔
tar指令也可以用来打包压缩和解压文件,并且还可以实现不解开压缩包,直接查看里面内容的操作,以及只打包不压缩等操作。

语法: tar 选项 压缩文件 …
功能: 打包/解包,不解开压缩包,直接查看里面内容。

常用选项:
1)-c 建立一个压缩文件的参数指令(create的意思)。
2)-x 解开一个压缩文件的参数指令。
3)-t 查看tarfile里面的文件。
4)-z 是否同时具有gzip属性?即是否需要用gzip压缩?
5)-j 是否同时具有bzip2属性?即是否需要用bzip2压缩?
6)-v 压缩的过程中显示文件(常用)。
7)-f 使用档名,请留意,在f之后要立即接档名,不要再加参数。
8)-C 解压到指定目录。
打包示例:

解包示例:

不解开压缩包,直接查看里面内容:

file指令✔
语法: file
功能: 查看文件的更多属性信息。

bc指令✔
Windows里面有计算器,Linux下面也有,bc指令就是Linux下的计算器。

语法: bc
功能: 进行运算。

uname指令✔
语法: uname 选项
功能: 用于获取电脑和操作系统的相关信息。
常用选项:
1)-r 输出电脑和操作系统相关信息。

2)-a 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。
image.png

几个重要的热键✔
1)上下按键。上下按键在Linux当中存储的是历史命令,通过按上下键我们可以查看我们最近敲的命令。
我们也可以使用history指令查看历史命令。

2)Ctrl+D。退出当前命令行。
3)Ctrl+C。让当前程序停掉(终止失控程序)。
4)Tab。自动补齐功能。

5)Ctrl+R。搜索历史命令。

关机指令✔
语法: shutdown 选项
常见选项:
1)-h 将系统的服务停掉后,立即关机。
2)-r 将系统的服务停掉之后就重新启动。
3)-t sec 经过sec秒后关机。
注: 所有关机指令只能由root用户执行。

命令扩展✔
1)安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last。
2)文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln。
3)系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab。
4)网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、nslookup。
5)系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who。
6)其他命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。