Linux学习日志(一)

###目录管理

FHS:文件层次标准

    操作系统自身运行使用的

    

    /bin: 存放可执行的二进制程序,管理员和普通用户都可以使用

    /sbin:管理员才能执行的命令

    运行正常功能的程序存放位置

    /usr/bin

    /usr/sbin

    用来存放第三方软件的程序

    /usr/local/bin

    /usr/local/sbin

/boot:存放系统引导文件:内核、ramfs文件、bootloader(grub)

/dev:设备文件存放目录

/etc:配置文件的集中存放目录

    /etc/sysconfig:系统级别的应用

    /etc/init.d:系统服务脚本

/home :普通用户,默认在/home下有一个与其名称同名目录,作为用户的家目录

/root:管理员的家目录

/lib,/lib64:库文件

/media:专用挂载位置,通常用来挂载便携式设备

/mnt:专用挂载位置,挂载额外的存储设备

/misc:杂项,备用目录

/opt:可选目录,但通常用来安装第三方软件

/proc:所显示的文件都不是文件,伪文件系统,运行中的内核参数的映射

/sys:伪文件系统,系统级别的用于配置硬件设备相关的参数

/srv:为服务提供数据存放位置的

/tmp:临时文件系统:默认存放30天

/usr:shared 所有遵循协议的系统都可以使用,readonly 只读

  /usr/include:头文件存放位置

/var:经常发生变化的文件

    /var/log

    /var/lock

    /var/run

    /var/cache

###命令的区分

 

  basename 显示当前目录的基名

  dirname  显示当前目录的目录名


 


bash中,命令分为:


内部命令:在bash中内部实现的命令叫做内置命令

外部命令:在文件系统上的某个位置有一个与命令名称对应的可执行文件

 

<!-- 如何判断内部还是外部:使用type命令-->


命令分析


shell 事先通过一个变量(PATH)设定好了多个路径,当用户输入命令时,shell会自动到这些路径(由左向右)下查找与命令名称相同的可执行文件

    

    hash 用来保存以前曾经执行过的命令,以哈希表的方式保存,可以通过hash来查看

    

    查看一个可执行程序的具体路径:使用 which+程序名来查看

    

命令的格式:


    command  options arguments

    命令 选项     参数  

    选项:   用来调整命名执行特性的;

            选项可以有多个;多个选项之间必须以空格分隔

            短选项 - char ;

            长选项 -- word

    短选项可以合并:长选项一般不可以合并;

    有些选项需要有参数

    

    命令参数:命令的作用对象

         有些命令可以带多个参数:

         各参数间需要使用空格分开; 

查看某关键字在那些段落有使用帮助

     whatis Keyword 精确查找

     提示:如果whatis的数据库尚未生成,可以使用makewhatis手动进行

     man -k keyword 模式查找


###文件和目录管理类的命令

 目录:

  

  当前所在的目录:工作目录

  用户起始的目录:家目录,主目录

 

  切换目录

    cd ~[username]

    ~: 家目录

    -: 回到上一次所在的目录

路径: 

    . 当前目录

    .. 父目录

 

pwd: 显示当前目录

mkdir:创建目录   

  -p:先创建父目录

  -v:显示详细信息

  rmdir:删除空目录

        -p:只能删除一线单的目录 


shell的引用:

    

        ‘’: 强引用,变量替换不会进行

"":弱引用,能够执行变量替换

``:命令替换,引用命令的执行结果,另外一种方式$()  

   **命令行展开:能够把一个特殊字符换成别的字符

{}展开为多个条目**    

 

    变量替换:${变量名}

    echo 显示

                     

###获取帮助

内置命令:

      

        #help 命令名字

列如: help cd 

外部命令:

    

      #命令 --help

  #man 命令(先解压后显示) 

    里面有很多段落:

        NAME  简要使用帮助说明 名字

SYNOPSIS 使用格式

