Linux的学习之旅

Linux的文件系统层级结构标准FHS

Linux的学习之旅
image.png
  • /etc=====和主机相关的系统配置文件 edit the configure
  • /home===== 用户家目录
  • /usr======二层分层的目录。默认是最大的。
  • /dev=====设备文件
  • /media======挂载点和可移动的设备,
  • /mnt=====临时挂载点
  • /var=======可变化的数据,
  • /lib=====基本共享库和内核模块
  • /lib64======
  • /boot======静态文件,启动加载器,引导计算机的相关文件
  • /root=====root用户的家目录
  • /bin/binary======基本二进制命令工具
  • /sbin=====基本系统二进制命令工具
  • /opt======第三方软件包
  • /tmp======临时文件
  • /srv======被你的系统服务提供的数据存放在这
  • /run======7在/下,6在/var下 是系统运行中的一些数据
  • /sys=====存放硬件相关信息
  • /proc======= 存放 的是进程信息,对应的是内存数据。内存中的壮态信息。是一个虚拟内存。

Centos7和Centos6的一级目录的区别

centos 7:/run
centos 6:/var/run /lost-found /misc /net /selinux
lost-found=======在6里面,只要是分区下都有这个目录
有点像收容所,比如说系统运行过程中,忽然断电,有些文件因为断电的原因导致它无法识别原来是在哪个目录下,找不着了,不知道自己在哪了。就会回到这个目录
/misc /net=======在7上要装软件包,并不是没有。
systemctl start autofs======只是临时启动,手工启动
systemctl enable autofs======开机时自动启动
/misc下的cd目录也可以挂光盘。
/selinux========在7上没有这个目录而已,但功能有


Linux哲学思想

  • 一切皆文件
  • 小型单一用途的程序
  • 组合小程序完成复杂任务
  • 尽量避免捕获用户接口
  • 配置文件保存成纯文本格式

终端Terminal

  • 物理终端:系统出故障,单用户壮态, 物理控制台console表示为/dev/console
  • 伪终端:用CRT连,Xshell。 /dev/pts/#
  • 虚拟终端:一个主机模拟多个终端。默认是1-6. /dev/tty#
  • 串行终端:通过串行线连接自己的电脑。(像思科华为连在自己的上机上) /dev/ttyS#
  • ……

终端相关命令

tty:显示当前的终端
Whoami命令
whoami: 显示当前登录有效用户
who: 系统当前所有的登录会话
w: 系统当前所有的登录会话及所做的操作


命令帮助

Whatis  显示命令的简短描述
        使用数据库
        刚安装后不可立即使用
        makewhatis | mandb制作数据库
        whatis cal 或 man -f cal
如果刚装好系统和刚运行,敲whatis这个命令是不会显示的。要依赖数据库

whatis cmd=======告诉你这个命令是干什么的
数字后带P的和开发相关,运维不用管
whatis要显示命令的简单说明要依赖数据库

内部命令:help COMMAND
man bash
外部命令:
(1) COMMAND –help
COMMAND -h
(2) 使用手册(manual)
man COMMAND
(3) 信息页
info COMMAND
(4) 程序自身的帮助文档
README
INSTALL
ChangeLog
(5) 程序官方文档
官方站点:Documentation
(6) 发行版的官方文档
(7) Google

示例

date–help
Usage:date[OPTION]…[+FORMAT]or: date[-u|–utc|–universal][MMDDhhmm[[CC]YY][.ss]]

  • []表示可选项
  • CAPS或<>表示变化的数据
  • …表示一个列表
  • x |y| z的意思是“x或y或z“
  • -abc的意思是-a -b –c
  • { } 表示分组

man命令

man命令帮助的文件手册页放在/usr/share/man
几乎每个命令都有man的“页面”
man页面分组为不同的”章节“统称为Linux手册
man命令的配置文件:/etc/man.config | man_db.conf
MANPATH /PATH/TO/SOMEWHERE: 指明man文件搜索位置
man -M/PATH/TO/SOMEWHERE COMMAND: 到指定位置下搜索COMMAND命令的手册页并显示
中文man需安装包man-pages-zh-CN

whereis cmd=======查出命令所在的路径以及man帮助相关文档的路径(是在man的配置文件里查看)
查出的文档是压缩的文件,不能直接打开。用man命令打开时,自动帮你解压缩以文档的形式展现出来。
为什么一敲man就能把帮助打开呢???实际上它打开的是对应的man帮助文档。从一个路径里去搜。
这有一个潜在的问题:将来我们自己手工去装一个三方软件,结果把man帮助放在了自己编写的一个目录下,man帮助就打不开了,自己需要手工的添加一条路径到man的配置文件里去。

