Linux(二)
<一>绝对路径和相对路径
绝对路径:一定是从根目录写起的;如:cd /usr/local/mysql;
相对路径:首先进入/home,再进入到test;如:cd /home ;
cd test。
<二>cd命令变更用户所在目录
- cd+目录名,则直接切换到该目录下;
- cd+pwd:返回内容则是显示当前所在目录;
- cd+. :表示当前目录;
- cd+… :表示当前目录的上一级目录;
- cd- :表示返回root目录下;
<三>mkdi命令创建目录 - mkdir /tmp/123/test:如果没有中间的123目录,则会报错;
- mkdir -p /tmp/123/test:-p表示如果就算其中的目录,也会直接强制创建
- ls /tmp/123 :返回test;
- ls -ld /tmp/123/test:返回目录属性;-d:将目录像文件一样显示;-l:列出文件的详细信息。
<四> rmdir命令删除空目录,后面可以是一个目录,也可以是多个目录(用空格分隔)。注意只能删除目录,不能删除文件。(这里也可以加-p,但是还是只能删除空目录)rmdir和mkdir有相同的选项-p,他可以级联一大串目录。
<五>rm命令
-r:删除目录用的选项;可以删除非空目录;
-f:强制删除。
<六>环境变量PATH - which命令用于查找某个命令的绝对路径
which rmdir
/usr/bin/rmdir
which rm
alias rm='rm -i'
/usr/bin/rm
which ls
alias ls='ls --color=auto'
/usr/bin/ls
***注释:rm和ls是两个特殊命令***在上面的实例中用which查到rm的绝对路径为/usr/bin/rm。
<七>mv命令用来移动目录或者文件,他还有重命名的作用。
mv【选项】【源文件或目录】【目标文件或目录】。
(1)目标文件是目录或者文件,但该目录不存在;
(2)目标文件是目录或者文件,但该目录存在;
(3)目标文件是文件,但该文件不存在;
(4)目标文件是文件,但该文件存在。
<八>cp命令
- 复制命令,如:cp test1 test2(把test1复制成test2)
- -r:如果要复制一个目录,则必须加-r选项(类似与rm)。
- -i:安全选项,若遇到一个已存在的文件,会询问是否覆盖(与rm类似)。
<九>几个与文档相关的命令 - cat命令用于查看一个文件的内容并将其显示到屏幕上。
- -n:查看文件时,把行号也显示到屏幕上。实例命令:
echo ‘11111111’>(重定向,会删除原有的内容) dirb/filee
echo ‘22222222’>>(重定向,不会删除原有的内容) dirb/filee
cat dirb/filee
11111111
22222222
cat -n dirb/filee
1 11111111
2 22222222
2. -A:显示所有内容,包括特殊字符。示例命令:
cat -A dirb/filee
11111111$
22222222$
上例中,若不加-A选项,那么每行后面的$符号是看不见的。
2. tac命令显示的结果和命令cat正好是反序
3. more命令用于查看一个文件的内容,后面直接跟文件名。
4. less命令后面直接跟文件名
5. head命令用于显示文件的前十行,后面直接跟文件名。如果加-n选项,则显示文件的前几行。
6.tail命令和head命令类似,tail命令用于显示文件的最后十行,后面直接跟文件名。如果加-n选项,则显示文件的最后几行。
<十>文件的所有者和所属组
所有者:文件的拥有者;
所属组:这个文件属于哪一个用户组;
如果想要一个test文件能被a、b看到,则把a、b拉到同一个所属组,在所属组内创造一个test文件即可。
<十一>Linux文件属性
第1列:
①d:该文件为目录;
②-:该文件为普通文件;
③l:链接文件;(link file)
④b:块设备;例如磁盘分区;
⑤c:串行端口设备文件(字符设备文件);例如键盘、鼠标…
⑥s:套间字文件;用于进程之间的通信文件类型后9位,每3位为一组。
第2列:表示该文件占用的节点,如果是目录,那这个数值与该目录下子目录数量有关。
第3列:表示该文件的所有者;
第4列:表示该文件的所属组;
第5列:表示该文件的大小。
第6、7、8列:表示文件最后一次被修改的时间;月份、日期、时间。
第9列:表示文件名。
<十二>更改文件的权限
- chgrp命令
①更改文件所属组,格式为:chgrp 【组名】【文件名】。
②更改目录所属组,格式为:chgrp 【组名】【目录名】。 它只改变了目录本身,而目录下的文件并没有更改。如果想级联更改子目录及子文件,加-R选项即可实现。 - chown命令
更改文件的所有者,格式为:chown 【-R】 【账户名 文件名】 或者 chown 【-R】 【账户名:组名 文件名】。 - 命令chmod用于改变用户对文件/目录的读写执行权限
①格式为:chmod 【×××(权限)】 【文件名】 或者 chmod 【u=…,o=…,g=…(属 性)】 【文件名】
②第一组代表的是这个文件的所有者对这个文件有什么样的权限第二组代表的是这个文件的所有者同组的人对这个文件有什么样的权限第三组代表除组以外的其他人对这个文件有什么样的权限
③更改文件权限,具体规则为:r(可读)=4,w(可写)=2,x(可执行)=1,-(没有这 个权限)=0。属性u、g和o来分别表示user、group和others,a代表all(全部)。
④-R选项的作用等同于chown命令的-R选项,也表示级联更改。 - umask命令
①改变文件默认权限,格式为:# umask ×××(×代表数字)。
②一般使用者为umask为002,root的umask为002。
默认情况下,目录的权限为755,普通文件的权限值为644。
<十二>修改文件的特殊属性 - chattr命令格式为:chattr 【±=】 【文件或者目录名】,其中+、-、=分别代表增加、减少、设定。
- A:表示文件或目录的atime将不可修改;
s:会将数据同步写入磁盘中;
a:表示只能追加不能删除,非root用户不能设定该属性;
c:表示自动压缩该文件,读取时会自动解压;
i:表示文件不能删除、重命名、设定链接、写入以及新增数据。
lsattr命令 - 用于读取文件或者目录的特殊权限,格式为:lsattr 【-aR】 【文件/目录名】
- -a:连同隐藏文件一同列出;
- -R:连同子目录的数据一同列出
<十三>在Linux下搜索文件
1.用which命令查找可执行文件 只能用来查找PATH环境变量中出现的路径下的可执行文件。
which vi /usr/bin/vi122.
2.用whereis命令查找文件 通过预先生成的一个文件列表库查找与给出的文件名相关的文件,格式为whereis 【-bms】 【文件名称】。
3. -b:只查找二进制文件;
-m:只查找帮助文件(在man目录下的文件);
-s:只查找源代码文件;
4.用locate命令查找文件
类似与whereis。如果Linux没有这个命令,则可安装mlocate软件包。
5.用find搜索文件
-atime +n/-n:表示访问或执行时间大于或小于n天的文件;
-ctime +n/-n:表示写入、更改inode属性时间大于或小于n天的文件;
-mtime +n/-n:表示写入时间大雨或小于n天的文件;
-name filename:表示直接查找该文件名的文件。
type filetype:表示通过文件类型查找文件。