这里是目录
- 前言
- ls指令
- pwd指令
- mkdir指令(重要)
- tree指令
- cd指令
- touch指令
- rmdir指令(重要)
- rm指令(重要)
- *通配符
- man指令(重要)
- echo指令
- cat指令
- cp指令(重要)
- mv指令(重要)
前言
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 [-p][dirName]
常用选项:
-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除
rmdir不能删除非空目录:
rm指令(重要)
rm - 可以直接删除普通文件
语法:rm [-f-i-r-v][dirName/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章
- 是普通的命令
- 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
- 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
- 是指文件的格式,比如passwd,,就会说明这个文件中各个字段的含义
- 是给游戏留的,由各个游戏自己定义
- 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
- 是系统管理用的命令,这些命令只能由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(带了一个名字)就叫剪切并重命名
如果上级目录已经存在要重命名的名字,则操作就会变成剪切文件到上级目录的文件名中:
以上就是本篇文章的全部内容了,希望大家看完能有所收获