近期巩固了一遍linux基本命令,在这里记录一下
1.命令格式
Linux命令遵循一定的基本格式:Command [options] [arguments]
实例:$rm -r dir
这里rm 就是命令 -r是选项(-recursive的简写) dir是参数
-r是短选项 -recursive是长选项 使用短选项可以合并多个长选项
2.常用命令分类
- 文件操作命令(文件处理、文件查看、权限管理、文件搜索)
- 网络管理与通信命令
- 压缩解压命令
- 帮助命令
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表示userg表示groupo表示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常用的一些命令
如果这篇文章对你有帮助的话,别忘点赞收藏关注~
版权归原作者 Pdh胖大海 所有, 如有侵权,请联系我们删除。