Linux指令及用法总结(附举例)

  • init 0

  • 关机

systemctl set-default Target

  • 设置默认级别,关机也不会被重置

systemctl get-default

  • 获取当前默认级别

帮助指令


man

  • 获得帮助信息,基本语法man [命令或配置文件](功能描述:获得帮助信息)

  • 案例:查看ls命令的帮助信息

  • 在linux下。.开头的是隐藏文件

help指令

  • 基本语法:help 命令(功能描述:获得shell内置命令的帮助信息)

  • 应用实例:查看cd命令的帮助信息

文件目录指令


tree

  • 将文件及其子文件以目录的树形图的形式展示

  • 用法 tree [目录]

  • 如果没有tree指令。则使用yum install tree进行安装

pwd

  • 显示当前工作目录的绝对路径

ls

  • 用法:ls [选项] [目录或是文件]

  • 常用选项

  • -a :显示当前目录所有的文件和目录,包括隐藏的

  • -l:以列表的方式显示信息

cd

  • 用法:cd [参数]

  • 功能描述:切换到指定目录

  • cd ~ 或者 cd : 回到自己的家目录

  • cd … 回到当前目录的上一级目录

  • 返回到多个目录之前则例如…/…/ root

mkdir

  • 用法:mkdir [选项] 要创建的目录

  • 用于创建目录

  • 常用选项

  • -p :创建多级目录

  • 举例

  • 创建一个目录/home/dog

  • mkdir /home/dog

  • 创建多级目录/home/animal/tiger

  • mkdir -p /home/animal/tiger

rmdir

  • 用法:rmdir [选项] 要删除的空目录

  • 用于删除空目录

  • 举例

  • 删除/home/dog

  • 使用细节

  • rmdir删除的是空目录,如果目录下有内容是无法删除的

  • 如果需要删除非空目录,需要使用rm -rf 要删除的目录

touch

  • 用法:touch 文件名称

  • 创建空文件

cp

  • 用法:cp [选项] source dest

  • 拷贝文件到指定目录

  • 常用选项

  • -r:递归复制整个文件夹

  • 举例

  • 将/home/hello.txt拷贝到/home/bbb目录下

  • cp /home/hello.txt /home/bbb/

  • 将/home/bbb整个目录拷贝到/opt下

  • cp -r /home/bbb /opt/

  • 目录下有相同文件夹继续复制会提示是否覆盖,强制不覆盖的方法是

  • \cp

  • 举例

  • \cp -r /home/bbb /opt

rm

  • 用法:rm [选项] 要删除的文件或目录

  • rm指令移除文件或目录

  • 常用选项

  • -r:递归删除整个文件夹

  • -f:强制删除不提示

  • 举例

  • 将/home/hello.txt删除

  • rm /home/hello.txt

  • 递归删除整个文件夹/home/bbb

  • rm -rf /home/bbb

mv

  • mv用于移动文件与目录或重命名

  • 用法

  • mv oldNameFile newNameFile(重命名)

  • mv 资源 目标位置 (移动文件)

  • 举例

  • 将/home/cat.txt文件重新命名为pig.txt

  • mv cat.txt pig.txt

  • 将/home/pig.txt文件移动到/root目录下

  • mv pig.txt /root/

  • 移动文件并重新命名

  • mv pig.txt /root/cow.txt

  • 将opt目录下的bbb文件夹整体移动到home下

  • mv bbb /home/

cat

  • 用法:cat [选项] 要查看的文件
  • 查看文件内容

  • 常用选项

  • -n:显示行号

  • 结合管道命令

  • cat -n /etc/profile | more

more

  • more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键(交互的指令),详见操作说明

  • 用法 more 要查看的文件

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z2CEHRU8-1626965796143)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20210709103032397.png)]

less

  • less指令用来分屏查看文件内容,他的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在现实文件内容时,并不显示完,而是根据下一步指令显示

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jOHYepT0-1626965796146)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20210709105358160.png)]

