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