常用Linux命令及其作用(超详细,带演示)
文章目录
如果觉得本文对你有所帮助,那就点个赞、收藏一波吧~
1. 提前了解
如果文中部分涉及到的命令没有,可以参看7.3或按照linux的提示安装即可
1.1 终端命令格式
command [-options] [parameter]
command
:命令名,相应功能的英文单词或单词的缩写[-options]
:选项,可用来对命令进行控制,也可以省略。这里是可以同时输入多个的,此时中间的**-**可以省略-
parameter
:传给命令的参数,可以是 零个、一个或者多个[]
代表可选,不过某些命令中参数是必须的,具体根据情况而定
1.2 --help
command --help
- 显示command命令的帮助信息,如下显示出ls的帮助信息
1.3 man command 查询使用手册
man command
- 查询command命令的使用手册,
1.4 小技巧
ctrl shift =
放大终端窗口的字体显示(注意不要使用小键盘)ctrl -
缩小终端窗口的字体显示(注意不要使用小键盘)tab
可以补全或列出可能出现的命令
1.5 在linux中命令终止方式
ctrl c
:强制中断程序的执行。进程已经终止ctrl d
:表示EOFctrl z
:任务暂停,但是任务并为结束。在进程中呈现挂起状态。
2.最常用的6个终端命令
命令汇总
序号 | 命令 | 作用 | 对应英文 |
---|---|---|---|
2.1 | ls | 查看当前文件夹下的内容 | list |
2.2 | pwd | 查看当前所在的文件夹 | print wrok directory |
2.3 | cd [目录名] | 进入文件夹 | change directory |
2.4 | touch [文件名] | 如果文件不存在,新建文件 | touch |
2.5 | mkdir [目录名] | 创建目录 | make directory |
2.6 | rm [文件名] | 删除指定的文件或目录 | remove |
2.7 | clear | 清空终端屏 | clear |
可以通过英文方便记忆,2.3、2.4、2.5、2.6,命令中间有一个空格。下面依次介绍演示各个命令
2.1 ls 查看当前文件夹下的内容
2.2 pwd 查看当前所在的文件夹
第一个/是根目录
2.3 cd [目录名] 进入文件夹
注意在linux中是区分大小写的
2.4 touch [文件名] 如果文件不存在,新建文件
桌面上是没有文件的,所以就新建了名为test的文件
2.5 mkdir [目录名] 创建目录
新建一个名为test1的文件夹
2.6 rm [文件名] 删除指定的文件名
删除文件test
3. 文件和目录常用命令及其详解
命令汇总
序号 | 命令 | 作用 |
---|---|---|
3.1 | ls | 查看目录内容 |
3.2 | cd [目录名] | 进入目录 |
3.3 | touch [文件名] | 创建文件 |
3.4 | mkdr [目录名] | 创建目录 |
3.5 | rm [文件名] | 删除文件或目录 |
3.6 | tree [目录名] | 以树状图列出文件目录结构 |
3.7 | cp [源文件] [目标文件] | 拷贝 |
3.8 | mv [源文件] [目标文件] | 移动文件 |
3.9 | cat [文件名] | 查看文件内容、创建文件、追加文件内容等功能 |
3.10 | more [文件名] | 分屏显示文件内容 |
3.11 | grep [word] [文件名] | 在文件名中搜索word |
3.12 | >,>> | 重定向,请参照目录3.12 |
3.13 | A|B | 管道,将A命令的结果作为B命令的输入 |
下面依次详细介绍各个命令,注意以下命令选项选择常见的进行说明演示。
3.1 ls 查看目录内容
-
在linux中文件或者目录最长可以有256个字符
-
以
.
开头的问隐藏文件(这个在window中也是一样的),需要使用ls -a才能看见 -
.
代表当前目录,..
代表上级目录
-
-
ls中的常用选项
-
命令选项 含义 ls -a 显示指定目录下所有子目录与文件,包括隐藏文件 ls -l 以列表方式显示文件的详细信息,读写权限等 -
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qtRvNvhR-1628934326309)(C:\Users\13324\AppData\Roaming\Typora\typora-user-images\image-20210810225236918.png)]
-
-
通配符的使用,快速定位文件
-
注意这里的通配符不仅仅可以使用在ls中,在很多地方都可以使用比如rm等等
-
通配符 含义 * 代表任意字符 ? 代表任意一个字符 [] 匹配中括号中的任意一个字符 [a-z] 使用-表示范围,表示a到z范围的任意一个字符 -
-
3.2 cd [目录名],进入目录
-
注意在linux中目录和文件名需要严格区分大小写
-
命令 含义 cd (与cd ~等同) 切换到当前用户的主目录 cd . 保持在当前目录不变 cd … 切换到上级目录 cd - 可以在最近两次工作目录之间来回切换 cd [目录名] 进入 【目录名】中的目录 - 在演示中的pwd命令含义为 查看当前所在的文件夹
-
3.3 touch [文件名] 创建文件
- 如果文件不存在则创建
- 存在则修改文件最后操作时间
3.4 mkdir [目录名] 创建目录
-
新建一个目录
-
命令选项 含义 mkdir -p 可以递归创建目录。可以直接创建多级目录非常方便 -
注意:新建目录不能与已经存在的文件(这里的文件是指不带有扩展名的文件)或目录重名
-
-
3.5 rm [文件名],删除文件或目录
-
注意:使用rm命令会直接从磁盘中删除文件。不会放入回收站中
-
注意:rm不能直接删除目录
-
这里可以使用通配符,如:rm *.txt
-
命令选项 含义 rm -f [文件名] 强制删除,如果该文件直接删除,没有也不提示 rm -r [文件名] 递归删除,合理的删除方式,删除文件夹必须如此
3.6 tree [目录名], 以树状图列出文件目录结构
- 这个命令可以很直观的显示出目录结构来
3.7 cp [源文件] [目标文件],复制文件
-
命令选项 含义 cp -i [源文件] [目标文件] 覆盖文件前提示 cp -r [源文件] [目标文件] 递归复制文件夹,其中[源文件]必须是一个目录名 -
注意文件夹不能直接复制,必须使用
cp -r
与rm -r
有类似之处 -
将桌面上的111.txt复制到桌面的test/tes文件中
3.8 mv [源文件] [目标文件],移动文件
-
命令选项 含义 mv -i [源文件] [目标文件] 移动文件或目录,若存在则覆盖文件前提示 - 注意:在移动过程中可以重命名。如下,将桌面上的111.txt重命名为112.txt
- 将文件112.txt移动到test/tes中。若改为test/tes/111.txt则会在移动的同时进行重命名
- 注意:在移动过程中可以重命名。如下,将桌面上的111.txt重命名为112.txt
3.9 cat [文件名],查看文件内容、创建文件、追加文件内容等功能
-
cat会一次显示所有的内容,适合查看内容较少的文本文件,与之对应more适合查看较多内容的文本文件
-
查看文件内容
-
命令选项 含义 cat -b 对非空输出行编号 cat -n 对输出的所有行编号 -
-
-
创建文件
-
命令选项 含义 cat > [文件名] 创建新文件或者覆盖已经有文件 -
更多相关的东西,请参照3.12 重定向
-
注意输入完内容之后可以使用一下三种方式保存内容。
-
回车 +
ctrl c
(介绍:强制中断程序的执行。进程已经终止) -
回车 +
ctrl d
(推荐使用,介绍:表示EOF) -
回车 +
ctrl z
(介绍:任务暂停,但是任务并为结束。在进程中呈现挂起状态。) -
-
-
-
追加文件内容
-
命令选项 含义 cat [文件名1]>>[文件名2] 将文件名1的内容追加到2中 -
注意:这里是**
>>
若为>
**则是用1的内容覆盖2的内容- 更多相关的东西,请参照3.12 重定向
-
-
-
3.10 more [文件名] ,分屏显示文件内容
-
适合显示较多的文本内容文件
-
-
操作命令 含义 空格 显示下一页 回车 显示下一行 b 回滚一屏 f 前滚一屏 q 退出 /word 搜索 word 字符串
-
3.11 grep [word] [文件名],搜索文本文件内容
-
命令选项 含义 grep -n [word] [文件名] 显示匹配行及行号 grep -v [word] [文件名] 显示不包含匹配文本的所有行(相当于取反) grep -i [word] [文件名] 忽略大小写 **
3.12 重定向>,>>
-
echo
:在终端显示参数指定的文字。通常和重定向一起使用 -
重定向
-
>
:输出但是会覆盖原有内容 -
>>
:追加到文件末尾 -
在重定向符号前面可以选择各种各样的命令,并可以将其结果保存到文件中
-
-
3.13 管道,A|B
- 管道,A|B,将A命令的结果作为B命令的输入
- 下面讲
s -alh /
(/
为根目录)的输出结果作为grep的输入,并在其中查找含有b的字符
- 下面讲
4. 远程管理常用命令
命令汇总
序号 | 命令 | 作用 |
---|---|---|
4.1 | shutdown [选项] [时间] | 在某个时间点关机/重启 |
4.2 | ifconfig | 查看计算机当前的网卡配置信息,很常用 |
4.3 | ping ip地址 | 检测到目标 ip地址 的连接是否正常,很常用 |
4.4 | ssh | 远程控制 |
4.5 | scp | 远程拷贝文件(如果在windows中更推荐使用软件WinSCP、FTP等软件) |
下面依次详细介绍各个命令,注意以下命令选项选择常见的进行说明演示。
4.1 shutdown [选项] [时间],在某个时间点关机/重启
-
这个命令需要root权限
-
shutdown
:立刻一分钟之后 -
shutdown now
:立刻关机shutdown 11:20
:11:20关机shutdown +20
:20分钟之后关机
-
shutdown -r now
:立刻重新启动,在操作服务器的时候,一般都使用重启 -
shutdown -c
:取消之前的关机/重启计划
4.2 ifconfig,查看计算机当前的网卡配置信息
-
命令选项 作用 ifconfig 查看网卡配置信息 ifconfig | grep inet 通过管道连用,查看网卡对应的 IP 地址
4.3 ping ip地址, 检测到目标 ip地址 的连接是否正常
- 通过这个命令来查看,是否与目标网络连通
4.4 ssh的安装和使用,远程控制
-
一般而言,在linux和mac中ssh都会默认安装,但是windows中没有需要单独下载xshell(现在要money了)、Putty等客户端。
-
但是某些linux或mac中也没有,需要自己下载
-
ps -e | grep ssh #查看linux中是ssh是否启动 rpm -qa |grep ssh #查看linux中是否安装了ssh apt install ssh #如果没有则安装(ssh默认端口22,一般不作修改) service sshd start #安装完成之后启动服务
- 如果非要修改ssh端口只需使用
vi /etc/ssh/sshd_config
讲前面的#去掉,把port后的22改成需要的端口即可,注意防火墙该端口是否放开。此外也可以通过cat /etc/ssh/sshd_config
查看ssh的端口。
- 如果非要修改ssh端口只需使用
-
命令选项 作用 ssh 用户名@ip 端口默认22 ssh [-p 端口] 用户名@ip 如果端口非22,则需要使用-p并输入相应的端口 -
如下连接建立之后 输入密码即可登入,使用
exit
退出 -
-
4.5 scp,远程拷贝文件
-
是一个在linux下用来远程拷贝文件的命令。
-
如果是从windows到linux中,那么更推荐使用WinSCP、FTP等软件,而非命令
-
命令选项 作用 scp [-P 端口] [源文件] 用户名@ip地址:[目标地址] 将[源文件]拷贝至目标主机的[目标地址]中,注意如果端口为22则-P 端口可以省略。另外P大写 scp -r [-P 端口] [源文件] 用户名@ip地址:[目标地址] 拷贝文件夹。相比其他多加了-r
5. 用户、权限相关命令
命令汇总
序号 | 命令 | 作用 |
---|---|---|
5.1 | chmod [+/-rwx] [文件名|目录名] | 可以修改 用户/组 对 文件/目录 的权限 |
5.2 | sudo | 获取root权限 |
5.3 | groupadd [组名],groupdel [组名] | 添加组,删除组 |
5.4 | chgrp -R [组名] [文件/目录名] | 递归修改文件/目录的所属组 |
5.5 | useradd -m -g [组] [新建用户名] | 新建用户, -m自动建立家目录;-g指定所在组,否则自动新建一个同名组,注意和5.6连用 |
5.6 | passwd [用户名] | 设置用户密码 |
5.7 | userdel -r [用户名] | 删除用户,-r会自动删除用户家目录 |
5.8 | 查看用户信息,修改用户组 | 查看用户信息 |
5.9 | su [用户名] | 切换用户 |
5.10 | chown [用户名] [文件名|目录名] | 修改文件拥有者,这个命令一般而言用的不多 |
下面依次详细介绍各个命令,注意以下命令选项选择常见的进行说明演示。
5.1 chmod [+/-rwx] [文件名|目录名], 修改文件权限
-
在linux中r、w、x分别代表可读、可写、可执行
-
这种方式会一次性修改拥有者/组的权限
-
在日常使用中
chmod
更多的是使用数字来设置权限- 例如:
chmod -R 756 [文件名|目录名]
(这里加上了-R
递归符号)- 表示拥有者rwx
- 拥有组rx
- 其他用户rw
- 例如:
5.2 sudo,获取超级用户权限
- 在大多数的linux发行版中,都不推荐直接使用root账号登录系统
- 一般使用
sudo + 命令
的方式,暂时(5分钟)获取root权限
- 一般使用
- 某些情况如果需要一直使用root权限可以使用
sudo su
来达到直接使用root账号登录系统的结果
5.3 groupadd [组名],groupdel [组名], 添加删除组
-
在使用该命令时必须拥有root权限
-
可以使用
sudo +命令
的方式暂时获取root权限 -
命令执行完成之后通过
cat /etc/group
来查看执行结果 -
-
删除与添加的方式一样
-
5.4 chgrp -R [组名] [文件/目录名], 递归修改文件/目录的所属组
-
- R
:该选项可以递归的修改目录中的子目录 -
将桌面上的111.txt所属组,修改到新创建testUser组中
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JbXJikKg-1628934326325)(C:\Users\13324\AppData\Roaming\Typora\typora-user-images\image-20210813164019281.png)]
5.5 useradd -m -g [组] [新建用户名], 新建用户
-
该命令可以达到新建用户的目的
- 其中
-m
:自动建立家目录,建议带上 -g
:指定用户所在的组,否则会建立一个同名组
- 其中
-
一般该命令使用完,创建新用户之后紧接着就设置密码,否则安全性难以保证
passwd [用户名]
:使用该命令达到设置密码的目的
-
演示中前面都带有
sudo
是为了获取root权限,如果在root权限下,则不用带- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xTbNvGn6-1628934326325)(C:\Users\13324\AppData\Roaming\Typora\typora-user-images\image-20210813170248361.png)]
-
新建的用户信息可以使用
cat /etc/passwd
查看
5.6 passwd [用户名],修改用户密码
- 参照5.5中的演示
5.7 userdel -r [用户名], 删除用户
-r
选项会自动删除用户家目录,建议带上
5.8 查看用户信息,修改用户组
-
命令选项 含义 id [用户名] 查看 UID(用户ID) 和 GID(组ID) 信息 who 查看当前所有登录的用户列表 whoami 查看当前登录用户的账户名 - 文件
/etc/passwd
含义解释- 每个用户信息由6个分号分隔开,共有7个信息分别为
- 用户名
- 密码(x,表示加密的密码)
- UID (用户标识)
- GID(主组标识)
- 用户名全称(若没有,则同名)
- 家目录
- 登录使用的Shell(可以理解为命令终端的风格,下面会介绍响应信息)
- 每个用户信息由6个分号分隔开,共有7个信息分别为
- 文件
-
关于主组与附加组
-
一般而言一个用户可以同时属于多个不同的组
- 默认情况下新建用户时加入的组,为用户的主组。其他为附加组
- 主组标识,GID
-
命令选项 含义 usermod -g [组] [用户名] 修改用户的主组(passwd 中的 GID) usermod -G [组] [用户名] 修改用户的附加组 usermod -s /bin/bash [用户名] 修改用户登录 Shell,一般不会使用。修改时候需要重新启动。可以更改命令终端的风格(bash看起来更加人性化,是ourne Shell的增强版本) -
用户的具体组情况可以使用
cat /etc/group
查看当然一般为了方便都会加上管道|和grep的用法 -
给lisi添加附加组lxd
-
-
修改lisi的Shell(新建用户默认的Shell:/bin/sh)
-
-
5.9 su [用户名]
- 使用命令
su [用户名]
:可以切换用户sudo su
或su
等都可以进入root用户
- 使用命令
su - [用户名]
:切换用户并切换目录至该用户的家目录 - 使用命令
exit
退出该用户
5.10 chown [用户名] [文件名|目录名],修改文件拥有者
- 具体的时候方法与5.4
chgrp
命令类似
6. 系统信息相关命令
命令汇总
序号 | 命令 | 作用 |
---|---|---|
6.1 | date | 查看系统时间 |
6.2 | cal | 查看日历 |
6.3 | df | 显示磁盘剩余空间 |
6.4 | ps | 查看当前进程的详细状况 |
6.5 | top | 动态显示运行中的进程并且排序 |
6.6 | kill [进程代号] | 终止指定代号的进程 |
下面依次详细介绍各个命令,注意以下命令选项选择常见的进行说明演示。
6.1 date,查看系统时间
6.2 cal,查看日历
-
命令选项 含义 cal 查看到当月的日历 cal -y 查看到当年的日历情况 -
6.3 df,显示磁盘剩余空间
-
命令选项 含义 df 显示磁盘剩余空间(单位字节) df -h 显示磁盘剩余空间(单位自适应),更符合一般人的查看方式 df -h [目录名] 显示该目录下的文件大小
6.4 ps ,查看进程的详细状况
-
命令选项 含义 ps 显示当前用户通过终端启动的应用程序 ps a 显示终端上的所有进程,包括其他用户的进程 ps u 显示进程的详细状态 ps x 显示没有控制终端的进程 - 注意和其他命令一样命令可以叠加,比如
ps ax
等
- 注意和其他命令一样命令可以叠加,比如
6.5 top,动态显示运行中的进程并且排序
- 与windows中任务管理器中的进程差不多,一旦运行就会动态的显示
- 如果需要退出按
q
- 如果需要退出按
6.6 kill [进程代号],终止指定代号的进程
- 进程代号需要使用
ps
命令查看- 如果不能直接杀死该进程则使用
kll -p [PID]
强制结束进程 - 这里为了演示打开了两个终端,其中PID4213是新开的终端
- 如果不能直接杀死该进程则使用
7. 查找、打包、软件安装等命令
命令汇总
序号 | 命令 | 含义 |
---|---|---|
7.1 | find [路径] -name “[查找内容]” | 在该路径下查找文件 |
7.2 | tar和gzip | 打包/解包。压缩/解压 |
7.3 | apt | 安装软件 |
下面依次详细介绍各个命令,注意以下命令选项选择常见的进行说明演示。
7.1 find [路径] -name “[查找内容]”,在该路径下查找文件
- 如果不输入路径则是在当前路径下查找
- 查找内容中可以包括通配符(通配符的相关信息请参看3.1)
7.2 tar和gzip,打包/解包。压缩/解压
-
在linux中
tar
是很常用的备份工具,可以 把一系列文件 打包到 一个大文件中,也可以把一个 打包的大文件恢复成一系列文件- 注意打包不是压缩
- 配合
gzip
才能起到压缩/解压的效果- 除开
gzip
之外还有bzip2
也能起到同样的效果,只需要把-z
和扩展名.gz
改为-j
和.bz2
即可
- 除开
- 在linux中扩展名为
.tar
一般为打包文件,.tar.gz
为打包后的压缩文件 - 如果只需要打包解包则命令选项为
-cvf
和-xvf
加上z
之后就变成了相应的压缩和解压缩
-
命令选项 含义 tar -zcvf [打包压缩文件名.tar.gz] [被打包压缩的文件/路径] 打包压缩文件,文件和路径可以添加多个,以空格隔开即可 tar -zxvf [解包解压文件名.tar.gz] -C [指定解压路径] 解包解压缩文件,如果不加 -C
则默认当前路径下
7.3 apt,安装软件
-
注意在使用改命令时需要取得root权限,或者在命令前添加sudo
- 在使用某命令时,如果系统没有,则会自动提示安装。一般而言照着操作即可。
-
命令选项 含义 apt install [软件包] 安装软件 apt remove [软件包] 卸载软件 apt upgrade 更新已安装的包 - 下面演示安装htop的例子(进程显示软件)