什么是Linux
- 对于windows操作系统而言,大家应该不陌生,这里我列举一些windows的不足:
- 个人用户正版windows需要收费
- 系统长时间运行不稳定,变慢,容易死机
- windows常招到病毒攻击 相反,上述windows的不足,恰好是另一款操作系统Linux的优势所在,这里我也列举一些Linux的优点:
- 个人用户正版Linux不需要收费或安装特殊功能需要收费
- 系统长时间运行稳定,不会变慢,不容易死机
- Linux不常招到病毒攻击,也很难攻击 总之,做为一个后端JavaEE程序员,在windows中开发完程序后,得部署到一个相对比较安全稳定的服务器 中运行,这台服务器上安装的不是windows操作系统,而是Linux操作系统。 为了顺利的操作Linux操作系统,安装Linux操作系统,对目录,文件,权限等基本操作命令, 所以学会对Linux操作系统的基本操作是后端JavaEE程序员的,以及大数据,运维的必修课。
- 内核版本:在Linux之父林纳斯-托瓦兹领导下的内核小组开发维护的系统内核的版本号。
2发行版本:一些个人/组织/公司在内核版基础上进行二次开发而重新发行的版本号。
3 根据发行不同,分为多个版本 1. ubuntu 2. redhat 3. centos 4. lubuntu 5. freeBSD
Linux分类
- 按照需求分:
- 桌面版:带有图形化界面的版本,但不够成熟稳定
- 服务器版:使用命令行操作的版本,是企业使用的首选
- 按照原生程序来分:
- 内核版:Linux之父领导的小型开发的Linux内核
- 发行版:一些企业、社区在内核基础上增加了一些软件和配置,重新发行的版本
- CentOS:免费稳定的操作系统
- 虚拟软件
- VMWare:收费的虚拟软件,功能强大,应用普遍
- VitrualBox:Oracle的免费虚拟软件,但是使用较少
Linux安装
安装CentOS
- 在VMWare里创建新虚拟机
- 在创建的虚拟机里安装CentOS操作系统
- 把鼠标从虚拟机VMWare里出来:按ctrl+alt
Linu命令
– Linux目录结构
1.1 目录结构
- Linux目录结构不区分磁盘,所有的目录是一棵树形结构。树根是/
- 常用的目录:
- /bin:命令所在的文件
- /home:普通用户的家目录。普通用户登录之后,默认进入自己的家目录
- 比如:用户zhangsan登录之后,默认进入/home/zhangsan
- /root:root用户的家目录
- /usr:Unix Shared Resources,系统共享资源目录。安装软件就可以安装到/usr下边
- /etc:系统配置文件所在的目录
1.2 切换目录
- 切换目录:
- 语法:cd 目录位置
- change directory
- 常用:
- cd /开头的目录:绝对路径的方式进行目录切换
- cd ./开头:相对路径方式,切换到同级某一个文件夹里
- cd …/开头:相对路径方式,切换到上级某一个文件夹里
- cd ~:直接切换到当前用户的家目录里
- 示例:切换到/usr/local
- cd /usr/local
- 语法:cd 目录位置
- 查看当前所在的目录:
- 语法:pwd
- print working dirctory
- 语法:pwd
–操作目录
1 创建文件夹
- 语法:mkdir 文件夹名称
- make directory
- 示例:在家目录里创建一个文件夹:shanxi
- mkdir ./shanxi
- mkdir /root/shanxi
- 查看文件夹
- 语法:ls -la
- list
- 参数:可以不加,可以加1个,可以加2个
- l:以列表的形式显示
- a:显示当前文件夹里全部的内容,包括隐藏文件
- 示例:
- ls:查看当前文件夹里的内容
- ls -l:以列表形式查看当前文件夹内容,通常使用其缩写:ll
- ls -a:查看当前文件夹里所有内容,包括隐藏文件
- ls -la:以列表形式,查看当前文件夹里所有内容,包括隐藏文件
3 拷贝文件夹/文件
- 语法:cp -r 文件/文件夹 新文件/文件夹
- copy
- 参数:
- r:迭代操作,表示拷贝文件夹时,要把文件夹内容一并拷贝
- 示例:
- 语法:ls -la
- 重命名文件夹/文件
- 语法:mv 原文件/文件夹 新名称
- move
- 注意:mv的第二个参数不存在时,表示重命名
- 例如:把shanxi文件夹改名成jin
- mv shanxi jin
- 语法:mv 原文件/文件夹 新名称
- 剪切文件夹/文件
- 语法:mv 原文件/文件夹 路径
- 注意:mv的第二个参数存在时,表示移动文件/文件夹
- 示例:把shanxi移动到/
- mv shanxi /
- 删除文件夹
- 语法:rm -rf 文件/文件夹
- remove
- 参数:
- r:表示迭代操作
- f:强制操作不提示
- 示例:删除jin文件夹
- rm -rf /jin
- 语法:rm -rf 文件/文件夹
- 搜索文件夹/文件
- 语法:find 位置 -name “名称”
- 可以使用通配符*,进行模糊查找
- 示例:在root家目录里搜索名称里带"log"的所有文件/文件夹
- find /root -name “log”
- 语法:find 位置 -name “名称”
– 操作文件
1.创建文件
- 语法:touch 文件名
- 示例:创建文件:xian.txt
- touch xian.txt
- 查看文件
- 语法:cat/more/less/tail 文件名
- cat 文件名:查看文件的全部内容,不能翻页,不能往回看
- more 文件名:分页查看文件内容,按空格翻页,按回车下一行,不能往回看。按q退出查看
- less 文件名:分页查看文件内容,按空格翻页,按回车下一行,上下方向键/pageUp,pageDown可以往回看。按q退出查看
- tail 文件名:查看文件尾部的内容,通常用来查看日志文件
- 示例:
- 语法:cat/more/less/tail 文件名
- 修改文件内容
- 语法:vim 文件名
- VI/VIM是Linux里的文本编辑器,功能很强,但是应用略麻烦
- 示例:
- vim xian.txt打开文件,进入普通模式
- 按i进入编辑模式,可以修改文件内容
- 按ESC回到普通模式,再按:进入底行模式
- 在底行模式输入:
- wq:保存并退出vim
- q!:强制退出vim不保存
- 注意:
- 在vim里,ctrl+S表示冻结,冻结之后不能进行任何操作。可以使用ctrl+q进行解冻
- 语法:vim 文件名
4 搜索文件内容
- 语法:grep “搜索内容” 文件名 --color
- 参数:–color 高亮显示搜索结果
- 示例:搜索install.log里是否有"jdk"
- grep “jdk” install.log --color
- 删除文件
- 语法:rm -f 文件名
- 示例:
- rm -f yuncheng.txt
– 压缩与解压缩
-
压缩
- 语法:tar -zcvf 压缩包名 文件1 文件2 …
- 参数z:要调用压缩的命令,必须有
- 参数c:在创建压缩包文件,必须有
- 参数v:显示压缩过程,把压缩的文件列出来,可以没有
- 参数f:指定压缩包文件的名称,必须有
- 示例:把root家目录里install.log和install.log.syslog 压缩成压缩包logs.tar.gz
- tar -zcvf logs.tar.gz install.log install.log.syslog
- 语法:tar -zcvf 压缩包名 文件1 文件2 …
-
解压(重点)
- 语法:tar -xvf 压缩包 -C 解压位置
- 参数x:从压缩包里提取文件,要执行解压命令 extract,必须有
- 参数v:显示解压过程,把解压的文件列出来,可以没有
- 参数f:要解压的压缩包名称,必须有
- 参数C:指定解压的位置,可以没有
- 如果不指定参数C,解压到当前目录
- 注意:如果使用了参数C指定了解压路径,那么解压路径的文件夹必须是已经存在的
- 示例:把logs.tar.gz解压到/root/logs文件夹
- tar -xvf logs.tar.gz -C /root/logs
- 语法:tar -xvf 压缩包 -C 解压位置
-
其它常用命令
-
查看进程
- 语法:ps -aux
- 参数:
- a:当前用户的终端启动的进程
- u:所有用户的终端启动的进程
- x:所有用户,通过所有方式启动的进程
-
结束进程
- 语法:kill -9 进程号
- 参数9:表示要强制结束进程
-
管道|
- 指:把管道前边的命令结果,交给管道后边的命令去执行
- 例如:ps -aux | less,查询所有进程,使用less进行查看
- 例如:ps -aux | grep “crond”
-
关机halt(重点)
-
重启reboot(重点)
– 权限管理
6.1 权限介绍
Linux里所有的文件都有自己的权限,可以通过命令ll查看:
-rw-r–r--. 1 root root 8577 1月 11 19:52 logs.tar.gz
其中最前边的一部分就是权限(10个字符):-rw-r–r--
- 第1位:表示文件的类型
- -:表示是一个文件
- d:表示是一个文件夹
- l:表示是一个链接文件(类似于Windows里的快捷方式)
- 第2~4位:表示文件拥有者的权限,三位是:读权限 写权限 执行权限
- r:可读
- w:可写
- x:可执行
- -:无权限
- 第5~7位:表示文件拥有者同组用户的权限,三位:读权限 写权限 执行权限
- r:可读
- w:可写
- x:可执行
- -:无权限
- 第8~10位:表示其它用户的权限,三位:读权限 写权限 执行权限
- r`:可读
- w:可写
- x:可执行
- -:无权限
6.2 权限管理
- 语法:chmod 权限 文件/文件夹
- 权限的写法:
- 通过u(文件拥有者)、g(同组用户)、o(其它用户)、a(所有用户)表示不同的用户,通过r、w、w表示不同的权限进行设置
- 示例:chmod a=rwx logs.tar.gz,所有用户对logs.tar.gz拥有可读、可写、可执行的权限
- 示例:chmod u=rwx,g=rx,o= logs.tar.gz拥有者可读可写可执行,同组用户可读可执行,其它用户没有权限
- 通过0~7的三位数字表示不同的权限
- 示例:chmod 777 logs.tar.gz
- 第1位数字:拥有者的权限
- 第2位数字:同组用户的权限
- 第3位数字:其它用户的权限
- 示例:chmod 740 logs.tar.gz,拥有者可读可写可执行,同组用户可读,其它用户没有权限
- 示例:chmod 777 logs.tar.gz
- 通过通过u(文件拥有者)、g(同组用户)、o(其它用户)、a(所有用户)表示不同的用户,通过+和-进行权限的增量变更
- 示例:chmod a+r logs.tar.gz,表示给所有用户增加可读权限
- 示例:chmod o-x logs.tar.gz,表示给其它用户取消可执行权限
- 通过u(文件拥有者)、g(同组用户)、o(其它用户)、a(所有用户)表示不同的用户,通过r、w、w表示不同的权限进行设置
远程连接工具
实际环境中,Linux通常是作为服务器的操作系统,我们是不能直接操作服务器的。可以通过远程连接工具,远程操作Linux。
常见的工具有:SSH secure, secureCRT,putty,xshell等等
大神忽略