Linux的基本命令

近期巩固了一遍linux基本命令,在这里记录一下


目录

1.命令格式

2.常用命令分类

2.1文件操作命令

2.1.1文件处理命令

(1).ls命令

(2).cd命令

(3).pwd命令

(4).touch命令

(5).mkdir命令

(6).rm命令

(7).cp命令

(8).mv命令

(9).rmdir命令

2.1.2文件查看命令

(1).cat命令

(2).more命令

(3).head命令

(4).tail命令

2.1.3文件修改命令

(1).vim命令

2.1.4权限管理命令

(1).chmod命令

(2).chown命令

(3).chgrp命令

2.1.5文件搜索命令

(1).which命令

(2).find命令

(3).locate命令

(4).grep命令

2.2网络管理与通信命令

(1).ifconfig命令

(2).netstat命令

(3).ping命令

(4).write命令

(5).wall命令

2.3压缩解压命令

(1)zip/unzip命令

(2)gzip/gunzip命令

(3)bzip2/bunzip2命令

(4)tar命令(最常用)

2.4帮助命令

(1)main命令

(2)info命令

(3)wahtis命令

(4)whoami命令

如果这篇文章对你有帮助的话,别忘点赞收藏关注~


1.命令格式

Linux命令遵循一定的基本格式:Command [options] [arguments]

实例:$rm -r dir 

这里rm 就是命令 -r是选项(-recursive的简写) dir是参数   

-r是短选项 -recursive是长选项  使用短选项可以合并多个长选项

2.常用命令分类

  1. 文件操作命令(文件处理、文件查看、权限管理、文件搜索)
  2. 网络管理与通信命令
  3. 压缩解压命令
  4. 帮助命令

2.1文件操作命令

2.1.1文件处理命令

ls、cd、pwd、touch、mkdir、cp、mv、rm、rmdir

(1).ls命令

原意:list

功能:列出参数的属性信息

格式:ls [选项] [参数]

常用选项:

选项说明
-l详细信息展示出当前目录下的文件
-a显示当前目录下的全部文件包括隐藏文件
-d查看目录属性
-t

按创建时间顺序列出文件

-i

输出文件的inode编号

-R列出当前目录下的所有文件信息,并递归的方式显示各个子目录中的文件和子目录信息

示例:

ls -l    #详细信息展示出当前目录下的文件

ls -l也可以缩写成ll直接输入

ll    #详细信息展示出当前目录下的文件

输入cd / 进入根目录输入ll查看跟多的文件文件详情,这里看左边第一列的开头第一个字母区分文件类型

开头是 d 表示该文件是目录

开头是 l 表示该文件是快捷方式

开头是 - 的表示这是个普通文件

ls -a    #显示当前目录下的全部文件包括隐藏文件

使用短选项可以组合使用选型

ls -la    #详细信息展示出当前目录下的所有文件包括隐藏文件

ls -d   #查看目录属性

ls -t    #按创建时间顺序列出文件

这里和ls的区别在于是否按创建时间输出文件

ls -i    #输出文件的inode编号

ls -R    #列出当前目录下的所有文件信息,并递归的方式显示各个子目录中的文件和子目录信息

(2).cd命令

原意:change directory

功能:切换目录

格式:cd [参数]

示例:

cd /    #进入到根目录

输入ll查看当前目录下有哪些文件

cd ./usr    #进入当前目录为相对路径的usr目录下

cd ..    #返回上一级目录

cd ~    #返回home目录

cd -    #返回上一步所在的目录

(3).pwd命令

原意:Print Working Directory

功能:向用户显示当前命令行会话所处的目录位置

格式:pwd [选项]

常用选项:

选项说明
-L显示逻辑路径,而不是物理路径。
-P显示物理路径,不跟随符号链接链接的路径
-h显示帮助信息并退出。
--version显示版本信息并退出。

示例:

 输入pwd查看当前目录

