当前位置: 首页 > news >正文

浙江二建建设集团有限公司网站南通网站快速收录

浙江二建建设集团有限公司网站,南通网站快速收录,做招商网站,如何把自己做的网站分享给别人用文章目录01 学习目标02 Linux/Unix 操作系统简介2.1 Linux 操作系统的目标2.2 Linux 操作系统的作用2.3 Unix 家族历史2.4 Linux 家族历史2.5 Linux 和Unix 的联系2.6 Linux 内核介绍2.7 Linux 发行版本2.8 Unix/Linux 开发应用领域介绍03 Linux 目录结构3.1 Win 和Linux 文件系… 文章目录01 学习目标02 Linux/Unix 操作系统简介2.1 Linux 操作系统的目标2.2 Linux 操作系统的作用2.3 Unix 家族历史2.4 Linux 家族历史2.5 Linux 和Unix 的联系2.6 Linux 内核介绍2.7 Linux 发行版本2.8 Unix/Linux 开发应用领域介绍03 Linux 目录结构3.1 Win 和Linux 文件系统区别3.2 Linux 常见目录介绍04 Linux命令解析器4.1 概述4.2 shell 命令解释器05 Bash 解析器常用快捷键06 Linux 系统相关快捷键07 内建命令和外部命令08 Linux命令格式09 帮助文档查看方法9.1 man9.2 内建命令help9.3 外部命令--help10 绝对路径和相对路径11 目录相关的命令11.1 pwd11.2 cd11.3 mkdir11.4 rmdir12 文件类型13 文件相关命令13.1 ls13.2 touch13.3 cp13.4 rm13.5 mv14 文件内容查看命令14.1 cat14.2 more14.3 less14.4 head14.5 tail15 du和df命令15.1 du15.2 df16 查找相关命令16.1 find16.2 grep17 管道18 压缩包管理18.1 tar18.2 gzip18.3 bzip218.4 zip 和 unzip19 文件权限管理19.1 文件权限19.2 访问用户分类19.3 访问权限说明19.4 chmod19.5 chown19.6 chgrp20 进程管理20.1 ps20.2 top20.3 kill20.4 killall21 软件安装和卸载21.1 在线安装21.2 软件包安装22 重定向23 其它命令23.1 tree23.2 ln 链接23.3 scp01 学习目标 Linux 下的目录结构和常见目录的作用Linux 下的相对路径和绝对路径Linux 下常用文件和目录操作相关的命令修改用户权限、用户和用户组相关的命令find 命令相关参数进行文件查找grep 命令根据文件内容进行文件的查找熟练使用压缩工具完成文件或目录的压缩解压缩熟练掌握 Ubuntu下的软件安装和卸载 02 Linux/Unix 操作系统简介 2.1 Linux 操作系统的目标 方便性使计算机系统易于使用有效性以更有效的方式使用计算机系统资源扩展性方便用户有效开发、测试和引进新功能开放性所谓开放性是指系统能遵循世界标准规范特别是遵循开放系统互连OSI 国际标准。 2.2 Linux 操作系统的作用 操作系统在计算机系统中承上启下的地位向下封装硬件向上提供操作接口。 2.3 Unix 家族历史 1965贝尔实验室Bell Labs加入一项由通用电气和麻省理工学院合作的计划该计划要建立一套多使用者、多任务、多层次的 MULTICS 操作系统。后来因为项目太为复杂失败。1969其主要开发者 Thompson后被称为UNIX之父和 Ritchie 领导一组开发者开发了一个新的多任务操作系统—UNICS后来被改名为 Unix最初的 Unix 是用 B 语言和汇编语言混合编写而成。1971两人在贝尔实验室共同发明了 C 语言并于 1973 用 C 语言重写了 Unix。1974UNIX 第一次出现在贝尔实验室以外。此后 UNIX 被政府机关研究机构企业和大学注意到并逐渐流行开来。1980有两个最主要的 Unix 的版本线一个是 Berkeley 的 BSD UNIX另一个是 ATT 的 Unix两者的竞争最终引发了 Unix 的战争最终导致 Unix 出现各种各样的变种。1982ATT 基于版本7开发了 UNIX System Ⅲ的第一个商业版本并不再开源。1992~2001由于版权问题ATT 公司与 BSD 开发组开始了一场将近 10 年的版权官司。UNIX 由于其昂贵的费用仅局限于大型机的应用BSD 因为版权问题失去了宝贵的发展时期。 2.4 Linux 家族历史 Minixmini-UNIX最初是由 Andrew Tanenbaum 教授仿照 4.3BSD 的源代码白手起家完成了 12000 行 C 语言的编写工作这个系统只是一个教学工具没有什么实际应用价值。1990年Linus Torvalds 决定编写一个自己的 Minix 内核初名为 Linus’ Minix意为 Linus 的 Minix 内核后来改名为 Linux此内核于 1991 年正式发布并逐渐引起人们的注意。Linux 操作系统的诞生、发展、和成长过程依赖于五个重要支柱unix操作系统、minix 操作系统、GNU 计划、POSIX 标准和互联网。GNU 计划GNU 是 “GNU is Not Unix” 的递归缩写由 Richard M.Stallman 于1984年创办,旨在开发一个免费、类 unix 的操作系统—GNU系统及其开发工具Emacs 编辑系统、BASH shell 程序、GCC、GDB 等开发工具都是 GNU 组织的产品。1992年 Linux 与其他 GNU 软件结合完全自由的操作系统正式诞生。该操作系统往往被称为“GNU/Linux”或简称 Linux。POSIX 标准POSIX 标准定义了操作系统应该为应用程序提供的接口标准POSIX标准用来统一Unix、Linux 各分支编程接口以提高其通用性和可移植性。 2.5 Linux 和Unix 的联系 UNIX 系统是工作站上最常用的操作系统它是一个多用户、多任务的实时操作系统允许多人同时访问计算机 并同时运行多个任务。UNIX 系统具有稳定、高效、安全、方便、功能强大等诸多优点自 20 世纪 70 年代开始便运行在许多大型和小型计算机上。UNIX 虽然是一个安全、稳定且功能强大的操作系统但它也一直是一种大型的而且对运行平台要求很高的操作系统只能在工作站或小型机上才能发挥全部功能并且价格昂贵对普通用户来说是可望而不可及的这为后来 Linux 的崛起提供了机会Linux 是一个类 UNIX 操作系统。Linux是免费的、不受版权制约、与 UNIX 兼容的操作系统。Linux在 x86 架构上实现了 UNIX 系统的全部特性具有多用户多任务的能力同时保持了高效性和稳定性。Linux 具有如下的优秀的特点 开放性完全免费多用户多任务良好的用户界面设备独立性提供了丰富的网络功能可靠的系统安全性良好的可移植性。 2.6 Linux 内核介绍 内核kernel是系统的心脏是运行程序和管理像磁盘和打印机等硬件设备的核心程序它提供了一个在裸设备与应用程序间的抽象层。 Linux内核版本又分为稳定版和开发版两种版本是相互关联相互循环 稳定版具有工业级强度可以广泛地应用和部署。新的稳定版相对于较旧的只是修正一些 bug 或加入一些新的驱动程序。开发版由于要试验各种解决方案所以变化很快。 内核源码网址http://www.kernel.org 所有来自全世界的对 Linux 源码的修改最终都会汇总到这个网站由 Linus 领导的开源社区对其进行甄别和修改最终决定是否进入到Linux主线内核源码中。 Linux内核代码图 Linux内核源码获取方式 ProtocolLocationHTTPhttps://www.kernel.org/pub/GIThttps://git.kernel.org/RSYNCrsync://rsync.kernel.org/pub/ 2.7 Linux 发行版本 Linux 发行版 (也被叫做 GNU/Linux 发行版) 通常包含了包括桌面环境、办公套件、媒体播放器、数据库等应用软件。 这些操作系统通常由 Linux 内核、以及来自 GNU 计划的大量的函式库和基于X Window 的图形界面在 X Window 中用户同样可以通过使用鼠标对窗口、菜单等进行操作来完成相应的工作。 X Window 系统是一个非常出色的图形窗口系统是类 UNIX 系统的图形用户界面的工业标准。X Window 系统最重要的特征之一就是它的结构与设备无关。 X Window 系统的主要特点有如下几点 X Window 系统是客户机/服务器结构的。X Window 的实现是与操作系统内核分开的其主要由 X Server 和 X Client 两部分组成。X Window 系统不是 Unix/Linux 操作系统的必须的构成部分而只是一个可选的应用程序组件。 Best Linux distro for developers in 2018 POSITION2015201420181Linux MintLinux MintArch Linux2DebianUbuntuDebian3UbuntuDebianRaspbian4openSUSEopenSUSEGentoo5FedoraFedoraUbuntu6MageiaMageiaFedora7ManjaroArchOpenSUSE8CentOSElementaryCentOS9ArchCentOSSolus10ElementaryZorinPuppy Linux参考网址Best Linux distro for developers in 2018 目前国内使用最多的就是 Ubuntu 与 Centos其中 Ubuntu 使用最多常用于一般的开发中而 Centos 一般用于与 Orical 等数据库相关的开发中。查看 linux 操作系统版本方法参考文章 方法一使用 Linux 的 etc 目录中的 os-release 文件运行命令 cat /etc/os-release方法二推荐使使用 lsb_release 命令检查 Linux 操作系统OSlsb_release -a方法三使用 Linux 的 proc 目录中可用的版本文件运行命令cat /proc/version检查linux版本。 2.8 Unix/Linux 开发应用领域介绍 Unix/Linux 服务器 是目前Unix/Linux应用最多的一个领域可以提供Web、FTP、Gopher、SMTP/POP3、Proxy/Cache、DNS等服务器支持服务器集群支持虚拟主机、虚拟服务、VPN等。嵌入式Linux系统 嵌入式Linux是将流行的Linux操作系统进行剪裁修改能够在嵌入式计算机系统上运行的一种操作系统。Linux嵌入式系统能够支持多种CPU和硬件平台性能稳定剪裁性好开发和使用容易。其中包括Embedix、uCLinux、muLinux等。桌面应用 近年来Linux系统特别强调在桌面应用方面的改进并且已达到相当的水平完全可以作为一种集办公应用、多媒体应用、网络应用等多方面功能于一体的图形界面操作系统在办公应用方面Unix/Linux集成了openOffice、SUN公司的StarOffice以及KOffice等工具。电子政务 随着Linux的快速发展Linux已逐渐成为Windows系统重要的竞争力量。尤其是Linux在安全性方面的独特优势又使得Linux在政府应用领域得到很大的发展。目前一些国家正将其电子政务系统向Linux平台迁移。中国政府也对Linux给予极大的支持。 03 Linux 目录结构 3.1 Win 和Linux 文件系统区别 在 windows 平台下打开“计算机”我们看到的是一个个的驱动器盘符 每个驱动器都有自己的根目录结构这样形成了多个树并列的情形即 windows 系统是磁盘分区的如图所示 windows 系统中不同磁盘之间的文件、文件夹移动比较缓慢因为文件/文件夹会从一个磁盘移动到另一个磁盘windows 系统中同一个磁盘下文件/文件夹的移动非常快因为不涉及到从一个磁盘到另一个磁盘操作系统只是修改了指针的指向。 在 Linux 下我们是看不到这些驱动器盘符我们看到的是文件夹目录 RedHat 系统Ubuntu 系统 在早期的 UNIX 系统中各个厂家各自定义了自己的 UNIX 系统文件目录比较混乱。Linux 面世不久后对文件目录进行了标准化于 1994 年对根文件目录做了统一的规范推出 FHS ( Filesystem Hierarchy Standard ) 的 Linux 文件系统层次结构标准。FHS 标准规定了 Linux 根目录各文件夹的名称及作用统一了 Linux 界命名混乱的局面。 和 Windows 操作系统类似 所有 Unix/Linux 的数据都是由文件系统按照树型目录结构管理的。Unix/Linux 操作系统同样要区分文件的类型判断文件的存取属性和可执行属性。Windows系统中存在磁盘分区Unix/Linux也采用了树状结构的文件系统它由目录和目录下的文件一起构成。 但Unix/Linux文件系统不使用驱动器这个概念而是使用单一的根目录结构所有的分区都挂载到单一的“/”目录上其结构示意图如图所示 无论何种版本的 Linux 发行版桌面、应用都只是 Linux 的外衣文件组织、目录结构才是 Linux 的内心。 Windows 和 linux 下文件分隔符的不同Windows下是以 ’\’ 为分隔符而linux下为 ”/“ 为分隔符。 3.2 Linux 常见目录介绍 / 根目录一般根目录下只存放目录在Linux下有且只有一个根目录。所有的东西都是从这里开始。当你在终端里输入“/home”你其实是在告诉电脑先从/根目录开始再进入到home目录。/bin: /usr/bin: 可执行二进制文件的目录如常用的命令 ls、tar、mv、cat等。/boot 放置linux系统启动时用到的一些文件如 Linux 的内核文件/boot/vmlinuz系统引导管理器/boot/grub。/dev 存放 linux 系统下的设备文件访问该目录下某个文件相当于访问某个设备常用的是挂载光驱 mount /dev/cdrom /mnt。/etc系统配置文件存放的目录不建议在此目录下存放可执行文件重要的配置文件有 /etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d。/home 系统默认的用户家目录新增用户账号时用户的家目录都存放在此目录下~ 表示当前用户的家目录~edu 表示用户 edu 的家目录。/lib/usr/lib/usr/local/lib 系统使用的函数库的目录程序在执行过程中需要调用一些额外的参数时需要函数库的协助。/lostfount 系统异常产生错误时会将一些遗失的片段放置于此目录下。/mnt:/media 光盘默认挂载点通常光盘挂载于 /mnt/cdrom 下也不一定可以选择任意位置进行挂载。/opt 给主机额外安装软件所摆放的目录。/proc此目录的数据都在内存中如系统核心外部设备网络状态由于数据都存放于内存中所以不占用磁盘空间比较重要的目录有 /proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等。/root 系统管理员 root 的家目录。/sbin:/usr/sbin:/usr/local/sbin 放置系统管理员使用的可执行命令如fdisk、shutdown、mount 等。与 /bin 不同的是这几个目录是给系统管理员 root 使用的命令一般用户只能查看而不能设置和使用。/tmp 一般用户或正在执行的程序临时存放文件的目录任何人都可以访问重要数据不可放置在此目录下。/srv 服务启动之后需要访问的数据目录如 www 服务需要访问的网页数据存放在 /srv/www 内。/usr应用程序存放目录/usr/bin 存放应用程序/usr/share 存放共享数据/usr/lib 存放不能直接运行的却是许多程序运行所必需的一些函数库文件。/usr/local 存放软件升级包。/usr/share/doc 系统说明文件存放目录。/usr/share/man 程序说明文件存放目录。/var 放置系统执行过程中经常变化的文件如随时更改的日志文件 /var/log/var/log/message所有的登录文件存放录/var/spool/mail邮件存放的目录/var/run:程序或服务启动后其PID存放在该目录下。 上面的目录比较多但以下几个目录相对于开发而言比较重要bin目录、boot目录、dev目录、etc目录、home目录、lib目录、lib64目录、sbin目录、sys目录 04 Linux命令解析器 4.1 概述 很多人可能在电视或电影中看到过类似的场景黑客面对一个黑色的屏幕上面飘着密密麻麻的字符梆梆一顿敲就完成了窃取资料的任务。Linux 刚出世时没有什么图形界面所有的操作全靠命令完成就如同电视里的黑客那样充满了神秘与晦涩。近几年来尽管 Linux 发展得非常迅速图形界面越来越友好但是在真正的开发过程中Linux 命令行的应用还是占有非常重要的席位而且许多Linux功能在命令行界面要比图形化界面下运行的快。可以说不会命令行就不算会 Linux。Linux 提供了大量的命令利用它可以有效地完成大量的工作如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。Linux 发行版本最少的命令也有 200 多个这里只介绍比较重要和使用频率最多的命令。 4.2 shell 命令解释器 命令解析器的作用交互式地解释、执行用户输入的命令将用户的操作翻译成机器可以识别的语言完成相应功能。 Linux系统中提供了好几种不同的命令解释器如shell(/bin/sh)、bash(/bin/bash)等一般默认使用bash作为默认的解释器。 05 Bash 解析器常用快捷键 5.1 Tab 键 补齐命令补齐路径显示当前目录下的所有目录 5.2 清屏 clear 作用为清除终端上的显示类似于 DOS 的 cls 清屏功能也可使用快捷键Ctrl L ( “L” 为字母 )。 5.3 中断进程 ctlrc 的作用是中断终端的操作。 5.4 遍历输入的历史命令 从当前位置向上遍历ctrl p ↑从当前位置向下遍历 ctrl n↓ 5.5 光标相关操作 光标左移 ctrl b ←坐标右移 ctrl f →移动到头部 ctrl aHome移动到尾部 ctlr eEnd 5.6 字符删除 删除光标前边的字符ctrl hBackspace删除光标后边的字符ctrl d光标后边的字符即光标覆盖的字符删除光标前所有内容ctrl u删除光标后所有内容ctrl k 06 Linux 系统相关快捷键 6.1 图形打开终端方式(三种方式) 1Alt F2 打开运行输入 gnome-terminal 2 搜索您的计算机 -- 输入终端 -- 打开 3右击桌面打开终端 6.2 终端相关快捷键 (终端必须选中) Ctrl Shift N 新建一个终端 Ctrl Shift T 在终端里新建一个标签 Ctrl Shift W 关闭标签页 Ctrl Shift Q 关闭窗口 Ctrl Shift C 复制 Ctrl Shift V 粘贴 Alt [1 - 9] 标签之间切换 Ctrl Shift 放大终端字体 Ctrl - 缩小终端字体 Ctrl 0 普通大小 F11 全屏 再次按F11退出全屏 Ctrl D 关闭当前一个终端 Alt F4 关闭整个终端 Ctrl Shift F 查找 Alt Tab 应用程序间切换 Ctrl Alt Backspace 注销 Ctrl Alt F7 回到图形界面 Ctrl Alt F1到 Ctrl Alt F6 可以访问6个虚拟控制台 终端字体推荐使用DejaVu Sans Mono Book 编辑– 配置文件首选项– 常规 07 内建命令和外部命令 7.1 内建命令 shell 内建命令是指 bash或其它版本工具中集成的命令。操作系统中的有的命令可能会有多个版本这种情况下操作系统会默认采用内建命令比如 bash中的 echo 命令与 /bin/echo 是两个不同的命令尽管他们行为大体相仿。当在 bash 中键入一个命令时系统会先看他是否是一个内建命令如果不是才会查看是否是系统命令或第三方工具。所以在 bash 中键入 echo 命令实际上执行 bash 工具集中的 bash 命令也就是内建命令而不是 /bin/echo 这个系统命令。 7.2 外部命令 外部命令是安装外部软件所带的命令 7.3 内建命令和外部命令对比 内建命令要比系统论命令有比较高的执行效率。外部命令执行时往往需要 fork 出产生出一个子进程而内建命令一般不用。外部命令是在 bash 之外额外安装的通常放在 /bin/usr/bin/sbin/usr/sbin…等等。可通过 “echo $PATH” 命令查看外部命令的存储路径比如ls、vi等。 7.4 命令类型查看方法 使用 type 命令查看格式 type [-afptP] 名称 [名称 …] 显示命令类型的信息。 使用方法示例 yxm192:~$ type -a cd cd is a shell builtin # cd 是 shell 内建yxm192:~$ type -a echo echo is a shell builtin echo is /bin/echo # echo 是 shell 内建 # echo 是 /bin/echoyxm192:~$ type -a ls ls is aliased to ls --colorauto ls is /bin/ls # ls 是 ls --colorauto 的别名 # ls 是 /bin/ls如上所图 type -a echo 命令查找到两个类型说明操作系统中的有的命令可能会有多个版本这种情况下操作系统会默认采用内建命令。 08 Linux命令格式 command [ -options] [parameter1] … 说明 command命令名相应功能的英文单词或单词的缩写[-options]选项可用来对命令进行控制也可以省略[]代表可选parameter1 …传给命令的参数可以是零个一个或多个 【注意】linux 命令参数有的加一个 ‘-’有的加两个 “–” 加一个 ‘-’ 表示是省略模式后面加单词简略的字母加两个 “–” 表示全写模式后面加单词。 09 帮助文档查看方法 9.1 man man 是 Linux 提供的一个手册包含了绝大部分的命令、函数使用说明。该手册分成很多章节section使用 man 时可以指定不同的章节来浏览不同的内容。 格式 man [选项] 命令名示例如下 dengitcast:~$ man manman 中各个 section 意义如下8种中常用的也就是前三种 1)Standard commands标准命令 2)System calls系统调用如open,write 3)Library functions库函数如printf,fopen 4)Special devices设备文件的说明/dev下各种设备 5)File formats文件格式如passwd 6)Games and toys游戏和娱乐 7)Miscellaneous杂项、惯例与协定等例如Linux档案系统、网络协定、ASCII 码environ全局变量 8)Administrative Commands管理员命令如ifconfig man设置了如下的功能键: 功能键功能空格键显示手册页的下一屏Enter键一次滚动手册页的一行b回滚一屏f前滚一屏q退出man命令h列出所有功能键/word搜索word字符串 用法示例 man -k passwd 搜索关键词 passwd man -a passwd 浏览 passwd 所有相关的页 man -f passwd 等价于 whatis man 1 printf 浏览 printf 第 1 页介绍 man 2 read 浏览 read 第 2 页介绍 man 3 printf 浏览 printf 第 3 页介绍 man 5 passwd 浏览 passwd 第 5 页介绍 man 8 chpasswd 浏览 chpasswd 第 8 页介绍示例 查看 ls 的用法man 1 ls ( 1为数字“1”代表第 1 个 section标准命令 ) : 实际上我们不用指定第几个章节也用查看如man ls。但是有一种情况假如命令的名字和函数的名字刚好重名如printf它既是命令也可以是库函数如果我们不指定章节号man printf它只查看命令的用法不会查询函数的用法因为 man 是按照手册的章节号的顺序进行搜索的。 所以使用 man 手册时最好指定章节号 9.2 内建命令help 格式 help 内建命令应用示例 9.3 外部命令–help 一般是 Linux 命令自带的帮助信息并不是所有命令都自带这个选项。 如我们想查看命令 ls 的用法ls --help 10 绝对路径和相对路径 前置信息 [[01_Liux 基础介绍-基础命令1#03 Linux 目录结构|03 Linux 目录结构]] Unix/Linux 路径由到达定位文件的目录组成。在 Unix/Linux 系统中组成路径的目录分割符为斜杠 “/”而DOS则用反斜杠 “\” 来分割各个目录Windows下是以 “\” 为分隔符而linux下为 ”/“ 为分隔符。。Linux 所有的目录和文件名大小写敏感。 路径分为绝对路径和相对路径 1绝对路径 绝对路径是从目录树的树根 “/” 目录开始往下直至到达文件所经过的所有节点目录。【注意】绝对路径都是从 “/” 开始的所以第一个字符一定是“/”。下级目录接在上级目录后面用 “/” 隔开。 /home/test /var/ftp/pub2相对路径 相对路径是指目标目录相对于当前目录的位置。如果不在当前目录下则需要使用两个特殊目录 “.” 和 “…” 了。目录 “.” 指向当前目录而目录 “…” 指向上一级目录。 11 目录相关的命令 11.1 pwd 格式pwd [-LP] 打印当前工作目录的名字。 使用pwd命令可以显示当前的工作目录该命令很简单直接输入 pwd 即可后面不带参数。 dengitcast:~$ pwd /home/deng11.2 cd 在使用 Unix/Linux 的时候经常需要更换工作目录。cd 命令可以帮助用户切换工作目录。Linux 所有的目录和文件名大小写敏感。cd 后面可跟绝对路径也可以跟相对路径。如果省略目录则默认切换到当前用户的主目录。 命令含义cd切换到当前用户的主目录(/home/用户目录)用户登陆的时候默认的目录就是用户的主目录。cd ~切换到当前用户的主目录(/home/用户目录)cd .切换到当前目录cd …切换到上级目录cd -可进入上一个进入的目录 【注意】 如果路径是从根路径开始的则路径的前面需要加上 “ / ”如 “ /mnt ”通常进入某个目录里的文件夹前面不用加 “ / ”。 11.3 mkdir 用法mkdir [选项]… 目录… 通过 mkdir 命令可以创建一个新的目录(不能新建普通文件)。参数-p可递归创建目录。 参数 -p若所要建立目录的上层目录目前尚未建立则会一并建立上层目录即创建递归目录。 【注意】 新建目录的名称不能与当前目录中已有的目录或文件同名目录创建者必须对当前目录具有写权限。 使用示例 mkdir test 在当前目录下创建test目录 mkdir /tmp/test 在根目录下tmp目录里创建test目录 mkdir file{1..100} 在当前目录下创建file1到file100的目录,这里会创建100个目录 xm192:~/test$ mkdir file{1..10} yxm192:~/test$ ls file1 file10 file2 file3 file4 file5 file6 file7 file8 file9 ......mkdir file{1..100} 在当前目录下创建file{1..100}目录这里只创建一个目录yxm192:~/test$ mkdir file{1..100} yxm192:~/test$ ls file{1..100}mkdir -p a/b/c 在当前目录下创建a/b/c目录树 yxm192:~/test$ mkdir -p a/b/c yxm192:~/test$ tree . └── a└── b└── cmkdir a b 创建以a b命名的一个目录注意a b是一个文件名yxm192:~$ mkdir a b yxm192:~$ ls a b myshare studymkdir a\ b 创建以a b命名的一个目录注意a b是一个文件名 yxm192:~$ mkdir a\ b yxm192:~$ ls a b myshare studymkdir a b 创建目录a和目录byxm192:~$ mkdir a b yxm192:~$ ls a b myshare study【注意】mkdir创建文件夹时如果文件名有特殊字符可以使用转义字符也可以在创建时给文件名加双引号或者单引号。 11.4 rmdir 用法rmdir [选项]… 目录… 删除指定的空目录。可使用 rmdir 命令删除一个目录。【注意】必须离开目录并且目录必须为空目录不然提示删除失败。 使用示例 rmdir test 删除当前目录的 test 目录test 必须是空目录 rmdir /tmp/test 删除/tmp下的test目录 rmdir file{1..100} 删除 file1 到 file100 的目录 rmdir file{1..100} 删除 file{1..100} 目录 rmdir a b 删除 a b 这个目录 rmdir a\\ b 删除 a b 目录 rmdir a b c 删除目录 a 目录 b 目录 c12 文件类型 前置信息 [[01_Liux 基础介绍-基础命令1#03 Linux 目录结构|03 Linux 目录结构]] Unix/Linux 对数据文件.mp3、.bmp程序文件.c、.h、.o设备文件LCD、触摸屏、鼠标网络文件socket等的管理都抽象为文件使用统一的方式方法管理。 Linux下一切皆文件。 在 Unix/Linux 操作系统中也必须区分文件类型通过文件类型可以判断文件属于可执行文件、文本文件还是数据文件。在 Unix/Linux 系统中文件可以没有扩展名。 通常Unix/Linux 系统中常用的文件类型有7种普通文件、目录文件、设备文件、管道文件、链接文件和套接字。 1普通文件 Linux 中最多的一种文件类型普通文件一般包括纯文本文件ASCII二进制文件binary数据格式的文件data可执行的二进制程序文件各种压缩文件。第一个属性为 [-]。 在 Unix/Linux 中可以通过 file 命令来查看文件的类型。如果 file 文件后面携带文件名则查看指定文件的类型如果携带通配符 “*”则可以查看当前目录下的所有文件的类型。 # 普通文件 dengitcast:~/test$ ls -l /etc/passwd -rw-r--r-- 1 root root 2372 3月 21 22:48 /etc/passwd2目录文件 Unix/Linux 系统把目录看成是一种特殊的文件利用它构成文件系统的树型结构。第一个属性为 [d]。 目录文件只允许系统管理员对其进行修改用户进程可以读取目录文件但不能对它们进行修改。每个目录文件至少包括两个条目“…”表示上一级目录“.”表示该目录本身。 # 目录文件 dengitcast:~/test$ ls -ld /etc drwxr-xr-x 134 root root 12288 5月 28 11:28 /etc3设备文件 Unix/Linux 系统把每个设备都映射成一个文件这就是设备文件。它是用于向 I/O 设备提供连接的一种文件分为字符设备和块设备文件。块设备文件第一个属性为 [b]字符设备第一个属性为 [c]。 字符设备的存取以一个字符为单位块设备的存取以字符块为单位。每一种 I/O 设备对应一个设备文件存放在 /dev 目录中如行式打印机对应/dev/lp第一个软盘驱动器对应/dev/fd0。 dengitcast:~/share$ echo hello world /dev/pts/22 hello world# 字符设备 dengitcast:~/test$ ls -l /dev/input/mouse0 crw-rw---- 1 root input 13, 32 5月 26 17:01 /dev/input/mouse0# 块设备 dengitcast:~/test$ ls -l /dev/sda1 brw-rw---- 1 root disk 8, 1 5月 26 17:01 /dev/sda14管道文件 管道文件也是 Unix/Linux 中较特殊的文件类型这类文件多用于进程间的通信。第一个属性为 [p]。 # 管道文件 dengitcast:~/test$ mkfifo fifo dengitcast:~/test$ ls -l fifo prw-rw-r-- 1 deng deng 0 5月 28 11:59 fifo5链接文件 似于 windows 下的快捷方式链接又可以分为软链接符号链接和硬链接。第一个属性为 [l]。 # 符号链接 dengitcast:~/test$ ls -l /bin/sh lrwxrwxrwx 1 root root 4 11月 17 2017 /bin/sh - dash dengitcast:~/test$6套接字文件 这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求客户端就可以通过套接字来进行数据通信。第一个属性为 [s]最常在 /var/run 目录中看到这种文件类型。 dengitcast:~/tmp/test$ ls -l /run/systemd/notify srwxrwxrwx 1 root root 0 8月 8 11:00 /run/systemd/notify13 文件相关命令 13.1 ls ls 是英文单词 list 的简写其功能为列出目录的内容是用户最常用的命令之一它类似于 DOS下的 dir 命令。 Linux 文件或者目录名称最长可以有 256 个字符“.” 代表当前目录“…” 代表上一级目录以 “.” 开头的文件为隐藏文件需要用 -a 参数才能显示。 用法ls [选项]… [文件]…常用参数 参数含义-a显示指定目录下所有子目录与文件包括隐藏文件-l以列表方式显示文件的详细信息-h配合 -l 以人性化的方式显示文件大小 使用示例 ls -al 显示所有文件包括隐藏文件列表 ls -lt 显示按日期时间排序后的文件列表 等价于 ls -l -t ls -lh 显示计算大小为KB为单位的文件列表 ls -dl 显示文件夹详细列表图中列出的信息含义如下图所示 通配符 与 DOS 下的文件操作类似在 Unix/Linux 系统中也同样允许使用特殊字符来同时引用多个文件名这些特殊字符被称为通配符。 通配符含义*文件代表文件名中所有字符ls te* 查找以 te 开头的文件ls *html 查找结尾为 html 的文件代表文件名中任意一个字符ls ?.c 只找第一个字符任意后缀为.c的文件ls a.? 只找只有3个字符前2字符为a.最后一个字符任意的文件[][”和“]”将字符组括起来表示可以匹配字符组中的任意一个。“-”用于表示字符范围。[abc] 匹配a、b、c中的任意一个[a-f]匹配从a到f范围内的的任意一个字符ls [a-f]* 找到从a到f范围内的的任意一个字符开头的文件ls a-f查找文件名为 a-f 的文件当 “-”处于方括号之外失去通配符的作用\如果要使通配符作为普通字符使用可以在其前面加上转义字符。“?”和“*”处于方括号内时不用使用转义字符就失去通配符的作用。ls \*a 查找文件名为 \*a 的文件 13.2 touch 用法touch [选项]… 文件… 1如果文件不存在, 创建新文件只能是普通文件不能是文件夹 2如果文件存在, 更新文件时间 示例 touch file 创建file空文件如果file存在则更新file的存取和修改时间 touch a.txt b.txt 同时创建多个文件yxm192:~/test$ touch a.txt b.txt yxm192:~/test$ ls a.txt b.txttouch file{2,3,4} 同时创建file2,file3,file4三个空文件yxm192:~/test$ touch file{2,3,4} yxm192:~/test$ ls file2 file3 file4touch file{2,3,4} 创建file{2,3,4}一个空文件yxm192:~/test$ touch file{2,3,4} yxm192:~/test$ ls file{2,3,4}【注意】touch 创建文件时如果文件名有特殊字符可以使用转义字符也可以在创建时给文件名加双引号或者单引号。 13.3 cp cp 命令的功能是将给出的文件或目录复制到另一个文件或目录中。常用选项说明 选项含义-a该选项通常在复制目录时使用它保留链接、文件属性并递归地复制目录简单而言保持文件原有属性。-f删除已经存在的目标文件而不提示-i交互式复制在覆盖目标文件之前将给出提示要求用户确认-r若给出的源文件是目录文件则cp将递归复制该目录下的所有子目录和文件目标文件必须为一个目录名。-v显示拷贝进度 示例 cp file dirs/ 把 file 文件复制到dirs目录下 cp file1 file2 dirs/ 把 file1 file2 文件拷贝到dirs目录下 cp -i file1 file2 把文件 file1 拷贝到 file2 中并且提示 cp -t dirs file1 把文件 file1 拷贝到 dirs 目录下 cp -r dir1/ dir2/ 把 dir1 目录复制到 dir2 目录下 cp -R dir1 dir2 把 dir1 目录拷贝到 dir2 目录下 cp -a file dirs/ 把 file 文件复制到 dirs 目录下保留文件的原来属性 cp -rf dir1/ dir2/ 强制复制文件夹不提示 cp -rvf dir1/ dir2/ 把dir1目录复制到dir2目录下并且显示复制过程13.4 rm rm 命令用于删除文件或目录。常用参数及含义如下表所示 参数含义-i以进行交互式方式执行-f强制删除忽略不存在的文件无需提示-r递归地删除目录下的内容删除文件夹时必须加此参数【注意】使用rm命令要小心因为文件删除后不能恢复。为了防止文件误删可以在 rm 后使用 -i 参数以逐个确认要删除的文件。 示例 rm a 删除文件 a rm a b c 删除文件 a b c rm -i a 删除文件 a在删除之前用户需确认是否删除该文件 rm -f a 删除文件 a强制删除该文件不需要用户确认是否删除 rm -v a 删除文件 a删除之后会显式结果 rm -r dirs 递归删除目录 dirs rm -rf dirs 强制递归删除目录 dirs rm file* 删除所有file打头的文件 rm -i file* 删除所有 file 打头的文件提示是否确定删除 rm -f file* 删除所有 file 打头的文件不提示强行删除 rm -f [ab].txt 等价于 rm -f a.txt b.txt rm -f [^ab].txt 删除除 a.txt b.txt 以外的所有 ?.txt rm -f ?.txt ? 代表一个字符 rm -f ???.txt13.5 mv mv 命令来移动文件或目录也可以给文件或目录重命名。常用选项说明 选项含义-f禁止交互式操作如有覆盖也不会给出提示-i确认交互方式操作如果mv操作将导致对已存在的目标文件的覆盖系统会询问是否重写要求用户回答以避免误覆盖文件-v显示移动进度 示例 mv file file2 把 file 文件重命名为 file2 mv file dirs/ 把 file 文件移动到 dirs 目录下 mv file1 file2 dirs/ 把 file1、file2 文件剪切到 dirs 目录下 mv dir1 dir2 dir3/ 把 dir1、dir2 目录剪切到 dir3 目录下 mv -i file1 dir1/ 把 file1 文件剪切到 dir1 目录下如果存在覆盖就提示用户 mv -f file1 dir1/ 把 file1 文件剪切到 dir1 目录下如果存在覆盖也不提示用户 mv -u dir1/* dir2/ 把 dir1 目录下所有文件移动到 dir2 目录下并且根据文件时间来决定要不要移动14 文件内容查看命令 14.1 cat cat 将文件内容一次性输出到终端。 缺点终端显示的内容有限如果文件太长无法全部显示。 示例 cat /etc/passwd 查看/etc/passwd内容 cat -n /etc/passwd 查看/etc/passwd内容,对输出的所有行编号 cat -b /etc/passwd 查看/etc/passwd内容并且给非空行编号 cat -A /etc/passwd 等价于 -vET14.2 more more 命令将文件内容分页显示到终端但是只能一直向下浏览不能回退。相关参数说明 命令作用回车显示下一行空格显示下一页qctrl c退出h获取帮助 示例 14.3 less less 命令将文件内容分页显示到终端可以自由上下浏览。相关参数说明 命令作用回车(ctrl n)显示下一行ctrl p显示上一行空格(PageDown)显示下一页PageUp显示上一页q退出h获取帮助 14.4 head head 命令从文件头部开始查看前 n 行的内容如果没有指定行数默认显示前10行内容。 命令格式head –n [行数] 文件名 示例 head /etc/passwd 查看 /etc/passwd 前 10 行内容 head -c 30 /etc/passwd 查看 /etc/passwd 前 30 个字符 head -30 /etc/passwd 查看 /etc/passwd 前 30 行 head -n 30 /etc/passwd 查看 /etc/passwd 前 30 行内容 head -q /etc/passwd 查看 /etc/passwd 的内容但是不打印头信息 head -v /etc/passwd 查看 /etc/passwd 的内容但是打印头信息14.5 tail tail 命令从文件尾部向上查看最后 n 行的内容如果没有指定行数默认显示最后 10 行内容。 命令格式tail –n [行数] 文件名 示例 tail /etc/passwd 查看 /etc/passwd 后 10 行内容 tail -n 30 /etc/passwd 查看 /etc/passwd 后 30 行内容 tail -c 30 /etc/passwd 查看 /etc/passwd 后 30 个字符 tail -f /etc/passwd 实时查看 /etc/passwd 文件内容 tail -q /etc/passwd 查看 /etc/passwd 的内容但是不打印头信息 tail -v /etc/passwd 查看 /etc/passwd 的内容但是打印头信息15 du和df命令 15.1 du du 命令用于查看某个目录大小。 du 命令的使用格式du [选项] 目录或文件名 选项含义-a递归显示指定目录中各文件和子目录中文件占用的数据块-s显示指定文件或目录占用的数据块-b以字节为单位显示磁盘占用情况-h以KMG为单位提高信息的可读性 示例 15.2 df df 命令用于检测文件系统的磁盘空间占用和空余情况可以显示所有文件系统对节点和磁盘块的使用情况。 选项含义-a显示所有文件系统的磁盘使用情况-m以1024字节为单位显示-h以KMG为单位提高信息的可读性 示例 16 查找相关命令 16.1 find find 命令功能非常强大通常用来在特定的目录下搜索符合条件的文件也可以用来搜索特定用户属主的文件。 1、按文件名查询使用参数 -name 命令find 路径 -name “文件名” find /home -name “a.txt”2、按文件大小查询使用参数 -size 命令find 路径 -size 范围 范围大于表示如100k小于-表示如-100k等于不需要添加符号如100k大小 M 必须大写10Mk 必须小写20k 例子: 查询目录为家目录 find ~/ -size 100k 等于 100k 的文件 find ~/ -size 100k 大于100k的文件 find ~/ -size 50k -size -100k 大于50k, 小于100k的文件3、按文件类型查询使用参数 -typ 命令find 路径 -type 类型 类型普通文件类型用 f 表示而不是 -d - 目录l - 符号链接b - 块设备文件c - 字符设备文件s - socket文件网络套接字p - 管道 find /home -type f 查找指定目录下的普通文件示例 find /etc -name grub.conf 查找 /etc 目录下的 grub.conf 文件 find / -name *.conf 查找 / 下所有 .conf 文件 find / -iname grub.conf 查找 / 目录下的 grub.conf 文件忽略大小写 find / -maxdepth 2 -name grub.conf 可以使用 -maxdepath 参数来控制查找的层次就是说只查当前目录和子目录最多查 2 级目录 find / -mindepth 2 -name grub.conf 最少查二级目录 find /etc -type d 查找 /etc/ 下所有的目录 find /etc -type f 查找 /etc/ 下的所有普通文件 find /etc -type l -name *.conf 查找 /etc/ 下软链接文件是 .conf 结尾的文件 find /etc -type s 查找 /etc/ 下所有socket文件 find /etc -type c 查找 /etc/ 下的所有字符设备文件 find /etc -type p 查找 /etc/ 下所有管道文件 find /etc -user root 查找 /etc/ 所属用户是root的文件 find /etc -group root 查找 /etc/ 所属用户组是root的文件 find /etc -uid 500 查找 /etc/ 下 uid 是 500 的文件,和 -user 类似 find /etc -gid 500 查找 /etc/ 下 gid 是 500 的文件,和 -group 类似 find /etc -nouser 查找没有所属用户的文件 find /etc -nogroup 查找没有所属用户组的文件 find /etc -perm 777 -type d 查找 /etc/ 下权限为 777 的目录 find . -perm 111 查找权限是111的文件 find . -size 10M 查找当前目录下大于 10M 的文件单位可以有 K,M,G,b 等 find / -size -2M 查找根目录下少于 2M 的文件 find / -mtime 1 查找根目录下 1 天以前修改的所有文件 find / -mtime 2 查找根目录下 2 天以前修改的所有文件 find / -mtime -3 查找根目录下最近 3 天内修改的所有文件 find / -atime 1 查找根目录下 1 天以前访问或读过的所有文件 find / -atime -1 查找根目录下最近 1 天内读过或访问的文件 find / -ctime -3 查找根目录下最近 3 天内状态发生改变的文件 find / -cmin -3 查找根目录下最近 3 分钟内状态发生改变的文件 find / -empty 查找根目录下所有空白文件或者空目录 find / -false 查找根目录下总是错误的文件高级用法 find / -false -exec ls -l {} \; 查找根目录下总是错误的文件并且用ls -l查看 find . -name *.conf -exec rm -rf {} \; find . -name *.conf | xargs rm -rf 删除当前目录下所有以 .conf 结尾的文件dengitcast:~$ find cmd/ -name txt -ok rm -rf {} \; 删除之前做确认rm ... cmd/txt ? y16.2 grep Linux 系统中 grep 命令是一种强大的文本搜索工具grep 允许对文本文件进行模式查找。如果找到匹配模式 grep 打印包含模式的所有行。 grep 一般格式为grep [-选项] ‘搜索内容串’ 文件名 在 grep 命令中输入字符串参数时最好引号或双引号括起来例如grep ‘a ’1.txt当然如果搜索内容串中没有特殊字符可以不用引号括起来。 常用选项说明 选项含义-v显示不包含匹配文本的所有行相当于求反-n显示匹配行及行号-i忽略大小写-r搜索目录 示例 grep -r helloworld /home/itcast 查找 /home/itcast 下包含“helloworld“字符串的文件 grep -a hello /bin/ls 将二进制文件以文本文件的方式搜索 hello grep -i hello /etc/passwd 在 /etc/passwd 文件里找 hello 并且忽略大小写查找 grep -n hello /etc/passwd 搜索 hello 结果并显示在文件里出现的行号 grep -w hello /etc/passwd 搜索完全匹配 hello 单词的行 grep -v hello /etc/passwd 显示出在 /etc/passwd 文件里没有 hello 的行 grep -r hello /etc/ 在 /etc/ 目录里所有文件里找 hello 并显示结果 grep -i hello /etc/passwd --colorauto 在/etc/passwd 文件中找 hello 并且忽略大小写然后高亮显示匹配的关键字17 管道 管道|一个命令的输出可以通过管道做为另一个命令的输入。 管道我们可以理解为现实生活中的管子管子的一头塞东西进去另一头取出来这里“ | ”的左右分为两端左端塞东西(写)右端取东西(读)。 18 压缩包管理 18.1 tar 计算机中的数据经常需要备份tar 是 Unix/Linux 中最常用的备份工具此命令可以把一系列文件归档到一个大文件中也可以把档案文件解开以恢复数据。 tar 使用格式 tar [选项] 打包文件名 文件常用参数 参数含义-c生成档案文件创建打包文件-v列出归档解档的详细过程显示进度-f指定档案文件名称f后面一定是.tar文件所以必须放选项最后-t列出档案中包含的文件-x解开档案文件【注意】 除了 f 需要放在参数的最后其它参数的顺序任意。tar 命令很特殊其选项前面可以使用 “-”也可以不使用。 常用示例工作中几乎就是使用以下三种 tar -cvf 创建归档文件tar -xvf 解除归档文件还原tar -tvf 查看归档文件内容 18.2 gzip tar 与 gzip 命令结合使用实现文件打包、压缩tar 只负责打包文件但不压缩用 gzip 压缩 tar 打包后的文件其扩展名一般用 xxxx.tar.gz。 gzip 使用格式如下gzip [选项] 被压缩文件常用选项 选项含义-d解压-r压缩所有子目录【注意】一次性压缩多个文件gzip后面不能跟目录tar 和 gzip 两步可以实现打包压缩功能但是这两步骤可以合并到一步如下 tar 这个命令并没有压缩的功能它只是一个打包的命令但是在 tar 命令中增加一个选项-z可以调用 gzip 实现了一个压缩的功能实行一个先打包后压缩的过程。 压缩用法 tar cvzf 压缩包包名 文件1 文件2 … 参数含义-z指定压缩包的格式为file.tar.gz示例tar zcvf test.tar.gz 1.c 2.c 3.c 4.c 把 1.c 2.c 3.c 4.c 压缩成 test.tar.gz 解压用法 tar zxvf 压缩包包名 参数含义-z指定压缩包的格式为file.tar.gz 解压到指定目录-C 大写字母“C” 例子tar -xvf new.tar.gz -C ./test/ 将 new.tar.gz 解压到当前目录下的 test 目录下 【注意1】上图中tar -xvf 的写法是正确是万能解压的方式详细可以看后面。 【注意2】如上所述tar 压缩打包格式为tar cvzf 压缩包包名 文件1 文件2 … 压缩打包时如果文件前面携带路径解压缩时也将解压缩到前面携带的路径中压缩打包时如果文件前面没有携带路径解压缩时将解压缩到当前文件夹。 # 示例1推荐方法 yxm192:~/myshare/tar_test$ ls 1.c 2.c yxm192:~/myshare/tar_test$ tar cvzf test.tar.gz ./* # 携带 ./ 路径 ./1.c ./2.c yxm192:~/myshare/tar_test$ ls 1.c 2.c test.tar.gz yxm192:~/myshare/tar_test$ mkdir untar_test yxm192:~/myshare/tar_test$ cd untar_test/ yxm192:~/myshare/tar_test/untar_test$ mv ../test.tar.gz ./ yxm192:~/myshare/tar_test/untar_test$ tar zxvf test.tar.gz ./1.c # 解压缩到 ./ 路径 ./2.c # 解压缩到 ./ 路径 yxm192:~/myshare/tar_test/untar_test$ ls 1.c 2.c 3.c test.tar.gz# 示例2 yxm192:~/myshare/tar_test$ ls 1.c 2.c yxm192:~/myshare/tar_test$ cd .. yxm192:~/myshare$ tar cvzf test.tar.gz tar_test/* # 携带路径 tar_test/ tar_test/2.c tar_test/1.c yxm192:~/myshare$ ls tar_test test.tar.gz yxm192:~/myshare$ mkdir tar_test/untar_test yxm192:~/myshare$ mv test.tar.gz ./tar_test/untar_test/ yxm192:~/myshare$ cd ./tar_test/untar_test/ yxm192:~/myshare/tar_test/untar_test$ tar zxvf test.tar.gz tar_test/ tar_test/2.c # 创建tar_test并解压缩到 tar_test 路径 tar_test/1.c # 创建tar_test并解压缩到 tar_test 路径 yxm192:~/myshare/tar_test/untar_test$ ls tar_test test.tar.gz yxm192:~/myshare/tar_test/untar_test$ cd tar_test/ yxm192:~/myshare/tar_test/untar_test/tar_test$ ls 1.c 2.c18.3 bzip2 tar 与 bzip2 命令结合使用实现文件打包、压缩用法和 gzip 一样。tar 只负责打包文件但不压缩用 bzip2 压缩 tar 打包后的文件其扩展名一般用 xxxx.tar.bz2。在 tar 命令中增加一个选项-j可以调用 bzip2 实现了一个压缩的功能实行一个先打包后压缩的过程。压缩用法tar jcvf tar -cjvf 压缩包包名 文件… 示例tar jcvf bk.tar.bz2 *.c解压用法tar jxvf tar -xjvf压缩包包名 示例tar jxvf bk.tar.bz2tar -xvf 万能解压可以解压gzip也可以解压 bzip2 # 生成一个bz2压缩包 dengitcast:~/share$ tar -cjvf test.tar.bz2 test # 解压bz2压缩包 dengitcast:~/share$ tar -xjvf share.tar.bz218.4 zip 和 unzip 通过 zip 压缩文件的目标文件不需要指定扩展名默认扩展名为zip。 压缩文件zip -r 目标文件没有扩展名 源文件解压文件unzip -d 解压后目录文件 压缩文件 19 文件权限管理 19.1 文件权限 文件权限就是文件的访问控制权限即哪些用户和组群可以访问文件以及可以执行什么样的操作。在 Unix/Linux 中的每一个文件或目录都包含有访问权限这些访问权限决定了谁能访问和如何访问这些文件和目录。 Unix/Linux 系统是一个典型的多用户系统不同的用户处于不同的地位对文件和目录有不同的访问权限。为了保护系统的安全性Unix/Linux 系统除了对用户权限作了严格的界定外还在用户身份认证、访问控制、传输安全、文件读写权限等方面作了周密的控制。 19.2 访问用户分类 通过设定权限可以从以下三种访问方式限制访问权限 1只允许用户自己访问所有者 所有者就是创建文件的用户用户是所有用户所创建文件的所有者用户可以允许所在的用户组能访问用户的文件。 2允许一个预先指定的用户组中的用户访问用户组 用户都组合成用户组例如某一类或某一项目中的所有用户都能够被系统管理员归为一个用户组一个用户能够授予所在用户组的其他成员的文件访问权限。 3允许系统中的任何用户访问其他用户 用户也将自己的文件向系统内的所有用户开放在这种情况下系统内的所有用户都能够访问用户的目录或文件。在这种意义上系统内的其他所有用户就是 other 用户类 这有点类似于 QQ 空间的访问权限 这个 QQ 空间是属于我的我相当于管理者也就是“所有者”我想怎么访问就怎么访问。同时我可以设置允许 QQ 好友访问而这些 QQ 好友则类似于“用户组”。当然我可以允许所有人访问这里的所有人则类似于不完全等价“其他用户”。 19.3 访问权限说明 用户能够控制一个给定的文件或目录的访问程度一个文件或目录可能有读、写及执行权限 读权限r对文件而言具有读取文件内容的权限对目录来说具有浏览目录的权限。写权限w对文件而言具有新增、修改文件内容的权限对目录来说具有删除、移动目录内文件的权限。可执行权限x对文件而言具有执行文件的权限对目录来说该用户具有进入目录的权限即只有目录有可执行权限才能够进入该目录。 【注意】通常Unix/Linux 系统只允许文件的属主(所有者)或超级用户改变文件的读写权限。 19.4 chmod chmod 命令用于修改文件权限。修改文件权限有两种使用格式字母法与数字法。 字母法 chmod u/g/o/a /-/ rwx 文件 [ u/g/o/a ]含义uuser 表示该文件的所有者ggroup 表示与该文件的所有者属于同一组( group )者即用户组oother 表示其他以外的人aall 表示这三者皆是 [ ± ]含义增加权限-撤销权限设定权限 rwx含义rread 表示可读取对于一个目录如果没有r权限那么就意味着不能通过ls查看这个目录内部的内容。wwrite 表示可写入对于一个目录如果没有w权限那么就意味着不能在目录下创建新的文件。xexcute 表示可执行对于一个目录如果没有x权限那么就意味着不能通过cd进入这个目录。 示例 chmod ow file 给文件 file 的其它用户增加写权限 chmod u-r file 给文件 file 的拥有者减去读的权限 chmod gx file 设置文件 file 的所属组权限为可执行同时去除读、写权限 数字法“rwx” 这些权限也可以用数字来代替 r读取权限数字代号为 “4”w写入权限数字代号为 “2”x执行权限数字代号为 “1”-不具任何权限数字t代号为 “0” 示例 如执行chmod urwx,grx,or filename 就等同于chmod u7,g5,o4 filename不可以执行 就等同于chmod 751 filename 文件所有者读、写、执行权限同组用户读、执行的权限其它用户执行的权限 chmod 777 file所有用户拥有读、写、执行权限 【注意】如果想递归所有目录加上相同权限需要加上参数“ -R ”。例如chmod 777 test/ -R 递归 test 目录下所有文件加 777 权限。 【注意】chmod 0777与 chmod 777 效果相同0 表示八进制有的平台不加 0 会报错因为会当做十进制所以最好在使用的时候加上0。 19.5 chown Linux 是多用户操作系统用户与用户的权限不同所以不同用户可以操作不同的文件目录所以有时候想要操作某个文件除了要修改文件的读写可执行权限外还需要获得文件的所有者权限。 chown 命令用于修改文件所有者。 格式chown 用户名 文件或目录名 参数-R 递归目录下所有文件 示例 # 将文件所属者修改为root用户 dengitcast:~/share/test sudo chown root txt dengitcast:~/share/test ls -l txt -rw-rw-r-- 1 root deng 0 10月 10 11:12 txt# 将文件所属者改为deng 所属组改为root dengitcast:~/share/test sudo chown deng:root txt dengitcast:~/share/test ls -l txt -rw-rw-r-- 1 deng root 0 10月 10 11:12 txt# 单独只修改文件所属组dengitcast:~/share/test sudo chown :root txt dengitcast:~/share/test ls -l txt -rw-rw-r-- 1 deng root 0 10月 10 11:12 txt19.6 chgrp chgrp 命令用于修改文件所属组。本小节了解即可 格式chgrp 用户组名 文件或目录名 示例 # 单独修改文件所属组 dengitcast:~/share/test sudo chgrp deng txt dengitcast:~/share/test ls -l txt -rw-rw-r-- 1 deng deng 0 10月 10 11:12 txt20 进程管理 20.1 ps ps 命令可以查看进程的详细状况常用选项选项可以不加“-”如下 选项含义-a显示终端上的所有进程包括其他用户的进程-u显示进程的详细状态-x显示没有控制终端的进程-w显示加宽以便显示更多的信息-r只显示正在运行的进程列出与作业控制相关的信息 常用选项组合 ps aux显示当前用户下所有进程ps -ef效果与ps aux差不多 ps aux最初用到 Unix Style 中而 ps -ef 被用在 System V Style 中两者输出略有不同。现在的大部分Linux系统都是可以同时使用这两种方式的。ps ajx 以比较完整的格式显示所有的进程ps -a 20.2 top top 命令用来动态显示运行中的进程。top 命令能够在指定的时间间隔更新显示信息。 可以在使用 top 命令时加上 -d 来指定显示信息更新的时间间隔。 在top命令执行后可以按下以下按键得到对显示的结果进行排序 按键含义M根据内存使用量来排序P根据CPU占有率来排序T根据进程运行时间的长短来排序U可以根据后面输入的用户名来筛选进程K可以根据后面输入的PID来杀死进程。q退出h获得帮助 20.3 kill 命令功能发送指定的信号到相应进程常用于用于删除执行中的程序或工作。 使用格式kill [-signal] pid 其中[[四、Linux下进程间通讯之信号机制|信号值signal]]从 0 到 15其中 9 为绝对终止可以处理一般信号无法终止的进程。 kill 9133 9133 为应用程序所对应的进程号 查看信号编号: kill -l(字母) 有些进程不能直接杀死这时候我们需要加一个参数“ -9 ”“ -9 ” 代表强制结束[[四、Linux下进程间通讯之信号机制|9号信号为 SIGKILL]]。 杀死进程: kill -SIGKILL/(-9) 89899【进程标识号】 【注意】 前台程序ctlrc可以中断中断前台进程但是无法中断后台进程后台程序可以通过kill命令杀死后台进程 Linux 下后台运行程序查看和关闭后台运行程序 。 #TODO 20.4 killall Linux 中每个进程号是唯一的但是可能存在进程名相同的进程如下所示 killall 命令可以通过进程名字杀死所有进程名相同的进程。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YNJvJyac-1677561875568)(01_学习记录/02_专业领域/asstes/assets/1527498996963.png)] 21 软件安装和卸载 21.1 在线安装 如果是在 ubuntu 平台软件的安装可以通过互联网在线安装更加方便快捷 命令含义sudo apt-get update获得最新的软件包的列表sudo apt-get install xxx从源中安装 xxx 软件sudo apt-get remove xxx删除 xxx 软件sudo apt-get clean清理安装包 21.2 软件包安装 在 Ubuntu下安装文件为 deb 格式 软件安装sudo dpkg -i xxx.deb软件卸载sudo dpkg -r 软件名 示例: # tree 软件安装 dengitcast:~$ sudo dpkg -i tree_1.6.0-1_amd64.deb# tree 软件卸载 dengitcast:~$ sudo dpkg -r tree22 重定向 重定向Linux Shell重定向参考文章 标准输入 代码 0 默认设备为键盘标准输出 代码 1 默认设备为屏幕错误输出 代码 2 默认设备为屏幕 示例 ls /etc/passwd output.txt 标准正确输出重定向到 output.txt ls /etc/shadow output.txt 标准正确输出追加重定向到 output.txt ls dddddd 2 error.txt 标准错误输出重定向到 error.txt ls ddddd 2 error.txt 标准错误输出重定向到 error.txt,追加的方式 ls dddddd 2 /dev/null 标准错误输出重定向到黑洞 ls ddddd /etc/passwd /dev/null 标准正确输出标准错误输出全都重定向到黑洞 ls ddddd /etc/passwd txt 标准正确输出标准错误输出以追加的方式全都重定向到txt cat file 标准输入重定向, file 作为 cat 输入的内容23 其它命令 23.1 tree tree 以树状形式查看指定目录内容使用该命令需要安装软件 treesudo apt install tree 常用选项 -L nn 为层数查看n层目录 23.2 ln 链接 建立文件链接的目的一般是当有多处使用同一个文件时如果文件的位置或名称变更了每一处都要随着更改如果是使用软链接则只需变更下软链接就可以了。 链接文件分为软链接和硬链接 软链接符号链接 软链接本质上是一个独立的文件但文件的内容只是执行源文件的一个引用或者说指针即符号链接内部实际上存储的是指向源文件的路径并不实际存储源文件的内容所以源文件删除则软链接失效。大小不管源文件的内容有多大软链接文件都是非常小的。可以理解为软链接只是源文件的一个快捷方式或别名所以对软链接进行操作增删改不会影响到源文件。 硬链接 硬链接本质上源文件的一个拷贝占用的存储空间与源文件相同所以即使删除了源文件链接文件还是存在同时硬链接与源文件会保持同步更新更二者之一另一个的内容和时间戳都会同步更新。所以对硬链接进行操作增改会影响到源文件。硬链接只能链接普通文件不能链接目录。 ln 命令主要用于创建链接文件。Linux 链接文件类似于 Windows 下的快捷方式。 使用格式 ln 源文件 链接文件ln -s 源文件 链接文件 如果没有 -s 选项代表建立一个硬链接文件硬链接用的相对较少软连接用的相对多。 【注意】如果软链接文件和源文件不在同一个目录创建链接时源文件最好要使用绝对路径不要使用相对路径。 readlink 命令读取符号链接文件的内容(存储目标文件的路径)示例 dengitcast:~/share$ readlink a\_link2 /home/deng/share/a23.3 scp scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。 scp 命令是 Linux 系统中功能强大的文件传输命令可以实现从本地到远程以及从远程到本地的双向文件传输用起来非常方便常用来在线上定位问题时将线上的一些文件下载到本地进行详查或者将本地的修改上传到服务器上。 使用方式: sudo apt-get install openssh-server # 下载 122.152.222.180 的文件 scp liaoqingfu122.152.222.180:/home/liaoqingfu/test.txt . # 上传文件到 122.152.222.180 scp mi9.aac liaoqingfu122.152.222.180:/home/liaoqingfu/ # 下载 test 整个目录到本地 scp -r liaoqingfu122.152.222.180:/home/liaoqingfu/test . # 上传本地 test 整个目录到 122.152.222.180 scp -r test liaoqingfu122.152.222.180:/home/liaoqingfu/
文章转载自:
http://www.morning.bkqdg.cn.gov.cn.bkqdg.cn
http://www.morning.rnpnn.cn.gov.cn.rnpnn.cn
http://www.morning.tplht.cn.gov.cn.tplht.cn
http://www.morning.snmth.cn.gov.cn.snmth.cn
http://www.morning.xnflx.cn.gov.cn.xnflx.cn
http://www.morning.zwxfj.cn.gov.cn.zwxfj.cn
http://www.morning.pwlxy.cn.gov.cn.pwlxy.cn
http://www.morning.qjlnh.cn.gov.cn.qjlnh.cn
http://www.morning.ltdxq.cn.gov.cn.ltdxq.cn
http://www.morning.zzgtdz.cn.gov.cn.zzgtdz.cn
http://www.morning.hwhnx.cn.gov.cn.hwhnx.cn
http://www.morning.rxhsm.cn.gov.cn.rxhsm.cn
http://www.morning.bpmdq.cn.gov.cn.bpmdq.cn
http://www.morning.sbrrf.cn.gov.cn.sbrrf.cn
http://www.morning.bmlcy.cn.gov.cn.bmlcy.cn
http://www.morning.ybmp.cn.gov.cn.ybmp.cn
http://www.morning.yrmpz.cn.gov.cn.yrmpz.cn
http://www.morning.xqxlb.cn.gov.cn.xqxlb.cn
http://www.morning.lqchz.cn.gov.cn.lqchz.cn
http://www.morning.nnwpz.cn.gov.cn.nnwpz.cn
http://www.morning.lzqxb.cn.gov.cn.lzqxb.cn
http://www.morning.ghyfm.cn.gov.cn.ghyfm.cn
http://www.morning.npbnc.cn.gov.cn.npbnc.cn
http://www.morning.srnhk.cn.gov.cn.srnhk.cn
http://www.morning.sjwws.cn.gov.cn.sjwws.cn
http://www.morning.ygth.cn.gov.cn.ygth.cn
http://www.morning.hxsdh.cn.gov.cn.hxsdh.cn
http://www.morning.lbbrw.cn.gov.cn.lbbrw.cn
http://www.morning.bgzgq.cn.gov.cn.bgzgq.cn
http://www.morning.xclgf.cn.gov.cn.xclgf.cn
http://www.morning.xckrj.cn.gov.cn.xckrj.cn
http://www.morning.gwhjy.cn.gov.cn.gwhjy.cn
http://www.morning.pzlcd.cn.gov.cn.pzlcd.cn
http://www.morning.ydwnc.cn.gov.cn.ydwnc.cn
http://www.morning.whpsl.cn.gov.cn.whpsl.cn
http://www.morning.dfdhx.cn.gov.cn.dfdhx.cn
http://www.morning.bmsqq.cn.gov.cn.bmsqq.cn
http://www.morning.gqksd.cn.gov.cn.gqksd.cn
http://www.morning.zdsdn.cn.gov.cn.zdsdn.cn
http://www.morning.jyjqh.cn.gov.cn.jyjqh.cn
http://www.morning.clyhq.cn.gov.cn.clyhq.cn
http://www.morning.fesiy.com.gov.cn.fesiy.com
http://www.morning.ymmjx.cn.gov.cn.ymmjx.cn
http://www.morning.xdhcr.cn.gov.cn.xdhcr.cn
http://www.morning.hqjtp.cn.gov.cn.hqjtp.cn
http://www.morning.gnkdp.cn.gov.cn.gnkdp.cn
http://www.morning.yslfn.cn.gov.cn.yslfn.cn
http://www.morning.jprrh.cn.gov.cn.jprrh.cn
http://www.morning.yfpnl.cn.gov.cn.yfpnl.cn
http://www.morning.jycr.cn.gov.cn.jycr.cn
http://www.morning.tkxr.cn.gov.cn.tkxr.cn
http://www.morning.prznc.cn.gov.cn.prznc.cn
http://www.morning.mgtmm.cn.gov.cn.mgtmm.cn
http://www.morning.ndxss.cn.gov.cn.ndxss.cn
http://www.morning.gbrdx.cn.gov.cn.gbrdx.cn
http://www.morning.bntfy.cn.gov.cn.bntfy.cn
http://www.morning.lmhwm.cn.gov.cn.lmhwm.cn
http://www.morning.dblfl.cn.gov.cn.dblfl.cn
http://www.morning.gdgylp.com.gov.cn.gdgylp.com
http://www.morning.gyxwh.cn.gov.cn.gyxwh.cn
http://www.morning.ttvtv.cn.gov.cn.ttvtv.cn
http://www.morning.lztrt.cn.gov.cn.lztrt.cn
http://www.morning.qwbht.cn.gov.cn.qwbht.cn
http://www.morning.dsgdt.cn.gov.cn.dsgdt.cn
http://www.morning.yjmns.cn.gov.cn.yjmns.cn
http://www.morning.fwkjp.cn.gov.cn.fwkjp.cn
http://www.morning.jcxzq.cn.gov.cn.jcxzq.cn
http://www.morning.btjyp.cn.gov.cn.btjyp.cn
http://www.morning.zynjt.cn.gov.cn.zynjt.cn
http://www.morning.baguiwei.com.gov.cn.baguiwei.com
http://www.morning.c7501.cn.gov.cn.c7501.cn
http://www.morning.hyhqd.cn.gov.cn.hyhqd.cn
http://www.morning.ygmw.cn.gov.cn.ygmw.cn
http://www.morning.rfgkf.cn.gov.cn.rfgkf.cn
http://www.morning.hhboyus.cn.gov.cn.hhboyus.cn
http://www.morning.ctlbf.cn.gov.cn.ctlbf.cn
http://www.morning.dhqyh.cn.gov.cn.dhqyh.cn
http://www.morning.w58hje.cn.gov.cn.w58hje.cn
http://www.morning.jjnry.cn.gov.cn.jjnry.cn
http://www.morning.cyjjp.cn.gov.cn.cyjjp.cn
http://www.tj-hxxt.cn/news/239860.html