DESCRIPTION: 详细功能描述

        OPTIONS   : 选项

        EXAMPLES:  

        DESCRIPTION:

        使用帮助中命令格式中的字符意义:

    []:可选的部分

      {a|b}:分组,a和b作为一个使用单元来使用

      |:或者,只能选其一

       <>:必不可少的部分

    ...:同类内容可以出现多个

    

    man的简要使用机制

      翻屏:

         空格键:向文件尾部翻一屏

         b:向文件首部翻一屏

         回车键:向文件尾部翻一行

         k:向文件首部翻一行

              ctrl+d:向文件尾部翻半屏

              ctrl+u:向文件首部翻半屏

              1G:第一行

              G:最后一行


文本搜索:

  /keyword : 顺向,向文件尾部搜索

    查看下一个被匹配到的

  n 跟搜索命令方向一致

  N 跟搜索命令方向相反

?keyword : 逆向,向文件首部搜索

q:退出

补充:man其实能为命令(普通命令、管理命令)、程序的配置文件格式、系统调用、库调用、游戏及其他不便归类的文件提供帮助手册 

  man命令的分段机制:

1:用户命令:

2:系统调用

3:库调用

4:设备文件

5:文件格式

6:游戏

7:杂项

8:管理命令 

  #info 命令:获取在线文档

  #很多应用程序自带的有文档: /usr/share/doc/

        ChangeLog INSTALL README  

  #google:

          linux filetype:ppt 特定格式

          keyword site:magedu.com

     #Redhat官方文档  

          www.redhat.com/docs

    

  **程序由 二进制文件,库文件,配置文件,帮助文件**


###系统管理类的命令:

   将语言设置为en

        

         export LANG=en

   

   shutdown

      

     shutdown [option]...TIME

      -r :重启

      -h :关机

      -c :取消重 或关机命令

     时间格式:

      now

      +#:#分钟以后

      hh:mm

   

   

   reboot    重启 

   poweroff  断电

   half  关机

      

###日期时间管理

date 显示当前系统时间

   

date MMDDhhmm[cc]YY.ss

date [+FORMAT] 设置时间 

%Y:四位年份

%y:两位年份

%m:月

%M:分钟

%d:日

%h:英文简写的月

%H:时

%S:秒

%s:现在距离1970年1月1号0点0分(unix元年)的秒数,timestamp(时间戳)

%D:月/日/年

%F:年-月-日

%T:时:分:秒        


hwclock

    

    -s: 以硬件时钟为准 --hctosys

    -w:以软件时钟为准 --systoh

     硬件时钟:主板上的时钟    

     软件时钟:开机时读取硬件时钟


cal 日历

 


##shell的特性之三:命令历史

bash默认会保持此前执行过的命令列表


使用上下箭头键可以翻看此前执行过的命令  .bash_history



history:


  !数字:执行history中第数字条的命令

  !!:上一条命令

  !-数字:表示执行命令列表中的倒数第数字条命令

  !$:执行上个命令中的最后一个参数:ESC,.

  !string:执行命令列表中的最近一次以string开头的命令

  -d  数字 删除第数字条记录

  -c 清空history列表

  -a:追加当前回话的命令到历史列表中去

  -n:读取所有在回话列表中的 但是不在当前回话列表中的

   

命令历史相关的环境变量

  HISTSIZE:历史命令中可以保存的个数

  HISTFILE: 历史命令保存的文件

  HISTFILESIZE:历史文件中可以保存的命令个数

  HISTCONTROL:控制命令历史的生成机制

          ignoredups:忽略记录重复的命令,连续的相同命令

      ignorespace:以空格开头的命令不会被记录

      ignoreboth:同时具有上面两种特性


补充:Linux文件系统的另一个特性:以点开头的文件为隐藏文件 通过ls -a 查看


shell中的变量赋值


     变量名=值

     注意:变量在赋值是不能再前面带$

           变量名只能包含字母、数字和下划线,并且不能以数字开头

  变量名区分大小写

  尽量能见名知义




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章