Linux实用操作以及基础命令

Linux实用操作

1.快捷键

  • 1.ctrl + c:强制停止(退出)当前命令。

  • 2.ctrl + d:退出当前用户。退出某些特定命令的界面,比如python。

  • 3.history:查看历史输入过的命令,序号越大越近。


  • 4.! + 前缀:寻找并调用history中以自定义前缀开头的命令。注意:建议不要匹配太久的记录
  • 5.ctrl + r:搜索久远的命令,输入就能匹配。

  • 6.ctrl + a:光标跳到命令开头。

  • 7.ctrl + e:光标跳到命令结尾。

  • 8.ctrl + 左键:光标跳到上一个单词。

  • 9.ctrl + 右键:光标跳到下一个单词。

  • 10.ctrl + l:清空终端内容。等同于clear命令。

2.Linux的应用商店

  • 1.Linux通过命令下载软件,yum是Linux的RPM包软件管理器,用于自动化安装Linux软件,自动解决依赖问题。

  • 2.语法:yum [-y] [install search remove] 软件名称

  • -y表示自动下载,无需询问。

  • 3.注意:需要用户root权限 。且yum命令需要联网

  • 一句话:yum命令下载软件。

  • 4.在ubontu上:yum对应的是apt,把yum替换成apt即可,本质没有区别,语法上有些区别。

3.systemctl

  • 1.功能:控制系统软件的开启start、停止stop、查看软件运行状态status、开机时自动启动enable、开机时自动停止disable。

  • 2.语法:systemctl [start stop status enable disable] 服务名。

  • 3.系统内置的服务:NetworkManager主网络服务、network副网络服务、firewalld防火墙服务、sshd、ssh服务。

  • 4.yum install -y ntp 后ntp注册为ntpd系统软件,也就是它变成了ntpd。

  • 5.yum install -y httpd 后注册为httpd服务。

  • 注意:有些服务是自动注册为系统服务的,而有些服务不是自动注册为系统服务的,暂时不能够被systemctl所控制的

  • 含义:system control 系统控制。

4.软链接

  • 1.定义:软链接类似于windows中的快捷方式,只是一个指向,能够从指定的目录去指定需要软链接的文件或文件夹。

  • 2.语法:ln -s 需要软链接的文件/文件夹 链接到的地址

  • -s表示生成软链接,是必须的。

5.日期和时区

5.1 date命令

  • 1.功能:展示当前系统时间、计算系统时间。

  • 2.语法:date [-d] [需要进行计算的时间差] [+时间格式化字符串]

  • 建议实用双引号括起来,不然对于空格Linux会觉得是两条命令。

  • -d:表示需要时间计算。

  • 需要计算的时间差:+/- n year/month/day/hour/minute/second。

  • 时间格式化字符串:%Y:年,%m:月,%d:日,%H:时,%M:分,%S:秒。

  • 注意:需要root权限

  • 示例:


5.2 修改时区

  • 自带的时间date对应不上我们的中国时间,所以我们要进行配置。

  • 注意:需要root权限

  • 如图:

5.3 ntpd

  • 1.功能:自动联网校准系统时间。
  • 2.命令:systemctl enable ntpd
  • 注意:需要root权限

6.IP地址和主机名

6.1 IP地址

  • 1.定义:每个电脑都有自己的IP地址,通过这个IP地址找到哪台计算机,然后进行交流。格式为a.b.c.d。

  • 2.查看自己的IP地址,如图:

6.2 主机名

  • 1.定义:每个电脑都有自己的主机名称,比如mycomputer(随便说的)。

  • 127.0.0.1 本地回环IP,表示本机。0.0.0.0也表示本机,在一些白名单中表示任意IP。

  • 2.查看自己的主机名:Linux中的hostname命令,如图:

6.3 域名解析

  • 通过主机名找到对应的IP地址,这就叫域名解析,因为计算机之间就是通过IP地址进行交流的,域名解析只是一个映射而已,把主机名映射到IP地址而已。

  • 那么我们现在演示一下,在windows中将自己的主机名映射到IP地址上去:

  • 以管理员的方式打开记事本,然后记事本打开C:\Windows\System32\drivers\etc\hosts,然后在里面配置,如图:

  • 写入映射192.168.152.128->centos。

