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

学习Linux基本命令1

时间:2016-01-29 03:40:27      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:linux

    用了很久的linux,但是也只用到某些命令,并没有深入去全面学习,很久之前就买了一本《Linux指令规范速查》手册,上面有一个光盘,有一个比较系统的教程。所以今天开始想学一下。下面的只是记下我自己平时不常用的。。


    ls -a 查看所有文件,包括隐藏文件。隐藏文件以‘.‘作为前缀。

    ls -l 中c 表示字符设备,b 表示块设备,l 表示链接符号,d 表示目录,- 表示一般文件。

    ls -i 查看索引节点,所有的文件前面都多了一个数字,如果两个数字相同,那么那两个文件本质上是同一个文件。


    cp -l 建立硬连接。

        eg. cp -l hello hardlink.hello

            此时,hardlink.hello与hello拥有相同的索引节点号

    cp -i 建立符号链接。

        eg. cp -i hello symlink.hello

            此时,symlink.hello与hello拥有不同的索引节点号,但是symlink.hello会指向hello


    alias 查看系统已经设置了的别名

    

    rmdir 删除空目录,对于非空目录不能删除。个人感觉这个命令没有啥用,但是这个可以作为检查目录是否非空来运用。

    mkdir -p 可以递归的创建多个目录。

        eg. mkdir -p a/b/c/d 

            此时,就会在当前目录创建了a目录,然后在a目录下创建了b目录,如此类推

    rmdir -p 可以递归的删除多个空目录。前提是这些目录都为空。

        eg rmdir -p a/b/c/d


    chgrp 修改工作组。

    chgrp -R 递归的修改目录以及目录下面所有的文件都进行工作组的修改。

        chgrp -R user dir


    chmod u=rwx,g=rw,o=rw 修改对应文件的操作权限。

    chmod u-x 修改对应文件的+-增加或者减少操作权限

    chmod a 表示修改对应文件的u,g,o的所有的操作权限


    chown 修改文件的所有者以及工作组。

    chown -R root:root dir

        此时,递归的修改dir以及dir目录下所有文件的所有者以及工作组。

    chown root dir

        此时,只改变dir的所有者


    find ./ -name "*.c" -exec rm -rf {} \;

        此时,会在当前路径,找到后缀名为.c的所有文件,并通过-exec 来调用shell命令rm -rf ,然后找出的结果会放到一对花括号里面。最后以" \;"作为调用外部命令的结束符。


    ln 连接。

        eg. ln log hard.log

            此时就会生成一个硬连接,它们的设备节点号是相同的(ls -i查看),改变其中一个的内容,另外一个也会改变,删除其中一个,对另外一个不受影响。其中要注意的是,硬连接一定要在同一个设备分区中进行,而且不能对目录进行硬连接。因为每一个设备分区中的设备节点都是自成体系的。

        eg. ln -s log sym.log

            此时会生成一个符号连接,他们的设备节点不同,本质上是两个不同的文件,只是符号连接指向了那一个目标文件(ls -l查看)。改变其中一个内容,另外一个也会改变,但是如果删除了目标文件,符号连接会变成红色并失效。符号连接可以是跨设备分区并能对目录进行操作。


    whereis 会显示我们平时用的命令的二进制文件路径,源文件路径,以及man手册的路径。

        eg. whereis ls


    which 会在$PATH下的目录进行寻找我们平时用的命令的所在的执行路径以及别名(Ubuntu9下面不显示别名alias)

        eg. which ls


    touch 修改文件的时间属性,文件的最近一次修改时间更改为当前的系统时间。

    touch file{1,2,3}

        此时,依次创建file1,file2,file3三个空文件。


    locate 在数据库中查找文件,比find要快很多,但是准确性要根据使用updatedb来更新数据库的周期。


    dd 格式化输出文件(给我的感觉是这样哈~)

        eg. dd if=hello.c conv=ucase of=new.c

            此时,会把hello.c中所有的字母变成大写并拷贝为new.c

        eg. dd if=/dev/cdrom of=mycdrom.iso

            此时,会把cdrom里面的内容做成一个以.iso为后缀的镜像

        eg. dd if=/dev/fd0 of=myfloppy.img

            此时,会把fd0里面的内容做成一个以.img为后缀的软盘


    dirname /hello/hello.c 获取文件所在位置的绝对路径

        此时,会输出hello.c所在的绝对路径 /hello


    basename 去除文件路径前面的路径,只获取文件名。

        eg. basename /hello/world/test.c

            此时,会输出test.c

        eg. basename /hello/world/test.c .c

            此时,会输出test。 如果要去除后缀名,则只需要在命令的最后加上要去除的类型。


    pathchk /hello/hello.c 用来检测这个路径作为参数的时候是否合法,是否具有可移植性

        此时,如果没有输出,证明是OK的

            

    rename 批量改名

        eg. rename file linux test*  (在Debain下)

        eg. rename ‘s/file/linux/‘ test* (在Ubuntu下)

            此时,会在当前目录查找所有以test为前缀的所有文件,并把这些文件名中的file字符改成linux

学习Linux基本命令1

标签:linux

原文地址:http://sam2016.blog.51cto.com/9877956/1739697

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