linux操作系统简单使用
文章将包含几个内容:
linux简介
linux操作系统的安装简述
linux操作系统中的文件操作
linux中的用户管理
网络配置管理
常用系统管理指令
linux中的软件安装使用
vim的简单使用
一、linux简介
Linux是一种自由和开放源码的操作系统
Linux出现于1991年,是由芬兰赫尔辛基大学学生Linus Torvalds和后来加入的众多爱好者共同开发完成
市场上存在着许多不同的Linux发行版本
Linux可安装在各种计算机硬件设备中,比如笔记本电脑、台式计算机、手机、平板电脑、路由器等。
Linux系统最擅长的领域是作服务器操作系统和嵌入式操作系统
RedHat企业版linux 和CentOS差别不大,CentOS是基于Red Hat Linux 企业版开发的一个社区版本,可免费自由使用;而且CentOS独有的yum命令支持在线升级,可以即时更新系统。
二、linux操作系统的安装简述
1.首先,到相应发行版的官网下载linux安装光盘镜像(按硬件平台选择相应版本)
2.选择安装环境,物理机或者虚拟机
3.物理机上安装主要注意一下几点(详细的系统安装见另一篇文章):
a.在linux中的硬盘的分区
必须分区:/ (根分区) 、 swap分区(交换分区一般不超过2g的内存分内存两倍)
推荐分区:/ boot(启动分区,200M)
在实际安装中使用ext4文件系统,/boot(200M), /home(2000M) ,swap(依据实际情况),最后剩余/(根分区)
最后提一下,swap是一种文件系统的格式,和ext4一个范畴
b.分区的结构
c.硬件设备(linux中一切都是文件)的文件名:
三、linux操作系统中的文件操作
linux系统的文件系统中的目录结构,就是linux系统在逻辑上大概组织文件的逻辑结构:
linux系统在文件在逻辑结构上,根目录为最顶层的目录,一般下面分为多个文件夹,分别有各自的用途,虽然各自的文件夹没有强制的规定用途,但是遵循一些必要的约定,可以极大方便使用,以下是各自文件夹的约定用途:
- bin (binaries)存放二进制可执行文件
- boot 存放用于系统引导时使用的各种文件
- dev (devices)用于存放设备文件
- etc (etcetera)存放系统配置文件
- home 存放用户文件的根目录
- lib (library)存放跟文件系统中的程序运行所需要的共享库及内核模块
- sbin (super user binaries)存放二进制可执行文件,只有root才能访问
- usr (unix shared resources)用于存放共享的系统资源
- var (variable)用于存放运行时需要改变数据的文件
- tmp (temporary)用于存放各种临时文件
tips:命令、文件夹名、文件名等都可以使用tab键进行补全,习惯使用补全不仅可以提高效率,还能减少错误。
1.文件夹的操作命令
1 ls /path/ #查看目录信息 2 ls -l /path/ # 查看详细信息,等价于 ll 3 ls –a /path/ # 查看隐藏文件 4 5 #路径的表示方法有“相对路径”和“绝对路径”,比如,如果当前所处目录为 6 /home/test 7 8 #要查看/home目录下的信息,可以有两种方法: 9 ls ../ 10 ls /home 11 12 pwd # 查看当前所处目录的绝对路径 13 cd /path # 切换目录 (cd /) ,如果不带参数则切换到用户主目录 ~ 14 15 # 增加文件/文件夹 16 mkdir ./test # 创建文件夹 17 mkdir -p a/b/c #如果要创建的文件夹的父目录不存在,则自动创建 18 19 20 # 删除操作 21 rmdir #删除空文件夹 (只能删除空文件夹) 22 rm -r /a/b # (删除非空文件夹)24 rm filename (rm -r 删除文件夹 rm -rf 强制删除文件或文件夹) 25
2.文件的操作命令
1 # 常见创建文件的3种方式: 2 touch a.avi #创建一个空文件 3 echo "qinghua is the greatest School" > test.txt #把“>”左边的输出放到右边的文件里去 4 vi blabla.txt #用文本编辑器编辑一个文件并且保存 5 6 # 移动文件、修改文件名 7 mv a/wenjian1.txt b/file1.txt # (移动文件的同时还修改了文件名) 8 9 # 拷贝文件 10 cp srcFile destFile 11 12 # 查看文本文件内容 13 cat log.a.txt #一次性显示整个文件内容 14 more log.a.txt # 可以分页看(翻页:空格,往回翻:b ,退出: q或者 Ctrl+C) 15 less log.a.txt #不仅可以分页,还可以方便地搜索,回翻等操作(翻页:空格,往回翻:↑,往下翻:↓,退出:q或者 Ctrl+C) 16 17 tail -10 log.a.txt #查看文件的尾部的10行 18 tail -f user.log #实时刷新显示文件的尾部,这条命令对于查看日志,观察调试程序的运行非常重要 19 20 head -20 log.a.txt #查看文件的头部20行,查看一些配置文件
3.文件归档压缩(打包和压缩)
# 打包/解包 tar -cvf testdir.tar testdir/ # 参数: c :表示创建一个打包文档 v:显示打包的进度 f:表示要打成的tar包的名字 tar –xvf testdir.tar # 参数x:表示从一个现存的tar文件中进行解包操作 # 压缩/解压 gzip testdir.tar gzip –d testdir.tar.gz # 归档并压缩/解压 tar -czvf testdir.tar.gz testdir/ tar -xzvf testdir.tar.gz # 解压到当前目录下 tar -xzvf testdir.tar.gz -C Downloads/ # 解压到指定的Downloads目录下 zip test.txt.zip test.txt unzip test.txt.zip ##
4.文件权限管理
1 # linux系统中对文件权限的描述机制: 2 d r w x r w x r - x 3 类型 拥有者 所属组 其他人 4 权限信息可以表示为3组二进制符号: 111 111 101 5 可以表示为3个十进制数: 7 7 5 6 7 # 修改权限 8 chmod u+rwx file #为file添加或取消所属用户的权限 (u代表所属用户 o代表其他用户 g代表所属组的成员用户) 9 chmod 567 file 用数字也可以表示权限 10 5 ---> 101 ---> r-x 11 6 ---> 110 ---> rw- 12 7 ---> 111 ---> rwx 13 14 # 通过实例理解rwx三种权限的含义 15 r 对文件:是否可以读取文件的内容 cat 16 对文件夹:是否可以列出文件夹内的子节点信息 ls 17 w 对文件:是否可以修改文件的内容 >> vi 18 对文件夹:是否可以更改文件夹的子节点 19 x 对文件:是否可当做一个命令或者程序来执行 20 对文件夹:是否可cd进入 21 22 23 # 修改文件的所有者owner ,只能由root权限才能操作 24 chown root:root file 将file的所有者改成hadoop用户,所属组改成hadoop组
四、linux中的用户管理
1.linux中的用户的分类
- 超级用户:(root,UID=0)
- 普通用户:(UID在500到60000)
- 伪用户:(UID在1到499)
- 系统和服务相关的:bin、daemon、shutdown等
- 进程相关的:mail、news、games等
- 伪用户不能登陆系统,而且没有宿主目录
2.添加用户
# 基本示例: useradd test0830 # 必须设置密码才能正常登陆 passwd test0830 # 参数手册: -u 指定组ID(uid) -g 指定所属的组名(gid) -G 指定多个组,用逗号“,”分开(Groups) -c 用户描述(comment) -e 失效时间(expire date)
3. 删除用户
1 userdel yun12 # 这样删除的时候,用户的主目录会被保留 2 userdel -r Testuser # 删除用户的同时删除用户的主目录
4.修改用户的属性
1 # 指令:usermod 2 3 # 参数: 4 -l 修改用户名 (login)usermod -l a b(b改为a) 5 -g 添加组 usermod -g sys tom 6 -d 修改用户的宿主目录 7 -G添加多个组 usermod -G sys,root tom 8 -L 锁定用户账号密码(Lock) 9 -U 解锁用户账号(Unlock) 10 11 # 示例: 12 usermod -l test1 test2 # 将test2的登陆名改为test1 13 usermod -g root test3 # 将test3的组改为root组 14 usermod -G hadoop,hellogrp test4 # 给test4添加两个组hadoop,root 15 usermod -d /home/test6 itcast7 # 将test7的主目录成/home/Test6(要事先创建Test6目录,并且拷入环境变量文件) 16
5.用户组管理
## 用户组相关属性:
# 每个用户至少属于一个用户组(创建新用户时如果不指定所属组,则会自动创建并归属到一个跟用户名同名的组)
# 每个用户组可以包含多个用户
# 同一个用户组的用户享有该组共有的权限
## 用户配置信息存放位置:
# 保存用户信息的文件:/etc/passwd
# 保存密码的文件:/etc/shadow
## 用户组配置信息存放位置:
# 保存用户组的文件:/etc/group
# 保存用户组密码的文件:/etc/gshadow(设置组管理员时才有用)
## 用户组管理操作命令: # 创建用户组 groupadd java # 删除用户组 groupdel bigdata #修改用户组属性 groupmod –n newname grpname #查看用所属的组 groups itcast
五、网络配置管理
1.网卡地址配置
1 # 检查网络连通性: 2 ping destip 3 4 # 查看ip地址 5 ifconfig # 查看所有网络设备的地址信息 6 ifconfig eth0 # 查看指定的eth0以太网卡的地址信息 7 8 # 修改ip地址 9 ifconfig eth0 192.168.2.150 netmask 255.255.255.0 10 11 # 通过setup修改网络配置 12 # 在root权限下执行setup指令可以打开一个带菜单的伪图形界面来修改网络配置,需要注意的是如果使用的是远程ssh工具进行操作,ssh的编码需要为utf-8 13 14 # 通过配置文件修改ip地址 15 vi /etc/sysconfig/network-scripts/ifcfg-eth0 # 修改该配置文件即可改ip地址
2.主机名的配置
# 查看主机名 # 在shell提示符的@后有显示 # 或者用hostname指令打印出主机名 # 修改主机名 vi /etc/sysconfig/network # 修改其中的hostname配置项: HOSTNAME= hostnamenew # 修改完成之后要重启服务器才能生效 # 要想立即生效,可以执行指令 hostname hostnamenew ,然后注销重登陆
3.主机名和ip的映射
# DNS 公网上有现成的DNS服务器,但是不能解析内网的私有域名(主机名),因而需要配置公司内部的私有DNS服务器,成本相对较高,实现起来比较麻烦 # 服务器本地映射 服务器网络寻址时默认是现在本地的hosts文件中查找IP映射,通过修改hosts来映射局域网内部的主机名非常方便 # 实现方法,将局域网内的每一台主机的“hostnamip”写入每一台主机的hosts文件中: vi /etc/hosts 192.168.2.150 itcast-server-01 192.168.2.151 itcast-server-02 192.168.2.152 itcast-server-03
4.网络服务的启动和停止
1 # 列出系统所有应用服务状态 2 service --status-all 3 # 查看指定服务运行状态: 4 service servicename status 5 # 启动服务: 6 service servicename start 7 # 停止服务: 8 service servicename stop 9 10 # 列出所有服务的随机自起配置: 11 chkconfig --list 12 # 关闭服务的随机自起: 13 chkconfig servicename off 14 # 开启服务的随机自起: 15 chkconfig servicename on 16 17 # 常用示例: 18 service network restart # 重启网络服务 19 httpd service httpd stop #停止 20 httpd service httpd start # 启动 21 service iptables stop #关闭防火墙服务 22 chkconfig iptables off #关闭防火墙自动启动
5.查看网络连接信息
1 # 指令: 2 netstat 3 4 # 常用示例: 5 netstat -natp 6 netstat -nltp 7 netstat -naup 8 9 # 常用参数解释: 10 # -a 显示所有连接和监听端口 11 # -l 只显示监听进程 12 # -t (tcp)仅显示tcp相关选项 13 # -u (udp)仅显示udp相关选项 14 # -n 拒绝显示别名,能显示数字的全部转化成数字。 15 # -p 显示建立相关链接的程序名
六、常用系统管理指令
1.磁盘/内存的使用情况
1 df -h # 查看磁盘空间状态信息 2 du -sh * # 查看指定目录下所有子目录和文件的汇总大小 3 free # 查看内存使用状况
2.进程的管理
1 top # 查看实时刷新的系统进程信息 2 ps -ef # 查看系统中当前瞬间的进程信息快照 3 ps -ef | grep myshell.sh # 搜索myshell进程的信息 4 kill -9 pid # 杀掉进程 (-9 表示强制杀死)
3.sudo权限的配置
1 # root用户因为具有不受限制的权限,使用不慎可能对系统造成不可估量的损害,日常中如果普通用户需要使用一些系统级管理命令,可以使用sudo来执行,比如 : 2 sudo vi /etc/profile # 查看一些系统级别的文件 3 4 # 给普通用户赋予sudo权限,配置方法如下: 5 # 编辑sudoers文件 6 vi /etc/sudoers 7 ##################################### 8 # root ALL=(ALL) ALL 9 # 让Test1用户可以用root身份执行所有指令 10 # test1 ALL=(ALL) ALL 11 #让test2t用户可以用root身份执行所有指令 12 # test2 ALL=(root) /usr/sbin/useradd, /usr/bin/passw 13 ##################################### 14 15 # 检查是否生效 16 [root@localhost test1]# sudo -lU test1
4.其他指令
1 # grep 2 #grep命令,文本搜索工具,它能使用正则表达式搜索文本内容,并把匹配的行打印出来 3 4 示例: 5 grep -c‘EOF’ ./* # 显示匹配到的行数 6 grep -r ‘EOF’ ./* # 指定对子目录也进行搜索 7 grep -l ‘EOF’ ./* # 只显示命中的文件名 8 grep -n ‘EOF’ ./* # 显示命中的行号 9 grep -ld skip ‘EOF’ ./* # 显示指定不要搜索子文件夹 10 11 # 参数含义: 12 -r 递归搜索子目录 13 -l 只列出有匹配行的文件名 14 -n 列出匹配行的行号 15 -d skip 不搜索子文件夹 16 17 # 常用grep跟其他命令组合使用来查找我们关心的信息: 18 service --status-all | grep 'httpd' 19 netstat -nltp | grep '22' 20 21 # find 查找文件 22 # 强大的查找工具,可根据文件名,文件所有者,创建时间,文件大小,文件类型,文件权限信息等各种条件来查找匹配的文件: 23 24 # 按照文件名称查找(可支持正则表达式) 25 find ./ -name '*.txt' 26 find ./ -name ‘install*’ 27 28 # 按照文件类型查找 29 find ./ -type f 30 find ./ -type l 31 32 # wc 统计文本信息(行数,词数,字符数) 33 wc -c/w/l/ 34 35 # date 查看或者修改系统的日期和时间: 36 date 37 date “+%Y%m%d” 38 date -s “2020-12-20 10:56:00” 39 40 # echo 输出字符串或者变量的值 41 echo $str 42 43 whoami #查询当前登陆者的身份 44 which #查询指定命令的$PATH路径
七、linux中的软件安装使用
1. java软件安装
Jdk安装
- 将安装包解压到你的安装路径下
- 修改环境变量 sudo vi /etc/profile
- 然后 source /etc/profile 来生效
2. RPM包安装
redhat 公司的RPM(Redhat Package Manager)(RPM Package Manager)方式的包管理 也是很常用的软件包管理器
示例:Mysql安装
- rpm -qa | grep mysql
- sudo rpm -e mysql-libs-5.1.66-2.el6_3.i686 --nodeps
- sudo rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm
3. yum在线安装软件
yum的一切配置信息都储存在一个叫yum.conf的配置文件中,通常位于/etc目录下
yum 可以通过线上软件仓库自动解决依赖并安装指定的软件包(RPM),示例如下:
- yum install tomcat
- yum --list tomcat*
- yum install tomcat6
- yum install tomcat6-webapps.i686
八、vim的简单使用
linux系统中最通用的文本编辑器
vi hello.world 进入文件编辑
其运行的模式为: