2.Linux命令

Linux基础命令

Linux的目录结构

![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=D%3A%5CTypor在这里插入图片描述

  • /,根目录是最顶级的目录了
  • Linux只有一个顶级目录:/
  • 路径描述的层次关系同样适用/来表示
  • /home/itheima/a.txt,表示根目录下的home文件夹内有itheima文件夹,内有a.txt

ls命令

功能:

  • 当只输入ls命令时,会列出HOME目录下的所有的文件夹的信息。
  • 如果ls后有路径,则展示当前输入的路径下的所有文件夹信息。

在这里插入图片描述

HOME目录是每一个用户在Liux系统的专属目录,默认在:/home/用户名

在这里插入图片描述

语法:ls [-l -h -a] [Linux路径]

  • 参数:被查看的文件夹,不提供参数,表示查看当前工作目录
  • -l,以列表形式查看
  • -h,必须配合-l使用,以更加人性化的方式显示文件大小
  • -a,显示隐藏文件

在这里插入图片描述

在这里插入图片描述

隐藏文件、文件夹

在Linux中以.开头的,均是隐藏的。

默认不显示出来,需要-a选项才可查看到。

pwd命令

功能:展示当前工作目录

语法:pwd

在这里插入图片描述

cd命令

功能:切换工作目录

语法:cd [目标目录]

参数:目标目录,要切换去的地方,不提供默认切换到当前登录用户HOME目录

在这里插入图片描述

HOME目录

每一个用户在Linux系统中都有自己的专属工作目录,称之为HOME目录。

  • 普通用户的HOME目录,默认在:/home/用户名

  • root用户的HOME目录,在:/root

FinalShell登陆终端后,默认的工作目录就是用户的HOME目录

相对路径、绝对路径

  • 相对路径,不以/开头的称之为相对路径

    相对路径表示以当前目录作为起点,去描述路径,如test/a.txt,表示当前工作目录内的test文件夹内的a.txt文件

  • 绝对路径,以/开头的称之为绝对路径

    绝对路径从开始描述路径

    在这里插入图片描述

特殊路径符

  • .表示当前,比如./a.txt,表示当前文件夹内的a.txt文件
  • ..表示回退到上级目录,比如../表示上级目录,../../表示上级的上级目录
  • ~表示用户的HOME目录,比如cd ~,即可切回用户HOME目录

在这里插入图片描述

mkdir命令

功能:创建文件夹

语法:mkdir [-p] 参数

  • 参数:被创建文件夹的路径
  • 选项:-p,可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录

在这里插入图片描述

touch命令

功能:创建文件

语法:touch 参数

  • 参数:被创建的文件路径

在这里插入图片描述

cat命令

功能:查看文件内容

语法:cat 参数

  • 参数:被查看的文件路径

在这里插入图片描述

more命令

功能:查看文件,可以支持翻页查看

语法:more 参数

  • 参数:被查看的文件路径
  • 在查看过程中:
    • 空格键翻页
    • q退出查看

在这里插入图片描述

cp命令

功能:复制文件、文件夹

语法:cp [-r] 参数1 参数2

  • 参数1,Linux路径,表示被复制的文件或文件夹
  • 参数2,Linux路径,表示要复制去的地方
  • 选项:-r,可选,用于复制文件夹使用,表示递归

示例:

  • cp a.txt b.txt,复制当前目录下a.txt为b.txt
  • cp a.txt test/,复制当前目录a.txt到test文件夹内
  • cp -r test test2,复制文件夹test的内容到当前文件夹内名称为test2的文件夹

mv命令

功能:移动文件、文件夹

语法:mv 参数1 参数2

  • 参数1:被移动的文件或文件夹
  • 参数2:要移动去的地方,参数2如果不存在,则会进行改名

在这里插入图片描述

rm命令

功能:删除文件、文件夹

语法:rm [-r -f] 参数...参数

  • 参数:支持多个,每一个表示被删除的,空格进行分隔
  • 选项:-r,删除文件夹使用
  • 选项:-f,强制删除,不会给出确认提示,一般root用户会用到

在这里插入图片描述

rm命令很危险,一定要注意,特别是切换到root用户的时候。

rm命令支持通配符,用来做模糊匹配*

  • 符号*表示通配符,即匹配任意内容(包含空),示例:
  • test*,表示匹配任何以test开头的内容
  • *test,表示匹配任何以test结尾的内容
  • *test*,表示匹配任何包含test的内容

在这里插入图片描述

which命令

功能:查看命令的程序本体文件路径

语法:which 参数

  • 参数:被查看的命令

在这里插入图片描述

find命令

功能:搜索文件

按文件名搜索:find 路径 -name 参数

  • 路径,搜索的起始路径

    在这里插入图片描述

  • 参数,搜索的关键字,支持通配符*, 比如:*test表示搜索任意以test结尾的文件

    在这里插入图片描述

按文件大小搜索文件:find 起始路径 -size +|-n[KMG]

  • +、-表示大于和小于
  • n表示数值
  • KMG表示大小的单位 kb、MB、GB

示例:

  • 查找小于10KB的文件:find / -size -10k
  • 查找大于100MB的文件:find / -size +100M
  • 查找大于1GB的文件:find / -size +1G

grep命令

功能:从文件中通过关键字过滤文件行

语法:grep [-n] 关键字 文件路径

  • 选项-n,可选,表示在结果中显示匹配的行的行号。
  • 参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用” ”将关键字包围起来
  • 参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口

在这里插入图片描述

参数文件路径,可以作为管道符的输入

wc命令

功能:统计

语法:wc [-c -m -l -w] 文件路径

  • 选项,-c,统计bytes数量
  • 选项,-m,统计字符数量
  • 选项,-l,统计行数
  • 选项,-w,统计单词数量
  • 参数,文件路径,被统计的文件,可作为内容输入端口

在这里插入图片描述

参数文件路径,可作为管道符的输入

管道符|

写法:|

功能:将符号左边的结果,作为符号右边的输入

示例:

cat a.txt | grep itheima,将cat a.txt的结果,作为grep命令的输入(相当于将a.txt的内容作为grep的输入),然后用来过滤itheima关键字

可以支持嵌套:

cat a.txt | grep itheima | grep itcast

在这里插入图片描述

在这里插入图片描述

echo命令

功能:在命令行上输出内容

语法:echo 参数

  • 参数:被输出的内容,使用“ ”包裹

在这里插入图片描述

`反引号

功能:被两个反引号包围的内容,会作为命令执行

示例:

  • echo `pwd`,会输出当前工作目录

在这里插入图片描述

tail命令

功能:查看文件尾部内容,跟踪文件最新更改

语法:tail [-f -num] 参数

  • 参数:被查看的文件的Linux路径
  • 选项:-f,持续跟踪文件修改,如果文件被修改,会自动展示最新的结果
  • 选项:-num,表示查看尾部多少行,不填默认10行

在这里插入图片描述

head命令

功能:查看文件头部内容

语法:head [-n] 参数

  • 参数:被查看的文件的路径
  • 选项:-n,查看的行数

重定向符

功能:将符号左边的命令产生的结果,输出到右边指定的文件中去

  • >,表示覆盖输出
  • >>,表示追加输出

在这里插入图片描述

vi编辑器

在这里插入图片描述
在这里插入图片描述

快速体验

在这里插入图片描述

命令模式快捷键

在这里插入图片描述

在这里插入图片描述

image-20221027215849668

底线命令快捷键

在这里插入图片描述

命令的选项

我们学习的一系列Linux命令,它们所拥有的选项都是非常多的。

比如,简单的ls命令就有:-a -A -b -c -C -d -D -f -F -g -G -h -H -i -I -k -l -L -m -n -N -o -p -q -Q -r-R -s -S -t -T -u -U -v -w -x -X -1等选项,可以发现选项是极其多的。

课程中, 并不会将全部的选项都进行讲解,否则,一个ls命令就可能讲解2小时之久。

课程中,会对常见的选项进行讲解, 足够满足绝大多数的学习、工作场景。

查看命令的帮助

可以通过:命令 --help查看命令的帮助手册

image-20221027220005610

查看命令的详细手册

可以通过:man 命令查看某命令的详细手册

image-20221027220009949

Linux用户与权限

认知root用户

在Linux系统中,拥有最大权限的账户名为:root(超级管理员)

root用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的。

在这里插入图片描述

  • 普通用户的权限,一般在其HOME目录内是不受限的
  • 一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限

su

在这里插入图片描述

sudo

在这里插入图片描述

在这里插入图片描述

exit

通过exit从root用户切换回普通用户

用户、用户组管理

用户组
  • 创建用户组

groupadd 用户组名

  • 删除用户组

groupdel 用户组名

在这里插入图片描述

用户

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

getent

  • 语法:getent passwd

用于查看当前系统中有哪些用户

在这里插入图片描述

每一行代表一个用户得信息,每一行共有7份信息,分别是:
用户名:密码(X):用户ID:组ID:描述信息(无用)HOME目录:执行终端(默认bash)

  • 语法:getent group

用于查看当前系统中有哪些用户组

在这里插入图片描述

包含3份信息,组名称:组认证(显示为X):组ID

查看权限控制

在这里插入图片描述

序号1位置细节

在这里插入图片描述

rwx

在这里插入图片描述

修改文件、文件夹权限信息-chmod

在这里插入图片描述

什么是751权限

在这里插入图片描述

所以751=rwx r-x --x

在这里插入图片描述

修改文件、文件夹所属用户、组-chown

在这里插入图片描述

Linux常用操作

快捷键

强制停止 ctrl+c

在这里插入图片描述

退出或登出 ctrl+d

在这里插入图片描述

历史命令显示 history

在这里插入图片描述

历史命令搜索 ctrl+r

在这里插入图片描述

在这里插入图片描述

光标移到快捷键

  • ctrl+a,跳到命令开头
  • ctrl+e,跳到命令结尾
  • ctrl+键盘左键,向左跳一个单词
  • ctrl+键盘右键,向右跳一个单词

清屏 快捷键ctrl+l 或 clear命令

软件安装

  • CentOS系统使用:
    • yum:RPM包软件管理器,用于自动化安装配置Liux软件,并可以自动解决依赖问题。
    • 命令:yum [-y] [install | remove | search] 软件名称
      • install 安装
      • remove 卸载
      • search 搜索
      • -y,自动确认,无需手动确认安装或卸载过程

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • Ubuntu系统使用
    • apt [install remove search] [-y] 软件名称
      • install 安装
      • remove 卸载
      • search 搜索
      • -y,自动确认

yum 和 apt 均需要root权限

systemctl

功能:控制系统服务(软件)的启动关闭等

语法:systemctl start | stop | restart | disable | enable | status 服务名

  • start,启动
  • stop,停止
  • status,查看状态
  • disable,关闭开机自启
  • enable,开启开机自启
  • restart,重启

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

部分软件安装后没有自动集成到systemctli中,我们可以手动添加

软链接(快捷方式)ln

功能:创建文件、文件夹软链接(相当于快捷方式)

语法:ln -s 参数1 参数2

  • 参数1:被链接的文件或文件夹
  • 参数2:要链接去的地方(快捷方式的名称和存放位置)

在这里插入图片描述

在命令行查看日期时间

语法:date [-d] [+格式化字符串]

  • -d 按照给定的字符串显示日期,一般用于日期计算

  • 格式化字符串:通过特定的字符串标记,来控制显示的日期格式

    • %Y 年
    • %y 年份后两位数字 (00…99)
    • %m 月份 (01…12)
    • %d 日 (01…31)
    • %H 小时 (00…23)
    • %M 分钟 (00…59)
    • %S 秒 (00…60)
    • %s 自 1970-01-01 00:00:00 UTC 到现在的秒数

示例:

  • 按照2022-01-01的格式显示日期

    image-20221027220514640

  • 按照2022-01-01 10:00:00的格式显示日期

    image-20221027220525625

    ​ 由于中间带有空格,所以使用双引号包围格式化字符串,作为整体。

  • -d选项日期计算

    image-20221027220429831

    • 支持的时间标记为:

      image-20221027220449312

修改Linux时区

使用root权限修改时区为中国时区

在这里插入图片描述

ntp 自动校准系统时间

功能:同步时间

安装:yum -y install ntp

启动管理:systemctl start | stop | restart | status | disable | enable ntpd

ntp启动后就会自动校准系统的时间

手动校准时间:ntpdate -u ntp.aliyun.com

在这里插入图片描述

在这里插入图片描述

ip地址(代表一台计算机)

IPV4格式:a.b.c.d

  • abcd为0~255的数字,如192.168.88.101

特殊IP:

  • 127.0.0.1,表示本机
  • 0.0.0.0
    • 可以表示本机
    • 可以在端口绑定中用来确定绑定关系
    • 在一些IP地址限制中,表示所有IP的意思,如放行规则设置为0.0.0.0,表示允许任意P访问

查看ip:ifconfig

在这里插入图片描述

主机名

功能:Linux系统的主机名称

查看:hostname

设置:hostnamectl set-hostname 主机名

在这里插入图片描述

域名解析

当输入一个域名后,计算机解析域名的流程

  • 先查看本机的hosts文件中是否有该域名对应的ip地址记录
    • windows:C:\Windows\System32\drivers\etc\hosts
    • Linux:/etc/hosts
  • 如果本机的hosts文件中没有则需要联网在DNS服务器中询问来查看域名对应的IP地址

在这里插入图片描述

本机配置主机名映射

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

配置VMware固定IP

  1. 在VMware Workstation(或Fusion)中配置P地址网关和网段(IP地址的范围)

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  2. 在Liux系统中手动修改配置文件,固定IP

    修改文件:/etc/sysconfig/network-scripts/ifcfg-ens33

    在这里插入图片描述

    示例文件内容:

    TYPE="Ethernet"
    PROXY_METHOD="none"
    BROWSER_ONLY="no"
    BOOTPROTO="static"			# 改为static,固定IP
    DEFROUTE="yes"
    IPV4_FAILURE_FATAL="no"
    IPV6INIT="yes"
    IPV6_AUTOCONF="yes"
    IPV6_DEFROUTE="yes"
    IPV6_FAILURE_FATAL="no"
    IPV6_ADDR_GEN_MODE="stable-privacy"
    NAME="ens33"
    UUID="1b0011cb-0d2e-4eaa-8a11-af7d50ebc876"
    DEVICE="ens33"
    ONBOOT="yes"
    IPADDR="192.168.88.131"		# IP地址,自己设置,要匹配网络范围
    NETMASK="255.255.255.0"		# 子网掩码,固定写法255.255.255.0
    GATEWAY="192.168.88.2"		# 网关,要和VMware中配置的一致
    DNS1="192.168.88.2"			# DNS1服务器,和网关一致即可
    

在这里插入图片描述

  1. 修改完成后重启网卡

在这里插入图片描述

在这里插入图片描述

修改完成

在这里插入图片描述

进程管理

进程

程序运行在操作系统中,是被操作系统所管理的。

为管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中的一个:进程

并会为每一个进程都分配一个独有的:进程D(进程号)

查看进程 ps

功能:查看进程信息

语法:ps [-e -f]

  • -e, 显示出全部的进程
  • -f,以完全格式化的形式展示信息(展示每个进程的全部信息)
  • 固定用法就是:ps-ef列出全部进程的全部信息
  • 查看全部进程信息,可以搭配grep做过滤:ps -ef | grep xxx(xxx是想要过滤的关键字)

在这里插入图片描述

  • UID:进程所属的用户ID
  • PID:进程的进程号ID
  • PPID:进程的父ID(启动此进程的其它进程)
  • C:此进程的CPU占用率(百分比)
  • STIME:进程的启动时间
  • TTY:启动此进程的终端序号,如显示?,表示非终端启动
  • TIME:进程累计占用cpu的时间
  • CMD:进程的启动路径

关闭进程 kill

image-20221027221303037

端口(代表计算机中的某个程序)

端口,是设备与外界通讯交流的出入口。端口可以分为:物理端口和虚拟端口两类

  • 物理端口:又可称之为接口,是可见的端口,如USB接口,RJ45网口,HDM1端口等
  • 虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的

在这里插入图片描述

nmap命令(查看计算机所有的端口占用)

image-20221027221241123

netstat命令(查看指定端口占用情况)

功能:查看端口占用

用法:netstat -anp | grep xxx

在这里插入图片描述

网络传输

ping命令

测试网络是否联通

语法:ping [-c num] 参数

image-20221027221129782

wget命令(下载网络文件)

image-20221027221148964

curl命令(下载文件或发起网络请求)

image-20221027221201079

image-20221027221210518

主机状态

top命令 查看主机状态

功能:可以通过top命令查看CPU、内存使用情况,类似Windows的任务管理器,默认每5秒刷新一次

语法:top,查看基础信息

在这里插入图片描述

信息详解

在这里插入图片描述

在这里插入图片描述

  • PID: 进程id
  • USER: 进程所属用户
  • PR: 进程优先级,越小越高
  • N: 负值表示高优先级,正表示低优先级
  • VIRT: 进程使用虚拟内存,单位KB
  • RES: 进程使用物理内存,单位KB
  • SHR: 进程使用共享内存,单位KB
  • S: 进程状态(S休眠,R运行,Z僵死状态,N负数优先级,I空闲状态)
  • %CPU: 进程占用CPU率
  • %MEM: 进程占用内存率
  • TIME+: 进程使用CPU时间总计,单位10毫秒
  • COMMAND: 进程的命令或名称或程序文件路径
可用选项

image-20221027221340729

交互式模式中,可用快捷键

image-20221027221354137

df命令 查看磁盘占用

查看磁盘占用

在这里插入图片描述

iostat命令 查看CPU信息

查看CPU、磁盘的相关信息

在这里插入图片描述

在这里插入图片描述

sar命令 查看网络统计

查看网络统计

在这里插入图片描述

环境变量

环境变量 env

环境变量是操作系统(Windows、Linux、Mac)在运行的时候,记录的一些关键性信息,用以辅助系统运行。

在Linux系统中执行:env命令即可查看当前系统中记录的环境变量

环境变量是一种Keyvalue型结构,即名称和值

在这里插入图片描述

PATH变量

记录了执行程序的搜索路径(是其中的一个环境变量)

可以将自定义路径加入PATH内,实现自定义命令在任意地方均可执行的效果

在这里插入图片描述

也就是说在执行任何命令时,都会从PATH的路径中寻找对应的可执行程序,第一个没有就去第二个找,依次类推

$符号

可以取出指定的环境变量的值

语法:$变量名

示例:

echo $PATH,输出PATH环境变量的值

echo ${PATH}ABC,输出PATH环境变量的值以及ABC

如果变量名和其它内容混淆在一起,可以使用${}

在这里插入图片描述

自行设置环境变量

  • 临时设置:export 变量名=变量值 (临时设置的关机后就无法再取到)

在这里插入图片描述

  • 永久设置:

    • 针对当前用户生效,设置用户HOME目录内:.bashrc文件

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

    • 针对所有用户生效,设置/etc/profile文件(同上)

    • 并通过语法:source 配置文件进行立刻生效

自定义PATH环境变量

环境变量PATH这个项目里面记录了系统执行命令的搜索路径,这些搜索路径也可以自行添加到PATH中去。

在这里插入图片描述

FinalShell的上传、下载

可以通过FinalShell工具,方便的和虚拟机进行数据交换。

在FinalShell软件的下方窗体中,提供了Linux的文件系统视图,可以方便的:

  • 浏览文件系统,找到Linux系统中的合适的文件,右键点击下载,即可传输到本地电脑

在这里插入图片描述

  • 浏览文件系统,找到本地合适的目录,将本地电脑的文件直接拖拽进Linux中想要上传的目录,即可方便的将本地数据上传到Linux中

rz、sz命令

yum -y install Irzsz

在这里插入图片描述

压缩解压

压缩格式

  • zip格式:Linux、Windows、MacOs常用
  • 7zip: Windows.系统常用
  • rar: Windows.系统常用
  • tar: Linux、MacOs常用
  • gzip: Linux、MacOs常用

Linux和Mac系统常用有2种压缩格式,后缀名分别是:

  • .tar, 称之为tarball, 归档文件,即简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅是简单的封装
  • .gz, 也称之为.tar.gz, gzip格式压缩文件,即使用gzip压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的体积

tar命令

tar[ -c -v -x -f -z -C] 参数1 参数2..参数N

  • -c, 创建压缩文件,用于压缩模式

  • -v, 显示压缩、解压过程,用于查看进度

  • -x, 解压模式

  • -f,要创建的文件,或要解压的文件,-f选项必须在所有选项中位置处于最后一个,因为要接收压缩或解压后的路径参数

  • -z, gzip模式,不使用-z就是普通的tarball格式,一般在第一个

  • -C, 选择解压的目的地,用于解压模式,需单独使用,与解压的其他参数分开,使用空格分隔

tar命令压缩

tar压缩的常用组合为:

  • tar -cvf test.tar 1.txt 2.txt 3.txt

    将1.txt、2.txt、3.txt压缩到test.tar文件内

  • tar -zcvf test.tar.gz 1.txt 2.txt 3.txt

  • 将1.txt、2.txt、3.txt压缩到test.tar.gz文件内,使用gzip模式

tar命令解压

常用的tar解压组合有

  • tar -xvf test.tar

    解压test.tar,将文件解压至当前目录

  • tar -xvf test.tar -C /home/dadada

    解压test.tar,将文件解压至指定目录(/home/dadada)

  • tar -zxvf test.tar.gz -C /home/dadada

    以Gzip模式解压test.tar.gz,将文件解压至指定目录(/home/dadada)

zip命令

zip压缩文件

zip [-r] 参数1 参数2...参数N

  • -r 被压缩的包含文件夹的时候,需要使用-r选项,和rm、cp等命令的-r效果一致

示例

  • zip test.zip a.txt b.txt c.txt

    将a.txt、b.txt、c.txt压缩到test.zip文件内

  • zip -r test.zip test itheima a.txt

  • 将test、itheima两个文件夹和a.txt文件压缩到test.zip文件内

unzip解压文件

unzip [-d] 参数

  • -d 指定要解压去的位置,同tar的-C选项
  • 参数,被解压的zip压缩包文件

示例

  • unzip test.zip 将test.zip解压到当前目录
  • unzip test.zip -d /home/dadada 将test.zip解压到指定文件夹内(/home/dadada)

su命令

切换用户

语法:su [-] [用户]

在这里插入图片描述

sudo命令

在这里插入图片描述

比如:

itheima ALL=(ALL)       NOPASSWD: ALL

在visudo内配置如上内容,可以让itheima用户,无需密码直接使用sudo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值