《鸟哥的Linux私房菜》精要 持续更新。。。
1、[-][rwx][r-x][r--]
1 234 567 890 1 为:代表这个文件名为目录或文件,本例中为文件(-);
234为:拥有者的权限,本例中为可读、可写、可执行(rwx);
567为:同群组用户权力,本例中为可读可执行(rx);
890为:其他用户权力,本例中为可读(r)
5、
- chgrp :改变文件所属群组chown :改变文件拥有者chmod :改变文件的权限, SUID, SGID, SBIT等等的特性
各权限的分数对照表如下:
r:4基本上就九个权限分别是(1)user (2)group (3)others三种身份啦!那么我们就可以藉由chmodu
w:2
x:1
g
o
a+(加入)
-(除去)
=(设定)r
w
x文件或目录
权限对于文件来说,他的意义是这样的:
目录应放置文件内容/bin系统有很多放置执行文件的目录,但/bin比较特殊。因为目录应放置文件内容/lost+found这个目录是使用标准的ext2/ext3文件系统格式才会产生的一个目录,目的在于当文件系统发生错误时,将一些遗失的片段放置到这个目录下。这个目录通常会在分割槽的最顶层存在,例如你加装一颗硬盘于/disk中,那在这个系统下就会自动产生一个这样的目录『/disk/lost+found』/proc这个目录本身是一个『虚拟文件系统(virtual filesystem)』喔!他放置的数据都是在内存当中,例如系统核心、行程信息(process)、周边装置的状态及网络状态等等。因为这个目录下的数据都是在内存当中,所以本身不占任何硬盘空间啊!比较重要的文件例如:目录应放置文件内容/usr/X11R6/为X Window System重要数据所放置的目录,之所以取名为X11R6是因为最后的X版本为第11版,且该版的第6次释出之意。/usr/bin/绝大部分的用户可使用指令都放在这里!请注意到他与/bin的不同之处。(是否与开机过程有关)/usr/include/c/c++等程序语言的档头(header)与包含档(include)放置处,当我们以tarball方式 (*.tar.gz 的方式安装软件)安装某些数据时,会使用到里头的许多包含档喔!/usr/lib/包含各应用软件的函式库、目标文件(object file),以及目录应放置文件内容/var/cache/应用程序本身运作过程中会产生的一些暂存档;/var/lib/程序本身执行的过程中,需要使用到的数据文件放置的目录。在此目录下各自的软件应该要有各自的目录。举例来说,MySQL的数据库放置到/var/lib/mysql/而rpm的数据库则放到/var/lib/rpm去!/var/lock/某些装置或者是文件资源一次只能被一个应用程序所使用,如果同时有两个程序使用该装置时,就可能产生一些错误的状况,因此就得要将该装置上锁(lock),以确保该装置只会给单一软件所使用。举例来说,刻录机正在刻录一块光盘,你想一下,会不会有两个人同时在使用一个刻录机烧片?如果两个人同时刻录,那片子写入的是谁的数据?所以当第一个人在刻录时该刻录机就会被上锁,第二个人就得要该装置被解除锁定(就是前一个人用完了)才能够继续使用。/var/log/重要到不行!这是登录文件放置的目录!里面比较重要的文件如/var/log/messages, /var/log/wtmp(记录登入者的信息)等。/var/mail/放置个人电子邮件信箱的目录,不过这个目录也被放置到/var/spool/mail/目录中!通常这两个目录是互为链接文件啦!/var/run/某些程序或者是服务启动后,会将他们的PID放置在这个目录下喔!至于PID的意义我们会在后续章节提到的。/var/spool/这个目录通常放置一些队列数据,cat 由第一行开始显示文件内容tac 从最后一行开始显示,可以看出 tac 是 cat 的倒著写!nl 显示的时候,顺道输出行号!more 一页一页的显示文件内容less 与 more 类似,但是比 more 更好的是,他可以往前翻页!head 只看头几行tail 只看尾巴几行od 以二进位的方式读取文件内容!命令与文件的搜索:
移动光标的方法h 或 向左箭头键(←)光标向左移动一个字符j 或 向下箭头键(↓)光标向下移动一个字符k 或 向上箭头键(↑)光标向上移动一个字符l 或 向右箭头键(→)光标向右移动一个字符如果你将右手放在键盘上的话,你会发现 hjkl 是排列在一起的,因此可以使用这四个按钮来移动光标。如果想要进行多次移动的话,例如向下移动 30 行,可以使用 "30j" 或 "30↓" 的组合按键,亦即加上想要进行的次数(数字)后,按下动作即可![Ctrl] + [f]屏幕『向下』移动一页,相当于 [Page Down]按键(搜寻与取代/word向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可!(删除、复制与贴上x, X在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键)(进入插入或取代的编辑模式i, I进入插入模式(Insert mode):
i 为『从目前光标所在处插入』, I 为『在目前所在行的第一个非空格符处开始插入』。(指令列的储存、离开等指令:w将编辑的数据写入硬盘档案中(vim 环境的变更:set nu显示行号,设定之后,会在每一行的前缀显示该行的行号:set nonu与 set nu 相反,为取消行号!特别注意,vim 的环境设定参数:set nu
:set nonu就是设定与取消行号啊!:set hlsearch
:set nohlsearchhlsearch 就是 high light search(高亮度搜寻)。这个就是设定是否将搜寻的字符串反白的设定值。默认值是 hlsearch:set autoindent
:set noautoindent是否自动缩排?autoindent 就是自动缩排。:set backup是否自动储存备份档?一般是 nobackup 的,如果设定 backup 的话,那么当你更动任何一个档案时,则源文件会被另存成一个档名为 filename~ 的档案。举例来说,我们编辑 hosts ,设定 :set backup ,那么当更动 hosts 时,在同目录下,就会产生 hosts~ 文件名的档案,记录原始的 hosts 档案内容:set ruler还记得我们提到的右下角的一些状态栏说明吗?这个 ruler 就是在显示或不显示该设定值的啦!:set showmode这个则是,是否要显示 --INSERT-- 之类的字眼在左下角的状态栏。:set backspace=(012)一般来说,如果我们按下 i 进入编辑模式后,可以利用退格键 (backspace) 来删除任意字符的。但是,某些 distribution 则不许如此。此时,我们就可以透过 backspace 来设定~当 backspace 为 2 时,就是可以删除任意值;0 或 1 时,仅可删除刚刚输入的字符,而无法删除原本就已经存在的文字了!:set all显示目前所有的环境参数设定值。:set显示与系统默认值不同的设定参数,一般来说就是你有自行变动过的设定参数啦!:syntax on
:syntax off是否依据程序相关语法显示不同颜色?举例来说,在编辑一个纯文本档时,如果开头是以 # 开始,那么该行就会变成蓝色。如果你懂得写程序,那么这个 :syntax on 还会主动的帮你除错呢!但是,如果你仅是编写纯文本档案,要避免颜色对你的屏幕产生的干扰,则可以取消这个设定 。:set bg=dark
:set bg=light可用以显示不同的颜色色调,预设是『 light 』。如果你常常发现批注的字体深蓝色实在很不容易看,那么这里可以设定为 dark 喔!试看看,会有不同的样式呢!
变量配置方式说明${变量#关键词}
${变量##关键词}若变量内容从头开始的数据符合『关键词』,则将符合的最短数据删除
若变量内容从头开始的数据符合『关键词』,则将符合的最长数据删除${变量%关键词}
${变量%%关键词}若变量内容从尾向前的数据符合『关键词』,则将符合的最短数据删除
若变量内容从尾向前的数据符合『关键词』,则将符合的最长数据删除${变量/旧字符串/新字符串}
${变量//旧字符串/新字符串}若变量内容符合『旧字符串』则『第一个旧字符串会被新字符串取代』
若变量内容符合『旧字符串』则『全部的旧字符串会被新字符串取代』