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

Posted 温文艾尔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux指令及用法总结(附举例)相关的知识,希望对你有一定的参考价值。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

linux常用指令

pwd

  • 显示当前目录

showdown

  • 关机

reboot

  • 重启

关于用户操作的指令

useradd 用户名

  • 添加用户

passwd 用户名

  • 为用户设置密码,不写用户名默认给当前登录的用户修改密码

userdel 用户名

  • 删除用户但是保留家目录

userdel -r tom

  • 删除用户以及用户主目录

id 用户名

  • 查询用户信息指令,当用户不存在时,返回无此用户

su - 用户名

  • 切换用户,从权限高的用户切换到权限低的用户不需要输入密码,反之需要,比如root,当返回原来的用户时,使用exit/logout指令

whoami/who an I

  • 查看当前用户/登录用户,后面的更精准

w

  • 查看当前活跃的用户

cat /etc/group

  • 查看当前活跃的用户列表

cat /etc/passwd

  • 查看用户组

用户组

groupadd 组名

  • 新增用户组

groupdel 组名

  • 删除用户组

useradd -g 用户组 用户名

  • 增加一个用户zwj,直接将他指定到某个用户组

usermod -g 用户组 用户名

  • 修改用户的组

usermod -d 目录名 用户名

  • 改变该用户登录的初始目录(修改后的用户需要有进入到新用户的权限)

chgrp

  • 修改文件所在的组

chgrp 组名 文件名

  • 案例
    • 请将/home/abc.txt文件的所在组修改成shaolin(少林)
    • 请将/home/kkk目录下所有的文件和目录的所在组都修改成shaolin(少林)

运行级别指令

  • init 3
    • 切换为多用户状态有网络服务无界面
  • init 5
    • 切换为多用户状态有网络服务有界面(耗费资源)
  • 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

  • 查看端口协议以及状态

top

  • 现实正在执行的进程,和ps不同之处在于,top执行一段时间可以更新正在运行的进程
  • 用法:top [选项]
  • 选项说明
    • -d 指定top命令每隔几秒更新,默认是3秒
    • -i 使top不显示任何闲置或者僵死进程
    • p 通过指定监控进程ID来仅仅监控某个进程的状态

netstat

  • 查看系统网络状况
  • 用法:netstat [选项]
  • 选项说明
    • -an 按一定顺序排列输出
    • -p 显示哪个进程在调用

rpm与yum

rpm

  • 查询已安装的rpm列表
  • 用法:rpm -qa|grep xx

rpm -q 软件包名

  • 查询软件包是否安装
  • rpm -q firefox

rpm -qi 软件包名

  • 查询软件包信息
  • rpm -qi firefox

rpm -qf 文件全路径名

  • 查询文件所属的软件包
  • rpm -qf /etc/passwd

卸载rpm包

  • 用法:rpm -e RPM包的名称

安装rpm包

  • 用法:rpm -ivh RPM包全路径名称
  • 参数i:install安装
  • 参数v:verbose提示
  • 参数h:hash进度条
  • 安装包都在packages中
  • 将packages中的需要安装的包放在opt目录下进行安装

yum list

  • 查询yum服务器是否有需要安装的软件
  • yum list|grep xx软件列表

安装指定的yum包

  • yum install xxx 下载安装

以上是关于Linux指令及用法总结(附举例)的主要内容,如果未能解决你的问题,请参考以下文章

Vue.js中ref ($refs)用法举例总结及应注意的坑

Mac下find命令常用语法总结

cmake用法及常用命令总结

return用法总结

return用法总结

css3 media媒体查询器用法总结(附js兼容方法)