相关文章:

  • 女人网上量体做衣网站个人主页怎么找
  • 网站建设中添加图片链接10个免费网站
  • 怎么做二维码让别人扫码进入网站哈尔滨手机网站建设
  • 网站备案去哪注销电子商务网站建设毕业设计
  • 阿里巴巴怎么建设网站网站建设开发报价明细
  • dw怎样做网站切换做网站后台程序是怎么来的
  • 无法连接网站物流网站毕业设计论文
  • 做pc端网站什么开头优秀网站建设模版
  • 网站建设申报方案金融平台网站开发
  • 哈尔滨如何做网站推广优化网上商城系统需求分析
  • 东莞营销网站建设费用湖北省住房与城乡建设部网站
  • 网站优化公司效果如何自己做留言板网站
  • 手机网站设计宽度网站被挂马怎么处理
  • 京东网站建设的主旨建站吗官方网站
  • 挂机宝怎么做网站万网 网站建设
  • php如何网站做修改网页模板制作工具
  • 怎么用frontpage做网站前端开发工程师培训哪里有
  • 常州微信网站建设价位wordpress判断手机电脑
  • 多语言外贸网站建设建设一个网站大概费用
  • wordpress搭建vip下载站黄山冬季旅游攻略
  • 商洛市商南县城乡建设局网站义乌比较好的外贸公司
  • 免费网站建设 免备案东莞常平学校网站建设
  • 医院客户做网站找谁网站分享图片怎么做
  • 佛山贸易网站建设最新的网站开发技术
  • 深圳福田特价网站建设mysql创建WordPress
  • 有没有专业做艺术品的网站wordpress模板汉化
  • 专业的营销网站网站开发通过什么途径接活
  • 深圳做手机商城网站建设微信小程序代码怎么弄
  • php 手机网站开发教程网站建设比较好的
  • 青岛艺腾网站建设wordpress wp-login