您现在的位置是:首页 > 编程 > 

大数据软件基础(1)—— Linux

2025-07-19 09:52:10
大数据软件基础(1)—— Linux 一、Linux基础(一)Linux简介Linux系统核心最初是由芬兰赫尔辛基大学学生Linus Torvalds在1990年设计。后来,Linux周边程序越来越多,在不到三年的时间里,linux成为了一个功能完善,稳定可靠的操作系统。 Linux存在着许多不同的Linux版本,例如RedHat、CentOS、Ubuntu、debian等。Linux系统具有以下

大数据软件基础(1)—— Linux

一、Linux基础

(一)Linux简介

Linux系统核心最初是由芬兰赫尔辛基大学学生Linus Torvalds在1990年设计。后来,Linux周边程序越来越多,在不到三年的时间里,linux成为了一个功能完善,稳定可靠的操作系统。 Linux存在着许多不同的Linux版本,例如RedHat、CentOS、Ubuntu、debian等。Linux系统具有以下几个重要的特点: 1、Linux简洁,仅提供数百个有明确设计目的系统调用; 2、Linux中所有的设备都被当做文件对待,可通过一套相同的系统调用接口对数据和设备的操作; 、Linux的内核和相关的系统工具软件都是用C语音编写的,Linux在各种硬件体系架构面前具备非常好的移植能力;  Linux将所有的进程都当做线程,而创建线程速度快、开销少; 4、Linux提供了一套非常简单但又非常稳定的进程间通信元语,快速简洁的进程创建过程使得Linux程序高质量地完成任务,而简单稳定的进程间通信机制可以保证一组单一目的的程序方便地组合在一起,去解决更为复杂的任务。

fc608b74c684b7aac2677d8517698c.png
(二)Linux基本操作

1、修改主机名和hosts文件

(1)查看主机名 可以使用hostname查看当前主机名称,命令如下:

代码语言:javascript代码运行次数:0运行复制
$ hostname

(2)永久修改主机名 可以使用hostnamectl永久设置主机名,修改后的主机名存储在/etc/hostname文件中。命令如下:

代码语言:javascript代码运行次数:0运行复制
$ hostnamectl set-hostname controller            # 设置主机名为controller
$ cat /etc/hostname             # 用cat 命令在控制台显示文件内容为controller 

也可以通过直接修改 /etc/hosts 文件中的主机名来修改主机名称。 还可以使用 Vim 等编辑工具编辑该文件,修改对应 IP 地址后的主机名称。

代码语言:javascript代码运行次数:0运行复制
$ vim /etc/hosts              # 注意:在打开文件,并修改主机名后,保存
$ cat /etc/hosts

2、文件与目录操作

(1)切换目录 切换工作文件夹目录用cd命令

代码语言:javascript代码运行次数:0运行复制
$ cd /home               # 进入 '/home' 目录
$ cd ..                  # 返回上级目录
$ pwd                    # 显示当前工作目录

(2)查看目录中的文件信息 查看目录中的文件信息用ls命令

代码语言:javascript代码运行次数:0运行复制
$ ls -a                 # 查看当前目录下的所有文件(包括隐藏文件)
$ ls -al                # 显示文件的详细信息
$ ls -alrt              # 按时间显示文件(l表示详细列表,r表示反向排序,t表示按时间排序)

()文件的创建和删除 新建、复制、删除文件涉及touch、cp和rm三个命令

代码语言:javascript代码运行次数:0运行复制
$ touch file1               # 新建名为 'file1' 的文件
$ cp filel file2            # 将file1复制为file2
$ cp -a dir1 dir2           # 复制一个目录(包括目录下所有子目录和文件)
$ cp -a /tmp/dir1           # 复制一个目录到当前工作目录(.代表当前目录)
$ pwd                       # 显示当前目录名称
$ rm -f file1               # 删除文件名为 'file1' 的文件

(4)目录的创建和删除 创建、修改、删除文件目录涉及mkdir、mv和rm三个命令

