Linux操作命令分类详解 - 命令速查

Posted 孔子-说

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux操作命令分类详解 - 命令速查相关的知识,希望对你有一定的参考价值。

目录

系列文章

1、前言

1.1 Linux常用快捷键和基本命令思维导图

1.2 命令提示符

2、Linux快捷键

2.1 常用快捷键

2.2 快捷键分类介绍

3、命令速查

3.1 文件和目录

3.2 查看文件内容

3.3 文本处理

3.4 查找

3.5 压缩和解压

3.6 yum工具

3.7 网络

3.8 其他

4、关机、重启、防火墙命令

4.1 关机命令

4.2 重启命令

4.3 防火墙命令 

5、帮助命令

5.1 help命令

5.2 man命令(命令说明书)


系列文章

Linux操作命令分类详解 - 命令速查(一)

Linux操作命令分类详解 - 目录文件(二)

Linux操作命令分类详解 - 用户权限(三)

Linux操作命令分类详解 - 压缩备份(四)

Linux操作命令分类详解 - 进程查找其他(五)

1、前言

在Linux文件系统中有两个特殊的目录,一个用户所在的工作目录,也叫当前目录,可以使用一个点 . 来表示;另一个是当前目录的上一级目录,也叫父目录,可以使用两个点 .. 来表示。

  • 根目录:目录的最高层,所有文件都在根目录下面;
  • 家目录:在/home/用户名里面(root用户的家目录不在home里面,而在/root),在任意目录下通过cd ~ 命令可以直接进入家目录。
  • 当前目录:. 代表当前的目录,也可以使用 ./ 来表示;
  • 上层目录:.. 代表上一层目录,也可以 ../ 来代表。
  • 隐藏目录或文件:如果一个目录或文件名以一个点 . 开始,表示这个目录或文件是一个隐藏目录或文件(如:.bashrc)。以默认方式查找时,不显示该目录或文件。
  • 绝对路径:由根目录 / 写起,例如: /usr/share/doc 这个目录。
  • 相对路径:不是由 / 写起,如从 /usr/share/doc 跳到 /usr/share/man 目录时,可写成: cd ../man。

1.1 Linux常用快捷键和基本命令思维导图

1.2 命令提示符

如下图为基本命令行提示符的样子,其中ubuntu/root为用户名,代表普通用户/超级用户,xnzysq20210118001代表主机名,~代表当前目录,即家目录,#是超级用户提示符,$是普通用户提示符。图中命令sudo -i 表示将当前用户切换到root,su ubuntu命令表示将当前用户切换到ubuntu普通用户。

2、Linux快捷键

2.1 常用快捷键

如果是组合键如Ctrl + K使用方式为:先按住 Ctrl 键,然后再按 K 键。

Ctrl + 左右键:在单词之间跳转
Ctrl + A:跳到本行的行首
Ctrl + E:跳到页尾
Ctrl + U:删除当前光标前面的所有文字(还有剪切功能)
Ctrl + K:删除当前光标后面的所有文字(还有剪切功能)
Ctrl + L:进行清屏操作
Ctrl + Y:粘贴Ctrl + U或Ctrl + K剪切的内容
Ctrl + W和Alt + D:对于当前的单词进行删除操作,W删除光标前面的单词的字符,D则删除后面的字符 
Alt + Backsapce:删除当前光标后面的单词
Ctrl + Z:挂起当前进程 fg恢复后台

history:显示命令历史列表
↑(Ctrl+p) 显示上一条命令
↓(Ctrl+n) 显示下一条命令
!num 执行命令历史列表的第num条命令
!! 执行上一条命令

clear             清屏
exit              退出
ps                查看当前进程
pwd               查看当前路径
Ctrl + C          退出当前命令
ll                显示目录文件详细信息
du -h 文件/目录    查看大小,-h表示以合适的单位显示(会根据文件的大小自动选择kb或M等单位)
stat 文件         查看文件的详细信息,比如创建修改时间,大小等
&                 使用&在命令结尾让程序自动运行

2.2 快捷键分类介绍

1)Tab,补充命令

