【Linux】基本指令(上篇)

这里是目录

前言

Linux操作的特点:有图形化界面,但大部分都是以纯命令行 为主

Windows也是命令行 但是他是面向普通用户的所以大部分都是以图形化界面 为主

无论是图形化界面,还是指令,本质其实都是一样的,指令操作更贴近操作系统

Xshell :alt+enter:全屏和取消全屏

ls指令

ls - 对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息
语法: ls 选项目录或文件

因为当前目录没有文件,所以并没有显示

指令是可以携带选项的(可以带多个选项)

-a 列出目录下的所有文件,包括以 . 开头的隐含文件。

-d 将目录象文件一样显示,而不是显示其下的文件 如:ls --d 指定目录

-i 输出文件的 i 节点的索引信息如 ls --ai 指定文件

-k 以 k 字节的形式表示文件的大小ls --alk 指定文件

-l 列出文件的详细信息

-n 用数字的 UID,GID 代替名称(介绍 UID, GID)

-F 在每个文件名后附上一个字符以说明该文件的类型,"*"表示可执行的普通文件;"/"表示目录;"@"表示符号链接;"|"表示FIFOs;"="表示套接字(sockets)(目录类型识别)

-r 对目录反向排序

-t 以时间排序

-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)

-R 列出所有子目录下的文件(递归)

-1 一行只输出一个文件

比如 ls -l 可以查看文件的属性(也可以写成ll )

pwd指令

pwd - 显示当前命令行进行操作时所处在的目录

mkdir指令(重要)

mkdir - 创建一个目录

就和在Windows中创建了一个文件夹一样,但是在Linux下我们并不能直接看到所创建的文件夹,因为Linux是纯命令行的形式,所以需要配合ls指令来查看

如果想创建一串目录:mkdir -p d1/d2/d3/d4/d5 即可

tree指令

tree - 将目录结构以树状的形式显示

想使用这个命令是需要进行安装的:

输入:yum install -y tree即可

如果出现这种情况就说明没有安装

安装完成后即可使用:

cd指令

cd - 进入一个目录
常用选项:

cd ... : 返回上级目录

cd /home/litao/linux/ : 绝对路径

cd .../day02/ : 相对路径

cd ~:进入用户家目录

cd -:返回上一次访问的目录

在Linux中只有两种用户,一种是超级用户root,一种是普通用户

在centos系统中,所有普通用户,用户账户都会统一放在/home(家目录)中

通过pwd指令可以看到我们所处的位置就是12_2的文件夹中


结合

ls -la 也可以写成 ls -l -a - 显示所有的文件(包括隐藏文件)

使用..回到上级目录:

Linux的路径分隔符是:/

最前面的 / 是Linux的根目录

所以Linux的目录结构整体就是一个多叉树,他的叶子节点一定是空目录或者非目录文件,路上节点一定是一个非空目录:

所以我们所有的对文件或者目录的增删查改,本质上都是对这棵多叉树的增删查改

所以我们定位一个文件,通常用路径来进行定位,路径定位:唯一性(任何节点都只有一个父节点)

我们把从根目录开始定位到指定位置,具有唯一性的路径称为:绝对路径

那我们就可以进行以下操作:直接从根目录进入到某个指定的目录:

我们以自己当前所处的路径作为起始参照位置,来进行特定文件的定位称为:相对路径(所处的路径发生变化,可能相对路径就失效了)

一般从根目录开始就叫绝对路径反之都叫做相对路径

1.绝对路径往往比较长,但是不变,一般在一些固定场景中使用,比如:配置文件中使用

2.一般命令行输入,比较常用相对路径


touch指令

语法:touch 选项... 文件...
touch - 命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件(普通文件)

常用选项:

-a 或--time=atime或--time=access或--time=use只更改存取时间

-c 或--no-create 不建立任何文档

-d 使用指定的日期时间,而非现在的时间

-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

-m 或--time=mtime或--time=modify 只更改变动时间。

-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

-t 使用指定的日期时间,而非现在的时间

rmdir指令(重要)

rmdir - 删除目录

rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除目录
语法:rmdir -pdirName

常用选项:

-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除

rmdir不能删除非空目录:

rm指令(重要)

rm - 可以直接删除普通文件
语法:rm -f-i-r-vdirName/dir

常用选项:

-f 即使文件属性为只读(即写保护),亦直接删除(删除前不询问)

-i 删除前逐一询问确认

-r 删除目录及其下所有文件

每次删除都要询问是不是有点麻烦?如果我有几百个文件呢?

这时候就可以加上:-f 直接删除不询问

注:Linux删除就真的删除了(没有回收站),恢复成本很大,所以删除前需要慎重考虑

*通配符

需要搭配使用,如ls或者rm

ls + * 显示所有文件------不包括隐藏文件

ls + *+后缀名 ------显示后缀名相同的文件

ls + 前缀名 +* ------显示前缀名同的文件

比如:只查看后缀为.c的文件,或者只查看以.txt结尾的文件

删除所有后缀为.c的文件

man指令(重要)

访问Linux手册页的命令是:man 语法: man 选项 命令

比如:man ls


man rm

这个手册是可以汉化的,但现阶段不建议汉化

常用选项:

-k 根据关键字搜索联机帮助

num 只在第num章节找

-a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕

指令 : man + 手册号 +要查的函数

man手册分为8章

  1. 是普通的命令
  2. 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
  3. 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
  4. 是指文件的格式,比如passwd,,就会说明这个文件中各个字段的含义
  5. 是给游戏留的,由各个游戏自己定义
  6. 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
  7. 是系统管理用的命令,这些命令只能由root使用,如ifconfig

如果没有带手册号,默认按1号查找,如果1号没找到,找2号,2号没找到,找3号...以此类推,如果一个函数在1号和3号手册都有出现那么直接查找(不带手册号)则会显示1号手册的内容,3号手册需要指定3号(带手册号:3)

echo指令

echo+字符串:

直接将字符串输出到显示器上

> (大于符号)------指的是将内容重定向到指定的文件

echo + 内容 + > +文件 ,就是将指定内容输出到文件中
比如:

可以看到加了 > 之后字符串并没有输出到显示器上,但是test.txt 的大小发生了改变,说明字符串被写入到了文件当中 - 称之为输出重定向

含义:本来应该显示到显示器的内容,打印到文件中

cat指令

语法:cat 选项文件
cat - 查看目标文件的内容

cp指令(重要)

语法:cp 选项 源文件或目录 目标文件或目录

常用选项:

-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在

-i 或 --interactive 覆盖文件之前先询问用户

-r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理

-R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理


拷贝到上级目录

拷贝一批目录

cp + -r + 指定目录下的目录 + 拷贝到目标处的目录(给拷贝到目标目录重命名)

mv指令(重要)

语法: mv 选项 源文件或目录 目标文件或目录

常用选项:

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖

-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖

修改名字

看上去是修改了名字,实际上也可以是把这个文件剪切并重命名了一下

剪切功能

如果只有mv test.txt .../(后面没有跟任何东西)就叫做单纯的剪切

如果mv test.txt .../ test2.txt(带了一个名字)就叫剪切并重命名

如果上级目录已经存在要重命名的名字,则操作就会变成剪切文件到上级目录的文件名中:

以上就是本篇文章的全部内容了,希望大家看完能有所收获

相关推荐
A小辣椒5 小时前
TShark:Wireshark CLI 功能
linux
A小辣椒9 小时前
TShark:基础知识
linux
AlfredZhao11 小时前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao1 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334661 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪1 天前
linux 拷贝文件或目录到指定的位置
linux
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质2 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式