Linux操作命令分类详解 - 命令速查
Posted 孔子-说
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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地址
# curl ifconfig.me 查看本机的出口公网IP信息
# curl cip.cc 查看本机的出口公网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操作命令分类详解 - 命令速查的主要内容,如果未能解决你的问题,请参考以下文章