linux 初级
2021/10/19 7:09:53
本文主要是介绍linux 初级,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
大纲
1. Linux概述
2. Linux的安装
3. Linux的目录介绍
4. 常用指令
5. 环境搭建
Linux概述
如Windows一样,Linux也是一款操作系统,它并不像Windows那样提供很友好的图形界面以及丰富的应用程序,因此与Windows相比更加稳定,更适合在开发中部署服务器。
其实在我们的日常生活中,已经遇到过大量的Linux系统,比如很多的硬件设备的底层:安卓、路由器等等。
Linux的版本:Linux分为内核版本和发行版本,可以类比安卓版本,每年更新的安卓系统为原生系统,各大手机厂商,比如小米、华为,再对其进行封装。
通常我们说Linux版本指的就是发行版本,主流版本有:
- Red Hat:RHEL(Redhat Enterprise Linux),也就是所谓的Redhat Advance Server收费版本. 红帽企业级Linux
- CentOS:RHEL的社区克隆版本,免费
- SuSE:最华丽的Linux发行版, 企业服务器端 X windows和程序应用方面做的确实不错。尤其与Microsoft的合作关系,应该是在所有的Linux发行版本中最亲密的。
- Debian:运行起来极其稳定,这使得它非常适合用于服务器
- Ubuntu:是Debian的一款衍生版,也是当今最受欢迎的免费操作系统, 最流行的linux桌面系
- Fedora: 想尝试最先进的技术,等不及程序的稳定版出来。其实,Fedora就是红帽公司的一个测试平台;产品在成为企业级发行版之前,在该平台上进行开发和测试。
Linux安装
虚拟机:使用计算机中的一部分资源,运行一台虚拟计算机。
安装时注意:
- 关闭杀毒软件
- 关闭防火墙
- 管理员身份
虚拟机安装完成后,可以安装Linux系统,我们安装的Linux版本为CentOS,安装步骤如下:
Linux的目录介绍
-
/
整个系统的根目录
-
/bin
bin是Binary的缩写, 这个目录存放着最经常使用的命令。
-
/boot
这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
-
/dev
dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
-
/etc
这个目录用来存放所有的系统管理所需要的配置文件和子目录。例如防火墙文件、网络设置文件、JDK环境配置文件、mysql配置文件等。
-
/home
用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
-
/lib
这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
-
/lost+found
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
-
/media
linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
-
/mnt
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
-
/opt
这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
-
/proc
这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
-
/root
该目录为系统管理员,也称作超级权限者的用户主目录。
-
/sbin
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
-
/selinux
这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
-
/srv
该目录存放一些服务启动之后需要提取的数据。
-
/sys
这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
-
/tmp
这个目录是用来存放一些临时文件的。
-
/usr
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。例如JDK、tomcat、mysql、redis等应用程序。
-
/usr/bin
系统用户使用的应用程序。
-
/usr/sbin
超级用户使用的比较高级的管理程序和系统守护程序。
-
/usr/src
内核源代码默认的放置目录。
-
/var
这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
Xshell的安装及使用
实际开发中,tomcat、数据库等,是部署在Linux服务器上的(不再是虚拟机),直接操作这台电脑是很不方便的,因此可以远程连接这台服务器,可以用Xshell来实现。
安装过程很简单,安装后配置连接。
成功连接后就可以远程使用Linux系统了,使用起来非常方便。
如果想要传输文件,还可以安装XFtp。
MacOS下可使用终端来进行远程连接Linux。
磁盘命令
-
ls
命令:用来查看目录的内容参数:
-
-a
列举目录中的全部文件,包括隐藏文件
-
-l
列举目录中的细节,包括权限、所有者、组群、大小、创建日期、文件是否是链接等
-
-f
列举的文件显示文件类型
-
-r
逆向,从后向前地列举目录中内容
-
-R
递归,该选项递归地列举当前目录下所有子目录内的内容
-
-s
大小,按文件大小排序
-
-h
以人类可读的方式显示文件的大小,如用K、M、G作单位
例:
-
ls -l
详细显示当前目录下所有非隐藏内容
-
ll
相当于ls -l
-
ls -l -a
详细显示当前目录下所有内容(包含隐藏文件)
-
ls -la
相当于ls -l -a
-
ll -a
相当于ls -l -a
-
ll /etc
详细显示etc目录下所有非隐藏内容
上图红框内的三种字符,代表了该项的类别:
-
-
代表普通文件
-
d
代表文件夹
-
l
代表链接(相当于Windows的快捷方式)
-
-
cd
命令:切换目录例:
-
cd /
转到根目录
-
cd ~
转到当前用户目录
~:
- 若当前用户为root用户,则~代表/root目录
- 若当前用户为普通用户,则~代表/home/用户名
-
cd ..
转到上一级目录
-
cd /usr
转到根目录下的usr目录中(绝对路径)
-
cd test
转到当前目录下的test子目录中(相对路径)
-
-
pwd
命令:输出当前目录 -
mkdir
命令:创建目录例:
-
mkdir test
在当前目录下创建test目录
-
mkdir /root/test
在root目录下创建test目录
-
-
rmdir
命令:删除空目录例:
-
rmdir test
删除当前目录下的test目录,该目录必须为空
-
文件命令
-
cat
命令:快捷查看文件内容(适合小文件)例:
- cat 1.txt
-
more
命令:分页展示文件内容(加载整个文件后分页展示)操作:
-
enter
向下一行
-
空格
向下滚动一屏
-
b
返回上一屏
-
=
输出当前行的行号
-
+n
从笫n行开始显示
-
q
退出
-
-
less
命令:分页展示文件内容(分页加载文件后展示)参数:
-
-m
显示百分比
-
-N
显示每行的行号
操作:
-
enter
向下一行
-
空格
向下滚动一屏
-
b
返回上一屏
-
+n
从笫n行开始显示
-
q
退出
-
-
cp
命令:复制文件或目录参数:
-
-r
递归(可复制目录)
例:
-
cp 1.txt ~/test/1.txt
将当前目录下的1.txt复制到用户目录下test目录中
-
cp 1.txt 2.txt
将当前目录下的1.txt复制一份,并命名为2.txt
-
cp test a/test
将当前目录下的test目录及目录中全部内容,复制到a目录中
-
-
mv
命令:移动文件或目录参数:
-
-f
强制(不询问)
例:
-
mv 1.txt ~/test/1.txt
将当前目录下的1.txt移动到用户目录下test目录中
-
mv -f 1.txt ~/test/1.txt
将当前目录下的1.txt移动到用户目录下test目录中,强制覆盖同名文件
-
mv 1.txt 2.txt
将当前目录下的1.txt重命名为2.txt
-
-
rm
命令:删除文件或者目录参数:
-
-r
递归
-
-f
强制(不询问)
例:
-
rm 1.txt
删除当前目录下的1.txt
-
rm -r test
删除当前目录下的test目录以及该目录中的所有内容
-
rm -rf test
删除当前目录下的test目录以及该目录中的所有内容,不询问
-
rm -rf *
删除当前目录下所有内容
-
rm -rf /*
删除系统中所有内容(不要执行!)
-
-
find
命令:查询文件或者目录参数:
-
-name
要查询的文件或目录名
例:
-
find /root -name 'ins*'
查询/root目录下面,所有以ins开头的文件或者目录
-
-
vim(vi)
命令:编辑文档例:
-
vim 1.txt
用vim编辑器打开1.txt
操作:
-
刚进入vim时为一般模式,一般模式切换到编辑模式:
-
i
或I
:进入编辑模式-
i
从目前光标所在处插入
-
I
在目前所在行的第一个非空格符处开始插入
-
-
a
或A
:进入编辑模式-
a
从目前光标所在的下一个字符处开始插入
-
A
从光标所在行的最后一个字符处开始插入
-
-
o
或O
:进入编辑模式-
o
在目前光标所在的下一行处插入新的一行
-
O
在目前光标所在处的上一行插入新的一行
-
-
-
编辑模式切换回一般模式:
Esc
:退出编辑模式,回到一般模式
-
一般模式切换到命令行模式:
-
:w
保存编辑的内容
-
:w!
强制写入该文件,但跟你对该文件的权限有关
-
:q
离开vi
-
:q!
不想保存修改强制离开
-
:wq
保存后离开
-
:x
保存后离开
-
ZZ
若文件没有更动,则不保存 离开,若文件已经被更改过,则保存后离开
-
-
压缩解压命令
Windows常见压缩格式:rar、zip
Linux常见压缩格式:tar、tar.gz
-
*.tar
打包,不压缩文件大小 -
*.tar.gz
打包并且压缩文件大小 -
tar
命令参数:
-
-c
创建新的压缩文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。
-
-x
从压缩文件中释放文件。相当于拆包。
-
-t
列出档案文件的内容,查看已经备份了哪些文件。
-
-z
是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩或解压? 一般格式为xx.tar.gz或xx. tgz
-
-j
是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩或解压?一般格式为xx.tar.bz2
-
-v
压缩的过程中显示文件。
-
-f
使用压缩包名,在f之后要立即接档名,不要再加其他参数。
例:
-
tar -cvf 1.tar *
将当前目录所有文件及目录打包为1.tar
-
tar -zcvf 1.tar.gz *
将当前目录所有文件及目录打包压缩为1.tar.gz
-
tar -zxvf 1.tar.gz
将1.tar.gz解压到当前目录
-
tar -zxvf 1.tar.gz -C test
将1.tar.gz解压到当前目录下的test目录中
-
系统命令
-
ps
命令:查看进程参数:
-
-A
所有的进程均显示出来
-
-e
与-A相同
-
-a
显示现行终端机下的所有进程,包括其他用户的进程
-
-u
以用户为主的进程状态
-
-f
做一个更为完整的输出
例:
-
ps -ef
查看所有系统进程
-
上图中,UID指的是进程是被哪个用户打开的,root用户对所有的进程都由杀死和创建的权利;
PID是进程ID,可以根据PID来杀死相关的进程。
-
kill
命令:强制杀死某个进程例:
-
kill -9 25948
强制关闭PID为25948的进程
-
其他命令
-
adduser
命令:创建用户参数:
-
-G
分配工作组
例:
-
adduser tom
创建用户,用户名为tom
-
adduser -G test
创建用户tom,并分配到test工作组
-
-
passwd
命令:为用户设置密码例:
-
passwd tom
为用户tom设置密码
-
-
groupadd
命令:创建工作组例:
-
groupadd test
创建test工作组
-
-
usermod
命令:修改用户参数:
-
-G
分配工作组
例:
-
usermod -G test tom
将用户tom分配到test工作组中
-
用户权限:
图中红框内的9位字符,代表的是该文件或目录的权限信息。
每个文件或目录的权限分为三类:前三位为所属用户(u)权限,中间三位为所属组(g)权限,后三位为其他用户(o)权限。(a代表所有用户)
-
r
:读 4 -
w
:写 2 -
x
:执行 1 -
chmod
命令:修改文件或目录的用户权限例:
-
chmod g=rwx 1.txt
将1.txt的工作组权限修改为所有权限
-
chmod a=r 1.txt
将1.txt的所有用户权限修改为只读
-
Linux安装开发环境
Linux安装JDK
-
下载JDK,传到Linux中
-
解压到指定目录,通常
/usr/local/jdk
-
编辑环境变量
vim /etc/profile
文件最后添加:
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_281 export PATH=$JAVA_HOME/bin:$PATH
-
刷新配置
source /etc/profile
Linux安装Tomcat
Linux安装MySQL
-
安装源
rpm -ivh https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
-
安装MySQL
yum -y install mysql-community-server
-
启动MySQL
-
启动
systemctl start mysqld
-
设置开机启动
systemctl enable mysqld
-
-
查看初始密码
grep 'password' /var/log/mysqld.log |head -n1
-
修改初始密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';FLUSH PRIVILEGES;
-
设置远程访问
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
-
修改配置文件
vim /etc/my.cnf
这篇关于linux 初级的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法