鸟哥的linux私房菜 mark3

这几天由于有其他的事没能回来,今天终于安下心来继续学习,废话不多说,立马来:(括号内为笔者添加非鸟哥原文)


路径(path)定义为绝对路径(absolute)不相对路径(relative):反正开头不是 / 就属于相对路径的写法( 这个容易理解吧!)

(当我们在terminal中输入一条常用命令时,例如ls,系统首先会且只会根据所给出的PATH变量的绝对路径中并列项的先后顺序来搜索相应的档案,如果要执行当前目录下的命令但当前目录并没有加入到绝对路径表示的PATH变量中去,那么很遗憾地告诉你,terminal会毫不迟疑地给出command not found的提示)


若你的执行文件放置在本目录,并且本目录并非正规的执行文件目录(/bin, /usr/bin 等为正规,此时要执行指令就得要严格指定该执行档。

(可以这样理解吧,假如你自己写了个命令,其文档在当前目录,没有加入到所谓的正规档中去的话,可以理解为它不是内置命令,需要给出你所要执行的档案的路径,这样系统才能正确地寻找并执行它)


/bin 与/sbin 目录所放置的执行文件有何不同之处?
/bin 放置的是一般用户惯用的指令,至于/sbin 则是系统管理员才会使用到的指令。不过/bin 与/sbin 都与开机、单人维护模式有关。 更多的执行档会被放置到/usr/bin 及/usr/sbin 底下。


为什么我们需要更小的根目录?根据 FHS 的说明,越小的/可以放置的较为集中且读取频率较不频繁,可避免较多的错误。 至于/home(用户家目录), /usr(软件资源), /var(变动幅度较大的数据), /tmp(系统暂存,数据莫名)中, 因为数据量较大或者是读取频率较高,或者是不明的使用情况较多,因此建议不要与根目录放在一起, 也会有害二系统安全。


早期的 Unix 系统文件名最多允许 14 个字符,而新的 Unix 不 Linux 系统中,文件名最多可以容许几个字符?由于使用 Ext2/Ext3 文件系统,单一档名可达 255 字符,完整文件名 (包含路径) 可达 4096 个字符.


 /etc/:几乎系统的所有配置文件案均在此,尤其 passwd,shadow
 /etc/init.d:系统开机的时候加载服务的 scripts 的摆放地点
 /boot:开机配置文件,也是预设摆放核心 vmlinuz 的地方
 /usr/bin, /bin:一般执行档摆放的地方
 /usr/sbin, /sbin:系统管理员常用指令集
 /dev:摆放所有系统装置档案的目录
 /var/log:摆放系统注册表档案的地方


在预设的情况下, 你所需要新建目录得一层一层地建立才行!

例如:假如你要建立一个目标为 /home/bird/testing/test1,那么首先必须要有 /home 然后 /home/bird ,再者 /home/bird/testing 都必须要存在,才可以建立/home/bird/testing/test1 这个目标!

假如没有 /home/bird/testing 时,就没有办法建立 test1 目标!不过,现在有个更简单有效的方法啦!那就是加上 -p 这个选项喔!你可以直接下达:『 mkdir -p /home/bird/testing/test1 』 则系统会自动地帮你将 /home, /home/bird, /home/bird/testing 依序地建立起目录!并且, 如果该目标本来就已经存在时,系统也不会显示错误信息喔!挺快乐的吧!^_^。

不过鸟哥不建议常用-p 这个选项,因为担心如果你打错字,那么目标名称就会变得乱七八糟的!

(同理想要删除一定子目录跟父目录:

Usage: rmdir [OPTION]... DIRECTORY...

-p, --parents   remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' is
                    similar to 'rmdir a/b/c a/b a')

当我们在执行一个指令的时候,就『ls』来说好了,系统会依照 PATH 的设定去每个 PATH 定义的目标下搜寻文件名为 ls 的可执行文件,

如果在 PATH 定义的目标中含有多个文件名为 ls 的可执行文件,那么先搜寻到的同名指令先被执行!

(当我们同时想要删除如当前目录下的两个目录的时候,除了用适配符*或者?外,还可以使用{object1,object2}这种方式来进行)


很多 distribution 在预设的情况中, 已经将 ll (L 的小写) 设定成为 ls -l 的意思了!其实,那个功能是 Bash shell 的 alias 功能呢~


[root@www ~]# cp [-adfilprsu] 来源文件(source) 目标文件(destination)
[root@www ~]# cp [options] source1 source2 source3 .... directory
选项不参数:
-a :相当 -pdr 的意忠,至于-pdr 请参考下列说明;(常用)
-d :若来源文件为链接文件的属性(link file),则复制链接文件属性而非档案本身;
-f :为强制(force)的意思,若目标档案已经存在且无法开启,则移除后再尝试一次;
-i :若目标文件(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l :进行硬式连结(hard link)的连结档建立,而非复制档案本身;
-p :连同档案的属性一起复制过去,而非使用默认属性(备份常用);
-r :递归持续复制,用于目录的复制行为;(常用)
-s :复制成为符号链接文件 (symbolic link),亦卲『快捷方式』档案;
-u :若 destination 比 source 旧才更新 destination !
最后需要注意的,如果来源档有两个以上,则最后一个目的文件一定要是『目录』才行

(root@ubuntu:~$  cp -s imfor.out ./imfor---------------------------------这里只是建立软连 接
root@ubuntu:~$  ls -l | grep imfor
lrwxrwxrwx  1      9  2月 15 20:35 imfor -> imfor.out
-rw-r--r--  1  83  2月 10 23:43 imfor.out
lrwxrwxrwx  1     9  2月 10 23:38 myfile -> imfor.out
root@ubuntu:~$  cp -l imfor.out imfor.hlink----------------------------------------这里建立的是硬连接
root@ubuntu:~$  ls -l | grep imfo                                                                                      
lrwxrwxrwx  1      9  2月 15 20:35 imfor -> imfor.out                                     
-rw-r--r--  2     83  2月 10 23:43 imfor.hlink
-rw-r--r--  2     83  2月 10 23:43 imfor.out               ----------------硬接后物其链接变为2个
lrwxrwxrwx  1     9  2月 10 23:38 myfile -> imfor.out)

(关于rm命令不多说了,-f为强制删除,不提示,除非出错;-r为递归删除;-i为交互模式,会询问用户)


 cat 由第一行开始显示档案内容
 tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
 nl 显示的时候,顺道输出行号!
 more 一页一页地显示档案内容
 less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
 head 只看头几行
 tail 只看尾几行
 od 以二进制的方式读取档案内容!                   612

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值