三、Linux常用基本使用操作(Centos)

1 Linux操作系统概述

1.1 Linux起源

Linux是基于Unix的开源免费的操作系统,由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境。Linux是由Linus Torvalds(林纳斯·托瓦兹)起初开发的,由于源代码的开放性,现在已经衍生出了成千上百种不同的Linux系统。

Linux系统的应用非常广泛,不仅可以长时间的运行我们编写的程序代码,还可以安装在各种计算机硬件设备中,比如手机、平板电脑、路由器等。尤其在这里提及一下,我们熟知是Android程序最底层就是运行在linux系统上的。

1.2 Linux分类

市场需求分类:

  • 图形化界面版:注重用户体验,类似window操作系统,但目前成熟度不够。
  • 服务器版:没有好看的界面,是以在控制台窗口中输入命令操作系统的,类似于DOS,是我们架设服务器的最佳选择。

原生程度分类:

  • 内核版本:在Linus领导下的内核小组开发维护的系统内核的版本号。
  • 发行版本:一些组织或公司在内核版基础上进行二次开发而重新发行的版本。
    • Linux发行版本不同,又可以分为n多种:
      三、Linux常用基本使用操作(Centos)

2 Linux操作系统目录结构

三、Linux常用基本使用操作(Centos)

3 目录操作命令

3.1 目录切换命令

  • cd usr 切换到该目录下usr目录
  • cd …/ 切换到上一层目录
  • cd / 切换到系统根目录
  • cd ~ 切换到用户主目录
  • cd - 切换到上一个所在目录

3.2 目录的增删改查

linux操作系统命令格式: 命令 -[参数]

查看目录:ls -[al]

  • ls:查看目录
    • 参数 -a 显示全部,包含隐藏
    • 参数 -l 列表形式显示

增加新目录:mkdir

  • mkdir 目录名字

修改目录名:mv

  • mv 老目录名 新目录名
    • 示例:mv oldtest newtest
  • 如果修改后的新目录和老目录不在同一个路径下,产生剪切效果
    • 示例:mv oldtest /usr/local/newtest

复制目录:cp

  • cp 复制目录命令
    • 参数 -r 递归
    • 示例:将根目录下的test目录,拷贝到/usr/local下 。 cp -r test /usr/local

删除目录或文件:rm

  • rm:删除目录命令
    • 参数 -r 递归
    • 参数 -f 不询问
    • 示例:删除/usr/local目录下的test目录。rm -rf test

搜索目录和文件:find

  • find搜索目录,也能搜索文件
    • 参数 -name,以目录名或者文件名进行搜索
  • 示例:在etc目录下,搜索名是 "sudo*"的目录或文件
    • find /etc -name “sudo.*”

4 文件操作命令

4.1 文件的增删查

创建文件:touch

  • touch:创建新文件命令 touch 文件名

查看文件:cat、more、less、tail

从文件头看:

  • cat命令查看文件,值显示文件最后一屏
    • 示例:查看/etc/sudo.conf。 cat /etc/sudo.conf
  • more命令查询文件,显示文件百分比,回车下一行,空格下一页
    • 示例:查看/etc/sudo.conf。 more /etc/sudo.conf
  • less命令查看文件,支持pgUp,pgDn进行上下翻页
    • 示例:查看/etc/sudo.conf。less /etc/sudo.conf

从文件尾看:

  • tail命令查看文件,支持显示的文件行数
    • 示例:使用tail-10 查看/etc/sudo.conf文件的后10行

4.2 修改文件:vim编辑器

  • vim:文件名

  • vim编辑器有三种状态

    • 命令模式

      只接受命令关键字 其他字符不接受

      切换到编辑模式命令:按 i

    • 编辑模式

      对文件进行内容编辑

      退回到命令模式ESC键

    • 底行模式

      进行保存或退出操作

      命令模式进入底行模式: 冒号

      底行模式:qw写入并退出,q!退出不保存

  • vim编辑器使用过程关于vim使用过程:

    vim 文件-------->命令模式--------->输入i---------->编辑模式----------->编辑文件----------->按下Esc--------->命令模式--------->按下:---------->底行模式----------->输入wq保存并退出/q!强制退出不保存

5 解压缩文件或目录

