• 10.Linux 命令详解


    10.Linux 命令详解

    课程要求:

    1.了解Linux系统的常用命令的使用。

    实验器材:

    软件:

    1.安装了RHEL6的vmware虚拟机。

    硬件:

    1.PC机一台。

    背景知识:

    1. Linux命令介绍:

    linux 命令是对 Linux 系统进行管理的命令。对于 Linux 系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux 系统管理的命令是它正常运行的核心,与之前的 DOS 命令类似。linux 命令在系统中有两种类型:内置 Shell 命令和Linux 命令。首先要认识一个名词"控制台(console)",它就是我们通常见到的使用字符操作界面的人机接口,例如 dos。我们说控制台命令,就是指通过字符界面输入的可以操作系统的命令。需要注意一点,和 dos 命令不同的是,Linux 的命令(也包括文件名等等)对大小写是敏感的。然后来看看什么是"Shell",实际上 Shell 是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell 有自己的编程语言用于对命令的编辑,它允许用户编写由 shell 命令组成的程序,将大量 shell 命令组织成一个脚本文件,达到自动化处理的目的。

    2. Linux常用命令分类:

    (1) 用户管理类命令:useradd、userdel、passwd、su、groupadd、groupdel。

    (2) 文件目录类命令:ls、cd、touch、cp、mv、rm、chmod、mkdir、du、pwd。

    (3) 压缩打包类命令:gzip、bzip2、tar。

    (4) 磁盘管理:mount、umount、df、touch、ln。

    (5) 查找类命令:find、grep。

    (6) 进程管理类命令:ps、kill、free、top。

    (7) 其他常用命令: rpm、|、man、shutdown。

    下面请大家通过实验步骤体验这些常用命令的用法。

    实验步骤:

    用户管理类命令:

    1. 添加用户:useradd

    格式:useradd [选项] 用户名

    范例:useradd david

    添加名字为 david 的用户,当用户创建成功后,会在/home/ 目录下生成与用户名同名的目录。

    图3-79

    useradd 命令

    2. 删除用户:userdel

    格式:userdel [选项] [用户名]

    范例:userdel –r david

    删除名为 david 的用户,"-r"选项会使/home 目录下的该用户目录也被删除。

    图3-80

    userdel 命令

    3. 修改密码:passwd格式:passwd [选项] [用户名]范例:passwd davide修改 david 用户的密码。

    图3-81

    passwd 命令

    4. 切换用户:su

    格式:su [选项] [用户名]

    范例:su – david

    切换到 david 用户,并将用户的环境变量同时带入;如图 3-82 所示;当由普通用

    户切换为 root 用户时需要输入 root 用户密码。

    图3-82

    su 命令

    5. 添加用户组:groupadd

    格式:groupadd [选项] [用户名]

    范例:groupadd group1

    添加组名为"group1"的用户组;添加用户组之后会在/etc/group 最后一行添加用

    户组 group1 的信息。

    6. 删除用户组:groupdel

    格式:groupadd [选项] [用户名]

    范例:groupadd group1

    删除组名为"group1"的用户组;删除用户组之后会在/etc/group 删除用户组

    group1 的信息。

    文件和目录类命令:

    7. 查看目录:ls

    格式:ls [选项] [目录或文件]

    范例:

    1.ls /home

    显示/home 目录下的文件与目录(不包含隐藏文件)

    2. ls –a /home

    显示/home 目录下的所有文件与目录(含隐藏文件)

    3. ls –l /home

    显示/home 目录下的文件与目录的详细信息

    图3-83

    ls 命令

    8. 改变工作目录:cd

    格式:cd 目录名

    范例:

    1. cd /home/

    进入/home 目录

    2. cd ..

    退回到上一级目录

    图3-84

    cd 命令

    9. 文件创建:touch

    格式:touch [选项] 文件名

    范例:touch test

    在/home 目录先创建 test 文件

    图3-85

    touch 命令

    10. 复制文件/目录:cp

    格式:cp [选项] 源文件或目录目标文件或目录

    范例:

    1. cp /home/test /tmp/

    将/home 目录下的 test 文件 copy 到/tmp 目录下

    2. cp –r /home/smb /tmp/

    将/home 目录下的 dir1 目录 copy 到/tmp 目录下

    图3-86

    cp 命令

    11. 改变文件权限:chmod

    格式:chmod [who] [+ | -| =] [mode] 文件名

    参数:

    who:

    u 表示文件的所有者。

    g 表示与文件所有者同组的用户。

    o 表示"其他用户"。

    a 表示"所有用户"。它是系统默认值。

    mode:

    + 添加某个权限

    -取消某个权限

    = 赋予给定权限

    例:chmod g+w test

    图3-87

    chmod 命令

    12. 创建目录:mkdir

    格式:mkdir [选项] 目录名

    范例:

    1.mkdir /home/workdir

    在/home 目录下创建 workdir 目录/home workdir

    2. mkdir –p/home/dir1/dri4/dir3/dir2

    创建/home/dir1/dir2 目录,如果 dir1 不存在,先创建 dir1

    图3-88

    mkdir 命令

    13. 查看目录:du

    格式:du 目录名

    范例:du /tmp

    图3-89

    du 命令

    14. 查看当前路径:pwd

    格式:pwd

    范例:pwd

    显示当前工作目录的绝对路径

    图3-90

    mv 命令使用

    压缩打包类命令

    在 Linux 环境中,压缩文件的扩展名通常为*.tar; *.tar.gz;

    *.tgz; *.gz; *.bz2。而不同后缀名的文件,则需要使用不同的命令来处理。

    *.gz<-> gzip 命令压缩的文件

    *.bz2<-> bzip2 命令压缩的文件

    *.tar<-> tar 命令打包的文件

    *.tar.gz<-> tar 打包后,再经过 gzip 压缩的文件

    *.tar.bz2<-> tar 命令打包后,再经过 bzip2 压缩的文件

    15. 压缩解压:gzip

    格式:gzip [选项] 文件名

    范例:

    1.gzip /root/anaconda-ks.cfg

    压缩文件

    2. gzip –d /root/anaconda-ks.cfg.gz

    解压文件

    图3-91

    gzip 命令

    16. 压缩解压:bzip2

    格式:bzip2 [选项] 文件名

    范例:

    1.bzip2 /root/anaconda-ks.cfg

    压缩文件

    2. bzip2 –d /root/anaconda-ks.cfg.bz2

    解压文件。

    图3-92

    bzip2 打包并压缩

    17. 打包压缩:tar

    格式:tar [选项] 目录或者文件

    范例:

    1. tar cvf tmp.tar /tmp

    将 tmp 目录打包为一个文件

    2. tar xvf tmp.tar

    将打包文件解开

    3. tar cvzf tmp.tar.gz /tmp

    将 tmp 目录打包压缩为一个文件

    4. tar xvzf tmp.tar.gz

    将打包压缩文件解压

    图3-93

    tar 打包命令

    图3-94

    tar 打包压缩命令

    为方便截图,省略了部分打印信息

    磁盘管理类命令

    18. 加载存储设备:mount

    格式:mount [选项] 设备名 挂载目录

    范例:mount /dev/cdrom /mnt

    挂载/dev/cdrom 到/mnt 目录下

    注意:挂载之前要首先在虚拟机配置【VM】-【Settings...】-【CD/DVD(IDE)】-

    【Connection】选择使用 RedHat 的镜像;如图 3-96 所示

    图3-95

    mount 命令

    图3-96 VM settings

    19. 卸载光盘:umount

    格式:umount 挂载目录

    范例:umount /mnt

    图3-97 umount 命令

    重要提示:请在执行 umount 之前,先保证 mnt 目录下已经挂载了镜像,并且用户已经退出了 mnt 目录,否则会导致卸载失败。

    20. 查看磁盘:df

    格式:df [选项]

    范例:df –hl

    图3-98

    df 命令

    21. 文件链接:ln

    在 Linux 系统中,存在类似于 windows 中"快捷方式"的链接文件。链接文件又分为"软链接"和"硬链接"。软链接又叫符号链接,这个文件包含了另一个文件的路径名,可以是任意文件或目录,可以链接不同文件系统的文件;对符号文件进行读或写操作的时候,系统会自动把该操作转换为对源文件的操作,删除链接文件时,系统仅仅删除链接文件,而不删除源文件本身。硬链接是已存在文件的另一个名字;硬链接文件进行读写和删除操作时候,结果和软链接相同。但如果我们删除硬链接文件的源文件,硬链接文件仍然存在,而且保留了愿有的内容。

    硬链接文件有两个限制

    1).不允许给目录创建硬链接;

    2).只有在同一文件系统中的文件之间才能创建硬链接。

    格式:ln [选项] 文件名链接名

    范例:

    1.ln oldfile hlink

    为oldfile文件创建一个硬链接hlink

    图3-99

    ln 创建硬链接

    2.ln –s oldfile slink

    为oldfile文件创建一个软链接slink

    图3-100

    创建软链接

    查找类命令

    22. 查找文件/目录:find

    格式:find 查找路径-name 文件名

    范例:

    find /root/ -name install.log

    在 root 目录下寻找名字为 intall.log 的文件查找到所有网络端口中用于 tftp 的端口情况,如图所示。

    图3-101

    find 命令

    23. 查找字符串:grep

    格式:grep "字符串" 路径 [选项]

    范例:

    1.grep "VolGroup" /root -rn

    在当前路径下寻找包含字符串"xml"的文件

    2. grep "VolGrou*" /root -rn

    在当前路径下寻找包含以"he"开头的字符串的文件

    图3-102

    grep 命令

    进程管理类命令

    24. 查看进程:ps

    格式:ps [选项]

    范例:pa aux。

    进程显示信息分为 7 列内容依次为:USER(用户名)、PID(进程 ID)、%CPU(进程的 CPU 占用率)、%MEM(进程所使用的虚存的大小)、RSS(进程使用的驻留集大小或者是实际内存的大小,

    Kbytes 字节) TTY(与进程关联的终端)。STAT(进程的状态:进程状态使用字符表示的,R:运行;S:睡眠;I:空闲;Z:僵死;D:不可中断;T:终止;P:等待交换页;W:无驻留页;X:死掉的进程;<:小于高优先级进程;N:低优先级进程;L:内存锁页;s:进程领导者;l:多进程;+:位于后台的进程组) START、(进程启动时间和日期) TIME、(进程使用的总 cpu 时间)、COMMAND(正在执行的命令行命令)。

    图3-103

    ps 命令

    25. 杀死进程:kill

    格式:kill [选择] pid

    范例:

    1.vi hello.c

    2.ps aux

    3.kill [vi hello.c 进程 PID]

    图3-104

    kill 命令

    26. 查看内存:free

    格式:free [选项]

    范例:free

    Mem 行从左至右依次为 total(物理内存总量),used(已经使用内存数。更

    加确切地说,应该是含有数据的内存数),free(空余内存数,没有数据空的内存

    数),shared( 共享内存数),buffers(这个其实是写入用的缓存),cached(提

    供读取操作用的缓存)。

    图3-105

    free 命令

    27. CPU 占有率:top

    格式:top [选项]

    范例:top

    top 命令动态显示 CPU 的占有率,按【Ctrl】+c 或者【q】退出。

    图3-106

    top 命令

    28. 软件管理:rpm

    格式:rpm [选项] [软件包]

    范例:

    1.rpm –ivh /mnt/Packages/xinetd-2.3.14-34.el6.i686.rpm

    安装 xinetd-2.3.14-34.el6.i686.rpm

    2. rpm –qa

    查看系统中已经安装的所有软件包

    3. rpm –exinetd-2.3.14-34.el6.i686

    卸载已经安装的 xinetd-2.3.14-34.el6.i686。

    图3-107

    软件包选择

    29. 管道操作符:|

    格式:命令 1 | 命令 2

    范例:

    rpm –qa | grep tar

    查询系统中安装的所有软件包,并从中找出带有字符串"tar"的软件包。

    图3-108

    管道操作符

    30. 查看帮助:man

    格式:man 命令名

    范例:man find

    查看 find 命令的用法

    图3-109

    find 命令帮助文档

    31. 关闭 linux 系统:shutdown [选项] 时间

    范例:shutdown now

    立刻关机

    总结:

    通过本节课的学习掌握 Linux 下常用命令的基本用法,当遇到新的命令时,学会使用

    man 手册查找使用方法。

  • 相关阅读:
    unix网络编程 初步了解TCP/IP协议
    unix网络编程 常见概念
    linux 环境变量
    linux c编程
    第二周学习笔记
    jmeter第一周学习笔记
    建造者模式
    原型设计模式
    抽象工厂模式
    工厂方法模式
  • 原文地址:https://www.cnblogs.com/FORFISH/p/5188578.html
Copyright © 2020-2023  润新知