侧边栏壁纸
博主头像
孔子说JAVA博主等级

成功只是一只沦落在鸡窝里的鹰,成功永远属于自信且有毅力的人!

  • 累计撰写 285 篇文章
  • 累计创建 125 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

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

孔子说JAVA
2021-09-25 / 0 评论 / 0 点赞 / 216 阅读 / 6,609 字 / 正在检测是否收录...

1、前言

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

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

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

image-1648635084352

1.2 命令提示符

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

image-1648635109476

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。
foobar :把上一条命令里的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退出
0

评论区