Linux最初是由芬兰赫尔辛基大学学生Linus Torvalds由于自己不满意教学中使用的MINIX操作系统, 所以在1990年底由于个人爱好设计出了LINUX系统核心。后来发布于芬兰最大的ftp服务器上,用户可以免费下载,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来,之后Linux在不到三年的时间里成为了一个功能完善,稳定可靠的操作系统.

CentOS学习


1. 背景历史

​ Linux最初是由芬兰赫尔辛基大学学生Linus Torvalds由于自己不满意教学中使用的MINIX操作系统, 所以在1990年底由于个人爱好设计出了LINUX系统核心。后来发布于芬兰最大的ftp服务器上,用户可以免费下载,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来,之后Linux在不到三年的时间里成为了一个功能完善,稳定可靠的操作系统.

2. 应用

  • 服务器系统Web应用服务器、数据库服务器、接口服务器、DNS、FTP等等;
  • 嵌入式系统路由器、防火墙、手机、PDA、IP 分享器、交换器、家电用品的微电脑控制器等等,
  • 高性能运算、计算密集型应用Linux有强大的运算能力。
  • 桌面应用系统
  • 移动手持系统

3. 版本

  • 内核版本:Linus领导下的内核小组开发维护的系统内核的版本号
  • 发行版本:

4.目录结构

  • / :根目录

    目录名称 全名 描述
    bin binaries 二进制可执行文件
    boot 系统引导时使用的各种文件
    dev devices 设备文件
    etc ectetera 系统配置文件
    home 用户文件根目录
    lib library 跟文件系统中的程序运行需要的共享库以及内核模块
    sbin super user binaries root才能访问的二进制可执行文件
    usr Unix shared resources 存放共享的系统资源
    var variable 用于存放运行时需要改变数据的文件
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    lrwxrwxrwx.  1 root root     7 Aug 18  2017 bin -> usr/bin             # bin目录
    dr-xr-xr-x. 4 root root 4096 Sep 12 2017 boot # boot目录
    drwxr-xr-x 19 root root 2960 Sep 27 22:01 dev # dev目录
    drwxr-xr-x. 82 root root 4096 Sep 28 06:01 etc # etc目录
    drwxr-xr-x. 3 root root 4096 Sep 27 16:12 home # home目录
    lrwxrwxrwx. 1 root root 7 Aug 18 2017 lib -> usr/lib # lib目录
    lrwxrwxrwx. 1 root root 9 Aug 18 2017 lib64 -> usr/lib64 # lib64
    drwx------. 2 root root 16384 Aug 18 2017 lost+found
    drwxr-xr-x. 2 root root 4096 Nov 5 2016 media
    drwxr-xr-x. 2 root root 4096 Nov 5 2016 mnt
    drwxr-xr-x. 2 root root 4096 Nov 5 2016 opt
    dr-xr-xr-x 74 root root 0 Sep 27 22:01 proc
    dr-xr-x---. 6 root root 4096 Sep 5 2017 root
    drwxr-xr-x 21 root root 580 Sep 27 22:01 run
    lrwxrwxrwx. 1 root root 8 Aug 18 2017 sbin -> usr/sbin # root的bin目录
    drwxr-xr-x. 2 root root 4096 Nov 5 2016 srv
    dr-xr-xr-x 13 root root 0 Sep 28 06:01 sys
    drwxrwxrwt. 11 root root 4096 Sep 29 03:40 tmp # 临时文件
    drwxr-xr-x. 13 root root 4096 Aug 18 2017 usr # 存放共享的系统资源
    drwxr-xr-x. 19 root root 4096 Sep 28 06:01 var # 用于存放运行时需要改变数据的文件