不用输入完整的命令,输入命令前几个字母后Tab键,会自动补全命令提示。若有多个相同前缀的命令,按两次Tab键后会在下一行显示出待选命令,可以根据此提示继续补充输入。

2)移动光标命令

Ctrl + 左右键:在单词之间跳转
Ctrl + A:移动光标到开头(行首)
Ctrl + E:移动光标到结尾(行尾)
Ctrl + B:往回(左)移动一个字符(相当于左键)
Ctrl + F:往后(右)移动一个字符(相当于右键)
Ctrl + XX:(两个X)在命令行尾和光标之间移动
Alt + B:往回(左)移动一个单词
Alt + F:往后(右)移动一个单词
Esc + B:往回(左)移动一个单词
Esc + F:往后(右)移动一个单词
Esc + T:交换光标位置前的两个单词

3)编辑命令

Ctrl + H :删除光标左方位置的字符
Ctrl + D:删除光标右方位置的字符(注意:当前命令行没有任何字符时,会注销系统或结束终端)
Ctrl + W :由光标位置开始,往左删除单词。往行首删
Alt + D :由光标位置开始,往右删除单词。往行尾删
Esc + D :由光标位置开始,删除单词,直到该单词结束。
Ctrl + K :剪切光标处到行尾的字符。
Ctrl + U :剪切光标处到行首的字符。
Ctrl + Y :将剪切的字符进行粘贴。
Ctrl + T :交换光标处和之前两个字符的位置。
Alt + . :使用上一条命令的最后一个参数。
Ctrl + _ :回复之前的状态。撤销操作。
Ctrl + A + K ,或 Ctrl + E + U 或 Ctrl + K + U 组合可删除整行。

^abc :删除上一条命令中的abc。
^foo^bar :把上一条命令里的foo替换为bar,并执行。

Ctrl + Ins:复制
Shift + Ins:粘贴

4)搜索历史命令

Ctrl + P:显示当前命令的上一条历史命令(相当于上键)
Ctrl + N:显示当前命令的下一条历史命令(相当于下键)
Ctrl + R:搜索历史命令,随着输入会显示历史命令中的一条匹配命令。Ctrl+r 然后输入若干字符,开始向上搜索包含该字符的命令,继续按Ctrl+r,搜索上一条匹配的命令
Ctrl + S:与Ctrl+r类似,只是正向检索。
Ctrl + G:从历史搜索模式(Ctrl + R)退出。
history:显示命令历史列表
↑(Ctrl+p) 显示上一条命令
↓(Ctrl+n) 显示下一条命令

5)控制命令

Ctrl + L:清除屏幕,然后,在最上面重新显示目前光标所在的这一行的内容。
Ctrl + O:执行当前命令,并选择上一条命令。
Ctrl + S:阻止屏幕输出,可以当做锁屏
Ctrl + Q:允许屏幕输出,锁屏后解除锁屏
Ctrl + C:终止命令(中断正在运行的命令行)
Ctrl + Z:挂起/暂停命令(使用‘fg’命令恢复), 如sleep 40命令执行后一直动不了,光标一直在闪,按Ctrl+Z后就可以重新回到命令行
Ctrl + D:退出当前Xshell

6)ESC相关命令

Esc+.(点):获取上一条命令的最后的部分(空格分隔)
Esc – 操作次数 操作动作:指定操作次数,重复执行指定的操作。
Esc+b:移动到当前单词的开头
Esc+f:移动到当前单词的结尾
Esc+t:颠倒光标所在处及其相邻单词的位置

7)Bang(!)命令

该命令也被发音为” bang bang”命令。它重复你的shell程序中的最后一个键入的命令。

!! :执行上一条命令。
!pw:执行最近以pw开头的命令。
!pw:p:仅打印最近pw开头的命令,但不执行。
!num:执行历史命令列表的第num(数字)条命令。
!wget :执行最近的以wget开头的命令。
!wget:p :仅打印最近的以wget开头的命令,不执行。
!$ :上一条命令的最后一个参数, 与 Alt - . 和 $_ 相同。
!* :上一条命令的所有参数
!*:p :打印上一条命令是所有参数,也即 !*的内容。
!n	执行历史命令列表第n条命令,例如执行第三条命令:!3
!-n	执行历史命令列表倒数第n条命令,例如执行倒数第三条的命令:!-3
执行上一条命令: !-1
执行前5条命令的格式是: !-5
!!string	在上一条命令的后面追加 string ,并执行
!nstring	在第n条指令后面追加string,并执行

