Linux学习笔记(一)一些基础实用的东西

最近在拜读《鸟哥的Linux私房菜》这本书,这本书有PDF版的,也有实体书,鸟哥也有自己的一个网站http://linux.vbird.org/这个网址,网址里面是最新的内容。PDF版我是从CSDN上下载的http://download.csdn.net/download/xiaoyu5256/9896882?web=web,需要的可以自行去下载。

我是一个linux小白,希望大神们勿喷,这里只是做一下自己的学习笔记。

说一下我看这本书之前的关于linux的一些基础。最开始我是从阿里云自己租了一个服务器,学生价很便宜,10元/月,阿里云我租的是CentOS7的一个服务器,然后在服务器上已经安装了JDK,mysql,Tomcat等一些东西,同时也把自己写的一些小项目放到上面去跑了一下。而后去公司实习,公司租用的也是阿里云的服务器,于是在公司的服务器上也搭建了一两个小项目,前段时间在自己的电脑上安装了Ubuntu,也算是对linux的进一步了解,同时在阿里云上安装了GNOME可视化操作界面,也用VNC在自己的电脑上连接了一下阿里云的服务器。这些是这本书之前的自己对于linux的野路子学习。于是就读了一下鸟哥的书希望系统的了解一下linux。

一、指令格式

这里写图片描述

  • 一行指令中第一个输入的部分绝对是『指令(command)』或『可执行档案(例如批次脚本,script)』

  • command 为指令的名称,例如变换工作目录的指令为cd 等等;
    中刮号[]并不存在于实际的指令中,而加入选项设定时,通常选项前会带- 号,例如-h;有时候会使用选项的完整全名,则选项前带有– 符号,例如–help;

  • parameter1 parameter2.. 为依附在选项后面的参数,或者是command 的参数;

  • 指令,选项,参数等这几个咚咚中间以空格来区分,不论空几格shell都视为一格。所以空格是很重要的特殊字元!;

  • 指令太长的时候,可以使用反斜线() 来跳脱[Enter]符号,使指令连续到下一行。注意!反斜线后就立刻接特殊字符,才能跳脱!-

鸟哥自己举了三个指令作为例子:

date        print or set the system date and time
cal         display a calendar
bc          An arbitrary precision calculator language

二、在线文档

linux有超级多的命令,很多时候命令的用法是记不住的,linux提供了三种类似查看文档的方法

–help

在具体指令后加加上--help这个命令之后就可以看到这个指令的一些主要用法。拿cal这个指令试一下。

输入cal得到的是当前的月份,同时当日的日期会被高亮

[root@iZuf6f32ql5nimbo2rfxsyZ ~]# cal
    December 2017   
Su Mo Tu We Th Fr Sa
                1  2
 3  4  5  6  7  8  9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

输入cal -h或者cal --help就会得到一些cal这个指令的一些具体用法。

[root@iZuf6f32ql5nimbo2rfxsyZ ~]# cal -h

Usage:
 cal [options] [[[day] month] year]

Options:
 -1, --one        show only current month (default)
 -3, --three      show previous, current and next month
 -s, --sunday     Sunday as first day of week
 -m, --monday     Monday as first day of week
 -j, --julian     output Julian dates
 -y, --year       show whole current year
 -V, --version    display version information and exit
 -h, --help       display this help text and exit

如果足够帅气的话还可以显示为中文,这是因为我在安装的时候选择了中文

这里写图片描述

man page

如果想要获得指令更具体的用法介绍等方面的东西,就需要用到man这个命令,鸟哥在书里打趣地说是找男人。man是manual的简写。

这里拿man date试一下

这里写图片描述

DATE(1)这一部分的DATE表示指令的名称(不是很区分大小写的吗?为什么这里是大写?)后面的1的含义参照下表:

这里写图片描述

同时man page中的内容页主要可以分成下面几个部分:

这里写图片描述

在man page有下面几个指令

按键含义
空格/Page Down下一页
Page UP上一页
/string向下查找string这个字符串
?string向上查找string 这个字符串
n/N使用?string或者/string之后查找下一个
q退出本次的man page

还有就是下面这两个指令:

这里写图片描述

info page

基本上,info与man的用途其实差不多,都是用来查询指令的用法或者是档案的格式。但是与man page一口气输出一堆资讯不同的是,info page则是将文件资料拆成一个一个的段落,每个段落用自己的页面来撰写,并且在各个页面中还有类似网页的『超连结』来跳到各不同的页面中,每个独立的页面也被称为一个节点(node)。所以,你可以将info page想成是文字模式的网页显示资料。

这里使用info info测试一下:

这里写图片描述

  • File:代表这个info page的资料是来自info.info档案所提供的;
  • Node:代表目前的这个页面是属于Top节点。意思是info.info内含有很多资讯,而Top仅是info.info档案内的一个节点内容而已;
  • Next:下一个节点的名称为Getting Started,你也可以按『N』到下个节点去;
  • Up:回到上一层的节点总揽画面,你也可以按下『U』回到上一层;
  • Prev:前一个节点。但由于Top是info.info的第一个节点,所以上面没有前一个节点的资讯。

可以使用N,P,U来去到下一个,上一个与上一层节点。同时在任何时候都可以使用h来打开按键功能介绍。同时把光标悬停在*号的时候按下回车就可以直接跳转到该目录。

所以info这里指令的文档大概就像是下面这样的:

这里写图片描述

说一下个人的感受,这东西虽然很方便但是我还是比较喜欢man,因为这样跳来跳去我就不知道到哪里了,很容易把我自己绕晕进去。

三、文件、用户及权限(chmod/chgrp/chown)

在linux系统中,所有的账号都会加入一个或者多个群组,上述中root用户就属于root群组。linux中对文件的访问有三种身份,为owner/group/others。在linux中所有的群组都记录在/etc/group文件中所有的用户信息都记录在/etc/passwd文件中,可以自行打开这两个文件看看里面的内容。这里的三个命令都是只有root用户才有权限操作的。

在linux下使用ls -al或者ll -a可以查看当前目录下的所有文件,看一下下面的图:

这里写图片描述

图中已经标注了每个部分的含义,下面逐个做一下笔记:

权限

这里写图片描述

第一个表示文件的类型,示例中为-表示这是个文件:

d           目录
-           文件
l           连结档(link file)
b           装置文件中的可供存储的接口设备
c           装置文件中的串行端口设备,键盘鼠标等

接下来9个分成三组,分别表示文件拥有者的权限,文件所属群组的权限和其他人的权限。

-           没有该位置代表的权限
r           可读
w           可写          
x           可执行

在linux中文件是否可执行只与x这个权限有关,与文件的扩展名无关。

在linux中使用chmod这个命令(change modify)改变文件的权限,具体的使用说明可以man或者info一下。在修改权限的时候有两种方法:

方法一:
用数字来代替权限(r:4/w:2/x:1),每种身份对应的权限为数字的累加和,例如如果要把文件权限改为rwxr-xr--,则对应的数字为754,则可以使用下面的命令来修改文件权限:

chmod 754 文件/目录

方法二:
三种身份分别使用三个字母代替,u(user),g(group),o(others),a(all),可以参考下表:

这里写图片描述

还是一样,如果要把文件权限改为rwxr-xr--,则可以使用下面的命令来修改文件权限:

chmod u=rwx,g=rx,o=r 文件/目录

同理也可以使用使用+/-来增加/移除文件的权限。

拥有者/所属群组

上面说的权限主要对的就是owner和group这两个来说的。

改变可操作性的群组:

改变可操作性文件的群组使用的是chgrp这个命令(change group),还是一样,可以使用man/info这两个命令去看看使用说明。

chgrp [-R] 群组名 文件/目录

改变文件的拥有者:

使用的命令是chown(change owner),下面这三个命令分别是改变文件的owner、改变文件owner和group、改变文件的group,所以说使用chown在一定程度上也是可以达到chgrp的目的。

chown [-R] 用户 文件/目录
chown [-R] 用户:群组 文件/目录
chown [-R] :群组 文件/目录

在改变使用chwon的时候,:是可以被替换成.,但是按照鸟哥的说法,就是有时候用户的名字中会带有.这个字符串,所以使用:还是最安全的。


关于用户的权限,这里在逼逼一下:

用户创建文件或者目录的时候一般都有一个默认的权限,这个权限制可以用uamsk这个命令获得。

umask
#得到0022

umask -S
#得到u=rwx,g=rx,o=rx

这个默认的权限肯定是可以更改的,可以使用man看看帮助手册,平时的权限都是三个数字,这里是四个数字,先看一下后三个数字为022,这里的权限的分数需要减掉的分数,2表示需要从rwx中减掉w权限,我也不知到这里为什么不用加的要用减的。

再看看第一个数字,这个数字表示的是文件的特殊权限包括三个(SUID/SGID/SBIT)这三个东西这里就不展开,感觉篇幅会很长,最重要的是个人感觉在基础学习中这三个用的不多,知道一下就好了,到时候需要的需要的时候在查资料。

关于权限还有chattr和lsattr这两个,同样不展开,权限在linux中是及其重要的,这里只对最简单的做一下笔记。

其他:

连结数:
每个档案都会将他的权限与属性记录到档案系统的i-node中,不过,我们使用的目录树却是使用档名来记录,因此每个档名就会连结到一个i-node!这个属性记录的,就是有多少不同的档名连结到相同的一个i-node号码去就是了。

容量大小:
这个的单位是bytes

修改时间:
文件被创建的时间或者最后的时间,如果是今年的日期,就显示月 日 时间,如果不是今年的就显示年份,可以使用--full-time这个选项显示具体的时间

文档名:
这个显示的是文档的名字,一般情况下,会根据权限的第一个字符,文档名字的显示会有不同的颜色,这样便于区分。同时,在文档中,.这个文件表示的是当前目录,..表示的是上级目录,以.开头的文件表示的是隐藏文件。

鸟哥的这本书好厚呀,我这里一边阅读一边做一些笔记,希望自己读完这本书可以收获到很多东西。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值