echo

  • echo输出内容到控制台

  • 用法:echo [选项] [输出内容]

  • 举例

  • 使用echo指令输出环境变量

  • echo $HOSTNAME

  • 使用echo 指令输出 hello world

  • echo hello world

head

  • head用于显示文件的开头部分内容,默认情况下显示文件的前10行

  • 用法:

  • head 文件(查看文件头10行内容)

  • head -n 5 文件(查看文件头5行内容,5可以是任意行数)

  • 举例

  • 查看/etc/profile前5行代码

  • head -n 5 /etc/profile

tail

  • tail用于输出文件中尾部的内容,默认为尾部10行

  • 用法:

  • tail 文件

  • tail -n 5 文件 查看文件尾5行内容,5可以是任意行数

  • tail -f 文件(实时追踪该文档的所有更新)

>

将内容覆盖到文件中

举例

  • echo “hello” > /home/mydate.txt

  • ls -l >文件(将列表中的内容写入到文件中,覆盖)

  • cat 文件1 > 文件2 (将文件1的内容覆盖到文件2)

  • 将/home目录下的文件列表写入到/home/info.txt中,覆盖写入

  • ls -l /home > /home/info.txt

>>

  • 将内容追加到文件中

  • 举例,将当前日历信息追加到/home/mycal文件中

  • cal >> /home/mycal

history指令

  • 查看已经执行过的历史命令,也可以执行历史指令

  • 案例

  • 显示最近使用过的10个指令

  • history 10

  • 执行历史编号为5的指令

  • !5

软链接(快捷方式)


ln指令

软链接又称符号链接,类似于windows里的快捷方式

  • 用法:

  • ln -s 真实位置路径 快捷方式路径

  • 案例

  • 在/home目录下创建一个软链接myroot,连接到root

  • ln -s /root/ .home/myroot

  • 删除myroot

  • rm /home/myroot

  • 细节说明

  • 当我们使用pwd指令查看目录时,仍然看到的是软链接所在目录

时间日期指令


date指令-显示当前日期

  • date (显示当前时间)

  • date +%Y (显示当前年份)

  • date +%m (显示当前月份)

  • date +%d (显示当前是哪一天)

  • date “+%Y-%m-%d %H:%M:%S” (显示年月日时分秒)

  • date -s 字符串时间

  • 设置系统当前时间

cal指令

  • cal 显示当前月份的日历

  • cal 2020 显示2020一整年的日历

查找指令


find指令

  • find指令将从指定目录向下递归的遍历其各个子目录,将满足条件的文件或者目录显示在终端

  • 用法 find [搜索范围] [选项]

  • 选项说明

  • -name<查询方式> 按照指定的文件名查找模式查找文件

  • -user<用户名> 查找属于指定用户名所有文件

  • size<文件大小> 按照指定的文件大小查找文件

  • 案例

  • 按文件名,根据名称查找/home目录下的hello.txt文件

  • find /home -name hello.txt

  • 按拥有者,查找/opt目录下,用户名称为nobody的文件

  • find /opt -user nobody

  • 查找整个linux系统下大于200M的文件(+n大于 -n小于 n等于)

  • find / -size +200M

locate指令

  • locate指令用于快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件,为了保证查询结果的准确性,管理员必须定期更新locate时刻

  • 特别说明

  • 优于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库

  • 用法:locate 搜索文件

grep指令和管道符号

grep过滤查找,管道符,“”,表示将前一个命令的处理结果输出传递给后面的命令处理

  • 用法:grep [选项] 查找内容 源文件

  • 常用选项

  • -n 显示匹配行及行号

  • -i 忽略字母大小写

  • 案例

  • 请在hello.txt文件中查找"yes"所在行,并且显示行号

  • cat /home/hello.txt | grep -n “yes”

  • grep -n “yes” /home/hello.txt

压缩和解压类


gzip指令

  • 对文件进行压缩

  • 用法

  • gzip 文件 (压缩文件,只能将文件压缩为*.gz文件)