3、命令速查

3.1 文件和目录

# cd /home                        进入 '/home' 目录

# cd ..                                返回上一级目录

# cd ../..                             返回上两级目录

# cd -                                 返回上次所在目录

# cp file1 file2                    将file1复制为file2

# cp -a dir1 dir2                 复制一个目录

# cp -a /tmp/dir1 .              复制一个目录到当前工作目录(.代表当前目录)

# ls                                    查看目录中的文件

# ls -a                                显示隐藏文件

# ls -l                                 显示详细信息

# ls -lrt                               按时间显示文件(l表示详细列表,r表示反向排序,t表示按时间排序)

# pwd                                显示工作路径

# mkdir dir1                       创建 'dir1' 目录

# mkdir dir1 dir2                同时创建两个目录

# mkdir -p /tmp/dir1/dir2    创建一个目录树

# mv dir1 dir2                    移动/重命名一个目录

# rm -f file1                        删除 'file1'

# rm -rf dir1                       删除 'dir1' 目录及其子目录内容

3.2 查看文件内容

# cat file1                          从第一个字节开始正向查看文件的内容

# head -2 file1                   查看一个文件的前两行

# more file1                       查看一个长文件的内容

# tac file1                          从最后一行开始反向查看一个文件的内容

# tail -3 file1                      查看一个文件的最后三行

3.3 文本处理

# grep str /tmp/test            在文件 '/tmp/test' 中查找 "str"

# grep ^str /tmp/test           在文件 '/tmp/test' 中查找以 "str" 开始的行

# grep [0-9] /tmp/test         查找 '/tmp/test' 文件中所有包含数字的行

# grep str -r /tmp/*             在目录 '/tmp' 及其子目录中查找 "str"

# diff file1 file2                   找出两个文件的不同处

# sdiff file1 file2                 以对比的方式显示两个文件的不同

3.4 查找

# find / -name file1                                                 从 '/' 开始进入根文件系统查找文件和目录

# find / -user user1                                                查找属于用户 'user1' 的文件和目录

# find /home/user1 -name \\*.bin                            在目录 '/ home/user1' 中查找以 '.bin' 结尾的文件

# find /usr/bin -type f -atime +100                         查找在过去100天内未被使用过的执行文件

# find /usr/bin -type f -mtime -10                           查找在10天内被创建或者修改过的文件

# locate \\*.ps                                                         寻找以 '.ps' 结尾的文件,先运行 'updatedb' 命令

# find -name '*.[ch]' | xargs grep -E 'expr'              在当前目录及其子目录所有.c和.h文件中查找 'expr'

# find -type f -print0 | xargs -r0 grep -F 'expr'        在当前目录及其子目录的常规文件中查找 'expr'

# find -maxdepth 1 -type f | xargs grep -F 'expr'    在当前目录中查找 'expr'

3.5 压缩和解压

# bzip2 file1                                   压缩 file1

# bunzip2 file1.bz2                        解压 file1.bz2

# gzip file1                                     压缩 file1

# gzip -9 file1                                最大程度压缩 file1

# gunzip file1.gz                            解压 file1.gz

# tar -cvf archive.tar file1               把file1打包成 archive.tar

(-c: 建立压缩档案;-v: 显示所有过程;-f: 使用档案名字,是必须的,是最后一个参数)

# tar -cvf archive.tar file1 dir1        把 file1,dir1 打包成 archive.tar

# tar -tf archive.tar                         显示一个包中的内容

# tar -xvf archive.tar                      释放一个包

# tar -xvf archive.tar -C /tmp         把压缩包释放到 /tmp目录下

# zip file1.zip file1                          创建一个zip格式的压缩包