pwd     #查看当前目录

(4).touch命令

功能:以给定的文件名作为参数,如果文件存在,则更新文件的访问和修改时间戳为当前时间;如果文件不存在,则创建一个空白文件。

格式:touch [选项] 文件名

常用选项:

选项说明
-a仅更新文件的访问时间戳。
-m仅更新文件的修改时间戳
-c不创建新文件,只更新已存在文件的时间戳
-t <时间戳>使用指定的时间戳来更新文件的时间戳。时间戳格式为 [CC]YY]MMDDhhmm[.ss]

示例:

touch helloLinux.txt    #创建一个helloLinux.txt的文件

(5).mkdir命令

原意:make directory

功能:以给定的目录名作为参数,在当前工作目录下创建一个新的目录。

格式:mkdir [选项] 目录名

常用选项:

选项说明
-p递归地创建目录,包括父级目录。如果父级目录不存在,也会一并创建。
-m <权限模式>设置新创建目录的权限模式。权限模式使用八进制表示
-v显示创建过程中的详细信息

示例:

mkdir hello    #创建一个叫hello的目录

mkdir -p ./hello1/hello2    #递归地创建多级目录

mkdir -v hello4    #显示创建过程中的详细信息

(6).rm命令

原意:remove

功能:删除目录中的文件或目录。

格式:rm [选项] 文件名/目录名

常用选项:

选项说明
-f强制删除文件或目录,无需确认
-r递归删除目录及其内容。用于删除非空目录。
-i交互式删除,每次删除前都需要确认。

示例:

rm -f hello    #强制删除hello,无需确认

这里hello是目录不能直接删除,所以要用递归删除

rm -r hello    #递归删除目录及其内容。用于删除非空目录

删除成功,如果不想要确认信息直接输入rm -rf 文件名即可

(7).cp命令

原意:copy

功能:将一个或多个源文件复制到指定目录

格式:cp [选项] 源文件 目标文件

常用选项:

选项说明
-r递归复制目录及其内容。当需要复制目录时,必须使用此选项
-i交互式复制。如果目标文件已经存在,会询问是否覆盖。
-v显示详细的复制信息,包括每个文件的复制过程。
-p复制文件时保留源文件的原始属性,如权限、时间戳等。
-f强制复制,覆盖已存在的目标文件而不询问确认。

示例:

cp -r hello1 usr    #将hello1目录以及目录下所有文件复制到usr下

(8).mv命令

原意:move

功能:移动文件或目录,如果位置相等,该命令还可以重命名

格式:mv [选项] 源文件/目录 目标文件/目录

常用选项:

选项说明
-i交互式移动,如果目标文件已经存在,则会询问是否覆盖。
-u仅在源文件比目标文件更新或者目标文件不存在时才执行移动操作
-v显示详细的移动信息。
-n如果目标文件已经存在,则不覆盖,保留目标文件。
-f强制移动,覆盖已存在的目标文件而不询问确认。

示例:

mv hello1 ../    #将hello1目录移动到上一级目录

mv java.class javaEE.class    #将java.class改名成javaEE.class

(9).rmdir命令

原意:remove directory

功能:作用是移除目录,前提是该目录是空的,不包含任何文件或子目录。

格式:rmdir [选项] 目录

常用选项:

选项说明
-p连同父目录一起删除,如果父目录为空,则一并删除。
-v显示详细的删除信息。

示例:

rmdir -p hello2/hello5    #删除hello2目录下的hello5,如果Hello2删除之后为空则一并删除    

2.1.2文件查看命令

cat、more、head、tail

(1).cat命令

原意:concatenate and display files

功能:打印文件内容到输出设备

格式:cat 文件名


示例:

cat javaEE.class    #将javaEE.class中的内容输出到页面上

(2).more命令

功能:分页显示文件内容

格式:more 文件名

快捷键:

快捷键说明
f/Space(空格)显示下一页
Enter显示下一行
q/Q退出


