写在学习语言的第二堂课之后

作者很懒。
为了改变这个现状,在大学最后的一年半里面就业的问题接踵而至
为了自己的未来,为了找到一个方向。从现在开始,磨性子改变不良习惯。

 关于linux 基本命令

  1. 查阅手册命令man
    1.1 参数(用法): man [option]
    例如这样(在linux终端中输入):“man mkdir” 敲击回车后将显示关于mkdir的所有用法和例子。
  2. 查找指令find
    2.1 参数用法:
    find 用于在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。
    2.2 语法:
    find path -option [value] [-exec –ok command] {} ;
    2.3 一些参数说明:
    find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。
    -atime n : 在过去n天内被读取过的文件
    -cmin n : 在过去 n 分钟内被修改过
    -ctime n : 在过去n天内被修改过的文件
    -empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name
    -ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写
    -name [name], -iname [name] : 文件名称符合 name 的文件。iname 会忽略大小写
    -size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。-type c : 文件类型是 c 的文件。
    2.4 实例:
    1°find .-name “*.c” 查找当前目录下所有延伸名为.c的文件列出来。
    2°find .-type f 将目前目录及其下子目录所有一般目录列出来。
    3°find .-ctime -20 将当前目录及其子目录下所有的近20天更新过的文件列出
    4°find /mnt/hgfs/linux-share/ -name “12?.c”-excu rm {};
    将指定路径下匹配出所有开头为12且第三个字符为任意一个字符的且后缀名是.c的文件找出并执行rm 指令 “{}”表示将搜索到的所有內容,删除。这种find指令必须以“;” 结束。
    5°find / -type f –size 0 –excu ls –l {};
    其中:d: 目录、c: 字型装置文件、b: 区块装置文件、p: 具名贮列、f: 一般文件、l: 符号连结、s: socket。
    将从根目录往下搜索查看系统中所有文件长度为0的普通文件,并列出他们的完整路径。
  3. 关于chgrp、chmod、chowm 命令
    3.1 chgrp
    变更文件或目录的所属群组。
    参数:
    -c或–changes 效果类似"-v"参数,但仅回报更改的部分。
     -f或–quiet或–silent  不显示错误信息。
     -h或–no-dereference  只对符号连接的文件作修改,而不更动其他任何相关文件。
     -R或–recursive  递归处理,将指定目录下的所有文件及子目录一并处理。
     -v或–verbose  显示指令执行过程。
     --help  在线帮助。
     --reference=<参考文件或目录>  把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同。
     --version  显示版本信息。
    实例:
    1°chgrp –v bin log2012.log
    改变文件的群组属性
    输出:
    [[email protected] test]# ll
    —xrw-r-- 1 root root 302108 11-13 06:03 log2012.log
    [[email protected] test]# chgrp -v bin log2012.log
    “log2012.log”的所属组已更改为bin
    3.2 chown 命令
    由于linux是多用户操作系统 所有文件皆有拥有者。这个时候利用chown 指令便可以更改拥有者为指定的用户或者是用户组。
    参数:
    -R 递归 处理指定目录以及其子目录下的所有文件
    实例:
    1°chown -R runoob:runoobgroup
    将当前目录下的所有文件与子目录的拥有者皆设为runnob,群体的使用者为runnobgroup。
    3.3 chmod 命令
    linux将文件调用分为三级分别为:U、G、O 拥有者 群组 其他 。相对应地,他们都拥有读(read)、写(write)、执行(excute)的权限,在linux中分别用rwx来表示。
    参数:
    -R 对当前目录下的所有文件和子目录进行相同的权限变更(即以递归的方式逐个变更)
    实例:
    1°chmod ugo+r filename 对于filename文件 将所有人皆可读取,
    并保留原有权限
    等价于 chmod a+r filename
    2°chmod ugo-x filename 对于filename 文件 将所有人皆不可执行
    并保留原有权限
    3°chmod 756 filename chmod的另外一种指令方式 采用3位一体的8进制
    rwx—111 110 101 100 011 010 001 000
    756 表示 111 101 110 即等效成U+rwx G+rx O+rw
    4°chmod ugo=x filename 与第一个不同在于,所有人将只拥有执行权
    原有权限 将被剥夺。
    5°chmod -R a+r 将当前目录下的所有文件及子目录皆设为任何人可读取。
  4. cd、pwd、mkdir、rmdir 命令
    关于目录的基本指令
    绝对路径、相对路径 这里不再详细说明
    4.1 mkdir
    创建目录用的!!且最常用!
    利用mkdir给目录直接赋予权限;利用 -m 参数进行;
    利用mkdir –p 来递归创建
    实例:
    mkdir –m 755 file 创建目录并赋予所有人都能够读的权利,且用户组和其他用户组不能够写
    mkdir –p a/b/c/f 递归式创建目录
    ☆ 与之相对应地,如何在相同目录下批量创建同前缀名文件/目录?
    mkdir –p test{1…5}/test{1…5} 首先在当前目录下创建test1 – test5
    再再这5个目录下创建test1 – test5 这5个子目录。
    即如图1所示:(这里结合了 –p 参数,我们使用 ls */ 命令即可列出当前目录下所有子目录)

图1·批量创建目录
那么,如何批量创建文件呢?
同样地:
touch test{1…40}.c
如图2所示:
写在学习语言的第二堂课之后
图2·批量创建文件
写在学习语言的第二堂课之后
值得注意的是:
touch命令只适用于子目录下无与欲创建文件名重名,否则touch命令将无法创建新的文件
4.2 rmdir rm
删除目录、删除文件时间有限本文不详细介绍。
参数:
-r 递归
-i 交互
-f 强制
5. PATH命令

 关于vi/vim 编辑器

后续更新················----

 关于linux 基本指令

后续更新-----