码迷,mamicode.com
首页 > 系统相关 > 详细

linux基础命令及入门

时间:2015-12-17 07:07:18      阅读:310      评论:0      收藏:0      [点我收藏+]

标签:linux

1.登录界面

login :  用户id

passwd:密码

<1>为什么需要用户名和密码

计算机的资源是有限的,我们需要对资源进行管理,我们希望让某些人可以操作某些资源,但我们怎么识别这些人呢,于是有了用户名;

但是我们怎么证明用户就是它自己呢,于是我们需要一种机制,叫认证机制,这个机制可以有很多种,比如***认证,指纹等等,但一般是密码;

现在我们已经可以确认用户身份了,但是我们要让他知道哪些是他可以碰的,哪些是不可以的,比如进来一个新员工,你让他碰money肯定不合适,于是我们要告诉他所能用的东西,这个过程在linux叫授权;

我们已经可以分配资源了,但是我们怎么保证资源不被滥用呢?比如我们给了一个经理采购的权利,我们怎么保证他不乱花钱呢,我们可以找个人去监督他。这种表现在linux里叫审计,通常是一些日志。

所以一个用户登陆过程可以归纳为以下过程:

读取用户名---->认证(Authentication)---->授权(authorization)---->审计(Audition)login                     passwd                                                                             日志

<2>linux命令的格式

prompt:命令提示符

(登陆后会有这个[root@indexer ~]#,普通用户最后一个为$提示符,root为#)

魔数:magic  number

程序要想被执行,必须有个执行程序入口,比如库文件是不可以直接被执行的(但是可以被调用执行)命令是可以被执行的,那系统怎么知道哪些是可执行的,哪些是不可执行?我们需要几个特殊字符来标识程序的可执行,这几个字符就叫magic

number(有待深入了解)

命令格式:

command    option .... arguments....

命令 选项 (命令的作用格式) 参数(命令的作用对象)

命令分两种:内置命令(不需要其他条件就可以直接被执行,比如cd)

外部命令 (系统中必须含有与之相对应的文件,比如ls,它有 /bin/ls这个文件)

选项也分两种:长选项(不可以合并使用,--开头)

短选项(可以合并使用,比如ls -l -d 可以简写为ls -ld)

参数:可以使文件,路径等等

<3>路径与文件系统

路径:从指定起始点到目的地所经过的位置

绝对路径:从根节点开始到目的节点的完整路径

相对路径:从当前节点开始到目的地的一段路径(不是很准确,相对路径所在的当前节点只能是绝对路径上的某个节点,两者绝对路径包含相对路径)

树状文件系统:

假设我们要在10000个人中找一个叫tom的人,按普通方法我们只能一个个找,这样运气好的话找一次就能找到,运气不好要找10000次,平均要找(1+2+.....+10000)/10000次,大约5000次,但是如果我们把10000人分成两组,这样需要找的次数为(1+2+...5000)/2+1,大约2501次,效率大大提高,同样地我们再把5000细分,子又生孙,孙又生子,这样最后几次就可以找到jerry。这种思想在linux表现就是树状文件系统,以/为根,/又可以分为/root,/usr等,/usr分为/local,/bin等等。

<4>ls 命令

ls (list)

-l: 长格式  (例子:输入ls -l 显示:  -rw-------.  1 root root 9.6K Oct 28 09:20    .bash_history)

第一部分-rw-------

第一个-代表文件类型有如下几类:

-:普通文件

b:block块设备文件

c:字符设备文件(character)

d:目录文件 (directory)

l:符号链接文件

p:管道文件(pipe)

s:套接字文件(socket)

剩下九个字符分别代表所属者权限,所在的组权限和其他人的权限,r代表读read,w代表写write,x代表可执行excuse。

第二部分代表硬链接数

第三部分代表文件所属者root

第四部分代表文件所在组root

第五部分代表文件大小9.6k

第六部分代表文件最近一次被修改的时间Oct 28 09:20

文件的时间戳:  访问时间access time

修改时间modify time(指的是文件本身的数据)

改变时间change time(指的是文件的属性也就是元数据metadata)

第七部分代表文件名

-h:单位转换(默认是byte,这个可以转换成人类比较看得懂的格式,大意:human readable)

-a:显示所有文件包括隐藏文件

-A:显示所有文件,包括隐藏文件,但不包括 .  和 ..

-r:显示格式按z->a排序

-R:递归显示(慎用,就是假设当前路径下有子目录,子目录下又有文件,那么子目录里面的文件也会被显示,子目录的子目录也会显示,所以ls -R

/这条命令就能显示系统中的所有文件..所以你懂得。。)

-d:显示本身的属性

<5>cd命令

cd  和cd  ~都是直接回家目录

cd ~USERNAME可以进入到别人的家目录(只限root)

cd - 可以到上一次所在目录(类似于遥控器上的返回键)

<6>hash命令

显示命令的缓存

当我们执行一个外部命令的时候,系统首先会在环境变量PATH里面按顺序查找到这个命令(如果命令同时存在在PATH所包含的多条路径的话,只会按顺序找到第一个),但是每次这样找显然效率是十分低下的,于是系统采用了一种缓存机制(也就是hash),当一个命令被执行后,系统就把它放在缓存中,以后查找命令的时候首先在缓存中找,如果命中率高的话,以前可能需要查找上千次的命令,现在只需查找几次,所以效率大大提高了。

那么问题来了,当缓存中的命令个数大于原来所需查找的次数,是不是效率反而降了呢?不是这样的,hash的算法满足o(1),也就是说找一次跟找一万次所消耗的时间是一样的。具体是怎样做到的,有待深究。

<7>linux的时间

硬件时间:按主板上的石英振动频率来计时,十分精确,查看命令:hwclock

系统时间:利用cpu来计时,会有误差,尤其是cpu繁忙的时候。查看命令:date

hwclock -w:把系统时间写入到硬件时间

hwclok  -s:把硬件时间写入到系统

为什么使用格林威治时间差存储数据?(date  +%s  命令可以计算从1970年1月1日0时0分起到现在所用的秒数,通常用这个数据记录时间,mysql等应用)

答:这是因为我们的系统时间是不准确的,我们的时间是相对于格林威治的时间偏移量,假如我们存入一笔钱进入银行,而采用的是系统时间记录,这样在北京是08:00,可能在美国就是16:00,这样势必会产生一些不必要的麻烦,而相对于格林威治的时间差是相同的,可以减少很多纠纷。

<8>命令帮助获取方式

1.内部命令的使用帮助:

    help COMMAND

   外部命令:

    COMMAND  --help

2.man命令(manual)

whatis  COMMAND(查找命令在man手册的哪些章节有说明)

<1>.man 命令的8个章节:

1:用户命令(/bin/usr/bin/,/usr/local/bin)

2:系统调用

3:库调用

4:特殊文件(设备文件:这类文件并不含有真正的数据,只是提供一个使用设备的接口)

5:文件格式(也就是配置文件的使用格式,比如passwd和shadow)

6:游戏

7:杂项(Miscellaneous)

8:管理命令(只有系统管理员才有权限,/sbin..)

<2>man文档的格式说明

NAME:命令名称及功能简要说明,下面是命令格式里出现的字符含义:

                [ ]:代表里面的内容可以省略

             <>:必选

            ……:可以出现多次

                 |:多选一

SYNOPSIS:用法说明,包括可用的选项

DESCRIPTION:命令功能的详尽说明,可能报货每一个选项的意义

FILES:此命令相关的配置文件

bugs:提交bug的联系方式

examples:使用实例

see also:另外参照


本文出自 “单季稻” 博客,请务必保留此出处http://linzb.blog.51cto.com/5192423/1725415

linux基础命令及入门

标签:linux

原文地址:http://linzb.blog.51cto.com/5192423/1725415

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!