代码语言:javascript代码运行次数:0运行复制
$ mkdir dir1                     # 创建 'dir1' 目录
$ mkdir dir1 dir2                # 同时创建两个目录
$ mkdir -p /tmp/dir1/dir2        # 创建一个目录数
$ mv dir1 dir2                   # 移动/重命名一个目录
$ rm -rf dir1                    # 删除 'dirt1' 目录及其子目录的内容

(5)查看文件内容 可以使用cat、more和tac查看文件内容。cat按照文本文件的行顺序以此显示文件内容;tac是cat反向拼写,表达从最后一行开始倒叙依次显示文本文件的内容;more命令可以分页显示文本文件内容。

代码语言:javascript代码运行次数:0运行复制
$ cat file1               # 从第一个字节开始正向查看文件的内容
$ cat file1               # 从最后一行开始反向查看一个文件的内容
$ more file1              # 查看一个长文件的内容

(6)文本内容处理 文本内容处理 在Linux下经常需要从文本文件中查相关字符串,或比较文件的差异。常用命令为grep和diff命令。

代码语言:javascript代码运行次数:0运行复制
$ grep str /tmp/test               # 在文件 '/tmp/test' 中查 "str"
$ grep ^str /tmp/test              # 在文件 '/tmp/test' 中查以 "str" 开始的行
$ grep [0-9] /tmp/test             # 查 '/tmp/test' 文件中所有包含数字的行
$ grep str -r /tmp/*               # 在目录 '/tmp' 及其子目录中查 "str"
$ diff file1 file2                 # 出两个文件的不同处
$ sdiff file1 file2                # 以对比的方式显示两个文件的不同

(7)Vim文件操作 Vim是Linux系统常用的文本编辑器。Vim有命令模式(Command Mode)、插入模式(Insert Mode)和底行模式(Last Line Mode)三种工作模式。 命令模式:在此模式下只能控制屏幕光标的移动,进行文本的删除、复制等文字编辑工作,以及进入插入模式,或者回到底行模式。 插入模式:只有在插入模式下,才可以输入文字。按[Esc]键可回到命令模式。打开Vim编辑器时Vim处于命令模式,需要按i键进入插入模式。 底行模式:在此模式下可以保存文件或退出Vim,同时也可以设置编辑环境和进行一些编译工作,如列出行号、搜索字符串、执行外部命令等。

代码语言:javascript代码运行次数:0运行复制
$ vim 

进入Vim界面后,单击 [i] 健,Vim进入插入模式,用户就可以像使用其他编辑器一样编辑文件。编辑完毕后按 [Esc] 退出插入模式。并按 [: ] 键进入底行命令模式。常用底行操作命令如下: :w 保存当前修改 :q! 不保存并强制退出Vim :wq 保存当前修改并退出Vim

(8)查询操作 可以通过find命令查相关的文件或文件目录

代码语言:javascript代码运行次数:0运行复制
$ find / -name file1              # 从 '/' 开始进入根文件系统查文件和目录
$ find / -user user1              # 查属于用户 'user1' 的文件和目录
$ find /home/user1 -name *.bin    # 在目录 '/home/user1' 中查以 '.bin' 为扩展名的文件

(9)压缩、解压 可以利用tar命令对文件进行压缩、解压。tar可以解压缩*.tar,*.tar.gz, *tar.bz2文件,其参数z和j分别代表*.tar.gz和*.bz2文件。

代码语言:javascript代码运行次数:0运行复制
$ tar -cvf  file1         # 把file1打包成(-c:建立压缩文档;-v:显示 
                                     # 所有过程;-f:使用档案名字,是必须的,也是最后一个参数)
$ tar -tf                 # 显示一个包中的内容
$ tar -xvf                # 释放一个包(-x解压;)
$ tar -xzvf .gz           # 释放一个gz压缩包(-x解压;z表示解压或压缩的为*.gz文件)
$ tar -xjvf .bz2 -C /tmp  # 把.bz2压缩包释放到/tmp目录下

(10)修改文件或目录权限 Linux文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。 Linux系统因对文件安全的设置将用户分成三种不同的类型:文件所有者、同组用户、其他用户。 文件所有者一般是文件的创建者。所有者能允许同组用户有权访问文件,还能将文件的访问权限赋予系统中的其他用户。 每一文件或目录的访问权限都有三组,每组用三位数据表示,分别为文件所有者的读、写和执行权限,和所有者同组的用户的读、写和执行权限,系统中其他用户的读、写和执行权限。

代码语言:javascript代码运行次数:0运行复制
$ chmod 777 test                 # 把test文件修改为所有用户可读、写、执行,chmod的数字设定法
                                 # 777为三组数字111 111 111的十进制表示形式
$ chmod a+rwx test               # 同上,是chmod的文字设定法(a:所有用户;u:用户;g:组用 
                                 # 户;o:其他用户;r:读;w:写;x:执行)
$ chgrp student /opt/book        # 把 /opt/book 的用户组修改为student (需要root权限)
$ chown zhangsan /opt/book       # 把 /opt/book 的用户所有者修改为zhangsan(需要root权限)

、新建与删除用户和用户组

(1)新建用户 为Linux系统创建用户的基本命令为useradd和passwd,分别创建用户和设置用户密码。

代码语言:javascript代码运行次数:0运行复制
$ useradd nathan
$ passwd nathan

(2)新建用户组 Linux文件系统的安全管理权限有组管理权限,可以通过groupadd命令创建用户组,方便用户管理。

代码语言:javascript代码运行次数:0运行复制
$ groupadd testgroup            # 新建test用户组

()新建用户的同时增加用户组 在创建用户时为用户xathan增加用户组。

代码语言:javascript代码运行次数:0运行复制
$ useradd -g testgroup xathan          # 新建xathan用户并增加到testgroup工作组
# 参数说明:-g 所属组,-d 家目录,-s 所用的Shell

(4)给已有的用户增加用户组 若用户已经存在,可以使用usermod命令把指定用户增加到相应的用户组中。

代码语言:javascript代码运行次数:0运行复制
$ usermod -G groupname username
# 参数说明:-G 必须是现有group组中存在的组名

(5)永久删除用户账号和用户组 可以使用userdel和groupdel删除用户帐号和用户组。

代码语言:javascript代码运行次数:0运行复制
$ userdel testuser
$ groupdel testgroup
$ userdel -r testuser            # 删除用户的主目录和邮件池

4、硬盘分区、查看与挂载

Linux用户可以使用df、fdisk、mnt等命令查看、分区及挂载硬盘。 (1)查看硬盘的使用状况 使用df命令查看当前硬盘的使用状况。

代码语言:javascript代码运行次数:0运行复制
$ df -h           # -h:将容量显示为易读的格式(如1K、24M、2G等)

(2)硬盘分区 使用fdisk命令可以对硬盘进行分区。

代码语言:javascript代码运行次数:0运行复制
$ fdisk -l              # 查看所有分区

列出所有分区后,可以通过以下命令来实现对指定分区的操作:

代码语言:javascript代码运行次数:0运行复制
$ fdisk /dev/sda          # 使用fdisk管理 /dev/sda

此时会进入fdisk的命令行界面,输入m后回车可以看到帮助信息,使用w或者q命令可以保存或放弃fdisk的分区操作。分区操作完成后通常要使用mkfs命令进行文件系统的格式化。

()使用mount命令挂载硬盘 把/media/rhel-server-5.-x86_64-dvd.iso挂在到/mnt/vcdrom的命令如下:

代码语言:javascript代码运行次数:0运行复制
$ mkdir/mnt/vcdrom 
$ mount-o loop -t iso9660 /media/rhel-server-5.-x86_64-dvd.iso /mnt/vcdrom 
# 注:-o loop 允许用户以一个普通磁盘文件虚拟一个块设备
# -t iso9660 指定挂载格式为iso镜像

挂载FS分区(需要配置好FS 服务),命令如下:

代码语言:javascript代码运行次数:0运行复制
$ mount -t nfs 192.168.12.2:/tmp /mnt 
# 192.168.12.2 为FS服务器地址

挂载FAT2分区U盘(假设U盘已经插入,且通过fdisk命令得知U盘标识为 /dev/sdb1),命令如下:

代码语言:javascript代码运行次数:0运行复制
$ mkdir /mnt/usb
$ mount -t vfat /dev/sdb1 /mnt/usb
(三)网络配置管理

1、基本网络配置管理

CentOS中的nmcli网络管理命令行工具(etwork Manager Command Tools),比传统网络管理命令ifconfig的功能要更加强大。其命令语法如下: nmcli [OPTIOS] OBJECT { COMMAD | help } 其中,OBJECT指的是device和connection。device指的是网络接口,是物理设备;而connection是连接,偏重于逻辑设置。多个connection可以应用到同一个device,但同一时间只能启用其中一个connection。其优点是针对一个物理的网络接口,可以设置多个网络连接,比如静态IP和动态IP,再根据需要启用相应connection。COMMAD指的是具体命令。 (1)查看网络连接

代码语言:javascript代码运行次数:0运行复制
$ nmcli connection show

(2)删除链接

代码语言:javascript代码运行次数:0运行复制
$ nmcli connection delete ens testcon

()添加网络连接

代码语言:javascript代码运行次数:0运行复制
$ nmcli connection add type ethernet con-name connl ifname ens

(4)配置网络信息

配置connl连接IP为192.168.142.106,并标记前24位为子网掩码(255.255.255.0),网关为192.168.142.2,dns为202.106.0.20。

代码语言:javascript代码运行次数:0运行复制
$ nmcli connection modify connl  manual ipv4.addresses 192.168.142.106/24 ipv4.gateway 192.168.142.2 ipv4.dns 202.106.0.20

启用connl连接命令如下:

代码语言:javascript代码运行次数:0运行复制
$ nmcli connection up connl

(5)查看网卡配置文件

代码语言:javascript代码运行次数:0运行复制
$ cd /etc/sysconfig/network-scripts/
$ vim ifcfg-connl

2、关闭防火墙

(1)查看防火墙

代码语言:javascript代码运行次数:0运行复制
$ firewall-cmd --list-all

(2)关闭防火墙/禁止开机启动

代码语言:javascript代码运行次数:0运行复制
$ systemctl stop firewalld
$ systemctl disable firewalld

、关闭SELinux

SELinux(Security-Enhanced Linux)是美国国家安全局(SA)对于强制访问控制的实现,是Linux历史上最杰出的新安全子系统。 SELinux默认安装在CentOS、Fedora和Red Hat Enterprise Linux上。 然而,Selinux会阻碍Hadoop组件的安装与配置,因而需要掌握关闭和启动SElinux的相关方法。 (1)查看状态

代码语言:javascript代码运行次数:0运行复制
$ getenforce

(2)关闭SELinux 可以临时或永久关闭SELinux。临时关闭使用 setenforce 0 命令;永久关闭可以编辑 /etc/selinux/config 文件,将 SELIUX=enforcing 修改为 SELIUX=disabled。修改后需要保存 config 文件并重启才能生效。

代码语言:javascript代码运行次数:0运行复制
$ setenforce 0                    # 临时关闭
$ vim /etc/selinux/config         # 永久关闭
(四)其他网络常用命令

1、系统服务管理指令systemctl Linux Systemctl是一个系统管理守护进程、工具和库的集合,主要负责控制Systemd系统和服务管理器。 通过systemctl –help可以看到该命令主要分为:查询或发送控制命令给Systemd服务,管理单元服务的命令,服务文件的相关命令,任务、环境、快照相关命令,Systemd服务的配置重载,系统开机关机相关的命令。 2、jps查看 jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有Java进程pid的命令,非常适合在Linux/UIX平台上简单察看当前Java进程的一些简单情况。可以通过它来查看系统启动的Java进程,默认列出JVM的ID号和简单的class或jar名称,如图所示。

其他示例命令如下:

代码语言:javascript代码运行次数:0运行复制
$ jps –p    		# 仅仅显示VM 标示,不显示jar、class、main参数等信息
$ jps –l			# 输出应用程序主类完整package名称或jar完整名称
$ jps –v    		# 列出jvm参数

、rpcinfo查看 RPC(Remote Procedure Call,远程过程调用)是一种通过网络从远程计算机程序上请求的服务,用户不需要了解底层网络技术的协议。 rpcinfo命令可查看有关系统上正在运行的RPC服务的信息。

代码语言:javascript代码运行次数:0运行复制
$ rpcinfo -p [IP|hostname]
$ rpcinfo -t|-u IP|hostname 程序名称

选项与参数: -p:针对某IP(未写则预设为本机)显示出所有的port与porgram的信息。 -t:针对某主机的某支程序检查其TCP封包所在的软件版本。 -u:针对某主机的某支程序检查其UDP封包所在的软件版本。 4.查看端口并杀死占用端口的进程 (1)使用netstat命令查看正在使用的端口及关联的进程/应用 普通用户也能够使用netstat命令,不过只有为root用户时才会显示端口对应的进程名称。 (2)使用lsof命令直接列出具体端口号的使用进程/应用 lsof命令可以列出当前网络端口的占用情况,也可查看指定端口的占用情况,命令的执行需要root权限。 ()使用ps命令通过PID进程号查看进程的详细信息。 (4)使用ps命令查看Java进程的状态。 (5)使用ps命令查看Java进程的状态,-aux显示所有状态。 (6)使用kill-9命令强制杀死进程。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-01-16,如有侵权请联系 cloudcommunity@tencent 删除大数据基础进程软件linux

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1140473.html

相关标签:无
上传时间: 2025-07-19 06:29:16
留言与评论(共有 18 条评论)
本站网友 铅黄
2分钟前 发表
按[Esc]键可回到命令模式
本站网友 王言
18分钟前 发表
复制
本站网友 朗廷酒店
24分钟前 发表
输入m后回车可以看到帮助信息
本站网友 停牌的股票可以卖吗
7分钟前 发表
*tar.bz2文件
本站网友 打玻尿酸丰唇
18分钟前 发表
以及进入插入模式
本站网友 背奶族
12分钟前 发表
w 保存当前修改
本站网友 伊甸王朝
7分钟前 发表
分别创建用户和设置用户密码
本站网友 南京房地产网
29分钟前 发表
本文参与 腾讯云自媒体同步曝光计划
本站网友 酒吧影院
29分钟前 发表
或者回到底行模式
本站网友 王老吉商标案
11分钟前 发表
代码语言:javascript代码运行次数:0运行复制$ fdisk -l # 查看所有分区列出所有分区后
本站网友 铃木摩托车官方网站
5分钟前 发表
本站网友 痕迹的意思
2分钟前 发表
代码语言:javascript代码运行次数:0运行复制$ nmcli connection modify connl manual ipv4.addresses 192.168.142.106/24 ipv4.gateway 192.168.142.2 ipv4.dns 202.106.0.20启用connl连接命令如下:代码语言:javascript代码运行次数:0运行复制$ nmcli connection up connl(5)查看网卡配置文件代码语言:javascript代码运行次数:0运行复制$ cd /etc/sysconfig/network-scripts/ $ vim ifcfg-connl2
本站网友 苏打水饮料
19分钟前 发表
dns为202.106.0.20
本站网友 小儿猩红热
14分钟前 发表
fdisk
本站网友 紫御豪庭
21分钟前 发表
修改
本站网友 蓝牙鼠标
5分钟前 发表
而创建线程速度快
本站网友 大秦帝国顺序怎么看
28分钟前 发表
或比较文件的差异