Linux中的打包文件一般是以.tar结尾的
压缩的命令一般是以.gz结尾的。
而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。

tar命令:解压缩和压缩

  • 参数:-z 调用gzip压缩命令压缩
  • 参数:-c 打包文件
  • 参数:-x 解压缩
  • 参数:-C 在指定的目录解压缩
  • 参数:-v 显示命令的执行过程
  • 参数:-f 指定文件名

解压:示例:将test.tar.gz进行解压缩

  • tar -zxvf test.tar.gz
  • tar -zxvf test.tar.gz -C /usr/local 解压缩到指定的目录

压缩:示例:将test目录打成压缩包,压缩后文件名为 test.tar.gz

  • tar -zcvf test.tar.gz test

6 pwd命令:显示当前的目录

7 关于进程的查看与杀死

7.1 查看进程:ps

  • 参数:-e 显示所有程序
  • 参数:-f 显示UID,PPIP
  • ps -ef

7.2 杀死进程:kill

  • 参数:-9 强制杀死该进程(PID)
  • kill -9 进程PID

8 搜索命令

8.1 搜索字符串,搜索文件:grep

示例:搜索 /etc/sudo.conf 中包含字符串“to”的内容

  • grep to /etc/sudo.conf
  • grep to /etv/sudo.conf --color 颜色高亮显示查找的字符串 类似windows的 Ctrl + f

8.2 管道命令:|

将前一个命令的输出作为本次目录的输入

  • 示例:ls命令列出etc目录下所有后缀名是.conf的
    • ls -al | grep .conf
    • 解释:ls -al 输出的结果是当前目录文件的列表,作为grep的输入(|),过滤出.conf结尾的文件

9 网络命令

网络命令:ifconfig

查看本机网卡信息

网络命令:ping

查看与某台主机的连接情况

网络命令:netstat

查看本机被使用的端口号,主要用于分析端口是否被占用的情况

参数:-a 显示所有连接

参数:-n 以网络IP地址代替名称

10 linux权限命令:chmod

权限是Linux中的重要概念,每个文件/目录等都具有权限,通过ls -l命令我们可以 查看某个目录下的文件或目录的权限
示例:在随意某个目录下ls -l
三、Linux常用基本使用操作(Centos)

  • 文件的类型:

    • d:代表目录
    • -:代表文件
    • l:代表链接(可以认为是window中的快捷方式)
  • 后面的9位分为3组,每3位置一组,分别代表当前用户的权限,与当前用户所属组的用户的权限,其他用户的权限

    • r:代表权限是可读,r也可以用数字4表示
    • w:代表权限是可写,w也可以用数字2表示
    • x:代表权限是可执行,x也可以用数字1表示
      三、Linux常用基本使用操作(Centos)

chmod命令设置权限

  • chmod u=rwx,g=rw,o=r aaa.txt

11 远程安装软件命令(联网使用):yum

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

依赖性文件是指,比如安装wps软件,必须先安好wps软件的依赖性文件,否则wps软件不能正确安装

  • 参数:install 安装软件包
  • 参数:list 查看可以安装的软件包
  • 示例:查找可以安装的软件包
    • yum list | grep gcc
    • 解释:yum list 展示可以安装的安装包有哪些,过滤出gcc的安装包展示出来
  • 示例:安装gcc编译器
    • yum install gcc

12 软件包管理命令:rpm

rpm(Red Hat Package Manager)类似于window中的软件安装包

12.1 查看已经安装的软件包

  • 参数:-a 查询所有软件包

  • 参数:-q 表示查询

  • 示例:查询已经安装的java

    • rpm -qa | grep java
      三、Linux常用基本使用操作(Centos)
      tips:开源的我们不使用,卸载

12.2 卸载已经安装的软件包

  • 参数:-e 卸载

  • 参数:–nodeps 不检查依赖性

  • 示例:卸载已经安装的Java

    • rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.i686
    • rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.i686

12.3 安装软件包

  • 参数:-i install 安装
  • 参数:v verbose 安装详细信息
  • 参数:h hash 显示进度

12.4 rpm与yum安装软件的区别

rpm只能安装已经下载到本机上的rpm包,而yum能在线下载并安装rpm包,能更新系统,还能自动处理包之间的依赖问题