一、绝对路径和相对路径
绝对路径: 路径的写法一定是由根目录/写起的,例如 /usr/local/mysql
相对路径: 路径的写法不是由根目录/写起的。例如#cd /home #cd test ,此时用户所在的路径为/home/test,这个test是相对于/home目录来讲的,所以称为相对路径。
linux基础命令
1、命令cd: 用来变更用户所在目录的,如果后面什么都不跟,就会直接进入当前用户的根目录下。示例如下
cd /tmp/ 进入指定目录(tmp为目录名)
cd . “.”表示当前目录
cd .. “..”表示当前目录的上一级目录
2、命令mkdir: 用于创建目录。该命令格式为:mkdir[-mp][目录名称]。其中,-m、-p为其选项。-m选项用于指定要创建目录的权限。示例命令如下:
mkdir -p /tmp/test/123
3、命令rmdir: 用于删除空目录,可以是一个,也可以是多个目录(用空格分隔)。该命令只能删除目录,不能删除文件。示例命令如下:
#ls /tmp/test
123
#rmdir /tmp/test/123
#ls /tmp/test
# (已删除)
4、命令rm
- -r:删除目录用的选项,类似于rmdir,但可以删除非空目录。
- -f:表示强制删除。不是询问是否删除,而是直接删除。
示例命令如下:
#rm -rf /tmp/test/123
(注:rm -rf命令后面不能加“/”,否则会把系统文件全部删除)
5、环境变量PATH
命令which,用于查找某个命令的绝对路径。
#echo $PATH 这里的echo用来输出$PATH的值,$是变量的前缀符号。
6、命令cp: cp是copy的简写,该命令格式为:cp[选项] [来源文件] [目的文件]。
- -r:复制目录
- -i:这是安全选项,询问是否覆盖
7、命令mv: mv是move的简写,该命令格式为:mv[选项] [源文件或目录] [目标文件或目录]。
当目标文件是目录时,其存在与否,执行后的结果是不一样的。若目录存在,则会把源文件或目录移动到该目录中。若该目录不存在,则会把源目录重命名为给定的目标文件名。
与文档相关命令
1、命令cat: 比较常用的命令,用于查看一个文件的内容并将其显示在屏幕上。cat后面可以不加任何选项,直接跟文件名。
- -n:查看文件时,把行号也显示到屏幕上。
- -A:显示所有的内容,包括特殊字符。
2、命令tac: 和命令cat一样,也是把文件内容显示在屏幕上,不过是倒序。如:
#tac dirb/filee
3、命令more: 用于查看一个文件内容,后面直接跟文件名。当文件内容太多,一屏不能显示全,用命令cat肯定是看不了前面的内容,这时可以用命令more。空格键看下一屏,ctrl+d向上翻屏,ctrl+f向下翻屏。
4、命令less: 与命令more一样,后面直接跟文件名,但命令less比命令more功能多一些。空格键翻页,j键向下移动,k键向上移动,使用more或less查看文件时,可按/键并输入字符串,回车,这样可查找字符串。
5、命令head: 用于显示文件的前10行,后面直接跟文件名。
6、命令tail: 和命令head类似,命令tail用于显示文件的最后10行。
文件所有者和所属组
所有者:文件的拥有者。
所属组:这个文件所属用户组。
linux文件属性
- 第一列:包含该文件的类型,所有者,所属组以及其他用户对该文件的权限。
- 第二列:表示该文件占用的节点,如果是目录,那这个数值与该目录下是子目录数量有关。
- 第三列:表示该文件的所有者。
- 第四列表示该文件的所属组。
- 第五列:表示该文件的大小。
- 第六、七、八列:表示该文件最后一次被修改的时间,依次为月份、日期以及时间。
- 第九列:表示文件名。
更改文件的权限
1、命令chgrp: 可以更改文件的所属组,其格式为:chgrp[组名][文件名],示例如下:
#chgrp testgroup dir2
如果想级联更改子目录以及子文件,加-R选项可以实现,如:
#chgrp -R testgroup dir2
2、命令chown: 可以更改文件的所有者,其格式为:chown[-R]账户名文件名或者chown[-R]账户名:组名 文件名。这里的-R选项只适用于目录,作用是级联更改,即不仅更改当前目录,连目录里的目录或者文件也全部更改。如:
#chown user1 dir3
3、命令chmod: 用于改变用户对文件/目录的读写执行权限,其格式为:chomd[-R]xyz 文件名(这里的xyz表示数字)。
Linux使用数字代替rwx,r等于4,w等于2,x等于1,-等于0。
-R选项作用等同于chown命令的-R选项。在Linux系统中,一个目录默认权限为755,一个文件默认权限为644。
4、命令umask: 用于改变文件的默认权限,其格式为:umask xxx(这里的xxx代表三个数字)。查看umask的值,只需命令行输入umask即可。默认情况下,root的umask为022,而一般使用者则为002。
5、修改文件的特殊属性
-
命令chattr:格式为:chattr[±=][Asaci][文件或者目录名],其中,+、-、=分别表示增加,减少,设定。
-
A:表示文件或目录的atime将不可修改。
-
s:会将数据同步写入磁盘中。
-
表示只能追加不能删除,非root用户不能设定该属性。
-
表示自动压缩该文件,读取时会自动解压。
-
表示文件不能删除、重命名、设定链接、写入以及新增数据。
2.命令lsattr:该命令用于读取文件或者目录的特殊权限,其格式为:lsattr[-aR][文件/目录名]。
-
-a:连同隐藏文件一同列出。
-
-R:连同子目录的数据一同列出。
3.set uid、set gid和sticky bit
- setuid: 在执行时具有文件所有者的权限.
- setgid: 设置目录. 一个目录被标上setgid位,此目录下创建的文件继承该目录的属性.
- sticky bit: 该位可以理解为防删除位. 设置sticky
bit位后,就算用户对目录具有写权限,但也只能添加文件而不能删除文件。
在linux下搜索文件
1、用which命令查找可执行文件的绝对路径: which只能用来查找PATH环境变量中出现的路径下的可执行文件。如:
#which vi
#which cat
2、用whereis命令查找文件: 通过预先生成的一个文件列表库查找与给出的文件名相关的文件,其格式为:whereis[-bms][文件名称],各选项含义如:
- -b:只查找二进制文件。
- -m:只查找帮助文件(在man目录下的文件)。
- -s:只查找源代码文件。
4、使用find搜索文件: 其格式为:find[路径][参数]。
- -atime +n/-n:表示访问或执行时间大于或校园n天的文件。
- -ctime +n/-n:表示写入、更改inode属性的时间大于或小于n天的文件。
- -mtime +n/-n:表示写入时间大于或小于n天的文件,该参数用得最多。
- -name filename表示直接查找该文件名的文件。
- -type filetype表示通过文件类似查找文件。