Linux的文件系统的基础目录、帮助、部分命令介绍

Linux的文件系统的基础目录、帮助、部分命令介绍

目录

  1. linux基础目录

  2. Linux获取帮助

  3. 相关控制命令,翻屏等

  4. 部分命令介绍

linux的基础目录

  • Bin: 共所有用户使用的基本命令,就是二进制程序

  • Sbin:系统的二进制程序。供管理员使用的

  • Boot:基本的加载器,引导加载器所依赖的各种静态文件

  • Dev:设备文件和特殊文件

    • 其中设备分为两种类型,字符设备,块设备

    • 字符设备:线性设备,比如磁带,键盘,显示器,就是有时序

    • 块设备:就是随机存储设备,每次存取是有最小单位的。比如

    • 磁盘, 硬盘等设备。

  • Etc:配置文件,系统程序的静态配置文件。 他也是有层级结构的。

    • opt:为这个目录下面的程序提供配置文件

    • x11 图形界面,可以不选

    • SGML和xml 不是很关键

    • 红帽的做法是在这个目录下面创建一个和自己的应用程序同名的

    • 文件夹,里面放上配置文件。这是一种比较好的做法。

  • Home:j家目录,这里是普通用户家目录的集中

  • Root:管理员的家目录

  • Lib:lib(64)库。基础共享库和内核模块。为bin 和sbin和系统运行过程中提供共享库的。例如,usr/lib 就是为 /usr/bin 和sbin提供共享库的。都表现为:

    • libc.so.*动态连接C库

    • ld*执行时连接器

  • Media:便携设备,软盘和刻录机等

  • Mnt:移动硬盘等,U盘,光盘等挂载点

  • Opt:第三方非关键程序的安装位置,现在一般程序都不愿意安装到这个地方。就是备胎

  • Srv: data for service provide by this system. 专门提供给运行在这个主机上的程序的数据。目录当前主机为服务提供的数据。一般用不到。

  • Tmp:为那些能产生临时数据的程序提供的目录。所有用户都能使用。

  • Usr:除了根以外最重要的目录。全局共享只读资源,这个用户不能创建目录,也是有层级结构

    • bin/sbin。为了更加丰富化的程序提供的。

    • lib,lib64.

    • include:C程序头文件。

    • share: 用户手册等数据。man,手册页都在这。

    • local:另一个层级目录 :让系统管理员安装本地程序,也通常用于安装第三方程序。

    • bin ,sbin,etc,share ,src 等。

  • Var。Variable hierarchy:层级路径: 经常发现数据变化的目录和文件管理和日志数据

    • cache 程序缓存 lib.程序的状态数据

    • lcoal,opt为usr /local,opt提供变化的数据

    • Run:运行进程的数据关联

    • tmp;系统重启后仍然需要保留的临时文件

    • Log.日志文件

  • proc:基于内存的内核和进程信息的虚拟文件系统。而且是存放内存的,关机丢失。他们多为内核参数,例如:net.ipv4.ip.forward.虚拟为/net/ipv4/forward/,存储于proc/sys 其完整路径/proc/sys/net/ipv4/forward/ 抽象出来的文件,为了不违反一切皆文件的设定。

  • Sys 用于挂载sysfs文件系统。 sysfs提供了一种比proc访问方式更为理想的访问形式。主要用来管理设备的。比如磁盘等。为管理linux设备,提供了一种统一模型的接口。 但是仍然无法取代proc

获取命令的使用帮助

  • man。这也是最重要的一种方式。 使用格式:man command ,这种方式出现的说明非常全面详细。如果对命令不了解可以详细查看。

    • man后面带的用户手册较多而且分多个章节,有的命令在不同章节都有介绍,而man如果不带参数默认只显示第一个查找到的。 如果想看这个命令都在那个章节有介绍,可以使用。

    • whatis command 命令,会显示出来这个命令在那些章节有介绍。

  • –help。如果对命令比较了解,可以使用–help,这里只会简短的说明命令的选项。

  • info

  • 第三方软件自带的说明文档

  • 发行版官方有自己的文档

  • 一些帮助类的命令

    • which 显示文件(命令)完整路径

    • where 显示二进制程序文件,手册文件,和源码。 b 只搜索二进制程序路径 
      -m 只搜索使用手册文件路径

    • who -显示谁登录了 -b 此次系统启动时间 d 显示死亡进程 -r 运行级别 
      w:增强版的who命令

翻屏控制命令

man,或者是cat等显示较多内容的命令,如何进行翻屏控制呢 当man ls 资料很多的时候,或者cat配置文件很多的时候

  • 向后 :翻一屏,空格,翻一行是 回车,翻半屏是 Ctrl+U  (up的意思)

  • 向前:翻一屏 b , 翻一行是k,      翻半屏是 ctrl+d    (down的意思)

  • 查找:

    • \,输入关键字。向后查找

    • ? 输入关键字,向前查找

    • n与查找是相同的方向,N与查找是相反的方向

