(二)linux 学习 -- 探究操作系统
The Linux Command Line 读书笔记 - 部分内容来自 http://billie66.github.io/TLCL/book/chap04.html
ls 命令进阶
前面,我们已经知道 ls
命令的一些常见用法,比如,列出一个目录包含的文件和子目录、列出 隐藏文件 ;
现在再讲几个高级一点的用法:
一次性列出多个目录包含的文件和子目录
ls A目录 B目录 C目录 ...
这里还有一个知识点,前面讲过/
代表根目录,这里的~
代表当前用户的home
目录,即/home/xxx(用户名)
;图中一次性列出
根目录
和home
目录 ;其中
Linux
中,命令的格式通常如下:命令 - 选项 参数
其中选项可以是短选项
-单个字母
, 也可以是长选项--单词
;许多命令支持多个短选项写在一起,比如:ls -lt
;常用选项的意思如下:
选项 | 长选项 | 描述 |
---|---|---|
-a | - -all | 列出所有文件,甚至包括文件名以圆点开头的默认会被隐藏的隐藏文件。 |
-d | - -directory | 通常,如果指定了目录名,ls 命令会列出这个目录中的内容,而不是目录本身。 使用这个命令,就会打印指定目录名本身,而非其中的内容,把这个选项与 -l 选项结合使用,可以看到所指定目录的详细信息,而不是目录中的内容。 |
F | - -classify | 这个选项会在每个所列出的名字后面加上一个指示符。例如,如果名字是 目录名,则会加上一个’/'字符。 |
-h | - -human-readable | 当以长格式列出时,以人们可读的格式,而不是以字节数来显示文件的大小。 |
-l | 以长格式显示结果。 | |
-r | - -reverse | 以相反的顺序来显示结果。通常,ls 命令的输出结果按照字母升序排列。 |
-S | 命令输出结果按照文件大小来排序。 | |
-t | 按照修改时间来排序。 |
ls -l
-l
选项,将结果以长格式输出,基本算是个详细信息输出,会输出:文件的访问权限,文件所属者,文件大小、文件最后修改时间,文件名。
可以看出,打印出许多信息,其中各项信息的含义如下(按照顺序):
字段 | 含义 |
---|---|
-rw-r–r-- | 文件的访问权限。第一个字符指明文件类型。在不同类型之间, 开头的“-”说明是一个普通文件,“d”表明是一个目录。其后三个字符是文件所有者的 访问权限,再其后的三个字符是文件所属组中成员的访问权限,最后三个字符是其他所 有人的访问权限。这个字段的完整含义将在第十章讨论。 |
1 | 文件的硬链接数目。参考随后讨论的关于链接的内容。 |
yiaz | 文件所有者的用户名。 |
yiaz | 文件所属用户组的名字。 |
4096 | 以字节数表示的文件大小。 |
1月 3 2019 | 上次修改文件的时间和日期。 |
oo-cd-cover.odf | 文件名。 |
file 命令查看文件类型
用于确定文件类型,前面说过 Linux
系统本身是没有后缀名的概念的,因此,当需要确定某个文件的是什么的时候,需要使用 file 文件名
命令 :
会出现文件的简单描述;
less 查看文件内容
使用 less 文件名
查看文件内容:
使用 less
以后,会打印出文件的内容,为了方便查看内容,还有一些命令需要记录:
命令 | 行为 |
---|---|
Page UP or b | 向上翻滚一页 |
Page Down or space | 向下翻滚一页 |
UP Arrow | 向上翻滚一行 |
Down Arrow | 向下翻滚一行 |
G | 移动到最后一行 |
1G or g | 移动到开头一行 |
/charaters | 向前查找指定的字符串 |
n | 向前查找下一个出现的字符串,这个字符串是之前所指定查找的 |
N | 向前查找上一个出现的字符串,这个字符串是之前所指定查找的 |
h | 显示帮助屏幕 |
q | 退出 less 程序 |
less 命令的小插曲,取自 less is more,less 是早期Unix系统 more 的改进版,more 只能向前翻页,less 允许前后翻页,还有其他特性 ;
Linux系统的目录含义
目录 | 含义 |
---|---|
/ | 根目录,万物起源。 |
/bin | 包含系统启动和运行所必须的二进制程序。 |
/boot | 包含 Linux 内核、初始 RAM 磁盘映像(用于启动时所需的驱动)和 启动加载程序。 有趣的文件: /boot/grub/grub.conf or menu.lst, 被用来配置启动加载程序。 /boot/vmlinuz,Linux 内核。 |
/dev | 这是一个包含设备结点的特殊目录。“一切都是文件”,也适用于设备。 在这个目录里,内核维护着所有设备的列表。 |
/etc | 这个目录包含所有系统层面的配置文件。它也包含一系列的 shell 脚本, 在系统启动时,这些脚本会开启每个系统服务。这个目录中的任何文件应该是可读的文本文件。 有趣的文件:虽然 /etc 目录中的任何文件都有趣,但这里只列出了一些我一直喜欢的文件: /etc/crontab, 定义自动运行的任务。 /etc/fstab,包含存储设备的列表,以及与他们相关的挂载点。 /etc/passwd,包含用户帐号列表。 |
/home | 在通常的配置环境下,系统会在/home 下,给每个用户分配一个目录。普通用户只能 在自己的目录下写文件。这个限制保护系统免受错误的用户活动破坏。 |
/lib | 包含核心系统程序所使用的共享库文件。这些文件与 Windows 中的动态链接库相似。 |
/lost+found | 每个使用 Linux 文件系统的格式化分区或设备,例如 ext3文件系统, 都会有这个目录。当部分恢复一个损坏的文件系统时,会用到这个目录。这个目录应该是空的,除非文件系统 真正的损坏了。 |
/media | 在现在的 Linux 系统中,/media 目录会包含可移动介质的挂载点, 例如 USB 驱动器,CD-ROMs 等等。这些介质连接到计算机之后,会自动地挂载到这个目录结点下。 |
/mnt | 在早些的 Linux 系统中,/mnt 目录包含可移动介质的挂载点。 |
/opt | 这个/opt 目录被用来安装“可选的”软件。这个主要用来存储可能 安装在系统中的商业软件产品。 |
/proc | 这个/proc 目录很特殊。从存储在硬盘上的文件的意义上说,它不是真正的文件系统。 相反,它是一个由 Linux 内核维护的虚拟文件系统。它所包含的文件是内核的窥视孔。这些文件是可读的, 它们会告诉你内核是怎样监管计算机的。 |
/root | root 帐户的家目录。 |
/sbin | 这个目录包含“系统”二进制文件。它们是完成重大系统任务的程序,通常为超级用户保留。 |
/tmp | 这个/tmp 目录,是用来存储由各种程序创建的临时文件的地方。一些配置导致系统每次 重新启动时,都会清空这个目录。 |
/usr | 在 Linux 系统中,/usr 目录可能是最大的一个。它包含普通用户所需要的所有程序和文件。 |
/usr/bin | /usr/bin 目录包含系统安装的可执行程序。通常,这个目录会包含许多程序。 |
/usr/lib | 包含由/usr/bin 目录中的程序所用的共享库。 |
/usr/local | 这个/usr/local 目录,是非系统发行版自带程序的安装目录。 通常,由源码编译的程序会安装在/usr/local/bin 目录下。新安装的 Linux 系统中会存在这个目录, 并且在管理员安装程序之前,这个目录是空的。 |
/usr/sbin | 包含许多系统管理程序。 |
/usr/share | /usr/share 目录包含许多由/usr/bin 目录中的程序使用的共享数据。 其中包括像默认的配置文件、图标、桌面背景、音频文件等等。 |
/usr/share/doc | 大多数安装在系统中的软件包会包含一些文档。在/usr/share/doc 目录下, 我们可以找到按照软件包分类的文档。 |
/var | 除了/tmp 和/home 目录之外,相对来说,目前我们看到的目录是静态的,这是说, 它们的内容不会改变。/var 目录存放的是动态文件。各种数据库,假脱机文件, 用户邮件等等,都位于在这里。 |
/var/log | 这个/var/log 目录包含日志文件、各种系统活动的记录。这些文件非常重要,并且 应该时时监测它们。其中最重要的一个文件是/var/log/messages。注意,为了系统安全,在一些系统中, 你必须是超级用户才能查看这些日志文件。 |
符号链接
这里的框起来的 lrwxrwxrw
,开头的 l
和文件名的 xxx -> yyy
表示这是一个符号链接。
符号链接是个专业名词,它的作用,需要通过一个场景描述出来:有一个配置文件,名字叫 foo-xxx
xxx
代表版本号 ,因为它经常更新,版本号经常随着变化,因此,写明 xxx
是个明智的选择,让人一眼就知道这是什么版本。
现在有许多程序,用到了 foo-xxx
这个配置文件,由于之前说过 foo
经常更新,每次更新,名字也就随着改变,这样程序也需要重新改变引用配置文件。这样会显得很无趣。你每次配置文件更新下,我所有引用配置文件的程序都需要更改引用。
正常情况下,大家都会想到,程序可不可以引入一个跟占位符一样的假的配置文件,然后在这个假的配置文件里面指向真的配置文件,这样每次配置文件更新,程序无需重新引入,只需要改假的配置文件里面的引用即可。
这就是 符号链接 的思想。当新版本的配置来的时候 (旧的配置先不要删除,后面有用),我们只需要删除旧的符号链接,创建一个新的符号链接指向新的配置文件。还可以回退,只需要将新的符号链接删除,重新创建一个符号链接指向旧的配置文件。
(二)linux 学习 -- 探究操作系统的更多相关文章
- linux学习--查看操作系统版本及cpu及内存信息
查看版本当前操作系统内核信息 uname -a 查看当前操作系统版本信息 cat /proc/version 查看物理cpu个数: cat /proc/cpuinfo| grep "phy ...
- Linux学习之CentOS(二十二)--单用户模式下修改Root用户的密码
在上一篇随笔里面详细讲解了Linux系统的启动过程 (Linux学习之CentOS(二十一)--Linux系统启动详解),我们知道Linux系统的启动级别一共有6种级别,通过 /etc/inittab ...
- 《Linux内核设计与实现》 第一二章学习笔记
<Linux内核设计与实现> 第一二章学习笔记 第一章 Linux内核简介 1.1 Unix的历史 Unix的特点 Unix很简洁,所提供的系统调用都有很明确的设计目的. Unix中一切皆 ...
- 《Linux内核设计与实现》第一、二章学习笔记
<Linux内核设计与实现>第一.二章学习笔记 姓名:王玮怡 学号:20135116 第一章 Linux内核简介 一.关于Unix ——一个支持抢占式多任务.多线程.虚拟内存.换页.动态 ...
- LINUX内核分析第二周学习总结——操作系统是如何工作的
LINUX内核分析第二周学习总结——操作系统是如何工作的 张忻(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/course ...
- Linux第二周学习总结——操作系统是如何工作的
第二周学习总结--操作系统是如何工作的 作者:刘浩晨 [原创作品转载请注明出处] <Linux内核分析>MOOC课程http://mooc.study.163.com/course/UST ...
- Linux学习之CentOS(二十六)--Linux磁盘管理:LVM逻辑卷的创建及使用
在上一篇随笔里面 Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理,详细的讲解了Linux的动态磁盘管理LVM逻辑卷的基本概念以及LVM的工作原理, ...
- Linux学习总结(十二)—— CentOS用户管理:创建用户、修改用户、修改密码、密码有效期、禁用账户、解锁账户、删除用户、查看所有用户信息
文章首发于Linux学习总结(十二)-- CentOS用户管理,请尊重原创保留原文链接. 创建用户 useradd -g webadmin -d /home/zhangsan zhangsan pas ...
- deepin linux 学习笔记(二)——文本编辑器
目录 deepin linux 学习笔记(二)--文本编辑器 前言 nano 小巧的命令行编辑器 通用 编辑 定位 排版 配置 vim 思路独特的超级编辑器 命令模式 插入模式 底线模式(末行模式) ...
随机推荐
- git图形化统计工具 - windows下gitstats的安装和使用
gitstats 是一款git历史统计工具,可以生成定量的统计数据,并以html图表的形式展示.统计文件包括文件数量.代码量.提交量.作者信息.每天活跃度.每周活跃度.每月活跃度以及提交数排名等等,信 ...
- 通过源码安装RYU控制器
目录 安装 测试 安装 安装pip3 sudo apt-get install python3-pip 获取ryu源码 git clone https://github.com/osrg/ryu.gi ...
- UML图中时序图的基本用法
快速阅读 序列图主要用来更直观的表现各个对象交互的时间顺序,将体现的重点放在 以时间为参照,各个对象发送.接收消息,处理消息,返回消息的 时间流程顺序,也称为时序图. 里面用到的基本元素如下: 角色- ...
- DELPHI LINUX中间件隆重发布
LINUX和WINDOWS是目前最流利的两个服务器操作系统,各种云服务商也是同时提供这2种操作系统的云服务器. 即日起,在原有WINDOWS中间件的产品基础上,再隆重推出新产品:LINUX中间件.这样 ...
- 咏南跨平台中间件支持LINUX和WINDOWS插件架构
咏南跨平台中间件支持LINUX和WINDOWS插件架构
- Python中if __name__ == '__main__':的作用和原理
if __name__ == '__main__':的作用 一个python文件通常有两种使用方法,第一是作为脚本直接执行,第二是 import 到其他的 python 脚本中被调用(模块重用)执行. ...
- 【E2E】Intel AI DevCloud 的申请和登陆
参考:https://www.cnblogs.com/WaitingForU/p/9091096.html 一.注册 https://www.cnblogs.com/WaitingForU/p/909 ...
- vscode 常用设置与插件推荐
1.Chinese (Simplified) Language Pack for Visual Studio Code 适用于 VS Code 的中文(简体)语言包 2.Color Info Visu ...
- pytorch 不使用转置卷积来实现上采样
上采样(upsampling)一般包括2种方式: Resize,如双线性插值直接缩放,类似于图像缩放,概念可见最邻近插值算法和双线性插值算法——图像缩放 Deconvolution,也叫Transpo ...
- error C2061: 语法错误: 标识符“openmode”
今天在一台新机子上编译项目,出现了这个错误,不知如何解决,先记录一下. 1>------ 已启动全部重新生成: 项目: ZERO_CHECK, 配置: Debug x64 ------1> ...