文件路径
Windows系统有多个顶级目录,即各个盘符。
Linux只有一个顶级目录,称之为:根目录。
绝对路径
以根目录为起点到一个目录,如/root/1/file1。(Linux系统下/表示根目录)路径以/开头。
相对路径
以一个目录为起点到另一个目录,如果当前在/root/2/file2下,则file1的相对路径为../2/file2。(../表示回退一层)
特殊路径
.表示当前目录,比如 cd .(注意cd和.之间有空格)
..表示上一级目录,比如 cd ..
~表示用户的HOME目录,比如:cd ~
文件路径的命令
查看指定linux路径下的文件
语法:ls [选项] [linux路径]
选项
-a | 表示列出全部文件(包含隐藏的文件/文件夹) |
-l | 以列表(竖向排列)的形式展示内容,并展示更多信息 |
-h | 表示以易于阅读的形式,列出文件大小,如K,M,G |
-h 选项必须要搭配 -l 一起使用
例如:
┌──(kali㉿kali)-[/]
└─$ ls
bin etc initrd.img.old lib64 media proc sbin sys var
boot home lib libx32 mnt root srv tmp vmlinuz
dev initrd.img lib32 lost+found opt run swapfile usr vmlinuz.old
┌──(kali㉿kali)-[/]
└─$ ls -a
. boot home lib libx32 mnt root srv tmp vmlinuz
.. dev initrd.img lib32 lost+found opt run swapfile usr vmlinuz.old
bin etc initrd.img.old lib64 media proc sbin sys var
┌──(kali㉿kali)-[/]
└─$
切换目录
语法:cd [linux路径]
cd命令无需选项,只有参数,表示要切换到哪个目录下
cd命令直接执行,不写参数,表示回到用户的HONE目录
┌──(kali㉿kali)-[/]
└─$ cd /home/kali
┌──(kali㉿kali)-[~]
└─$
查看当前所处路径
语法:pwd
没有参数,直接使用就行。
例如:
┌──(kali㉿kali)-[~]
└─$ pwd
/home/kali
第一个/表示根目录,后面的叫层次关系,表示当前位于根目录下的home文件夹下的kali路径。
创建目录(文件夹)
语法 :mkdir [-p] linux路径
- 参数必填,表示linux路径,即要创建的文件夹的路径,相对路径和绝对路径均可
- -p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录
例如:
┌──(kali㉿kali)-[~/桌面]
└─$ mkdir 6
┌──(kali㉿kali)-[~/桌面]
└─$ ls
6
创建文件
语法:touch Linux路径
- touch命令无选项,参数必填,表示要创建的文件路径,相对,绝对路径均可。
例如:
┌──(kali㉿kali)-[~/Desktop]
└─$ touch 1.txt
┌──(kali㉿kali)-[~/Desktop]
└─$ ls
1.txt
查看文件内容
语法:cat Linux路径
- cat 也没有选项,只有必填参数,参数表示:被查看的文件路径。
语法:more Linux路径
- 没有选项,只有必填参数,参数表示:被查看的文件路径。
- 用空格进行翻页,用q来退出
more 与 cat 不同的是:
- cat 是直接将内容全部显示出来
- more 支持翻页,如果文件内容过多,可以一页一页展示
复制文件和文件夹
语法:cp [-r] 参数1 参数2
- -r选项,可选,用于复制文件夹,表示递归
- 参数1,Linux路径,表示被复制的文件或者文件夹
- 参数2,Linux路径,表示要复制去的地方
移动文件或文件夹
语法:mv 参数1 参数2
- 参数1,Linux路径,表示被移动的文件或者文件夹
- 参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名。(相当于重命名)
删除文件或文件夹
语法:rm [-r -f ] 参数1 参数2 ....参数N
- 同cp命令一样,-r选项用于删除文件夹
- -f表示强制删除(不会弹出确认信息)
- 参数1,参数2...参数N表示要删除的文件或者文件夹路径,按照空格隔开
通配符
rm命令支持通配符*,用来做模糊匹配
- 符号*表示通配符,匹配任意内容(包含空),例如:
- test*,表示匹配任何以test开头的内容
- *test,表示匹配任何以test结尾的内容
- *test*,表示匹配任何包含test的内容
过滤文件
语法:grep [-n] 关键字 文件路径
- 选项 -n ,可选,表示在结果中显示匹配的行的行号。
- 参数,关键字,必填,表示过滤的关键字,建议使用 " " 将关键字包围起来
- 参数,文件路径,必填,表示 要过滤内容的文件路径,可作为管道符的输入
统计文件
语法:wc [-c -m -l -w ] 文件路径
- 不带选项默认统计:行数、单词数、字节数
- -c 字节数、-m 字符数、 -l 行数、-w 单词数
- 参数,被统计的文件路径,可作为管道符的输入
管道符
| 表示管道符,将管道符左边的命令结果,作为右边命令的输入
输出命令
语法:echo 输出的内容
- 无需参数,只有一个参数,表示要输出的内容,复杂内容用 " "包围
反引号( ` )
用`包围的内容会作为命令执行
#加了`号
┌──(kali㉿kali)-[~/Desktop]
└─$ echo `pwd`
/home/kali/Desktop
#没加`号
┌──(kali㉿kali)-[~/Desktop]
└─$ echo pwd
pwd
重定向符
- >,将左边命令的结果,覆盖写入到符号右侧指定的文件中
- >>,将左边命令的结果,追加写入到符号右侧指定的文件中
查看文件尾部内容,跟踪文件的最新更改
语法:tail [-f -num] Linux文件路径
- 选项,-f,表示持续跟踪
- 选项,-num ,表示查看尾部多少行,不填默认10行
- 参数,Linux文件路径,表示被跟踪的文件路径
文件权限
对于ls -l 列出的权限信息
1框表示文件,文件夹的权限控制信息
2框表示文件,文件夹所属用户
3框表示文件,文件夹所属用户组
例如:
drwxr-xr-x,表示:
- 首字母d表示,这是一个文件夹
- 所属用户的权限是:rwx
- 所属用户组的权限是:r-x(-表示无此权限)
- 其他用户权限是:r-x
rwx代表;
- r表示读权限
- w表示写权限
- x表示执行权限
针对文件,文件夹的不同,rwx的含义有细微差别
r ,针对文件可以产看文件内容
针对文件夹,可以查看文件夹内容,如ls命令
w,针对文件表示可以修改此文件
针对文件夹,可以在文件夹内:创建,执行,改名等操作
x,针对文件表示可以将文件作为程序执行
针对文件夹,表示可以更改工作目录到此文件夹,即cd进入
修改文件或者文件夹的权限信息
注意,只有文件、文件夹的所属用户或root用户可以进行修改
语法:chmod [-R] 权限 文件或文件夹
- 选项:-R,对文件夹内的全部内容应用同样的操作
权限也可以用数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其他用户权限。
十进制数 | 权限表示 | 权限 |
0 | --- | 无任何权限 |
1 | --x | 仅有x权限 |
2 | -w- | 仅有w权限 |
3 | -wx | 有w和x权限 |
4 | r-- | 仅有r权限 |
5 | r-x | 有r和x权限 |
6 | rw- | 有r和w权限 |
7 | rwx | 有全部权限 |
修改文件或者文件夹的所属用户或用户组
注意,普通用户无法修改所属为其他用户或组,所以此命令只适用于root用户执行
语法:chmod [-R] [用户] [:] [用户组] 文件或文件夹
- 选项,-R,同chmod,对文件夹内的全部内容应用相同的规则
- 选项,用户,修改所属用户组
- :用于分隔用户和用户组
查找命令的程序文件
语法:which 要查找的命令
按文件名查找文件
语法:find 起始路径 -name "被查找文件名"
按文件大小查找
语法:find 起始路径 -size +|-n[kMG]
- +表示大于,-表示小于
- n表示大小数字
- kMG表示大小单位 ,k(小写字母)表示kb,M表示MB,G表示GB