Linux

Linux初步了解

文章目录

Linux简介

Linux是一套免费使用自由传播的操作系统。

Linux特点

  • 开源免费
  • 安全稳定
  • 性能可靠
  • 可移植性
    • 多用户、多任务、多平台、多语言

Linux发行版本

在原版本Linux系统的基础上,额外增加一些常用软件的操作系统。

类似于原生安卓系统和现行的华为系统/小米系统等之间的关系。

文件和目录

目标

  • 能说出几个Linux文件目录结构

1.Windows和Linux文件系统的区别

  • 在Windows下,打开计算机,我们看到的是一个个驱动器盘符
  • 每个驱动器都有自己的根目录结构,这样形成了多个树并列的情形。

1./为根目录,是所有文件的路径的起点

2.根目录下的所有第一层级的文件夹,均不能随意进行修改操作

3.掌握常用目录的作用即可

4./根目录,/home普通用户所在文件夹,/root系统管理员所在文件夹

5.其余目录,可以现用现查即可

Linux远程连接

目标

能够通过远程工具连接Linux服务器进行基本操作。

条件

服务器的IP地址

服务器的账号和密码

有网络连接条件

远程连接

常见远程连接工具

FinalShell(推荐):功能强大,有颜值,好操作(高级功能需要订阅)

XShell:个人用免费/商用收费

Putty:免费开源的

SecureCRT:收费

MobaXterm:免费

远程连接基本步骤
  • 入职后需要向相关(运维/开发)获取服务器IP地址及账号密码等信息
  • 配合远程连接工具(根据公司要求使用对应工具),配置连接使用服务器即可
CentOS 7 查看IP地址
1.使用ifconfig

注意:默认情况下,CentOS7系统不支持ifconfig命令,需要先进行环境安装后才能使用,默认可以使用 ip addr

说明:一般情况下,只要不是本机内环境,都需要获取结尾数不为1的地址方可使用。

扩展:在一个网络范围内,一般由1-255个IP地址其中,1和255会被入网及出网设备给占用掉。

2.在本机上使用ping服务器IP地址检查连通性

finalshell工具

注意:如果服务器IP地址发生变化,可以直接通过修改更新IP地址。

如何不通过工具而是通过命令行进行SSH连接

1.win+R输入cmd

2.输入:ssh+空格+用户名+@ip地址,然后按Enter回车

3.输入password,注意密码是不显示的,输入完,再按回车就行了。

如何学习Linux命令

学习Linux终端命令的原因

  • 使用命令行终端比图形化界面使用更快捷
  • 允许访问更多的命令和脚本

Linux命令的使用技巧

  • Linux终端的放大缩小

    • Ctrl+ shfit + = 放大终端窗口的字体显示
    • Ctrl + -缩小终端窗口的字体显示
  • Linux命令的自动补全

    • 在敲出文件/目录/命令的前几个字母之后,按下tab键
    • 如果输入的没有歧义,系统自动补全
    • 如果还存在其他文件、目录、命令,再按一下tab键,系统会提示可能存在的命令
  • Linux其他常用快捷键

    • 按上/下光标键可以在曾经使用过的命令之间来回切换
    • 如果想要退出,并且不想执行当前选中的命令,可以按Ctrl+ c
  • Linux下操作可以不需要进入路径下再去操作

Linux终端命令格式

目标

  • 能够识别Linux终端命令格式
  • 知道如何查阅终端命令帮助信息

终端命令格式

#命令[-选项] [参数]
command [-options] [parameter]

说明:

command:命令名,相应功能的英文单词或单词的缩写,执行基本功能

[-options]:选项,根据命令可以显示更加丰富的数据

[parameter]:参数,命令的操作对象,一般文件、目录、用户和进程等都可以作为参数被命令操作

[]代表可选

查阅命令帮助信息

--help
  • command --help
    • 说明:显示command命令的帮助信息
man
  • man command

    manual的缩写,时Linux提供的一个手册,包含了绝大部分的命令、函数的详细使用说明

    • 说明:查阅command命令的使用手册man是
  • 使用man时的操作键

