CentOS文件目录类语法
目录
一、目录查看切换类
1. pwd 显示当前工作目录的绝对路径
基本语法:
pwd 显示当前工作目录的绝对路径
案例:
[root@node01 home]# pwd
/home
2. ls 列出目录的内容
基本语法:
ls [选项] [目录或是文件]
选项:
- -a :全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)
- -l (II): 长数据串列出,包含文件的属性与权限等等数据;(常用)。每行列出的信息依次是: 文件类型与权限 链接数 用户 用户组 文件大小用byte来表示 修改时间 文件名
案例:
Notes:
- 创建隐藏文件,只需在文件名前加 . 即可:mkdir .文件名
- ls -l (等同于ll)中罗列出的信息
其中:
- -rw---------:共十个字符,表示该文件的类型(第一个字符)及权限(其余九个字符)。
- 1(数字):硬链接数 / 快捷方式
- root(1):当前文件的创建用户
- root(2):用户管理组
- 1510:当前文件的大小
- 7月19 13:28:最后一次修改文件的时间
- 最后一项:文件名
二、文件与目录创建删除类
1. mkdir 创建一个新目录
基本语法
mkdir [-p] 要创建的目录
-p 创建多层目录
案例
[root@node01 opt]# mkdir test
[root@node01 opt]# mkdir -p /opt/test1/word
2. touch 创建空文件
基本语法
touch 文件名称
案例
[root@node01 opt]# touch test.java
3. rmdir 删除一个空的目录
基本语法
rmdir 要删除的空目录
案例
[root@node01 opt]# mkdir test
[root@node01 opt]# rmdir test
4. rm 移除文件或目录
基本语法
rm 参数 删除文件,并且需要确认
参数
- -f 强制 ,删除文件,不需要确认
- -rf递归 ,递归删除目录及目录中所有内容(该命令在使用过程中要小心,因为一旦删除,默认情况不能恢复)
案例
#1)删除空目录
[root@node01 opt]# rm -rf test
#2)递归删除目录及目录中所有内容
[root@node01 opt]# rm -rf test1
三、文件权限类
1. 文件属性
对于通过 ls -l / ll 显示出的文件的详情信息
eg:drwxr-xr-x. 3 root root 4096 Jun 23 04:51 Desktop
对于其相关字符:
文件权限组成
描述 |
文件类型 |
属主权限 |
属组权限 |
其他用户权限 |
第几个字符 |
0 |
1 2 3 |
4 5 6 |
7 8 9 |
代表字符 |
d |
r w x |
r w x |
r w x |
权限含义 |
目录 |
读 写 执行 |
读 写 执行 |
读 写 执行 |
详细概述
- 从左到右的10个字符表示:如果没有权限,就会出现减号[ - ]。从左至右用0-9这些数字来表示:
- 0首位表示文件类型:在Linux中第一个字符代表这个文件是目录、文件或链接文件等等。
- :代表文件
d :代表目录
l : 链接文档(link file); - 第1-3位确定属主(该文件的所有者)拥有该文件的权限。---User(当前用户权限)
- 第4-6位确定属组(所有者的同组用户)拥有该文件的权限,---Group(当前用户所属组的用户权限,如管理员和普通用户两组)
- 第7-9位确定其他用户拥有该文件的权限 ---Other(其他用户)
2. rxw 作用文件和目录的不同解释:
- 作用到文件:
[ r ]代表可读(read) 可以读取,查看
[ w ]代表可写(write) 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件
[ x ]代表可执行(execute) 可以被系统执行 - 作用到目录
[ r ]代表可读(read) 可以读取,ls查看目录内容
[ w ]代表可写(write) 可以修改,目录内创建+删除+重命名目录
[ x ]代表可执行(execute) 可以进入该目录
案例
[hello@node01 ~]$ ls -l
总用量 8
drwxrwxr-x. 2 root root 4096 5月 27 14:14 hello
-rw-rw-r--. 1 root root 34 5月 27 14:20 test.txt
其中的 2/1:
(1)如果查看到是文件:链接数指的是硬链接个数。
(2)如果查看的是目录:链接数指的是子目录个数(包括该目录下的隐藏目录)。
[root@node01 opt]# ls -al hello/
总用量 8
drwxr-xr-x. 2 root root 4096 9月 3 19:02 .
drwxr-xr-x. 5 root root 4096 9月 3 21:21 ..
Notes:. 关联的是当前目录的个数;..关联的是上一级目录的个数
2. chmod 改变权限
基本语法
第一种语法:chmod [{ugoa}{+-=}{rwx}] [文件或目录]
第二种语法:chmod [-R] [mode=数字] [文件或目录]
功能描述
- 第一种语法参数解释
ugoa: u:所属者;g:所属组;o:其他人; a:所有人(u、g、o的总和)
+-=: +代表增加权限;-代表减少权限;=代表赋值为某个权限
rwx: 代表增加、删除、赋予什么权限
改变文件或者目录权限;
文件 : r-查看; w-修改; x-执行文件
目录 : r-列出目录内容; w-在目录中创建和删除; x-进入目录
删除一个文件的前提条件:该文件所在的目录有写权限,你才能删除该文件。
- 第二种语法 参数解释
-R:代表递归赋予权限,用于目录,代表将目录下的所有文件和目录服务此权限
mode处需要填写权限数字和,其中数字的换算为
r=4 w=2 x=1
mode=4+2+1=7
案例
#(1)修改文件使其所属主用户具有执行权限:
[root@hadoop101 ~]# cp xiyou/dssz/houge.txt ./
[root@hadoop101 ~]# chmod u+x houge.txt
[root@node1 ~]# chmod o+x-w test.txt
#(2)修改文件使其所属组用户具有执行权限
[root@hadoop101 ~]# chmod g+x houge.txt
#(3)修改文件所属主用户执行权限,并使其他用户具有执行权限
[root@hadoop101 ~]# chmod u-x,o+x houge.txt
#(4)采用数字的方式,设置文件所有者、所属组、其他用户都具有可读可写可执行权限。
[root@hadoop101 ~]# chmod 777 houge.txt
#(5)修改整个文件夹里面的所有文件的所有者、所属组、其他用户都具有可读可写可执行权限。
[root@hadoop101 ~]# chmod -R 777 xiyou/
四、文件复制移动类
1. cp 本机复制文件或目录
基本语法
cp source dest 复制source文件到dest
cp -r sourceFolder targetFolder 递归复制整个文件夹(不管目录下有无内容,都要加 -r)
案例
#(1)复制文件
[root@node01 opt]# cp test.java test
#(2)递归复制整个文件夹
[root@node01 opt]# cp -r test test1
2. mv 移动文件与目录或重命名
基本语法
mv oldNameFile newNameFile 重命名(在同一个目录下操作时)
mv /temp/movefile /targetFolder 递归移动文件(不在同一个目录下操作时)
案例
#1)重命名
[root@node01 opt]# mv test.java test1.java
#2)移动文件
[root@node01 opt]# mv test1.java test1
3. scp 实现文件远程复制
基本命令
scp source 用户名@服务器ip:目标路径---------远程拷贝(跨服务器),文件
scp -r source 用户名@服务器ip:目标路径------远程拷贝(跨服务器),目录
scp [-r] source 用户名@服务器ip:`pwd`--------- 远程拷贝(跨服务器),将文件或者目录拷贝到当前服务器相同的目录;
案例
[root@node1 ~]# scp test.txt root@192.168.100.102:/root/
The authenticity of host '192.168.100.102 (192.168.100.102)' can't be established.
RSA key fingerprint is 74:14:6e:3f:ba:11:28:4c:30:1a:06:90:76:0f:18:50.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.100.102' (RSA) to the list of known hosts.
root@192.168.100.102's password: 输入密码(没有回写)
test.txt 100% 0 0.0KB/s 00:00
[root@node1 ~]# scp -r tianyu/ root@192.168.100.102:/root
root@192.168.100.102's password: 输入密码(没有回写)
[root@node1 home]# scp -r songpengjie/ root@192.168.100.102:`pwd` (拷贝到102的服务器的/home目录)
五、文件查看与数据追加相关命令
1. cat 查看文件内容
查看文件内容,从第一行开始显示。一般适用于文件内容少时。
基本语法
cat [选项] 要查看的文件 (默认情况显示当前文件内容)
选项
-A |
相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已; |
-b |
列出行号,仅针对非空白行做行号显示,空白行不标行号! |
-E |
将结尾的断行字节 $ 显示出来; |
-n |
列出行号,连同空白行也会有行号,与 -b 的选项不同; |
-T |
将 [tab] 按键以 ^I 显示出来; |
-v |
列出一些看不出来的特殊字符 |
案例
#面试题:查看CentOS版本命令
[root@shixun ~]$ cat /etc/os-release
[root@shixun ~]$ cat -n a.txt
2. tac 查看文件内容
查看文件内容,从最后一行开始显示,可以看出 tac 是 cat 的倒着写。
基本语法
tac [选项参数] 要查看的文件
案例
[root@shixun ~]$ tac a.txt
3. tail 查看文件内容
查看文件内容,只看尾巴几行。加上 -F / -f 可以用于监控文件测试,可以实时查看文件的变化,并且将文件的变化内容打印在控制台上,方便报错检测。
基本语法
tail [选项] [文件]
选项
-n<行数> |
显示文件的尾部 n 行内容 |
-f |
实时追踪该文档的所有更新,当文件改名或被删除,追踪停止,等同于--follow=descriptor,默认是打印最后10行 |
-F |
实时追踪该文档的所有更新,该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪,默认是打印最后10行 |
Notes:-f 和 -F 都是跟踪 testfile 文档;当删除 testfile 文档时,-f 就不再跟踪,而 -F 会继续跟踪并且会提示“tail: `testfile' has become inaccessible: No such file or directory”;当新建一个 testfile 文档时, -F 会继续跟踪显示出来,而 -f 不会显示;即 -F 不会因为删除或重建而停止跟踪。
4. 重定向命令
原先比如将一个内容打印在控制台,重定向可以将该内容输入到指定文件中,而非控制台
基本语法
ls -l > 文件 列表的内容写入文件a.txt中(覆盖写)
ls -al >> 文件 列表的内容追加到文件aa.txt的末尾
案例
追加型: >>
覆盖型:>
5. echo回写命令
echo 输出内容到控制台中
基本语法
echo [选项] [输出内容]
选项
-e:支持反斜线控制的字符转换
控制字符 |
作用 |
\\ |
输出 \ 本身 |
\n |
换行符 |
\t |
制表符(Tab键) |
Notes:(1)可以结合重定向命令实现将数据写到文件--------echo 输出内容 重定向命令 文件路径
(2)echo命令也可以通过 $ 输出环境变量的路径-----echo $JAVA_HOME
案例
六、软链接、硬链接相关类命令
1. ln 软链接
以路径的形式存在,可以当成是windos下的“快捷方式”,只是指向了实际文件,实际文件删除,软链接失效
基本语法
ln -s [原文件] [目标文件]------给原文件创建一个软链接,软链接存放在目标文件目录,-s是soft的意思
ln –s [原目录] [目标目录]------给原目录创建一个软链接,软链接存放在目标目录,-s是soft的意思
删除软链接:
rm -f aaa.txt 删除文件软链接
rm -rf aa,而不是rm -rf aa/ 删除目录软链接
案例
2. ln 硬链接
相当于复制了一份,实际文件不存在后,硬链接不会失效
基本语法
ln [原文件] [目标文件] 给原文件创建一个硬链接,软链接存放在目标文件目录
rm -rf aa,而不是rm -rf aa/ 删除硬链接;硬链接相当于对原文件内容进行了复制,当删除原文件的时候,硬链接文件。