
linux基础命令
ls命令(list):列出当前目录下的内容
ls命令来自英文:list 列表,列出。
ls [-a -l -h] [Linux路径]
-a -l -h 是可选的选项
- Linux 路径是此命令可选的参数
- 当不使用选项和参数,直接使用 ls 命令本体,表示:以平铺形式,列出当前工作目录下的内容 。
- 直接输入ls命令,表示列出当前工作目录下的内容,当前工作目录是?
Linux系统的命令行终端,在启动的时候,默认会加载:当前登录用户的HOME目录【home目录是每个用户的个人工作空间】作为当前工作目录,所以ls命令列出的是HOME目录的内容。每个Linux操作用户在Linux系统的个人账户目录,路径在:/home/用户名 如:/home/root
![[ls1.png]]
1.1 ls -a 列出当前目录下的全部文件
![[ls2.png]]
Is-a选项,表示:所有的意思,立即列出全部文件(包含隐藏的文件/文件夹)。
可以看到,Is -a对手列出的内容更多。
图中以.开头的,表示是Linux系统的隐藏文件/文件夹(只需.开头,就能自动隐藏)
只有通过-a选项,才能看到这些隐藏的文件/文件夹。
1.2 ls -l 以列表的形式展示当前目录下的内容
![[ls3.png]]
![[ls4.png]]
-l选项,表示以列表(竖向排列)的形式展示内容,并展示更多信息;l选项其实和图形化中,文件夹以列表形式排列是一个意思
![[ls5.png]]
语法中的选项是可以组合使用的,比如学习的-a和-l可以组合应用
写法:
- ls -l -a
- ls -la
- ls -al
上述三种写法,都是一样的,表示同时应用-l和-a功能
1.3 ls -l -h 以列表的形式展示当前目录下的内容以及它们的大小
![[ls6.png]]-h表示以易于阅读的形式,列出文件大小
-h选项必须药搭配-l一起使用
cd命令(Change Directory):切换当前工作目录
cd [linux路径] 切换当前所在的工作目录
当Linux终端(命令行)打开的时候,会默认以用户的HOME目录作为当前的工作目录,我们可以通过cd命令,更改当前所在的工作目录。
cd命令来自英文:Change Directory:切换工作目录。
语法:cd [linux路径]
cd命令无需选项,只有参数,表示要切换到哪个目录下 cd命令直接执行。不写参数,表示回到用户的HOME目录。
![[cd1.png]]![[cd2.png]]
cd不带参数回到home目录
pwd命令(Print Work Directory):查看当前工作目录
通过ls来验证当前的工作目录,其实是不恰当的。 我们可以通过pwd命令,来查看当前所在的工作目录。
pwd命令来自:Print Work Directory:打印当前工作目录。
语法: pwd命令,无选项,无参数,直接输入pwd即可。
![[pwd1.png]]
相对路径、绝对路径和特殊路径符
绝对路径(具体路径):以根目录/为起点
以根目录/为起点,描述路径的一种写法,路径描述以/开头。
![[绝对路径1.png]]
相对路径:以当前所在目录为起点【更加简洁】
以当前所在目录为起点,描述路径的一种写法,路径描述无需以/开头。
![[相对路径.png]]
特殊路径符
. 一个点表示当前目录,比如cd . 或 cd ./Desktop
.. 两给点表示上一级目录,比如:回退到上一级cd .. 或回退到上一级的上一级 cd ../..
~ 一个波浪线表示用户的HOME目录,比如:cd ~ 或 cd ~/Desktop
示例
1.当前工作目录内有一个test文件夹,文件夹内有一个文件hello.txt,请描述文件的相对路径。 test/hello.txt
2.在当前工作目录的上级目录有一个test文件夹,文件夹内有一个文件hello.txt,请描述文件的相对路径。
../test/hello.txt
3.在HOME目录内有一个test文件夹,文件夹内有一个文件hello.txt,请描述文件的路径,需要使用符号~ 。
~/test/hello.txt
mkdir命令(Make Directory):创建新的目录(文件夹)
mkdir来自英文:Make Directory
**语法:mkdir [-P] [Linux路径]
参数必填,表示Linux路径,即要创建的文件夹的路径,相对路径或绝对路径均可。
-p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录。
![[mkdir1.png]]mkdir -p 选项:如果想要一次性创建多个层级的目录,如下图(不加-p报错如下:)
![[mkdir2.png]]会报错,因为上级目录test4和good并不存在,所以无法创建nb666目录。
可以通过-p选项,将一整个链条都创建完成。
注意:mkdir创建文件夹需要修改权限,请确保操作均在HOME目录内,不要在HOME外操作。
涉及到权限问题,HOME外无法成功。
touch命令:创建文件
touch命令是“Globally search a Regular Expression and Print”的缩写。
语法:touch Linux路径
touch命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径符均可以使用。
![[touch命令.png]]
drwxr-xr-x
这样的是蓝色文件夹
-开头的是文件
cat命令:查看文件内容
cat命令是“concatenate”的缩写。
语法:cat Linux路径
cat命令同样没有选项,参数必填,参数表示:被查看的文件路径,相对、绝对、特殊路径符都可以使用。
![[cat1.png]]
more命令:分页查看文件内容(内容过多时支持翻页展示)
more命令同样可以查看文件内容,同cat不同的是: cat是直接将内容全部显示出来,more支持翻页,如果文件内容过多,可以一页页的展示。
**语法:more Linux路径
more同样没有选项,参数必填,参数表示:被查看的文件路径,相对、绝对、特殊路径符都可以使用。
Linux系统内置有一个文件,路径为:/etc/services,可以使用more命令查看
more /etc/services
在查看的过程中,通过空格翻页
通过按q 即可退出查看
![[more1.png]]
-r(recursive)和-f(force)
-r 来自英文单词recursive:递归的。
在Linux命令中,-r
选项用于:递归地处理目录及其内容。在Linux操作系统中,cp复制和rm删除文件夹时需要使用-r
(递归)选项,这是因为这些操作不仅涉及到文件夹本身,还涉及到其包含的所有子文件夹和文件。
-f 来自英文单词force:强制。
在使用rm
命令删除文件或目录时,加上-f
(force)选项可以强制删除文件或目录,不会提示确认。这对于批量删除文件非常有用,经常与-r
(递归)选项一起使用,特别是在删除非空目录时。
cp命令(copy):复制文件、加-r复制文件夹
cp命令来自英文单词:copy
语法: cp -r 参数1 参数2 --复制文件夹,必须使用-r选项,否则不会生效
- -r选项,可选,用于复制文件夹使用,表示递归。
- 参数1,Linux路径,表示被复制的文件或文件夹。
- 参数2,Linux路径,表示要复制到哪里。
***复制文件:
root@zyf:/home# pwd
/home
root@zyf:/home# ls -lh--当前路径下有哪些文件、文件夹
总计 16K
drwxr-xr-x 2 root root 4.0K 7月 10 14:31 test1
-rw-r--r-- 1 root root 10 7月 10 15:21 test1.txt
drwxr-xr-x 2 root root 4.0K 7月 10 14:31 test2
drwxr-x--- 15 zyf zyf 4.0K 7月 10 11:23 zyf
root@zyf:/home# cp test1.txt test2.txt
root@zyf:/home# ls -lh
总计 20K
drwxr-xr-x 2 root root 4.0K 7月 10 14:31 test1
-rw-r--r-- 1 root root 10 7月 10 15:21 test1.txt
drwxr-xr-x 2 root root 4.0K 7月 10 14:31 test2
-rw-r--r-- 1 root root 10 7月 10 15:36 test2.txt
drwxr-x--- 15 zyf zyf 4.0K 7月 10 11:23 zyf
root@zyf:/home# cp test1.txt ./text3.txt
root@zyf:/home# ls -lh
总计 24K
drwxr-xr-x 2 root root 4.0K 7月 10 14:31 test1
-rw-r--r-- 1 root root 10 7月 10 15:21 test1.txt
drwxr-xr-x 2 root root 4.0K 7月 10 14:31 test2
-rw-r--r-- 1 root root 10 7月 10 15:36 test2.txt
-rw-r--r-- 1 root root 10 7月 10 15:37 text3.txt
drwxr-x--- 15 zyf zyf 4.0K 7月 10 11:23 zyf
***复制文件夹加选项-r
root@zyf:/home# ls
test1 test1.txt test2 test2.txt text3.txt zyf
root@zyf:/home# cp -r test1 test3
root@zyf:/home# ls
test1 test1.txt test2 test2.txt test3 text3.txt zyf
mv命令(move):移动文件或文件夹+重命名文件夹
mv命令来自英文单词:move
语法:mv 参数1 参数2
参数1,Linux路径,表示被移动的文件或文件夹。
参数2,Linux路径,表示要移到哪里,如果目标不存在,则进行改名,确保目标存在。
mv用来移动文件或文件夹
![[mv1.png]]
mv用来重命名
![[mv2.png]]
rm命令(remove):删除文件、加-r删除文件夹 ;-f表示强制删除
rm命令温馨提示:rm是一个危险的命令,特别是在处于root(超级管理员)用户的时候, 请谨慎使用。如下命令,请千万千万不要在root管理员用户下执行: rm -rf /和 rm -rf / ,效果等同于在Windows上执行C盘格式化。*
rm命令来自英文单词:remove
语法: rm [ -r -f ] 参数1 参数2 ……参数n
同cp命令一样,-r(递归的)选项用于删除文件夹。
-f表示force,强制删除(不会弹出提示确认信息)普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示,所以一般普通用户用不到-f选项。
参数1、参数2、......、参数N 表示要删除的文件或文件夹路径,按照空格隔开。
![[rm1.png]]
·* :模糊匹配任意内容包含空(搭配rm和find命令使用)
*符号 表示通配符,即匹配任意内容(包含空)。**示例:
- test,表示匹配任何以test开头的内容。*
-
- test,表示匹配任何以test结尾的内容。
-
- test ,表示匹配任何包含test的内容。*
which命令(查找命令):查找各命令的程序文件存放在哪个路径
我们在前面学习的Linux命令,其实它们的本体就是一个个的二进制可执行程序。 和Windows系统中的.exe文件,是一个意思。
我们可以通过which命令,查看所使用的一系列命令的程序文件存放在哪里。
语法:which 要查找的命令
无需选项,只需要参数表示要查找哪个命令
![[which1.png]]
find命令(查找文件):按文件名文件大小,查找该文件存放在哪个路径
在Linux系统中,我们可以通过find命令去搜索指定的文件。
语法:find 起始路径 -name "被查找的文件名"
1.find命令 - 按文件名查找文件
![[find1.png]]
2.find命令 - 通配符
根据【语法:find 起始路径 -name "被查找的文件名"】,语法中"被查找文件名",支持使用通配符 * 来做模糊查询。
符号* 表示通配符,即匹配任意内容(包含空),示例:
- test* ,表示匹配任何以test开头的内容。
-
- test,表示匹配任何以test结尾的内容 。
-
- test * ,表示匹配任何包含test的内容。
基于通配符的含义,可以结合find命令做文件的模糊查询。
![[find2.png]]
3.find命令 - 按文件大小查找文件
语法:find 起始路径 -size +|- n[KMG]
解释:
- +、-表示 大于和小于。
- n表示 大小数字。
- kMG表示 大小单位,k(小写字母)表示kb,M表示MB,G表示GB。
grep命令(筛选内容):从文件中筛选出带有关键字的行及行号
grep是“Globally search a Regular Expression and Print”的缩写。
语法:grep [-n] "关键字" 文件路径
解释:
- 选项-n:可选,表示在结果中显示匹配的行的行号。
- 关键字:必填,表示过滤的关键字,带有空格或其它特殊符号,使用" "将关键字包围起来。
- 文件路径:参数,表示要过滤内容的文件路径,可作为管道符的输入。
![[grep1.png]]