Linux 下文件和目录的特点
- Linux 文件 或者 目录 名称最长可以有 256 个字符参数 含义
- 以 . 开头的文件为隐藏文件,需要用 -a 参数才能显示
- . 代表当前目录
- … 代表上一级目录
注意:Linux 所有的 目录 和 文件名 都是大小写敏感的
ls 查看目录内容
- ls 是英文单词 list 的简写,其功能为列出目录的内容
常用选项
参数 | 含义 |
---|---|
-a | 显示指定目录下所有子目录与文件,包括隐藏文件 |
-l | 以列表方式显示文件的详细信息 |
-h | 配合 -l 以人性化的方式显示文件大小 |
通配符的使用
通配符 | 含义 |
---|---|
* | 代表任意个数个字符 |
? | 代表任意一个字符,至少 1 个 |
[] | 表示可以匹配字符组中的任一一个 |
[abc] | 匹配 a、b、c 中的任意一个 |
[a-f] | 匹配从 a 到 f 范围内的的任意一个字符 |
注意:以 . 开头的文件为隐藏文件,需要用 -a 参数才能显示
cd 切换目录
cd
是英文单词 change directory 的简写,其功能为更改当前的工作目录
命令 | 含义 |
---|---|
cd | 切换到当前用户的主目录(/home/用户目录) |
cd ~ | 切换到当前用户的主目录(/home/用户目录) |
cd . | 保持在当前目录不变 |
cd .. | 切换到上级目录 |
cd - | 可以在最近两次工作目录之间来回切换 |
相对路径和绝对路径
相对路径 在输入路径时,最前面不是 / 或者 ~,表示相对 当前目录 所在的目录位置
绝对路径 在输入路径时,最前面是 / 或者 ~,表示从 根目录/家目录 开始的具体目录位置
pwd 打印工作目录
pwd是词组print working directory的首字母缩写,即打印工作目录;工作目录就是你当前所处于的那个目录。
命令 | 含义 |
---|---|
-L | 打印逻辑上的工作目录 |
-P | 打印物理上的工作目录 |
当省略option时,默认为-L选项。
逻辑和物理工作目录
只要你知道Linux的符号链接(Symbolic link)的概念。简单地说,符号链接等同于Windows操作系统上的快捷方式。
假设我有两个目录B和C,B符号链接到C且C是常规目录。那么当我对目录B进行操作时,实际是对目录C进行操作。比如,我在B中创建一个新文件,实际上是在C中创建了这个文件。当我处于目录B中时,那么B就是逻辑工作目录而C就是物理工作目录。
现在假设我又有另一个目录A,它也是一个符号链接且链接到B。那么当我处于A中时,逻辑工作目录就是A而物理工作目录还是C。注意此时物理工作目录是C而不是B,因为B也是一个符号链接。即当我对A进行操作时,实际是对B进行操作;而对B的操作,实际又是对C的操作。
mkdir 创建一个新的目录
选项 | 含义 |
---|---|
-p | 可以递归创建目录 |
新建目录的名称 不能与当前目录中 已有的目录或文件 同名
touch 创建一个新的目录
- 创建文件或修改文件时间
如果文件 不存在,可以创建一个空白文件
如果文件 已经存在,可以修改文件的末次修改日期
cat more grep 查看文件内容
查看文件内容
序 号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | cat 文件名 | concatenate | 查看文件内容、创建文件、文件合并、追加文件内容等功能 |
02 | more 文件名 | more | 分屏显示文件内容 |
03 | grep 搜索文本 文件名 | grep | 搜索文本文件内容 |
cp 复制
- cp 命令的功能是将给出的 文件 或 目录 复制到另一个 文件 或 目录 中,相当DOS 下的 copy命令
选 项 | 含义 |
---|---|
-i | 覆盖文件前提示 |
-r | 若给出的源文件是目录文件,则 cp 将递归复制该目录下的所有子目录和文件,目标文件必 |
须为一个目录名
mv 移动 或 重命名
- mv 命令可以用来 移动 文件 或 目录,也可以给 文件或目录重命名
选项 | 含义 |
---|---|
-i | 覆盖文件前提示 |
rm 删除
- 删除文件或目录
使用 rm 命令要小心,因为文件删除后不能恢复
选项 | 含义 |
---|---|
-f | 强制删除,忽略不存在的文件,无需提示 |
-r | 递归地删除目录下的内容,删除文件夹 时必须加此参数 |
which - 展示(shell)命令的完整路径
使用示例:
[root@server ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
[root@server ~]# which bash
/usr/bin/bash
[root@server ~]# which mysql
/usr/bin/mysql
find 查找
在/opt目录下找所有包含php关键字的路径
find /opt -name php
grep 文本搜索
grep 允许对文本文件进行 模式查找,所谓模式查找,又被称为正则表达式。
选项 | 含义 |
---|---|
-n | 显示匹配行及行号 |
-v | 显示不包含匹配文本的所有行(相当于求反) |
-i | 忽略大小写 |
常用的两种模式查找
参数 | 含义 |
---|---|
^a | 行首,搜寻以 a 开头的行 |
ke$ | 行尾,搜寻以 ke 结束的行 |
wc 计算文件的Byte数、字数、或是列数
#test.txt文件的统计信息(行数、单词数,字节数)
wc test.txt
5 108 1000 test.txt
#同时统计多个文件的信息
wc test.txt test1.txt test2.txt
5 108 1000 test.txt #第一个文件行数为5、单词数108、字节数1000
5 108 1000 test1.txt #第二个文件行数为5、单词数108、字节数1000
5 108 1000 test2.txt #第三个文件行数为5、单词数108、字节数1000
15 324 3000 总用量 #三个文件总共的行数为15、单词数324、字节数3000
管道符 左边命令的结果作为右边命令的输入
"|" ,竖线
作用:管道是一种通信机制,通常用于进程间的通信。
它表现出来的形式将
前面每一个进程的输出(stdout)直接作为下一个进程的输入(stdin) 。
# ls / | grep y
解析:
| :管道符号,作用=>把ls /的正确的执行结果作为参数传递给grep命令
ls / :管道左边的命令
grep y :管道右边的命令
案例:检索系统中的已安装文件,只筛选mariadb软件信息
# rpm -qa | grep mariadb
-q :query,查询
-a :all,所有
echo 输出内容 相当于print
单引号与双引号
echo后的单引号表示强引用,单引号里面是什么内容就输出什么,而双引号是弱引用,变量的值会代替变量名输出。
写入文件
以覆盖方式写入文件,写入语句会覆盖目标文件原有内容,保证文件保存的始终是最新内容。
echo "Hello World" > hello.txt
1
以追加方式写入文件,写入语句不会覆盖目标文件原有内容,只会追加在文件末尾。追加方式适用于记录运行log,便于后期问题分析。
echo "Hello World" >> hello.txt
1
两种写入方式区别在于指向符,>覆盖,>>追加。
tail 查看文件的最后边的内容
1、监视文件的尾部内容(默认10行,相当于增加参数 -n 10),刷新显示在屏幕上。
tail -f filename
退出:CTRL+C
2、显示filename最后20行
tail -n 20 filename
或
tail -20 filename
vi vim 文件编辑器
- 命令模式
当用户启动vi、vim时,就进入了命令模式。
在命令模式中,所有按下键都被理解为命令(例如按下yy,即复制了当前行,再按下p会粘贴刚刚复制的内容)
按 i 键进入输入模式
- 输入模式
在此模式下可以 进行任意编辑,在首行、在尾行或在当前行的行首、行尾或行中输入内容。按方向键可以移动到任意位置。
在命令行模式中按 i 即进入了输入模式(在文本框下方显示有INSERT即为输入模式)
- 底线命令模式
在命令模式下,按下 : 就进入了底线命令模式(在对话框的左下角有:显示,即为底线命令模式)
在:后输入wq即可保存并退出。
注意:输入模式无法直接进入底线命令模式,需要先进入命令模式,再从命令模式进入底线命令模式。