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来映射局域网内部的主机名非常方便

# 实现方法,将局域网内的每一台主机的“hostnamip”写入每一台主机的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安装

  1. 将安装包解压到你的安装路径下
  2. 修改环境变量  sudo vi /etc/profile
  3. 然后  source /etc/profile  来生效

2. RPM包安装

redhat 公司的RPM(Redhat Package Manager)(RPM Package Manager)方式的包管理 也是很常用的软件包管理器

示例:Mysql安装

    1. rpm -qa | grep mysql
    2. sudo rpm -e mysql-libs-5.1.66-2.el6_3.i686 --nodeps
    3. sudo rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm

3. yum在线安装软件

    yum的一切配置信息都储存在一个叫yum.conf的配置文件中,通常位于/etc目录下

    yum 可以通过线上软件仓库自动解决依赖并安装指定的软件包(RPM),示例如下:

    1. yum install tomcat
    2. yum --list tomcat*
    3. yum install tomcat6
    4. yum install tomcat6-webapps.i686

八、vim的简单使用

linux系统中最通用的文本编辑器

vi hello.world 进入文件编辑

其运行的模式为:

 

 

posted @ 2017-01-15 00:30  viivvii  阅读(347)  评论(0编辑  收藏  举报