案例

案例1:Is/pwd/cd/touch/mkdir/cp/mv/rm
Linux 复制代码
在桌面上打开终端窗口,执行如下操作:
1.查看当前路径位置
	pwd:查看路径信息
2.查看当前目录下有哪些文件和文件夹
	ls
3.创建adir,bdir,cdir三个文件夹(创建一个文件夹/创建多个文件夹)
	mkdir adir:创建单个文件夹
	mkdir bdir cdir:创建多个文件夹
4.切换到adir目录下
	 cd adir
	 cd ~:回到当前主目录
	 cd -:回到上次所在目录
5.创建文件aa(创建一个文件)
	touch aa:原本使用来修改文件修改时间的,如果文件不存在,就会创建文件。
6.切换到root目录下(绝对路径/相对路径)
	相对路径和绝对路径
		说明:在Linux中,可以根据如下特点区分相对路径和绝对路径
		凡是路径信息以"."或".."开头均为相对路径
		凡是路径信息以"/"或"~"开头均为绝对路径
		注释:
			.:当前路径下
			..:上一层目录
			/:根目录
			~:当前用户的家目录
	因为忘记了root登录密码,使用sudo passwd root重置密码,校验不通过。登录时也没有GRUB所以直接使用以下命令进入root用户。
	sudo -i
7.创建文件file并重命名为bb
	touch file
	mv file bb
	默认是用来移动文件到某一路径下的但是如果目标文件名不是文件夹或文件名不存在,即为修改文件名操作。
8.复制文件aa到adir(要求提示是否覆盖)
	cp -i aa adir
9.复制文件夹bdir到cdir目录下
	cp -r bdir/ cdir/:-r:若源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
10.移动文件aa到bdir目录下(cdir下的bdir)
	mv aa cdir/bdir
11.创建bb,cc两个文件(创建多个文件)
	touch bb cc
12.删除bb文件
	rm -i bb
13.删除adir文件夹
	rm -ir adir
14.删除当前目录下所有文件和文件夹
	rm -f aa
	rm -rf *
案例2:cat/more/grep/重定向>/管道符|/clear
管道|
Linux 复制代码
在桌面上打开终端窗口,执行如下操作:
1.将根目录下所有文件的详细信息输出到demo文件中(包含隐藏文件)
	ls -al:
		-a表示显示目录下所有文件,包括隐藏文件
		-l:表示以列表展示文件的详细信息
	习惯用法:ls -al 路径信息
	ls -al /:在终端中执行命令,一般情况下会将命令的执行结果直接显示在终端内
	ls -al / > demo:如果想要终端执行结果发送其他人查看或使用,就要使用重定向符号。将原本该在终端内显示信息放到文件中
	ls > demo:如果始终使用>的话,那么每次获取的内容会覆盖之前获取的信息
2.直接查案demo文件的内容
	cat demo
3.将/usr/bin目录下所有文件的详细信息追加到demo文件中
	ls -al /usr/bin >> demo
4.以分屏的形式查看demo文件的内容
	以下都常用语查看文件内容较多的文件信息。快捷键(两个命令基本操作快捷键相同)
	向下翻页:空格
	向上翻页:b
	退出查看:q
		注意:想要以分屏样式查看大量内容的文件信息,文件的内容至少应该超过当前终端窗口的显示大小
	less -N demo
	more demo
5.查找demo文件内容中包含MySQL的信息
	grep mysql demo
6.在/usr/bin目录下所有文件的信息中查找包含MySQL的信息
	ls -al /usr/bin | grep mysql
7.清空当前终端窗口中的内容
	clear
	
案例3:head/tail/tail-f
Linux 复制代码
在桌面上打开终端窗口,执行如下操作:
1.将根目录下所有文件的详细信息输出到demo文件中
	ls -al / > demo
2.查看demo文件前5行内容
	head 文件名:查看文件前10行内容
	head -5 demo
3.查看demo文件后5行内容
	tail 文件名:查看文件后10行内容
	tail -5 demo
4.将ping www.baidu.com的信息输出到ping_log文件中
	ping www.baidu.com >> ping_log
5.重新开启一个终端窗口,动态查看ping_log文件中的信息
	tail -f ping_log:只要目标文件的内容是一直写入的状态,使用tail -f 文件名,即可实现实时监控文件内容变化的操作
案例4:重启:reboot 关机:poweroff = shutdown/查看系统信息
Linux 复制代码
1.查看当前系统内核版本信息
	cat /proc/version
2.查看当前系统发行版本信息
	cat /etc/redhat-release
	lsb_release -a(Ubuntu)
3.重启当前系统
	reboot
4.关闭当前系统
	shutdown
案例5:ps/kill/top
Linux 复制代码
1.查看当前系统下的进程信息
	进程:在任何系统中,运行软件程序是,都会有一个对应的进程存在,如果结束掉进程,就可以实现关闭对应软件程序的操作,尤其是在服系统(Linux)中
2.手动打开nmon_x86_64_centos7
3.获取nmon_x86_64_centos7的进程信息(进程ID)
	ps -aux | grep nmon
4.通过结束nmon_x86_64_centos7进程的方式关闭程序
	kill -9 131067(进程号):强制结束或关闭对应软件程序
5.打开当前系统的'任务管理器'(动态查看进程信息)
	top
案例6:nestat/lspf
端口号
  • 获取在服务器上运行程序,需要通过端口号
  • 同一台服务器不能有多个程序使用同一个端口号,因此在运行程序时,如果提示端口号被占用,需要先找到占用端口号的程序并结束掉,然后才能运行目标程序。
Linux 复制代码
1.查看当前系统中开放的端口有哪些
	netstat -anptu
2.查看哪个程序正在使用3306端口(需要root用户权限)
	netstat -anptu | grep mysql
	lsof -i:3306
67(进程号):强制结束或关闭对应软件程序
5.打开当前系统的'任务管理器'(动态查看进程信息)
	top
案例6:nestat/lspf
端口号
  • 获取在服务器上运行程序,需要通过端口号
  • 同一台服务器不能有多个程序使用同一个端口号,因此在运行程序时,如果提示端口号被占用,需要先找到占用端口号的程序并结束掉,然后才能运行目标程序。
Linux 复制代码
1.查看当前系统中开放的端口有哪些
	netstat -anptu
2.查看哪个程序正在使用3306端口(需要root用户权限)
	netstat -anptu | grep mysql
	lsof -i:3306
相关推荐
Perishell几秒前
无人机避障——大疆与Airsim中的角速度信息订阅获取
linux·动态规划·无人机
爱吃喵的鲤鱼4 分钟前
linux进程的状态之环境变量
linux·运维·服务器·开发语言·c++
LuckyLay9 分钟前
Spring学习笔记_27——@EnableLoadTimeWeaving
java·spring boot·spring
dessler16 分钟前
Linux系统-ubuntu系统安装
linux·运维·云计算
向阳121822 分钟前
Dubbo负载均衡
java·运维·负载均衡·dubbo
懒惰才能让科技进步26 分钟前
从零学习大模型(十二)-----基于梯度的重要性剪枝(Gradient-based Pruning)
人工智能·深度学习·学习·算法·chatgpt·transformer·剪枝
Gu Gu Study32 分钟前
【用Java学习数据结构系列】泛型上界与通配符上界
java·开发语言
love_and_hope41 分钟前
Pytorch学习--神经网络--搭建小实战(手撕CIFAR 10 model structure)和 Sequential 的使用
人工智能·pytorch·python·深度学习·学习
Chef_Chen44 分钟前
从0开始学习机器学习--Day14--如何优化神经网络的代价函数
神经网络·学习·机器学习
芊寻(嵌入式)1 小时前
C转C++学习笔记--基础知识摘录总结
开发语言·c++·笔记·学习