man帮助一般查外部命令
外部命令它是磁盘上的一个文件
安装这个外部命令的时候,还会自动安装一些man帮助的文档
当我们man外部命令的时候,是从文档里列出的信息。

man章节

1:用户命令
2:系统调用
3:C库调用
4:设备文件及特殊文件
5:配置文件格式
6:游戏
7:杂项
8:管理类命令
9:Linux内核API

帮助手册中的段落说明:

NAME 名称及简要说明
SYNOPSIS 用法格式说明]
[] 可选内容
<> 必选内容
a | b二选一
{ }分组
…同一内容可出现多次
DESCRIPTION 详细说明
OPTIONS 选项说明
EXAMPLES 示例
FILES 相关文件
AUTHOR 作者
COPYRIGHT版本信息
REPORTING BUGS bug信息
SEE ALSO 其它帮助参考

man 帮助
查看man手册页 man [章节] keyword
列出所有帮助 man -a keyword
搜索man手册 man -k keyword 列出所有匹配的页面
使用whatis数据库
相当于whatis man -f keyword
打印man帮助文件的路径 man –w [章节] keyword


命令的历史

命令历史文件保存你输入的命令历史。可以用它来重复执行命令
登录shell时,会读取命令历史文件中记录下的命令~/.bash_history
登录进shell后新执行的命令只会记录在缓存中;这些命令会用户退出时“追加”至命令历史文件中

重复前一个命令有4种方法
!! Ctrl+p !! !-1

语法格式
history [-c] [-d offset] [n]
history -anrw [filename]
history -ps arg [arg…]

  • -c 清内存,
  • -d n 清除第n个命令
  • n 显示最近n条历史
  • -a 追加本次 会话新执行的命令到历史文件
  • -r 历史文件附加到历史列表,是累加,
  • -w 保存历史列表到指定历史文件中
  • -n 历史文件未读的行 读到时历史列表中
  • -p cmd 内存不记,后面的命令加上单引号命令才执行
  • -s cmd 可以做假

命令历史的$环境变量

HISTSIZE:命令历史记录的条数
HISTFILE:指定历史文件,默认为~/.bash_history
HISTFILESIZE:命令历史文件记录历史的条数**HISTTIMEFORMAT=“%F %T “ *显示时间
HISTIGNORE=“str1:str2:…“
 忽略str1命令,str2开头的历史
控制命令历史的记录方式:

环境变量:HISTCONTROL
ignoredups默认,忽略重复的命令,连续且相同为“重复”
ignorespace忽略所有以空白开头的命令
ignoreboth相当于ignoredups, ignorespace的组合
erasedups删除重复命令
export 变量名=“值”
存放在/etc/profile或~/.bash_profile

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/94279

(0)
安静的家伙7048安静的家伙7048
上一篇 2018-04-01
下一篇 2018-04-01

相关推荐

  • Linux_bash基础特性_命令行展开

    Linux_bash基础特性_命令行展开

    2018-06-08
  • Linux学习笔记——权限管理

    Linux学习笔记——权限管理 前言: Linux下的权限管理与日常使用的windows有众多与众不同之处。这些特性使得Linux在实际生产作业中更加安全与高效,发挥着各种灵活的作用。本文简要写下笔者对Linux权限管理的理解,供参考与复习,欢迎指正。 回顾: 确认文件的权限与所有者: 使用ll(即ls -l) 命令可查看这个文件的详细信息。 $ ll da…

    2018-04-07
  • 运维自动化之ansible

    ansible的基本架构 ​ host inventory主机清单 ​ playbook相当于脚本, ​ modules模块 ansible工作原理 ​ 通过执行命令,或ansible playbook,cmdb ansible配置文件 ​ /etc/ansible/ansible.cfg主配置文件,配置ansible工作特性 ​ /etc/ansible/…

    Linux笔记 2018-06-03
  • 文件管理

    window系统是多根架构,linux是多根架构 2.手动挂载光盘 mount /dev/sr0 /mnt (只有root用户才能使用) /proc 看到是内存中的数据,看的都是磁盘上不存在的,修改里面的内容会立即生效。 echo ‘- – -’ > /sys/class/scsi_host/host2/scan 新加的硬盘不重启也能被识别…

    Linux笔记 2018-07-29
  • linux练气篇

    1、描述计算机的组成及其功能。
    2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
    3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
    4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
    5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
    6、请罗列Linux发行版的基础目录名称命名法则及功用规定

    Linux笔记 2018-05-12
  • 正则表达式简单明了的学法

    以下的内容都是在centos6.9或centos7中做过后得出的一些个人看法,希望大家多多交流,有误的地方请及时指正

    2018-04-07