示例:

more javaEE.class    #分页显示javaEE.class的内容

(3).head命令

功能:查看文件的前n行

格式:head -n 文件名

示例:

head -1 javaEE.class    #显示javaEE.class的前1行
(4).tail命令

功能:查看文件的后n行

格式:tail -n文件名

示例:

tail -1 javaEE.class    #查看javaEE.class的后一行

2.1.3文件修改命令

(1).vim命令

Vim 有三种主要模式:命令模式、插入模式和末行模式。

  • 命令模式:打开 Vim 后默认进入的模式,可以使用各种命令进行文本操作、跳转、搜索等。
  • 插入模式:在命令模式下按下 i、a、o 或其他插入命令,可进入插入模式以输入和编辑文本。
  • 末行模式:在命令模式下按下冒号(:),进入末行模式,可以执行保存、退出、搜索等高级命令。

命令和操作:

  • 移动光标:在命令模式下,使用 h、j、k、l 或箭头键可以左移、下移、上移、右移光标。
  • 插入和编辑文本:切换到插入模式后,可以直接键入文本进行编辑。
  • 保存和退出:在命令模式下,输入 :w 保存文件,:q 退出 Vim。要同时保存并退出,可以使用 :wq 命令。
  • 搜索和替换:在命令模式下,使用 / 进行向下搜索,? 进行向上搜索。使用 :s 进行替换操作。

快捷键和功能:

  • 撤销和重做:在命令模式下,使用 u 进行撤销操作,Ctrl+r 进行重做操作。
  • 复制、剪切和粘贴:在命令模式下,可以使用 yy 复制当前行,dd 剪切当前行,p 粘贴剪切板内容。
  • 多窗口和分割窗口:在命令模式下,使用 :split 和 :vsplit 可以分割当前窗口,并在新窗口中打开其他文

示例:

vim javaEE.class    #打开javaEE.class文件,首先进入的是命令模式

输入i 进入插入模式,进入插入模式之后下方会变成insert或者插入字样,此时通过上下左右移动光标进行修改。

插入完成按下ESC键退回命令模式,然后按 : 冒号键进入末行模式,输入wq,按下回车进行保存并退出 

注:这里三种模式切换必须经过命令模式,比如插入模式进入末行模式,必须先进入命令模式

使用more查看保存之后的文件

2.1.4权限管理命令

chmod、chown、chgrp

在 Linux 中,文件和目录的权限是通过三种角色(所有者、群组和其他用户)以及三种权限(读取、写入和执行)来管理的。具体权限如下:

  • 文件权限:读取权限(r)、写入权限(w)、执行权限(x)。
  • 目录权限:读取权限(r),查看目录内容的权利;写入权限(w),在目录中创建、删除文件和目录的权利;执行权限(x),进入目录的权利。
  • 特殊权限:
    • SUID(Set-User-ID):对于可执行程序,设置 SUID 可以使其在执行过程中获得所有者的权限。
    • SGID(Set-Group-ID):对于可执行程序,设置 SGID 可以使其在执行过程中使用群组的权限。
    • Sticky Bit:对于目录,设置 Sticky Bit 可以限制其他用户删除非自己创建的文件和目录。一般在 /tmp 目录中使用。

这里前缀-rw------表示只有读写权限

-rw-r--r--   分为三组 :第一个 - 表示该文件为文档 第二个

                                第一组rw:可读可写不可执行            表示拥有者的权限

                                第二组r:可读不可写不可执行           表示所在组的权限

                                第三组r:可读不可写不可执行            其他人的权限

注:这里如果是目录则必须有可执行权限 x 否则目录将无法进入

(1).chmod命令

功能:用于修改文件或目录的权限。它可以添加、删除或修改文件的读取、写入和执行权限,以及设置特殊权限(如 SUID、SGID、Sticky Bit)。

格式:chmod [选项] 权限模式 文件

