一、基础指令

1.1 Linux 的文件目录结构

Linux 系统与 Windows 系统管理磁盘的方式不同,Linux 系统把整个磁盘作为根目录,下面存放着不同的文件夹,称为挂载点。一些挂载点的作用如下:

/etc:存放程序的配置文件,也存放着环境变量的配置;

/home:用户目录,存放用户文件;

/usr:系统级的目录,相当于 Windows 系统下的C:\Windows

/opt:用户级的目录,存放着用户自己安装的程序。

1.2 基础命令

cd:定位到所处的目录.

用法:cd [参数] [目录]。不指定目录时,默认定位到用户目录/home/user1/user1是当前用户的用户名。

1
2
[rinko24@localhost /]$ cd /home
[rinko24@localhost home]$

pwd:显示当前所在的目录。

1
2
[rinko24@localhost ~]$ pwd
/home/rinko24

ls:列出当前所处目录下的所有子目录。

用法:ls [参数]

1
2
[rinko24@localhost ~]$ ls
公共 模板 视频 图片 文档 下载 音乐 桌面

可使用的部分参数如下:

-a:显示所有的子文件和子文件夹,包括隐藏文件。

-l:显示目录下所有文件和文件夹的详细信息。

-h:将文件信息使用更容易阅读的方式显示。

1
2
3
4
5
6
7
[rinko24@localhost /]$ ls -lha
总用量 24K
lrwxrwxrwx. 1 root root 7 11月 11 23:12 bin -> usr/bin
dr-xr-xr-x. 5 root root 4.0K 11月 11 23:38 boot
drwxr-xr-x. 20 root root 3.3K 11月 12 14:32 dev
# 部分输出内容省略
# 显示该目录下所有文件夹和文件的详细信息,并用容易阅读的方式显示

clear:清空屏幕。


exit:退出终端。使用Ctrl+L可以实现同样效果。

1.3 目录基本操作

mkdir:创造文件夹。

用法:mkdir [参数] [目录]

1
2
[rinko24@localhost ~]$ mkdir test1
# 创建文件夹test1

可使用的参数如下:

-m:配置文件权限。

-p:创建递归文件目录。

1
2
[rinko24@localhost ~]$ mkdir -m 755 -p test1/test2
# 在test1下创建名为test2的文件夹,权限为755

Linux下的权限格式如下:

rwx | rwx | rwx,r表示可读,w表示可写,x表示可执行。如果某个权限不可用,则用单斜杠替代对应位置。三个组分别代表 root 用户,root 组用户,用户组的权限。

对于-m指令,权限使用数字表示,每一组中 r,w,x 值分别对应的值为4,2,1,每组加和之后并列表示。比如 755 表示的权限就是rwxr-xr-x。


rmdir:删除文件夹。

用法:rmdir [参数] [目录]

1
2
[rinko24@localhost ~]$ rmdir test1
# test1文件夹被删除

可使用的参数如下:

-p:递归删除目录。

1
2
[rinko24@localhost ~]$ rmdir -p test1/test2
# test1文件夹以及test1下的test2文件夹均被删除

1.4 文件操作指令

touch:创建文件。

用法:touch [参数] [文件名称]

1
2
[rinko24@localhost ~]$ touch test.txt
# 创建名为test.txt的文件

rm:删除文件。默认情况下rm不操作文件夹。

用法:rm [参数] [文件名称]

1
2
[rinko24@localhost ~]$ rm test.txt
# 删除test.txt

可使用的参数如下:

-r:把指定的文件目录和其以下的文件全部删除。

-f:强制删除文件。

1
2
[rinko24@localhost ~]$ rm -rf test1
# 强制删除文件夹test1和里面的所有文件

cp:文件复制。默认情况下cp不操作文件夹。

用法:cp [参数] [源文件路径] [目标目录]

1
2
[rinko24@localhost ~]$ cp test1.txt ./test1
# 把当前目录下的test1.txt复制到test1文件夹里

可用的参数如下:

-R:允许复制文件夹及其下属文件。


mv:文件移动。

用法:mv [参数] [源文件路径] [目标目录]

1
2
3
4
[rinko24@localhost ~]$ cp test1.txt ./test1
# 把当前目录下的test1.txt复制到test1文件夹里
[rinko24@localhost ~]$ cp test1.txt test2.txt
# 把当前目录下的test1.txt重命名为test2.txt

可用的参数如下:

-f:不询问而强制覆盖文件,不论目标路径中是否有同名文件


1.5 文件查找命令

find:查找文件。

用法:find [参数] [要查找的路径] [查找条件] [查找后要执行的操作]

1
[rinko24@localhost ~]$ find /home -name test1.txt# 在/home目录下查找名字为test1.txt的文件

