目录
1.ls指令
2.cd指令
3.touch指令
4.mkdir指令
5.rmdir指令和rm指令
5.1rmdir指令
5.2rm指令
6.man指令
7.cp指令
8.mv指令
9.cat指令
10.more指令 && less指令
10.1more指令
10.2less指令
11.head指令 && tail指令
11.1head指令
11.2tail指令
如何查看文件中指定的几行?
12.时间相关指令date
13.cal指令
14.查找相关指令
14.1find指令
14.2which指令
14.3whereis指令
15.grep指令
16.zip/unzip指令
16.1zip指令
16.2unzip指令
17.tar指令
18.bc指令
19.unname指令
20.热键总结
1.ls指令
语法:ls 选项 目录或文件
功能:对于目录,该命令列出该目录下的所有子目录与文件;对于文件,将列出文件名以及其他信息
不带选项时,执行ls指令可以显示当前路径下的文件或者目录,结果如下:
📖Note:
1️⃣当前目录是root,使用pwd命令可以显示用户当前所在目录
Linux系统下,路径的表示方式为/root/www/.... 其中'/'称作路径分隔符;Windows系统下,路径分隔符是'\'
2️⃣蓝色字体的为目录,白色字体的为普通文件
所以在root目录下:有一个目录Linux,两个普通文件test_24_1_24和test_24_1_24
这是自己创建的,下文将会讲解如何创建;当没有创建时,会显示total 0,表示当前目录下没有目录或文件
常用选项
-a:列出目录下的所有文件,包括以 . 开头的隐含文件
-l: 显示当前路径下的文件或者目录的更详细的属性信息
📖Note:
ls -l 指令等价于 ll 指令
-al:显示所有文件及其更详细的属性信息
补充:
如何理解文件?
当我们创建一个空文件时,实际上它也是占用磁盘空间的,因此一个文件不仅包含它里面的数据内容,还报括文件名,文件大小,文件的创建修改时间等一系列文件属性,因此一个文件包括了文件内容数据和文件属性数据,对一个文件的操作包含对文件内容的操作,也包括对文件属性的操作。
如何理解目录?
简单来说,Linux系统下的目录相当于Windows系统下的文件夹,是存储其他文件的场所
ls 选项 目录或文件名 的使用,可以对指定文件实现对应的操作
-R:列出所有子目录下的文件(递归)
2.cd指令
Linux系统中,磁盘上的文件和目录被组成一颗目录树(多叉树),每个节点都是目录和文件
叶子节点一定是普通文件或者空目录,非终端节点一定是目录
从'/'开始到指定文件,路径+文件名具有唯一性,所以使用路径可以标识文件
语法:cd 目录名
功能:改变工作目录。将当前工作目录切换到指定目录下
cd指令的用法
使用tree命令可以以树状形式显示目录
语法:tree 目录名
安装tree命令:
cd .. :返回上级目录
我们可以使用/root/Linux这样的绝对路径进入root目录下的Linux目录;也可以使用./Linux这样的相对路径进入Linux目录,. 表示的是用户当前所在目录,上一行命令中,显示当前所在目录为root,因此下一行可以使用相对路径进入root目录下的Linux目录
使用绝对路径访问一定不会出错,如在配置文件中使用的都是相对路径;绝对路径使用方便,但使用时需注意
cd ~:进入用户家目录
root用户的家目录就是/root;一般情况下家目录为:/home/xxx 也称作xxx的工作路径,特定用户登陆时,默认所处路径
Windows系统下也有家目录的概念。比如桌面,桌面本质上是个文件夹,桌面上的各种图标就相当于桌面文件夹中的目录或文件。Windows和Linux都是多用户操作系统,即不同的用户可以使用同一台设备在操作系统中创建自己的账户。
cd - :返回最近访问目录
经常用于在两个热点路径下来回跳转
3.touch指令
语法:touch 选项 文件
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者在新建一个不存在的文件
4.mkdir指令
语法: mkdir 选项 dirname
功能:在当前目录下创建一个名为dirname的目录
常用选项:
-p:递归建立多个目录
此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录
5.rmdir指令和rm指令
5.1rmdir指令
rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令
语法:rm -p dirname
-p:当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录
由上图:
rmdir dirname可以删除一个空目录,但是不能删除一个非空目录
5.2rm指令
rm命令可以同时删除文件或目录
语法:rm 选项 dirname
适用对象:所有使用者
功能:删除文件或目录
rm指令对于普通文件可以直接删除,但是对于目录不能直接进行删除,需要借助选项
常用选项:
-f:即使文件属性为只读(即写保护),直接强制删除
使用rm删除普通文件时,会显示rm: remove regular empty file ‘test_24_1_24’?这样的询问语句,如果不想显示询问语句,使用选项-f强制删除
-r:删除目录及其下所有文件(递归)
-i:删除前逐一询问
可以发现,在删除是,系统会自动询问是否删除
-rf:递归强制删除指定目录及其内部文件
6.man指令
语法:man 选项 命令
功能:访问Linux手册页,可以查看命令,系统调用,C接口
man手册是有编号的,默认从1号手册开始,找到即停,可以指定手册
安装man手册
特殊用法:man man指令可以查看指令man的使用手册
7.cp指令
语法:cp 选项 源文件或目录 目标文件或目录
功能:复制文件或目录
说明:cp指令用于复制文件或目录,如果同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则会把前面指定的所有文件或目录复制到此目录中,若同时指定多个文件或目录,而最后的目的地并非是一个已存在的目录,则会出现错误信息
常用选项:
-f:强制复制文件或目录,无论目标文件或目录是否存在
-i:覆盖文件之前先询问用户
使用cp指令拷贝时,加-i选项会显示询问语句cp: overwrite ‘./Linux/file.txt’?
-r:递归处理目录,将指定目录下的文件与子目录一并处理。
8.mv指令
语法:mv 选项 源文件或目录 目标文件或目录
功能:
- 根据第二个参数是目标文件还是目标目录,mv命令将文件重命名(目标文件)或将其移至一个新的目录中(目标目录)
- 当第二个参数是文件时,mv命令完成文件重命名。此时,源文件(或目录)只能有一个,它将所给的源文件或目录重命名为给定的目标文件名
- 当第二个参数是已存在的目录名称时,源文件或目录的参数可以有多个,mv命令将各个参数指定的源文件均移动到目标目录中
常用选项:
-i:当目标文件已经存在时,就会询问是否覆盖
-f:如果目标文件已经存在,不会询问而直接覆盖
9.cat指令
语法:cat 选项 文件
功能:查看文件内容
常用选项:
-b:对非空行输出行编号
-n: 对输出的所有行编号
10.more指令 && less指令
10.1more指令
语法:more 选项 文件
功能:查看文件内容,功能类似cat
常用选项:
-n:指定显示前n行
q:退出more(即按q键可推出more查看)
10.2less指令
语法:less 参数 文件
功能:和more功能类似,但使用less可以随意浏览文件,而more仅能向前移动,不能向后移动,而且less在查看之前不会加载整个文件
📖Note:
less可以使用⬆️⬇️按键的功能向前向后翻看文件,更容易查看一个文件的内容;且less中拥有更多的搜索功能,支持向上或向下搜索;一般用于查看大文本,如大型代码,日志等
常用选项:
-i:忽略搜索时的大小写
-N:显示每行的行号
11.head指令 && tail指令
11.1head指令
语法:head 参数 文件
功能:显示文件的开头至标准输出中,默认head命令打印文件的开头十行
常用选项:-n<行数> 指定显示的行数
11.2tail指令
语法:tail 参数 文件
功能:显示文件的末尾内容至标准输出中,不指定文件时,作为输入信息处理,常用于查看日志文件
常用选项:
-n<行数> 指定显示的行数
-f:循环读取
如何查看文件中指定的几行?
法1:临时文件方案
法2:管道
加了 | 之后,不在显示器打印,送到管道里,继续执行后续指令
12.时间相关指令date
date指定格式显示时间:date + %Y/%m/%d
语法:date 选项 格式
1️⃣显示时,用户可以设置显示格式,格式设定为一个加号后接数个标记,常用标记列表如下:
- %H:小时
- %M:分钟
- %S:秒
- %X:相当于%H:%M:%S
- %d:日
- %m:月份
- %Y:年份
- %F:相当于%Y-%m-%d
2️⃣在设定时间方面
- date -s //设置当前时间,只有root权限才能设置,其他只能查看
- date -s 20240126 //设置成20240126,这样会把具体时间设置成00:00:00
- date -s 01:01:01 //设置具体时间,不会更改日期
- date -s "01:01:01 20240126" //设置全部时间
- date -s "2024-01-26 01:01:01" //设置全部时间
- date -s "20240126 01:01:01" //设置全部时间
3️⃣时间戳
时间戳:是从1970年1月1日开始经过的秒数
时间转换成时间戳:date+%s
时间戳转换成时间:date -d@时间戳
13.cal指令
语法:cal 参数 月份 年份
功能:用于查看日历的等信息。只有一个参数,则表示年份;两个参数则表示月份和年份
常用选项:
-3:显示系统前一个月,当前月,下一个月的日历
-j:显示在当年中的第几天
-y: 显示当前年份的日历
14.查找相关指令
14.1find指令
语法:find pathname 选项
功能:在文件树中查找文件,并作出相应的处理
常用选项:
- -name:按照文件名查找文件
14.2which指令
语法:which 指令
功能:搜索并显示给定命令的绝对路径
补充:
alias指令:给指令起别名
14.3whereis指令
语法:whereis pathname 选项 文件名
功能:在特定路径下,查找指定文件名对应的指令或文档;只能搜索二进制文件,帮助文件和源代码文件,无法搜索其他类型的文件
常用选项:
- -b:只搜索可执行文件
- -m:只搜索帮助文件
- -s:只搜索源代码文件
- -B:指定可执行文件的搜索路径
15.grep指令
语法:grep 选项 目标字符串 文件
功能:在文件树中搜索字符串,将找到的行打印出来;grep指令可以认为是文本行内容的过滤工具,可以对内容进行筛选,默认匹配文本中的关键字,匹配成功的进行显示
常用选项:
- -n:查找所匹配的文本行并显示行号
- -i:查找时不区分大小写
- -v:反向选择,亦即显示出没有 目标字符串 的行
grep指令可以和其他指令结合管道来进行某些匹配工作
16.zip/unzip指令
16.1zip指令
语法:zip 压缩文件 目录和文件
功能:将目录或文件压缩成zip格式
常用选项:
- -r:递归处理,将指定目录下的所有文件和子目录一并处理
📖Note:
zip对一个目录进行打包压缩时,默认只会对目录本身打包压缩,不会打包压缩目录里的目录和文件,因此需要借助-r选项递归打包压缩
16.2unzip指令
语法:unzip 压缩文件或目录
功能:将zip格式的目录或文件解压缩,默认在当前目录下
常用选项:
- -d:解压到指定路径下
17.tar指令
语法:tar 选项 压缩文件名 被压缩文件名
功能:压缩文件或目录为.tgz格式
常用选项:
- -c:建立一个压缩文件
- -x:解压文件
- -t:查看压缩包中的文件
- -v:压缩的过程中显示文件
- -f:后接文件或目录名
- -C:解压到指定目录
18.bc指令
功能:计算器
19.unname指令
语法:uname 选项
功能:用来获取电脑和操作系统的相关信息
常用选项:
- -a或-all详细输出Linux主机的所有信息
20.热键总结
1️⃣Tab键功能:命令自动补齐
2️⃣Ctrl+C:中止前台异常程序运行
3️⃣Ctrl+R:搜索历史命令
4️⃣Ctrl+D:退出当前用户,每次退出一层
5️⃣\:续行符
6️⃣一些查看指令:
- lscpu指令:查看CPU结构
- lsmem指令:查看内存
- df -h:查看磁盘使用情况
7️⃣who指令和whoami指令
- who指令:查看当前在线用户
- whoami:查看当前正在操作的用户