7.设置固定IP

  • 1.需求:每次我们重启电脑的时候都会更换ip地址,如果我们想要连接远程服务,远程服务的ip地址每次重启就会改变,这样非常不方便,每次都要手写软链接,手写脚本等操作进行域名和ip地址的映射,所以我们要进行设置固定ip地址的设置。

  • 步骤1:打开编辑,选择虚拟编辑器。

  • 步骤2:打开后配置子网ip。

  • 步骤3:点开NAT设置网关IP。

  • 步骤4:进入虚拟机,右键桌面,打开终端terminal,我们vim编辑如下文件。

  • 步骤5:添加17行及以下的设置。
  • 步骤6:设置完后重启服务。
  • 步骤7:finalshell也需要更改连接的ip地址,因为我们自己更改了ip地址并设置为了永久ip。

8.网络请求和下载

8.1 ping命令

  • 1.功能:ping命令是一个检测是否成功连接的命令。

  • 2.语法:ping [-c num] 域名或ip。

  • -c num\]:表示测试几次,如果不指定就会持续的测试。

8.2 wget命令

  • 1.功能:wget是一个能够进行网络文件下载的命令。

  • 2.语法:wget [-b] url。

  • -b:表示后台下载的选项。

  • 注意:开启后台下载后根据提示查看wget - log文件就行,tail -f wget - log

  • 先下载wget并进行系统管理。

    • wget下载hadoop。

8.3 curl命令

  • 1.功能:curl是一个访问网络地址的命令。

  • 2.语法:curl [-O] 网址。

  • -O:表示下载文件,如果要下载文件就要加上-O,跟wget是一样的命令。

  • 不要黑蒟蒻,求求大佬。

9.端口

9.1 端口定义

  • 1.定义:端口是计算机和外部交互的出入口,可以分为物理端口和虚拟端口。

  • 物理端口:如USB、HDMI等插入的端口。

  • 虚拟端口:操作系统和外部交互的出入口。

  • IP只能确定是哪个计算机,而端口就可以确定该计算机上的某个程序。

  • 形象比喻:比如我通过ip可以找到一个小区,而这个小区有很多门牌号,我通过端口可以找到每个门牌号,就可以进行交互了。

  • 2.端口的划分:

  • 公认端口:1~1023,用于系统内置或常用知名软件的绑定使用。

  • 注册端口:1024~49151,用于松散绑定使用,用户自定义。

  • 动态端口:49152~65535,用于临时实用,多用于出口。

  • 总结:端口的应用场景就是找到某个ip地址下的某个端口的程序,可用于交互等操作。

9.2 netstat命令

  • 1.功能:与grep和管道符可以检查某个端口是否被占用。

  • 2.语法:netstat [-t -u -l -n] | grep 端口号。

  • 解析:netstat可以列出所有的端口号占用信息,通过管道符把netstat的输出内容传入grep,grep通过端口号进行搜索并返回该端口占用信息,如果执行命令后无输出,说明该端口没有被占用。

  • -t显示TCP端口

  • -u显示UDP端口

  • -l只显示监听中的端口

  • -n以数字形式显示端口(避免反向解析)

  • 3.前提:需要使用yum下载net-tools。

10.进程管理

  • 1.定义:进程是操作系统资源分配和调度的基本单位。

10.1 查看进程信息

  • 命令:ps -ef 查看所有进程的信息。

  • ps -ef | grep 关键字,搜索指定关键字进程的信息。



10.2 杀死进程

  • kill [-9] 进程号,关闭指定进程,-9表示强制杀死进程,不加表示告诉该线程自己结束。

11.主机状态

11.1 top命令

  • 1.功能:查看系统资源的状态。

  • 2.语法:top。

11.2 df命令

  • 1.功能:查看磁盘的使用率。

  • 2.语法:df [-h]。

  • -h表示使用更人性化的情况展示。

11.3 iostat命令

  • 1.功能:查看磁盘速率等信息。

  • 2.语法:iostat [-x] [num1] [num2]。

  • -x:表示显示更多信息,num1:表示刷新间隔,num2:刷新几次。

11.4 sar命令

  • 1.功能:查看网络情况,网络相关统计。

  • 2.语法:sar -n DEV num1 num2。

  • num1:刷新间隔,num2:查看次数,默认无限次数。

12.环境变量

  • 1.定义:环境变量是一组信息记录,类型是key-value,用于操作。

  • 比如PATH,在path里面写上路径后,系统就会在path的路径中挨个寻找某命令,寻找该目录下的信息。