部分Linux命令介绍

  • ifconfig:用来配置网卡的命令

  • ifconfig [interface] 例如,ifconfig eth0 如果不写网卡名称,就直接列出服务器所有网卡信息(默认带lo环回网卡,不能做服务用,是系统默认创建的。),如果写明网卡,就是只单列那块网卡的信息,如eth0

  • ifconfig interface [aftype] options | address … interface 就是eth0 或者eth1,关键是options

    • up /down,就是启用网卡和停用网卡的意思。 ifconfig eth0 up 就起来了,那么down就是停用

    • [-]arp 加上- 停用这个网卡的arp服务。 ifconfig eth0 -arp那么带来的结果很明显,解析不到其他设备的mac地址了,等几秒钟缓存清空后,也就无法通讯了,和down的效果有点类似。 ifconfig eth0 arp 就是启用arp。

    • [-]promisc 就是混杂模式。带上- 就是停用。网卡的工作原理是收到数据帧后先对比目标mac地址是否和自己一样,一样接受,不一样就丢弃。开启这个模式只要收到就接收 具体参见 http://blog.chinaunix.net/uid-27105712-id-3792255.html

    • add addr/prefixlen。增加IP地址。经过测试,增加ip地址后也同样会增加一块网卡。就是增加一块虚拟网卡。每增加一个ip,就会增加一块虚拟网卡。ifconfig的时候能看到多了个eth0:0网卡。eth0 后面的:0是第一块虚拟网卡的意思。

    • del addr/prefixlen。就是删除ip。可以删除本机的ip。但是那样会造成通讯中断。可以删除刚才添加的虚拟网卡。eth0:0 。命令ifconfig eth0:0 del (ip地址)

  • echo:用于显示一段文本。回显用的。

    • -n 输出后不换行

    • -e 使反斜杠生效。就是让转义字符生效了。 echo "this is a \n good day." 会原样输出 echo -e "this is a \n good day."会让a后面有个换行,就是分了两行。

    • -E 就是使转义字符失效。echo命令默认带的。

    • -e生效后,下面的参数都可以使用了。

       * \\ 如果希望输出 \本身的话。
       * \b 退格命令。带上输出后,左侧字符会被吃掉。其右侧必须有字符。否则不生效。实验过。
       * \c echo 输出默认会换行,\c 后,不换行。
       * \n 换行。
       * \a 会有报警声音。命令比较多不一一描述。
       * carriage return。回车。这里解释一下linux系统里,每行结尾只有“<换行>”,即“\n”;
       Windows系统里面,每行结尾是“<换行><回车>”,即“\n\r”;
       Mac系统里,每行结尾是“<回车>”。
       一个直接后果是,linux/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;
       而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能 会多出一个^M符号。
    • echo [SHORT-OPTION]… [STRING]…

    • echo LONG-OPTION

    • 用法:就是长 短选项之分

    • short-option:短选项。之前说过吧,短的用-

  • tty。命令很简单,就是显示已经链接到标准输入终端的文件名。就是显示当前连接的终端类型和编号。可以这么认为。

    终端类型:这里说明一下。终端就是用户与主机进行交互的一种介质(方式),可以是虚拟的,也可以是实体的。 搞怪:既然一切皆文件,使用管道命令的时候可以这么玩 echo "hello" >>/dev/pts/1 发给其他终端信息。一切皆文件

    • 控制台终端(/dev/console):在Linux系统中,计算机显示器通常被称为控制台终端。Console与虚拟终端相关联,内核将信息送到控制台终端上(/dev/console), 通过与console相关联的虚拟终端将信息显示到屏幕上。

    • 虚拟终端(/dev/tty):虚拟终端是一个应用程序的概念。TTY可以有N个,/dev/tty就是我们使用的终端

    • 串口终端(/dev/ttyS#):串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。这些串行端口对应的设备文件名是在Linux的/dev/ttyS#。

    • 图形终端:属于虚拟终端,但会提供桌面环境如:Gnome、KDE、Xfce、lxde。

    • 伪终端(/dev/pts/#):在图形界面打开的命令行以及基于ssh协议或Telnet协议等远程打开的界面,称为模拟终端(伪终端),在Linux系统中的文件路径为/dev/pts/#(#表示数字)。常见的软件有xshell、putty。

  • startx。是启动图形界面的。一般用不到。使用时,startX即可启动

  • export。内部命令。和变量有关的一个命令。详细可以参考 http://blog.csdn.net/wl_fln/article/details/7258294

    • 一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执行时,它不会自动得到原来脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。

    • 登录到系统后,系统将启动一个用户shell。在这个shell中,可以使用shell命令或声明变量,也可以创建并运行shell脚本程序。运行shell脚本程序时,系统将创建一个子shell。此时,系统中将有两个shell,一个是登录时系统启动的shell,另一个是系统为运行脚本程序创建的shell。当一个脚本程序运行完毕,它的脚本shell将终止,可以返回到执行该脚本之前的shell。从这种意义上来说,用户可以有许多shell,每个shell都是由某个shell(称为父shell)派生的。这就是有的时候在shell中可以引用的变量,在脚本中却无法引用的原因。

    • export [-fnp][变量名称]=[变量设置值]

    • 例子:export PATH=$PATH:/opt/au1200rm/buildtools/bin

    • -f  代表[变量名称]中为函数名称。

       -n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。

       -p  列出所有的shell赋予程序的环境变量。只输入export 和export -p效果一样。

  • pwd显示当前的工作目录

pwd -p 显示实际物理路径,而不是连接。如果你用快捷方式连接过去的话,这个命令比较有用。

  • history 显示使用过的历史命令。自动记录过去执行的一些命令,保存在内存的一块区域。在bash特性1中会有更详细描述

    • -c 清空整个命令历史

    • -d 删除指定的命令历史

    • -d 500 10 删除第500后面10个 如果用户正常退出,内存中存放的历史命令会保存到用户家目录的文件中

    • -w 保存命令历史至历史文件中。

    • ESC + . (esc松开后按点)引用前一个命令的最后一个参数

  • shutdown 关机命令

    • -r 关机后重启

    • -c 终止关机命令

    • -k 仅仅发送关机警告,并不真关机。这里有个格式 shutdown -k 1 "hello" 提示1分钟关机

    • -h(H,P)。关机后关闭电源。shutdown -h 1 ;1分钟后关机

  • poweroff。重启或关机

    • -f 强制重启或停止,不调用shutdown命令。相当于掉电。

    • -p 也是强制关机,你执行这个命令后直接开始关机

  • reboot 和poweroff一样,参数也是

  • hwclock(clock)

    • -r 读取硬件时间

    • –set 设置硬件时间 需要同时使用date参数。 hwclock –set –date="9/22/2016 16:45:05"

    • –date 格式同上。

    • -s (–hctosys)把硬件时间写到系统时间内。hc to sys

    • -w (systohc)把系统时间写到硬件内。sys to hc

    • 其他关于时区的设置等等用的很少,不解释了。

  • date 设置、查看系统时间

    • date [OPTION]… [+FORMAT].这种显示的格式非常多

    * %d   day of month
    * %D   date; same as %m/%d/%y
    * %F   full date; same as %Y-%m-%d
    * %H   hour (00..23)
    * %I   hour (01..12)
    * %j   day of year (001..366)
    * %m   month (01..12)
    * %M   minute (00..59)
    * %n   a newline
    * %S   second (00..60)
    * %Y   year 2016
    * %y   year 16
    * %u   day of week (1..7); 1 is Monday
    * 例子如下:date +这个月是%m月,日期是%d,年是%Y,星期%u,时间是%H点%M分%S秒%n或者是%T%n也可以说是%D或者是%F   结果如下
      这个月是10月,日期是29,年是2016,星期6,时间是11点46分51秒
      或者是11:46:51
      也可以说是10/29/16或者是2016-10-29
    • date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]

    * -d。 不显示真实的时间,而是根据用户给出的时间进行显示
           date -d "10:20:31" 结果
           Sat Oct 29 10:20:31 PDT 2016
           date -d "2016/9/20 10:20:31" 结果
           Tue Sep 20 10:20:31 PDT 2016
    * -s(--set)。设置系统时间
          格式如上,就是把-d换成-s

原创文章,作者:haoyp,如若转载,请注明出处:http://www.178linux.com/55501

(0)
haoyphaoyp
上一篇 2016-10-29
下一篇 2016-10-29

相关推荐

  • linux文本编辑器,vim编辑器

    定义:文本(纯文本信息,必须是不加任何修饰的文本信息)编辑器 文本编辑器种类:                 行文本编辑器 :sed       &…

    Linux干货 2016-08-10
  • 马哥教育网络20期+第4周作业博客

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 答:cp -a /etc/ske1 /home/tuser1 && chown -R go-rwx /home/tuser1 2、编辑/etc/group文件,添加组hadoop。 答:echo "…

    Linux干货 2016-09-05
  • 根分区伸缩实验

    众所周知LVM是Linux环境下对 磁盘进行管理的一种机制。用户在安装Linux操作系统时,难以分配合适的硬盘空间,当一个分区存放不下某个文件时,这个文件因为文件系统的限制,也不能 跨越多个分区来存放。而遇到出现某个分区耗尽时,只有使用调整分区大小的工具。随着LVM功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方 便…

    Linux干货 2015-05-27
  • 马哥教育网络班22期+第8周课程练习

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥:是连接两个局域网的基于MAC地址数据存储转发设备,工作于数据链路层 集线器:所有端口处于同一个广播域和冲突域中,带宽共享,工作于物理层 二层交换机:多端口网桥,一个端口一个冲突域,默认所有端口位于同一个广播域中,可以划分vlan,隔离广播域,带宽独享 三层交换机:具有路由功…

    Linux干货 2016-10-17
  • N22-妙手-第九周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现;: #!/bin/bash # declare -i numberOfLoginUser=0 declare -i numberOfUnloginUs…

    Linux干货 2016-10-19
  • lvm的基本使用

    lvm的创建、扩展、迁移以及逻辑卷快照的使用

    2017-12-08

评论列表(1条)

  • 马哥教育
    马哥教育 2016-11-02 16:17

    内容格式把握得很好,不错,希望你能熟知基础命令知识,加油