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解压到指定的文件地址。

相关推荐
Lana学习中22 分钟前
【运维杂记】连接不上远程服务器的问题处理
运维·服务器
1892280486130 分钟前
NV023固态MT29F16T08GWLCEJ9-QBES:C
大数据·服务器·人工智能·科技·缓存
AOwhisky1 小时前
MySQL 学习笔记(第一期):数据库基础与 MySQL 初探
运维·数据库·笔记·学习·mysql·云计算
Peace1 小时前
【Prometheus】
linux·运维·prometheus
LZZ and MYY3 小时前
RTS 在windows和Linux之间ShareMem
linux·运维·服务器
aningx3 小时前
openSUSE Leap 16.0 运行 sunshine 报错的解决方法
linux
爱学习的徐徐3 小时前
Linux 基础IO
linux·服务器
蛋蛋的学习记录3 小时前
C#窗体应用中使用EasyModbusCore通讯
服务器·c#·tcp
zt1985q3 小时前
本地部署源代码管理解决方案 Bitbucket Data Center 并实现外部访问
运维·服务器·数据库·网络协议·postgresql·源代码管理
xiaobobo33303 小时前
面向对象:linux内核中函数转数据的用法
linux·面向对象·隔离·函数指针绑定