文件管理与常用命令
Linux中的文件名最大支持256个字符,分别可以用A~Z、a~z、0~9等字符来命名。
Linux下的文件可以分为5种不同的类型:普通文件、目录文件、链接文件、设备文件和管道文件。
Linux目录结构:
/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。
/boot:boot这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev :dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
/srv:该目录存放一些服务启动之后需要提取的数据。
/sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
/tmp:这个目录是用来存放一些临时文件的。
/usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
/usr/bin:系统用户使用的应用程序。
/opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
/root:该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/selinux:这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
常用命令:
pwd #显示当前工作目录的绝对路径
ls -a #显示当前目录所有的文件和目录,包括隐藏的。
ls -a #以列表的方式显示信息
cd #切换到制定目录
mkdir [选项] 要创建的目录 #用于创建目录 -P:创建多级目录
rmdir [选项] 要删除的目录 #用于删除空目录 rmdir删除的是空目录,不能删除非空目录,如果需要删除非空目录,需要使用rm –rf 要删除的目录
touch 文件名称 #用于创建空文件
cp [选项] 源文件 目标目录地址 #拷贝文件到指定目录 -l :递归复制整个文件夹
rm [选项] 要删除的文件或目录 #移除文件或目录 -r:递归删除整个文件夹 -f:强制删除不提示件夹
mv oldNameFile newNameFile #(功能描述:重命名)
mv /temp/movefile /targetFolder #(功能描述:移动文件)
cat [选项] 要查看的文件 #查看文件内容,但不能修改文件内容 -n:显示行号
more 要查看的文件 #文件查看
more指令是一一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键
less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
head命令用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容。
head 文件 (功能描述: 查看文件头10行内容)
head –n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
tail命令用于输出文件中尾部的内容,默认情况下tail 指令显示文件的前10行内容。
tail 文件 (功能描述: 查看文件尾10行内容)
tail –n 5 文件 (功能描述:查看文件尾5行内容,5可以是任意行数)
tail -f 文件 (功能描述:实时追踪该文档的所有更新)
In命令 软链接也称为符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径
ln –s [原文件或目录] [软链接名] (功能描述: 给原文件创建一个软链接)
history命令:查看已经执行过历史命令,也可以执行历史指令
find命令 find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
find [搜索范围] [选项]
Locate 指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate数据库
locate 搜索的文件
grep命令 用于查找文件里符合条件的字符串
grep [选项] 搜查找内容 文件名
文件或目录的访问权限分为只读,只写和可执行三种。有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。
每一个文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。
第0位确定文件类型, d 是目录;- 是文件;l 则表示为链接文档等。
第1-3位确定属主(该文件的所有者)拥有该文件的权限。
第4-6位确定属组(所有者的同组用户)拥有该文件的权限
第7-9位确定其他用户拥有该文件的权限。
第1、4、7位表示读权限,如果用"r"字符表示,则有读权限,如果用"-“字符表示,则没有读权限;
第2、5、8位表示写权限,如果用"w"字符表示,则有写权限,如果用”-“字符表示没有写权限;
第3、6、9位表示可执行权限,如果用"x"字符表示,则有执行权限,如果用”-"字符表示,则没有执行权限。
修改文件目录的访问权限
基本语法,+ - =变更权限,u:所有者g:所有组 o:其他人 a:所有人(u、 g、o的总和)
1) chmod u=rwx,g=rx,o=x 文件/目录名
2) chmod o+w 文件/目录名
3) chmod a-x 文件/目录名
应用案例
1)给abc文件的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。 chmod u=rwx,g=rX,0=rX abc
2)给abc文件的所有者除去执行的权限,增加组写的权限
chmod u-x,g+w abc
3)给abc文件的所有用户添加读的权限
chmod a+r abc
基本语法:r=4 w=2 x=1,rwx= =4+2+1=7
chmod u=rwx, g=rx,0=x 文件/目录名
相当于
chmod 751 文件/目录名
应用案例
要求:将/home/abc.txt 文件的权限修改成rwxr-xr-x,使用给数字的方式实现:
chmod 755 /home/abc.txt
基本语法:r=4 w=2 x=1,rwx= =4+2+1=7
chmod u=rwx, g=rx,0=x 文件/目录名
相当于
chmod 751 文件/目录名
应用案例
要求:将/home/abc.txt 文件的权限修改成rwxr-xr-x,使用给数字的方式实现:
chmod 755 /home/abc.txt