12.1 修改环境变量

  • 1.临时生效:export 名称 = 值。关机后就消失了。

  • 2.永久生效:针对用户:在~/.bashrc文件中配置。针对全部用户:在/etc/profile中配置。

  • 别忘了vim编辑/etc/profile和~/.bashrc文件后需要source 它们两个后确保生效。

12.2 查看环境变量

  • 1.语法:echo $PATH。
  • 不同用户:
  • 编辑.bashrc:

12.3 小脚本示例

  • vim打开 /etc/profile后编辑:
  • 我在root目录下创建了myenv文件夹,写了一个myprogram文件,里面有一条echo helloworld指令。记得要chmod授予访问文件的权限为755。
    但是其他用户好像没访问到。是因为其他用户不能够访问root文件,所以我们可以使用chmod755或者751进行授予其他用户的访问权限,这里就不再展示。记住,设置完要source,重新加载文件。

13.上传和下载文件

13.1 直接拖拽实现

13.2 rz命令

  • 1.功能:上传文件。

  • 2.语法:rz + 文件地址。

  • 注意:大文件通过rz上传是非常慢的,一般还是用拖拽的形式。

13.3 sz命令

  • 1.功能:下载文件。

  • 2.语法:sz + 文件地址。

14.文件压缩和解压

14.1 tar文件压缩

  • 1.压缩格式:Linux、windows、mac都有zip格式的压缩包。

  • windows:7zip、rar

  • linux:tar、gzip

  • mac:tar、gzip

  • tar格式:归档文件,简单的将文件组装到tar文件内,实际体积没压缩多少,只是简单的封装。

  • gz格式:使用gzip压缩算法将文件压缩到一个文件内,极大减少文件体积。

  • 2.tar格式压缩:tar [-c -v -x -f -z -C] 文件1地址 文件2地址。

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

  • -v:显示压缩的解压过程,查看进度。

  • -x:解压模式。

  • -f:要创建或解压的文件,-f选项必须位于所有选项的最后一个。

  • -z:gzip,不适用-z就是普通的tar格式。

  • -C:选择要解压的目的地,用于解压模式。

  • 常用选项:tar -cvf test.tar a.txt b.txt。将a.txt和b.txt压缩到test.tar文件内,同时显示压缩进度。

  • 常用选项:tar -zcvf test.tar.gz a.txt b.txt将a和b压缩到test.tar.gz文件内,用于gzip模式。

14.2 tar文件解压

  • 常用选项:tar -xvf test.tar,解压test.tar至当前目录。

  • 常用选项:tar -xvf test.tar -C /home/zhanjunhao,将test.tar文件解压至指定目录。

  • 常用选项:tar -zxvf test.tar.gz -C /home/zhanjunhao,以gzip的形式解压至指定目录。

14.3 zip文件压缩

  • 1.功能:将文件压缩为zip格式的文件。

  • 2.语法:zip [-r] zip文件 文件1 文件2。

  • -r:含有文件夹时添加。

  • 常用选项:zip test.zip a.txt b.txt。将a和b文件放入test.zip压缩包中。

  • 常用选项:zip -r test.zip folder1 folder2 a.txt。将folder1和2两个文件夹以及a文件放入test.zip压缩包中。

14.4 unzip文件解压

  • 1.功能:解压zip格式的文件。

  • 2.语法:unzip [-d] 需要解压的zip文件

  • -d:指定要解压去的位置。

  • 常用选项:unzip test.zip。将test.zip解压至当前目录。

  • 常用选项:unzip test.zip -d /home/zhanjunhao,将test.zip解压到指定的文件地址。

相关推荐
笨蛋少年派5 小时前
Shell常用快捷键和常用文件操作命令
linux·运维·服务器
微学AI5 小时前
内网穿透的应用-RemoteJVMDebug+cpolar:内网服务器调试的无界解决方案
运维·服务器
Yan-英杰5 小时前
Amazon SES + NestJS 实战:零成本打造高送达率邮箱验证方案
java·服务器·前端·网络·数据库·ai
零基础的修炼5 小时前
Linux---文件系统
linux·运维·服务器
十八旬6 小时前
苍穹外卖项目实战(day11-1)-记录实战教程、问题的解决方法以及完整代码
服务器·数据库·windows·redis
花开富贵贼富贵6 小时前
Nginx核心配置
运维·nginx
浅拾光º6 小时前
mysql重启,服务器计划重启,如何优雅地停止MySQL?
服务器·mysql·adb
许怀楠6 小时前
【Linux】环境变量
linux
CC.GG6 小时前
【Linux】Linux编辑器--vim
linux·编辑器·vim