gunzip指令

  • 对文件进行解压缩

  • 用法

  • gunzip 文件.gz(解压缩文件命令)

zip指令

  • 对文件夹进行压缩

  • 用法

  • zip [选项] xxx.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)

  • 常用选项

  • -r:递归压缩

unzip指令

  • 对文件夹进行解压缩

  • 用法unzip [选项] xxx.zip

  • 常用选项

  • -d<目录> :指定压缩后文件的存放目录

案例

  • 将/home下的所有文件进行压缩成myhome.zip

  • zip -r myhome.zip /home/ [将home目录及其包含的文件和子文件夹进行压缩]

  • 将myhome.zip解压到/opt/tmp目录下

  • unzip -d /opt/tpm myhome.zip

tar指令

  • tar指令是打包指令,最后打包后的文件是.tar.gz的文件

  • 用法:tar [选项] xxx.tar.gz 打包的内容(功能描述:打包目录,压缩后的文件格式.tar.gz)

  • 选项说明

  • -c

  • 产生.tar打包文件

  • -v

  • 显示详细信息

  • -f

  • 指定压缩后的文件名

  • -z

  • 打包同时压缩

  • -x

  • 解包.tar文件

  • 案例

  • 压缩多个文件,将.home/pig.txt和/home/cat.txt压缩成pc.tar.gz

  • tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt

  • 将/home的文件夹压缩成myhome.tar.gz

  • tar -zcvf muhome.tar.gz /home

  • 将pc.tar.gz解压到当前目录

  • tar -zxvf pc.tar.gz

  • 将myhome.tar.gz解压到/opt/tmp2目录下

  • tar -zxvf /home/myhome.tar.gz -C /opt/tmp2

组的指令


查看文件的所有者

  • ls -ahl

chown

  • 修改文件的所有者

  • chown 用户名 文件名

  • chown newowner:newgroup 文件/目录 改变所有者和所在组

  • -R

  • 案例

  • 将/home/abc.txt文件的所有者修改成tom

  • chown tom abc.txt

  • 请将/home/kkk目录下所有的文件和目录的所有者都修改成tom

  • chown -R tom abc.txt

权限操作


chmod

  • 通过chmod指令,可以修改文件或者目录的权限

  • 第一种方式:+、-、=变更权限

  • u:所有者g:所有组o:其他人a:所有人(u、g、o的总和)

  • chmod u=rwx,g=rx,o=x 文件/目录名

  • chmod o+w 文件/目录名

  • chmod a-x 文件/目录名

  • 第二种方式:通过数字变更权限

  • r=4,w=2,x=1

  • chmod 751 文件名

  • 案例演示

  • 给abc文件所有者读写执行权限,所在组读执行权限,给其他组读执行权限

  • chmod u=rwx,g=rx,o=rx abc

  • 给abc文件所有者除去执行的权限,增加组写的权限

  • chmod u-x,g+w abc

  • 给abc文件的所有用户添加读的权限

  • chmod a+r abc

定时任务调度


crontab


  • 进行定时任务的设置

  • 用法crontab [选项]

  • 常用选项

  • -e 编辑crontab定时任务

  • -l 查询crontab任务

  • -r 删除当前用户所有的crontab任务

at

  • 一次性定时计划任务

  • ps -ef | grep atd检测atd是否启动

  • 用法:at [选项] [时间]

  • ctrl + D 结束at命令的输入

atrm

  • 删除已经存在的一次性定时任务调度

  • 用法:atrm 编号

硬盘和磁盘指令


lsblk

  • 查看磁盘分区情况

lsblk -f

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tYGQ2pqG-1626965796148)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20210710151808748.png)]

mount

  • 将一个分区与另一个分区联系起来

  • mount 设备名称 挂载目录

  • 例如:

  • mount /dev/sdb1 /newdisk

umount

  • 卸载挂载

  • umount 设备名称 或者 挂载目录

  • 例如

  • umount /dev/sdb1 或者 umount /newdisk

