【CentOS】文件与目录管理

一、文件与目录管理

0.cd——change directory

cd -  返回上次的目录

cd ~ 返回到家目录 ——对于root用户来说是/root,对于普通用户来说是/home/用户名

cd .. 返回到上一级目录

cd .  返回到当前目录(也就是没有动 = =)

1.pwd  [-PL]

-P  显示绝对路径(硬链接)

-L  显示相对路径(软链接)

2.mkdir

    -p  递归创建

    -v  可视化创建

rmdir(通常情况下不用这个命令,因为很容易误删文件,因而改用rm -r,下面会讲)

3.ls  [-ailS]    显示文件名、属性等

(默认为'ls --color=auto')

-l  列出详细信息,连同文件大小,属性数据等

-i  打印inode的值

-a  列出全部文件(包括隐藏文档)

-d  仅列出目录

-t  按时间先后顺序排序(这个通常用在运维方面,可以根据最近修改的目录去排查错误)

-S  按照文件大小排序

4.cp  [-dsru]

(默认为'cp -i')

-u 如果源文件较新,或者没有目标文件,才会进行动作

-r  对目录进行操作

-i   提供用户确认

5.rm  [-fir]

(默认为'rm -i')

-r  (对目录进行操作)循环删除,直到没有东西位置

-f  强制执行force

-i  提供用户确认

6.mv(挪动,重命名)

(默认为'mv -i')

-u 如果源文件较新,或者没有目标文件,才会进行动作

-v  可视化操作

-i   提供用户确认

若想使用真正的这些命令,则/bin/rm,或者是取消它的别名unalias rm等

二、查看文件内容

1.cat/tac  [-nA]

-A  显示所有的字符,包括特殊字符,如下图,其中$表示为回车键

【CentOS】文件与目录管理

    正序查看和逆序查看

2.more/less

    文本相关的常用快捷键:

      翻页:j向下剪     k向上看,大哥G到最前,小哥g到最后

      搜索:/what 向下查找 ,?what向上查找

3.head/tail  [-n number]

如要动态显示文件内容(譬如说日志什么的),可用tail -f

4.文件属性

    [文件类型][文件硬链接总数][属主][属组][文件大小]

     -普通文件

     c字符文件

     b块文件

     s套接字文件

     l软链接文件

     p管道文件

5.ln   [-s]

加了-s之后表示建立软链接

      硬链接不可跨目录创建,不能链接目录,删除源文件,链接文件亦然可用,软链接相反

      Q:为什么硬链接不能指向目录??

A:1.因为会引起混乱,硬链接只是做一个备份,注意硬链接不能跨分区,因为inode生成是在分区划分好的,一个好的分区inode各不相同,每个分区都有inode

       2.有相同的inode会引起混乱

三、文件与目录权限

1.chown [-R]  user:group

-R表示循环的将该目录下的所有文件都改成user,group的名称

2.chmod [-R]

-R循环的将该目录的文件都改变

chmod还支持a+x,u-x,g+w,o=rx等选项,其中a=all,u=user,g=group,o=other

3.umask

表示“该默认值需要取消的权限”

默认的用户建立“文件”,最大为666,普通文件权限为644

默认的用户建立“目录”,最大为777,目录权限值为755

默认的root的umask为022,普通用户为002

umask可以在/etc/bashrc里面修改

4.chattr\lsattr

chattr [+-=][-ia][filename or dirname]

chattr +i /etc/shadow

如此则无法被删除、更名、设定链接也无法写入或新增数据

chattr +a /etc/shadow

这个文件只能增加数据不能删除

由于这些属性是隐藏属性,所以需要lsattr才能看得到

lsattr [-aR]

-R  连同子目录的数据一并列出来

四、SetUID,SetGID,Sticky bit

【CentOS】文件与目录管理

我们可以看到,原本x属性变成了s属性,这个就是所谓的SUID。

若为-rwxr-sr-x的话,则为SGID,它的作用是让普通用户临时拥有属主的权限,具体例子就是我们普通用户可以修改密码。

若为-rwxrwxrwt,则旗下的文件或者目录只有文件拥有者才有权删除该文件

五、搜索文件或目录

1.which [filename]

2.whereis [-bsu]

-b 只找二进制文件

-u 没有说明文档的文件

-s 只找source源文件

注意:whereis只在固定的几个目录中搜索:/bin, /sbin, /usr/bin, /usr/sbin, /usr/share/man/manl

3.locate [dname]

使用时需要update下数据库

4.find[指定目录][指定条件][指定动作]

-o  表示或者的意思,不加就是与

-name 根据名字查找

-type 寻找文件属性为type的文件

-atime  n 将n*24小时内被access(访问、读)过得文件列出来

-ctime  n 将n*24小时内被改变、新增的文件或目录列出来(更改属性,譬如文件名、实践、大小)

+mtime n 将n*24小时前被modify过得文件列出来(文件内容本身)

注意:条件取反,eg:find ! -ctime 5 表示将除去n*24小时内被改变、新增的文件或目录列出来(只需在条件前面加个!)

六、目录结构

说到目录结构,我就不一一献丑了,在网上有一篇非常全的目录结构的东西

http://yangrong.blog.51cto.com/6945369/1288072

比较好玩的是,今天上课的时候知道了一些文件名缩写的含义

譬如:/bin/的缩写是binary,二进制

     /sbin/的缩写是super binary,两者的区别是/bin/对的是普通用户,而/sbin/对的是我们的root(不知道这句概括有无疏漏的地方,如有错误望指正)

   两者都相同的就是他们这两个文件夹均为用来放置命令

     /etc/是其他的意思,也要一些新译

关于这个文件结构,要熟悉他,我们还使用了tree命令(因为我们是最小化安装的,所以要先yum install -y tree)

七、PATH与快捷键

PATH

将命令加入到PATH中方法:

  PATH=$PATH:/tmp             (注意,这里的PATH其实是一个变量)

  要让这个变更永久生效,就要更改配置文件->>> /etc/profile

  要让这个变更立即生效,敲键盘 source /etc/profile

快捷键

ctrl+C   取消cancel

ctrl+Z   暂停,使用fg可恢复

ctrl+a   光标飞到行的最左

ctrl+e   光标飞到行的最右

ctrl+s   锁定终端,你干啥他都不会有反应(这个一定要和使用Windows区分开来!!!!)

ctrl+q   退出锁定

ctrl+l    相当于clear

ctrl+k   光标后面输入的东西舍弃掉

ctrl+u   光标前面输入的东西舍弃掉

ctrl+d   相当于exit

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

华丽的分割线

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

说一下最近的情况吧。之所以据前一篇心得已经过了两天,是因为我们不知不觉已经进入了第一个考试周了,刚刚考完线性代数,然后考完试出来之后感觉这两天复

习线代所做的努力没有白费,既然第一门考试已经考完了,我也要加紧时间学习Linux了,希望自己能够坚持下来,我的付出一定有回报!

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

再编辑一次吧,因为考虑到自己的排版很有问题,而且和之后的博客关联性很大,因此就索性把几篇的内容整理到同一篇里面去了,加油!

上一篇:php 设置字符集为utf-8


下一篇:db2服务器端授权