一、Linux 目录结构
二、文件基础操作
Linux 命令一般由三部分组成,命令 + 选项 + 参数。
1、pwd:列出当前所在路径
cs
pwd //列出当前所在目录
2、cd:切换路径
cs
cd /home/boot //切换路径为/home/boot
cd .. //返回上一级目录
cd ../.. //返回上上级目录
cd - //返回上次目录
cd ~ //切换路径为home
3、mkdir:创建目录
cs
mkdir dir0 //创建目录dir0
mkdir -p dir1/dir2 //创建目录dir1以及子目录dir2
4、rmdir:删除目录
cs
mkdir dir0 //删除目录dir0
5、ls:列出目录内容
cs
ls //列出当前目录内容
ls -l //显示文件完整信息
ls -a //显示所有文件包括隐藏文件
ls -la //显示所有文件的全部信息
ls -lh //以K/M/G等可读方式列出来
6、cp:复制文件
cs
cp -r dir1 dir2 //递归的复制dir1的内容到dir2
7、rm:删除文件
cs
rm -rf dir1 //强制递归删除dir1及其子目录
8、mv:移动文件
cs
mv ../1.txt . //将上级目录中的1.txt移到当前目录
9、cat:显示文件信息
cs
cat 1.txt 2.txt //显示1.txt和2.txt内容
10、touch:修改文件时间,如果没有该文件则创建该文件
cs
touch 1.txt //修改文件时间为当前时间
三、权限与属性修改
我们先来看一下 ls -l 列出的文件属性:
第1个字符 - 表示文件类型,d表示目录,-表设普通文件,l表示链接文件;
随后的字符 rw-r--r-- 每三个为一组,共三组。每组第一位 r 表示可读,第二位 w 表示可写,第三位 x 表示可执行,- 表示没有该权限。比如 rw- 就表示:可读可写不可执行。第一组表示文件所有者的操作权限,第二组表示该用户组的权限,第三组表示其他用户的权限;
第11个字符 1 表示链接数,每在该目录的下一级创建一个目录,链接数就会+1;
随后的两个 book 表示该文件所属,第一个 book 表示所属用户,第二个 book 表示所属用户组;
随后的 0 表示文件占用大小;
Aug 29 22:27表示文件创建或修改时间;
1.txt 表示文件名。
1、改变文件权限
chown:改变文件所属用户
可以看到直接将用户修改到 root 操作是不被允许的,因为 book 用户权限较低,我们可以使用 sudo 命令来临时提升权限。
chgrp:改变文件所属用户组
2、改变文件属性
chmod:改变文件权限,方法有三种:
1、我们可以把 rwx 三个权限看做三位 2 进制数,有该权限时置1 没有置0,然后用十进制表示。比如: rw-r--r-- 用二进制表示为:110 100 100 ,十进制为 644。那么修改文件属性时就可以这样写:chmod 644 1.txt。
那么我们将 1.txt 属性修改为文件拥有者可读可写可执行,该用户组可读可写,其他用户可读。
2、我们也可以使用 u,g,o,a 分别表示 user、group、others、all 。
比如要将 1.txt 属性的 u 改成可读可写,g,o 改成可读:
3、我们也可以使用 + 或 - 去增加或去除某种权限
四、查找搜索
1、find:
查找文件
cs
find /home/Desktop/ -name "1.txt" //以名字的方式在 /home/Desktop 下查找 1.txt文件
find /home/Desktop/ -name "*.txt" //以名字的方式在 /home/Desktop 下查找以 .txt 结尾的文件
find /home/Desktop/ -name "*abc*" //以名字的方式在 /home/Desktop 下查找含有 abc 的文件
2、grep:
查找文件中的内容
r 表示递归查找,n 表示显示目标位置行号
cs
grep -rn "abc" 1.txt //在1.txt中查找 abc 并显示行号
五、压缩解压
1、gzip
有三个常用选项:-l:列出压缩文件;-k:压缩或解压时保留输入文件;-d:解压缩。
只能压缩单个文件,不能压缩目录。
cs
gzip -l test1.gz //列出压缩文件
gzip -kd test1.gz //解压文件
gzip test.1 //压缩文件
gzip -k test.1 //压缩文件,保留原有文件
2、bzip2
有两个可用选项:-k:压缩或解压时保留输入文件;-d:解压缩。
只能压缩单个文件,不能压缩目录。
cs
bzip2 -kd test1.bz2 //解压文件
bzip2 test.1 //压缩文件
bzip2 -k test.1 //压缩文件,保留原有文件
两者用法区别不大,但 gzip 压缩率没有 bzpi2 高。一般小文件用前者,大文件用后者。
3、tar
tar常用选项:
-c:表示创建用来生成文件包
-x:表示提取,从文件包中提取文件
-t:可以查看压缩的文件
-z:使用 gzip 方式进行处理,它与"c"结合就表示压缩,与"x"结合就表示解压缩
-j:使用 bzip2 方式进行处理,它与"c"结合就表示压缩,与"x"结合就表示解压缩
-v:详细报告 tar 处理的信息
-f:表示文件,后面接着一个文件名
-C 解压到指定目录
cs
tar czvf dira.tar.gz dira //将目录dira以gzip方式压缩为dira.tar.gz
tar cjvf dira.tar.bz2 dira //将目录dira以bzip2方式压缩为dira.tar.bz2
tar tvf dira.tar.gz //查看压缩文件
tar xzvf dira.tar.gz //解压到当前目录
tar xzvf dira.tar.gz -C /home/book //解压到/home/book
六、vi编辑器
1、vi 简介
vi 编辑器是一个运行在终端的文本编辑器,类似于 windows 下的记事本。它的升级版 vim 编辑器功能更丰富。
vi 的基本操作是:从终端输入 vi 1.txt 后可进入一般模式;按 i 可进入编辑模式,按ESC退出编辑模式;输入":"进入命令行模式执行各种命令,按ESC退出命令行模式;按" :wq " 保存修改并退出 vi。
2、翻页/浏览
在一般模式下:
bash
ctrl + f:下翻页;
ctrl + b:上翻页;
nG/ngg:光标移动到n行行首;
n+:光标下移n行;
n-:光标上移n行;
G:转至文本结尾;
0:光标移至当前行行首;
$:光标移至当前行行末;
fx:搜索当前行中下一个出现字母 x 的地方;
3、文本编辑
在一般模式下:
bash
cc 删除整行,并且修改整行内容;
dd 删除该行,不提供修改功能;
ndd 删除当前行向下 n 行;
x 删除光标所在的字符;
X 删除光标前面的一个字符;
yy 复制当前行;
nyy 复制当前行及其下面 n 行;
p 粘贴最近复制的内容;
s 删除光标所在字符;
r 替换光标处字符;
u 撤销上一步操作;
4、查找与替换
在一般模式下:
1、查找
bash
/hello
下面命令为从光标位置向文件末尾搜索 "hello",按 n 在同方向上重复上次搜索命令(即继续向下搜索),按 N 在反方向上重复上次搜索命令(即继续向上搜索)。
2、替换
bash
%s/p1/p2/g //将文件中所有p1替换为p2
%s/p1/p2/gc //替换时需要确认
七、其他操作
bash
file 文件名 //查看文件类型
which 命令名/应用程序名 //查看所在位置
whereis 命令名/应用程序名 //查看所在位置