# zip -r file1.zip file1 dir1               把文件和目录压缩成一个zip格式的压缩包

# unzip file1.zip                             解压一个zip格式的压缩包到当前目录

# unzip test.zip -d /tmp/                 解压一个zip格式的压缩包到 /tmp 目录

3.6 yum工具

# yum -y install [package]              下载并安装一个rpm包

# yum localinstall [package.rpm]    安装一个rpm包,使用你自己的软件仓库解决所有依赖关系

# yum -y update                              更新当前系统中安装的所有rpm包

# yum update [package]                 更新一个rpm包

# yum remove [package]                删除一个rpm包

# yum list                                        列出当前系统中安装的所有包

# yum search [package]                 在rpm仓库中搜寻软件包

# yum clean [package]                   清除缓存目录(/var/cache/yum)下的软件包

# yum clean headers                      删除所有头文件

# yum clean all                                删除所有缓存的包和头文件

3.7 网络

# ifconfig eth0                                                                       显示一个以太网卡的配置

# ifconfig eth0 192.168.1.1 netmask 255.255.255.0            配置网卡的IP地址

# ifdown eth0                                                                        禁用 'eth0' 网络设备

# ifup eth0                                                                            启用 'eth0' 网络设备

# iwconfig eth1                                                                     显示一个无线网卡的配置

# iwlist scan                                                                         显示无线网络

# ip addr show                                                                     显示网卡的IP地址

3.8 其他

# su -                                 切换到root权限(与su有区别)

# shutdown -h now           关机

# shutdown -r now            重启

# top                                  罗列使用CPU资源最多的linux任务 (输入q退出)

# pstree                             以树状图显示程序

# man ping                        查看参考手册(例如ping 命令)

# passwd                          修改密码

# df -h                               显示磁盘的使用情况

# cal -3                             显示前一个月,当前月以及下一个月的月历

# cal 10 1988                   显示指定月,年的月历

# date --date '1970-01-01 UTC 1427888888 seconds'   把一相对于1970-01-01 00:00的秒数转换成时间

4、关机、重启、防火墙命令

当我们关机或者重启时,都应该先执行一下sync指令,把内存的数据写入磁盘,防止数据丢失。

4.1 关机命令

shutdown -h now        立刻关机
shutdown -h 5          5分钟后关机
poweroff               立刻关机

4.2 重启命令

shutdown -r now        立刻重启
shutdown -r 5          5分钟后重启
reboot                 立刻重启
sync                   把内存的数据同步到磁盘

4.3 防火墙命令 

systemctl enable firewalld.service      设置开机启用防火墙
systemctl disable firewalld.service     设置开机禁用防火墙
systemctl start firewalld               启动防火墙
systemctl stop firewalld                关闭防火墙
systemctl status firewalld              检查防火墙状态

使用firewall-cmd配置端口
(1)查看防火墙状态:firewall-cmd --state
(2)重新加载配置:firewall-cmd --reload
(3)查看开放的端口:firewall-cmd --list-ports
(4)开启防火墙端口:firewall-cmd --zone=public --add-port=9200/tcp --permanent
  命令含义:
  –zone #作用域
  –add-port=9200/tcp #添加端口,格式为:端口/通讯协议
  –permanent #永久生效,没有此参数重启后失效
  注意:添加端口后,必须用命令firewall-cmd --reload重新加载一遍才会生效
(5)关闭防火墙端口:firewall-cmd --zone=public --remove-port=9200/tcp --permanent

5、帮助命令

5.1 help命令

shutdown --help:
ifconfig  --help:查看网卡信息

5.2 man命令(命令说明书)

man shutdown
注意:man shutdown打开命令说明书之后,使用按键q退出

以上是关于Linux操作命令分类详解 - 命令速查的主要内容,如果未能解决你的问题,请参考以下文章

Linux操作命令分类详解 - 压缩备份

Linux操作命令分类详解 - 压缩备份

Linux操作命令分类详解 - 进程查找其他

Linux操作命令分类详解 - 进程查找其他

Linux常用命令与详解

Linux操作命令分类详解 - 目录文件