4. 常用命令

  1. 切换命令:cd

    1
    2
    cd .. # 切换到上一层目录
    cd ~ # 切换到系统根目录
  2. 列出文件列表:ls

    1
    2
    3
    ls       # 列出文件
    ls -a # 显示所有文件和目录(包含隐藏)
    ls -l # 缩写成ll
  1. 创建目录(mkdir)和移除目录(rmdir)

    1
    2
    3
    mkdir [dirname] # 创建文件夹
    rmdir [dirname] # 移除文件夹
    rmdir -p dir1/dir2 # 移除两级文件夹
  1. 浏览文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    cat  # 用于显示文件的内容
    more # 用于显示的内容超过一个画面长度的情况下使用。空格键显示下一个界面。回车显示下一行内容。
    less # 和more类似,不同的是less可以通过PgUp、PgDn控制

    tail # 显示文件后几行的内容
    tail -10 /etc/passwd # 查看后10行数据
    tail -f catalina.log # 动态查看日志

    ctrl + c # 结束查看

  1. 文件操作

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    rm                  # 删除文件
    rm a.txt # 删除a.txt 文件
    rm -f a.txt # 不询问直接删除
    rm -f a # 不询问,递归删除文件【慎用】
    rm -rf a # 不询问,递归删除文件夹
    rm -rf * # 删除所有文件
    rm -rf /* # 自杀

    cp a.txt b.txt # 将a.txt复制为b.txt文件
    cp a.txt ../ # 将文件复制到上一级目录

    mv a.txt ../ # 将a.txt文件移动到上一层目录中
    mv a.txt b.txt # 将a.txt重命名为b.txt

    tar # 打包或解压
    tar -cvf xxx.tar ./* # 打包
    tar -zcvf xxx.tar.gz ./* # 打包并且压缩
    tar -xvf xxx.tar # 解压
    tar -zxvf xxx.tar.gz -C /user/aaa # 解压到指定目录

    find # 查找符合条件的文件
    find / -name "ins*" # 查找文件名称是以ins开头的文件
    find / -name "ins*" -ls
    find / -user tobing -ls # 查找用户itcast的目录
    find / -user tobing -type d -ls # 查找用户tobing的目录
    find / -prem -777 -type d -ls # 查找权限为777的文件

    grep # 查找文件【内】符合条件的字符串
    grep java anacoda-ks.cfg # 在文件中找java
    grep java anacoda-ks.cfg -color # 高亮显示
  1. 其他常用命令

    1
    2
    3
    pwd     # 查看当前所在目录
    touch # 创建一个空文件
    clear # 清屏 ==> crtl + L

5.vi和vim

  1. 三种模式

    • 命令模式:用户刚刚启动 vi/vim,便进入了命令模式。此时输入的字符会被当做命令执行
    • 输入模式:和普通的windows平台的记事本一样编辑,按Esc可以退出该模式
    • 底行模式(底线命令行模式):
      • q :退出程序
      • w :保存文件
    • 按ESC键可随时退出底线命令模式。
  2. 变换

    • 切换到命令行:Esc

    • 切换到插入模式:i、o、a键

      字母 功能
      i(小写) 当前位置前插入
      I(大写) 当前行首插入
      a 当前位置插入
      A 当前行尾插入
      o 当前行之后插入一行
      O 当前行之前插入一行

    vi的日常使用

    1. 在命令行输入:vi [要编辑文件名] 进入命令模式
    2. 输入i 进入插入模式,在此状态下可以像普通编辑器一样编辑
    3. 修改完毕之后,按Esc键, 退出输入模式,进入底行模式。
    4. 输入:wq保存退出

6. 重定向 >> 和 >

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@root ~]# echo Hello Linux > a.txt   # 将echo输出的内容通到a.txt文件中
[root@root ~]# cat a.txt # 查看a.txt的内容
Hello Linux
[root@root ~]# echo Hello Centos > a.txt # > : 输入的内容会覆盖之前存在的内容
[root@root ~]# cat a.txt # 查看内容
Hello Centos
[root@root ~]# ifconfig >> a.txt # >> : 追加模式
[root@root ~]# cat a.txt # 查看内容
Hello Centos
eth1 Link encap:Ethernet HWaddr 00:0C:29:D3:06:82

....

lo Link encap:Local Loopback
....

7. 进程管理:ps 和 kill

  • ps:查看进程

  • kill:杀死进程

    1
    2
    3
    4
    5
    6
    7
    [root@root /]# ps -ef           # 查看所有的进程
    UID PID PPID C STIME TTY TIME CMD
    root 1 0 0 05:53 ? 00:00:01 /sbin/init
    root 2 0 0 05:53 ? 00:00:00 [kthreadd]
    root 3 2 0 05:53 ? 00:00:00 [migration/0]
    ....
    [root@root /]# kill -9 2868 # -9 :强制杀死指定PID进程

8. 管道 |

  • 将一个命令的输出用作另一个命令的输入

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [root@root /]# ls -alh | more           # 将ls输出的内容用more的模式来展示
    total 106K
    dr-xr-xr-x. 24 root root 4.0K Oct 3 05:53 .
    dr-xr-xr-x. 24 root root 4.0K Oct 3 05:53 ..
    -rw-r--r--. 1 root root 0 Oct 3 05:53 .autofsck
    ......
    [root@root /]# ps -ef | grep bash # 将ps输出的内容放到grep中搜索
    root 3665 3663 0 05:58 pts/0 00:00:00 /bin/bash
    root 3729 3724 0 06:01 pts/1 00:00:00 -bash
    root 3842 3729 0 06:16 pts/1 00:00:00 grep bash

    9. Linux权限

    1
    2
    3
    4
    5
    6
    7
    8
    drwxr-xr-x.   2 root root 4.0K Oct 30  2018 profile.d
    -rw-r--r--. 1 root root 6.4K Jan 12 2010 protocols
    lrwxrwxrwx. 1 root root 7 Oct 30 2018 rc -> rc.d/rc
    # xuuugggooo.
    # 将a.txt的权限修改为用户可读可写可执行,组可读可执行,其他可执行
    [root@root etc]# chmod u=rwx,g=rx,o=rx a.txt
    # 将b.txt的权限修饰为 u=rxw,g=rx,o=x
    [root@root etc]# chmod 755 b.txt
  • x:文件类型

    • d:文件
    • -:文件夹
    • l:超链接
  • u:用户权限

  • g:组权限

  • o:其他用户权限

    • r:读权限 —- 4
    • w:写权限 —- 2
    • x:可执行权限 —- 1

    10. 网络相关

    1. 主机名配置

    1
    2
    3
    4
    5
    6
    [root@root /]# hostname						# 查看主机名
    tobing
    [root@root /]# hostname admin # 修改主机名为admin(临时修改)
    [root@root /]# hostname
    admin
    [root@root /]# vi /etc/sysconfig/network # 持久化修改主机名

2.IP地址配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@root /]# ifconfig                     # 查看当前ip配置
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet `[ip地址]` netmask 255.255.192.0 broadcast
....
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
....
[root@root /]# ifconfig eth0 192.168.1.133 # 修改IP地址
[root@root /]# vi/etc/sysconfig/network-scripts/ifcfg-eth0 # 持久化修改ip相关配置
DEVICE=eth0 #网卡名称
BOOTPROTO=static #获取ip的方式(static/dhcp/bootp/none)
HWADDR=00:0C:29:B5:B2:69 #MAC地址
IPADDR=12.168.177.129 #IP地址
NETMASK=255.255.255.0 #子网掩码
NETWORK=192.168.177.0 #网络地址
BROADCAST=192.168.0.255 #广播地址
NBOOT=yes #系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备。

3. 域名映射

1
2
3
[root@root /]# vi /etc/hosts
192.168.1.123 tobing
ping tobing == > ping 192.168.1.123

4. 网络服务管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
service network status # 查看指定服务的状态
service network stop # 停止指定服务
service network start # 启动指定服务
service network restart# 重启指定服务

service --status–all # 查看系统中所有后台服务
netstat –nltp # 查看系统中网络进程的端口监听情况

# 防火墙设置
# 防火墙根据配置文件/etc/sysconfig/iptables来控制本机的”出”、”入”网络访问行为。
service iptables status # 查看防火墙状态
service iptables stop # 关闭防火墙
service iptables start # 启动防火墙
chkconfig iptables off # 禁止防火墙自启

总结

  • 对CentOS仍处于入门级别的使用
  • 很多问题仍然需要百度
  • 写此文章是为了记忆常用命令

评论