修改权限范围类型:

选项说明
a表示all,所有人
u表示user
g表示group
o表示other

示例:

chmod +rwx javaEE.class    #将文件设置为可读、可写、可执行
chmod u+rwx javaEE.class    #将所有用户user的该文件权限设置为可读、可写、可执行

(2).chown命令

功能:用于修改文件或目录的所有者

格式:chown [选项] 新所有者 文件

示例:

chown pdh javaEE.class    #更改文件的所有者为pdh
(3).chgrp命令

功能:用于修改文件或目录的群组

格式:chgrp [选项] 新群组 文件

示例:

sudo groupadd group    #创建一个组,名叫group
chgrp group javaEE.class      #更改当前文件的组为group

2.1.5文件搜索命令

which、find、locate、grep

(1).which命令

功能:用于查找命令的路径。它会显示指定命令的全路径,以便确定特定命令在系统中的位置。

格式:which [选项] 命令

示例:

which cd    #查找cd在文件中的路径
(2).find命令

功能:用于查找文件和目录。它可以基于不同的条件进行搜索,如文件名、大小、权限等等。

格式:find [路径] [选项] [操作]

常用选项:

选项说明
-name根据文件名进行搜索匹配。
-type根据文件类型进行搜索匹配,如 -type f 表示搜索普通文件。
-size根据文件大小进行搜索匹配,可以使用 + 或 - 表示大于或小于指定大小
-iname根据文件名进行不区分大小写的搜索匹配
-maxdepth限制搜索的最大深度。
-mindepth限制搜索的最小深度。
-user根据文件所有者进行搜索匹配。
-group根据文件所属群组进行搜索匹配。
-mtime根据文件修改时间进行搜索匹配,单位为天数。

常见操作:

操作说明
-print打印搜索到的文件路径。
-exec对搜索到的文件执行指定的命令。
-delete搜索到的文件删除。
-ls类似于 ls 命令的输出格式列出搜索到的文件。

示例:

find . -name javaEE.class    #在当前目录下查找javaEE.class文件
(3).locate命令

功能:用于通过数据库快速定位文件和目录。它通过查找文件名的数据库进行搜索,效率较高。

格式:locate [选项] 文件名

示例:

locate hello2    #搜索文件

这里执行没有结果的可以输入 updatedb 进行更新数据库

(4).grep命令

功能:用于在文件中搜索特定的模式或字符串。它可以对文件内容进行逐行匹配和搜索。

格式:grep [选项] 模式 文件

这里模式有很多

  •  .:匹配任意一个字符。
  •  *:匹配前面的字符零次或多次。
  •  +:匹配前面的字符一次或多次。
  •  ?:匹配前面的字符零次或一次。
  •  []:匹配集合中的任意一个字符。
  •  ():创建捕获组。
  •  |:逻辑或操作符。
  •  ^:匹配行的开头。
  •  $:匹配行的结尾。
  •  \:转义字符。

grep一般配合管道符使用,后续会详细说一下管道符

示例:

grep "hello" javaEE.class    #搜索javaEE.class 中的hello字段

2.2网络管理与通信命令

ifconfig、netstat、ping、write、wall

(1).ifconfig命令

功能:用于显示和配置网络接口的信息。它可以用来查看当前系统上的网络接口信息,如IP地址、子网掩码、MAC地址等。

格式:ifconfig [选项] [接口名]

示例:

ifconfig         #显示所有网络接口信息
ifconfig eth3    #显示指定网络接口信息,这里是eth3
(2).netstat命令

功能:用于显示网络连接、路由表、网络接口统计等网络相关信息

格式:netstat [选项]

常用选项:

选项说明
-a显示所有端口
-at列出所有tcp端口
-au列出所有udp端口

示例:

netstat -a    #显示所有网络连接信息
netstat -l    #显示监听的 TCP 连接信息
(3).ping命令