which:查找软件包安装的位置。

用法:which [软件包名]

1
2
[rinko24@localhost ~]$ which ls
# 查找软件包ls所在的位置

locate:快速查找命令。locate从一个数据库中查找文件,而find是根据到实际的目录中查找。

用法:locate [参数] [文件名]

1
2
[rinko24@localhost ~]$ locate test1.txt
# 快速查找test1.txt

1.6 文件查看命令

cat:获取文件内容。

less:分页查看。

head:查看文件头部。

tail:查看文件尾部。

以上命令的使用格式均为命令 [参数] [要查看的文件的名字]

1.7 获取帮助命令

info:查看文档信息的工具

man:查看各种命令,函数和系统调用的手册页

help:显示内置命令的帮助信息。作为参数使用时,可以显示当前命令的帮助信息。

1.8 压缩解压命令

tar:打包文件用。

使用方法:tar [参数] -f 打包文件的名称 [要打包的文件和目录]

可使用的参数如下:

-c:创建新的存档文件。

-x:解压存档文件。

-f:指定要操作的存档文件的名称。

-t:列出归档文件的内容。

-r:向现有归档文件中追加文件。

-u:仅追加比归档文件中已有文件更新的文件。

-d:找到归档文件中与文件系统不同步的差异。

-A:将一个 .tar文件追加到另一个.tar 文件中。

-v:显示详细操作过程。


zip:压缩文件。

用法:zip [参数] 生成压缩文件的文件名 要压缩的文件或目录

可使用的参数如下:

-r:递归压缩目录及其子目录中的所有文件。

-e:为压缩文件设置密码保护。

-q:静默模式,不显示压缩过程。

-v:显示详细的压缩过程。

-x:排除某些文件或目录,不进行压缩。

-m:压缩后删除原始文件。

-0-9:指定压缩级别,-0 表示存储不压缩,-9 表示最高压缩率,默认是 -6

gzip也可用来压缩文件,生成的压缩包后缀为.gz


unzip:解压压缩包。

用法:unzip [参数] 要解压的压缩包

可以使用的参数如下:

-l:查看压缩包内的文件。

-t:验证完整性。

-d:指定要解压到的文件夹。

类似地,解压.gz文件也可以使用gunzip命令。

二、文档编辑指令

2.1 vi / vim 命令

使用vim编辑文档时,需要先通过vim 文件名格式的命令打开文件编辑。

1
2
3
4
5
6
7
# vim的命令行界面如此所示
~
~
~
~
~
"test1.txt" 1L, 7C 1,1 全部

默认状态下是不可编辑的,需要按下 i/a/o键进入编辑模式。编辑完成后可以按Esc键退出编辑。输入:wq可以保存并退出文件。

vim 下可以使用的操作

命令操作

在不可编辑的模式下,可以通过特定命令来进行文本操作。

dd:剪切当前行。

yy:复制当前行。

p:粘贴内容到光标下方。

P:粘贴内容到光标上方。

u:撤销上一次操作。

编辑操作

通过按下对应的字母键,也可以进行光标的移动。

通过hjkl键,可以实现光标上,下,左,右的移动。

按下b键,可以把光标跳到当前行最前面的位置。

按下w键,可以跳到下一个单词的开头。

2.2 grep 命令

grep命令用于搜索文件中的内容。使用的语法如下:

grep [参数] 要搜索的内容 要搜索的目录

可以使用的参数如下:

-r:递归搜索。

-i:忽略大小写。

-n:显示搜索内容在文件中的具体位置。

1
2
[rinko24@localhost ~]$ grep "114514" test1.txt
# 在test1.txt中查找有114514字样的行

2.3 sed 命令

sed命令用于文本操作。使用格式如下:

sed [参数] [-e 行数+操作\文字] [-f 行数+操作\文本文件] 要操作的文件

其中,-e后指定文本来处理输入的文本文件,-f后指定文本文件来处理输入的文本文件。

在这两个参数中,可以使用的操作如下:

a :新增。

d :删除,后方不需要增加文本;

i :插入,后接字串会在当前行的上一行出现。

s :取代。需要指定原字符串和新字符串。此操作也可以单独使用参数。

  • g:全局替换,替换一行中所有匹配的内容(默认只替换第一个匹配)。
  • i:忽略大小写。
  • n:替换第 n 次匹配(从 1 开始计数)。
  • p:打印替换的行。
  • e:允许新字符串中包含表达式。

同时,对于命令本身,可以使用的参数如下:

-n:显示处理后的文本。

1
2
sed -e 4a\newLine testfile.txt
#在testfile.txt的第四行中新增文本"newLine"