命令目录
1、Linux目录结构
/
:根目录是最顶级的目录- Linux只有一个顶级目录:
/
- Linux只有一个顶级目录:
- 路径描述的层次关系同样使用
/
来表示 - 当前工作目录和HOME目录
- Linux终端(命令行)启动后默认价值HOME目录作为当前工作的目录
- HOME目录指:用户在系统内的专属目录
2、Linux命令入门 ( ls )
- 功能:列出文件夹信息
- 语法:
ls [-l -h -a] [参数]
参数
:被查看的文件夹,不提供参数,表示查看当前工作目录-l
:以列表(竖向排列)的形式展示内容,并展示更多信息-h
:配合-l
,以更加人性化的方式显示文件大小-a
:all的意思,即列出全部文件(包含隐藏的文件/文件夹)
- ls命令来自:list files
隐藏文件、文件夹
在Linux中以.
开头的,均是文件/文件夹(只要以.开头,就能自动隐藏)。
默认不显示出来,需要-a
选项才可查看到。
▼ ls命令选项的组合使用
语法中的选项是可以组合使用的,比如学习的-a和-l可以组合应用。
写法:
ls -l -a
ls -la
ls -al
上述三种写法,都是一样的,表示同时应用 -l
和 -a
的功能;其余的命令使用方式也类似,后续不再一一赘述。
3、目录切换相关命令 ( cd / pwd )
3.1、pwd
- 功能:展示当前工作目录
- 语法:
pwd
- pwd命令来自:print work directory
3.2、cd
- 功能:切换工作目录
- 语法:
cd [目标目录]
目标目录
:要切换去的地方,不提供默认切换到 当前登录用户HOME目录
- cd命令来自英文:change directory
HOME目录
每一个用户在Linux系统中都有自己的专属工作目录,称之为HOME目录。
- 普通用户的HOME目录,默认在:
/home/用户名
- root用户的HOME目录,在:
/root
FinalShell登陆终端后,默认的工作目录就是用户的HOME目录
4、相对路径、绝对路径 和 特殊路径符
4.1、相对路径、绝对路径
- 相对路径:非
/
开头的称之为相对路径 - 相对路径表示以 当前目录 作为起点,去描述路径,如
test/a.txt
,表示当前
工作目录内的test文件夹内的a.txt文件
- 绝对路径:以
/
开头的称之为绝对路径
- 绝对路径从 根 开始描述路径
4.2、特殊路径符
.
:表示当前,比如./a.txt
,表示当前文件夹内的 a.txt 文件..
:表示上级目录,比如../
表示上级目录,../../
表示上级的上级目录~
:表示用户的 HOME目录,比如cd ~
,即可切回用户HOME目录
5、创建目录命令 ( mkdir )
- 功能:创建文件夹
- 语法:
mkdir [-p] 参数
参数
:被创建文件夹的路径-p
:可选,表示创建前置路径
- mkdir来自英文:make directory
如果想要一次性创建多个层级的目录,会报错,因为上级目录并不存在,可以通过
-p
选项,将一整个链条都创建完成。
注意:创建文件夹需要修改权限,请确保操作均在HOME目录内,不要在HOME外操作,涉及到权限问题,HOME外无法成功。
6、文件查看命令 ( cat、more )
6.1、cat
- 功能:查看文件内容
- 语法:
cat 参数
参数
:被查看的文件路径
6.2、more
- 功能:查看文件,可以支持翻页查看
- 语法:
more 参数
参数
:被查看的文件路径- 在查看过程中:空格 键翻页,q 键退出查看
▼ more与cat的区别:
- cat 是直接将内容全部显示出来
- more 支持翻页,如果文件内容过多,可以一页页的展示
7、文件操作命令 ( touch、cp、mv、rm )
7.1、touch
- 功能:创建文件
- 语法:
touch 参数
参数
:被创建的文件路径
7.2、cp
- 功能:复制文件、文件夹
- 语法:
cp [-r] 参数1 参数2
-r
:可选,复制文件夹使用,表示递归参数1
:被复制的文件或文件夹参数2
:要复制去的地方
- cp命令来自英文单词:copy
复制文件夹,必须使用 -r
选项,否则不会生效
示例:
cp a.txt b.txt
:复制当前目录下a.txt为b.txtcp a.txt test/
:复制当前目录a.txt到test文件夹内
cp -r test test2
:复制文件夹test到当前文件夹内为test2
7.3、mv
- 功能:移动文件、文件夹
- 语法:
mv 参数1 参数2
参数1
:被移动的文件或文件夹参数2
:要移动去的地方,如果参数2
不存在,则会对参数1
进行改名,以确保目标存在
- mv命令来自英文单词:move
7.4、rm
- 功能:删除文件、文件夹
- 语法:
rm [-r -f] 参数1 参数2 ... 参数N
参数
:支持多个,每一个表示被删除的文件或文件夹路径,空格进行分隔-r
:可选,同cp
命令一样,删除文件夹使用-f
:可选,表示force,强制删除,不会给出确认提示- 普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示
- 所以一般普通用户用不到
-f
选项
rm
命令支持通配符*
,即匹配任意内容(包含空),用来做模糊匹配- 示例:
test*
:表示匹配任何以test开头的内容*test
:表示匹配任何以test结尾的内容*test*
:表示匹配任何包含test的内容
- rm命令来自英文单词:remove
rm命令很危险,一定要注意!特别是切换到root用户的时候。
如下命令,请千万千万不要在root管理员用户下执行:
rm -rf /
rm -rf /*
效果等同于在Windows上执行C盘格式化!
8、查找命令 ( which、find )
8.1、which
- 功能:查看一系列命令的程序文件存放在哪里
- 语法:
which 参数
参数
:被查看的命令
8.2、find
- 功能:搜索文件
- 语法1:按关键字查找:
find 起始路径 -name 参数
起始路径
:搜索的起始路径参数
:搜索的关键字,支持通配符*
- 示例1:查找所有以test结尾的文件:
find / -name “*test”
- 语法2:按文件大小查找:
find 起始路径 -size +|-n[kMG]
+
、-
:表示大于、小于n
:表示文件大小的数字kMG
:单位;k(小写字母)表示kb,M表示MB,G表示GB
- 示例2:查找大于100MB的文件:
find / -size +100M
9、grep、wc 和 管道符( | )
9.1、grep
- 功能:从文件中通过关键字过滤文件行
- 语法:
grep [-n] 关键字 文件路径
-n
:可选,表示在结果中显示匹配的行的行号关键字
:必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用""
将关键字包围起来文件路径
:必填,表示要过滤内容的文件路径,可作为内容输入端口
参数文件路径,可以作为管道符的输入
9.2、wc
- 功能:统计
- 语法:
wc [-c -m -l -w] 文件路径
-c
:统计bytes数量-m
:统计字符数量-l
:统计行数-w
:统计单词数量- ``文件路径```:被统计的文件
参数文件路径,可作为管道符的输入
9.3、|
- 管道符,写法:
|
- 功能:将符号左边的结果,作为符号右边的输入
- 示例:
cat a.txt | grep son
:将cat a.txt
的结果,作为grep
命令的输入,用来过滤son
关键字- 可以支持嵌套:
cat a.txt | grep son | grep s
10、echo、head、tail 和 重定向符 ( >、>> )
10.1、echo
- 功能:输出内容
- 语法:
echo 参数
参数
:被输出的内容,复杂内容可以用""
包围
10.1.1、反引号( ` )
- 反引号,写法:
`
- 功能:被两个反引号包围的内容,会作为命令执行
- 示例:
echo `pwd`
:会输出当前工作目录
10.2、head
- 功能:查看文件头部内容
- 语法:
head [-num] 参数
-num
:查看的行数参数
:被查看的文件
10.3、tail
- 功能:查看文件尾部内容,跟踪文件的最新更改
- 语法:
tail [-f -num] 参数
-f
:持续跟踪文件的修改-num
:查看尾部倒数多少行,不填默认10行参数
:被查看的文件
- 示例:
- 查看/var/log/vmware-network.log文件的尾部10行:
tail /var/log/vmware-network.log
- 查看/var/log/vmware-network.log文件的尾部3行:
tail -3 /var/log/vmware-network.log
- 查看/var/log/vmware-network.log文件的尾部10行:
10.4、重定向符 ( >、>> )
>
:将左侧命令的结果,覆盖写入到符号右侧指定的文件中>>
:将左侧命令的结果,追加写入到符号右侧指定的文件中
+、命令选项 ( 帮助/详细手册 )
上面记录命令的选项都是常用的,其实他们本身都有极多的选项,可以通过以下两种方式查看完整的选项集。
1、查看命令帮助
通过 命令 --help
查看命令的帮助手册
2、查看命令详细手册
通过 man 命令
查看某命令的详细手册