功能:用于向指定的目标地址发送 ICMP Echo 请求,并接收其回应。它可以用来测试网络连接的连通性,检测网络的延迟和丢包情况。

格式:ping [选项] 目标地址

示例:

ping 192.168.0.1          #向目标地址发送 ICMP 请求包
ping -c 10 192.168.0.1    #持续发送 ICMP 请求包并显示结果
(4).write命令

功能:命令允许你向另一个登录的用户发送终端消息。

格式:write 用户名 [终端]

示例:

write user1         #向用户发送终端消息:
write user1 tty1    #向指定终端发送消息
(5).wall命令

功能:用于向所有登录用户发送消息。它会将消息广播到所有终端。

格式:wall [文本文件]

示例:

wall "大家好!我宣布个事情"    #向所有用户发送广播消息
wall message.txt             #从文本文件读取消息并发送广播

这里中文会乱码,需要自行设置一下系统的编码

2.3压缩解压命令

zip/unzip、gzip/gunzip、bzip2/bunzip2、tar

用哪个命令压缩就要用哪个解压

(1)zip/unzip命令

功能:zip命令用于将文件和目录压缩为ZIP格式,uzip命令用于解压ZIP文件

格式:

  • 压缩文件:zip [选项] 压缩文件名 源文件/目录
  • 解压文件:unzip [选项] 压缩文件名

示例:

zip filez.zip file.txt    #压缩文件
unzip filez.zip           #解压文件
(2)gzip/gunzip命令

功能:gzip 命令用于将文件压缩为GZIP格式,gunzip命令用于解压GZIP文件。

格式:

  • 压缩文件:gzip [选项] 文件名
  • 解压文件:gunzip [选项] 压缩文件名

示例:

gzip file.txt         #缩文件
gunzip file.txt.gz    #解压文件
(3)bzip2/bunzip2命令

功能:bzip2 命令用于将文件压缩为BZIP2格式,bunzip2命令用于解压BZIP2文件

格式:

  • 压缩文件:bzip2 [选项] 文件名
  • 解压文件:bunzip2 [选项] 压缩文件名

示例:

bzip2 file.txt          #压缩文件
bunzip2 file.txt.bz2    #解压文件
(4)tar命令(最常用)

功能:用于打包和压缩文件,常与其他压缩命令一起使用,如结和gzip 生成 .tar.gz 文件。

格式:

  • 打包文件:tar [选项] 目标文件名 源文件/目录
  • 解包文件:tar [选项] 目标文件名

常用选项:

  • -c:创建归档文件(create)
  • -x:解压缩归档文件(extract)
  • -r:向归档文件中添加文件(append)
  • -u:更新归档文件中的文件(update)
  • -t:列出归档文件的内容(list)
  • -v:显示详细信息(verbose)
  • -f:指定归档文件的名称(file)
  • -z:使用 gzip 压缩或解压缩归档文件
  • -j:使用 bzip2 压缩或解压缩归档文件
  • -C:指定解压缩文件的目标目录(change directory

示例:

tar -cvf archive.tar file.txt    #打包文件
tar -xvf archive.tar             #解包文件

2.4帮助命令

main、info、wahtis、whoami

(1)main命令

作用:用于显示命令的帮助文档

格式:man [命令名称]

示例:

man ls     #显示 ls 命令的帮助文档。
输入q退出(2)info命令

作用:用于查看命令的详细信息和文档

格式:info [命令名称]

示例:

info ls     #查看 ls 命令的详细信息和文档。
(3)wahtis命令

作用:用于显示命令的简要描述。

格式:whatis [命令名称]

示例:

whatis ls     #显示 ls 命令的简要描述

(4)whoami命令

作用:用于显示当前登录用户的用户名。

格式:whoami

示例:

whoami     #显示当前登录用户的用户名

以上就是linux常用的一些命令


如果这篇文章对你有帮助的话,别忘点赞收藏关注~

  • 44
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值