du -h 目录

  • 查询指定目录整体磁盘使用情况

  • -s 指定目录占用大小汇总

  • -h 带计量单位

  • -a 含文件

  • –max-depth=1 子目录深度

  • -c 列出明细的同时,增加汇总值

  • 案例:

  • 查询/opt目录的磁盘占用情况,深度为1

  • du -h --max-depth=1 /opt

网络相关指令


ipconfig指令

  • 查看windows环境中VMnet8的网络配置

  • 外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

ifconfig指令

  • 查看linux中的网络配置

  • 外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

进程相关指令


ps -a

  • 显示当前终端的所有进程信息

ps -u

  • 以用户的格式显示进程信息

ps -x

  • 显示后台进程运行的参数

一般情况下三个参数组合使用

ps -ef

  • 全格式显示当前所有的进程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U7s3Mimf-1626965796149)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20210710220455873.png)]

kill

  • 用法:kill [选项] 进程号(功能描述:通过进程号杀死进程)

  • 常用选项

  • -9:表示强迫进程立即停止(系统因为某些原因可能会停止kill指令的执行)

killall

  • 用法:killall 进程名称(功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时有用)

  • 使用killall,该进程的所有子进程也会被终止

pstree

  • 用法:pstree [选项]

  • 可以更直观的来看进程信息

  • 常用选项

  • -p:显示进程的PID

  • -u:显示进程的所属用户

服务管理指令


service

  • service 服务名 start

  • service 服务名 stop

  • service 服务名 restart

  • service 服务名 reload

  • service 服务名 status

setup

  • 查看所有系统服务

chkconfig

  • 为服务设置在某个运行级别上是自启动还是关闭

  • chkconfig --list | grep xxx

  • 查看服务

  • chkconfig --level 5 服务名 on/off

  • 设置某个服务在某级别自启动是关闭还是打开

systemctl

  • 设置某服务的开机启动状态

  • systemctl start 服务名

  • systemctl stop 服务名

  • systemctl restart 服务名

  • systemctl reload 服务名

  • systemctl status 服务名

  • systemctl list-unit-files | grep xxx

  • 查看某服务的开机启动状态

  • systemctl enable 服务名

  • 设置服务开机启动(永久生效)

  • systemctl disable 服务名

  • 关闭服务开机启动(永久生效)

  • systemctl is-enabled 服务名(查询某个服务是否是自启动的)

  • systemctl start 服务名

  • 临时将服务开启

  • systemctl stop 服务名

  • 临时将服务关闭

查看服务名称

  • ls -l /usr/lib/systemd/system | grep fire

  • 例如查看防火墙的服务名

  • ls -l /usr/lib/systemd/system | grep fire

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g7VAW5eW-1626965796150)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20210712104903054.png)]

firewall(打开关闭端口)

  • firewall-cmd --permanent --add-port=端口号/协议(端口号和协议都要)

  • firewall-cmd --permanent --remove-port=端口号/协议

  • firewall-cmd --reload

  • 重新载入才能生效

  • firewall-cmd --query-port=端口/协议

  • firewall-cmd --list-all 查看开放的端口号

netstat -anp | more

  • 查看端口协议以及状态

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 例如查看防火墙的服务名

  • ls -l /usr/lib/systemd/system | grep fire

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g7VAW5eW-1626965796150)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20210712104903054.png)]

firewall(打开关闭端口)

  • firewall-cmd --permanent --add-port=端口号/协议(端口号和协议都要)

  • firewall-cmd --permanent --remove-port=端口号/协议

  • firewall-cmd --reload

  • 重新载入才能生效

  • firewall-cmd --query-port=端口/协议

  • firewall-cmd --list-all 查看开放的端口号

netstat -anp | more

  • 查看端口协议以及状态

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-G1cVwSb9-1715800607894)]

[外链图片转存中…(img-zJ5T0eSD-1715800607895)]

[外链图片转存中…(img-Y3UDTdxB-1715800607895)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 9
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值