一、基本目录
1、Linux的根目录 /
bin :binary 二进制 ,普通用户可使用的命令。
sbin:Spupervisor binary 管理员(root)使用的命令。
dev:device 设备 Linux下所有的设备都放在/dev路径下。
lib:library 库 如C语言中的printf就存放在bli动态库中。
mnt:mount point 挂载点
root:管理员的家目录
srv:service 服务器
var:variable 变量 运行的日志信息
includ:user 的include 文件下有stdio.h文件
2、文件和目录
Linux系统一切皆文件
. 当前目录
.. 表示上一级目录
~ 用户主目录
/ 根目录
以 . 开头命名的文件或目录是掩藏的,用 ls -a 才能查看到
3、 路径
分为相对路径和绝对路径,绝对路径一定是以 / 开始的
相对就是相对哪个目录
4、Linux的命令格式
Linux下的空格会认为是文件,所以文件命名补课用空格而用 - 或 _ 一般用后者,实在要就可以用转义符 \
敲命令时可以用Tab键进行提示,特别是在cd路径时,当路径唯一时会自动填补上来,所以要多用Tab以免敲错命令。
5、ls (list) 命令
ls用来查看当前路径下有哪些文件。
ls -l 以列表的形式显示
ls -a 查看所有,包括隐藏的文件
6、mkdir(make diretory)命令
创建多个并列文件夹 mkdir a1 a2 a3
一口气创建深深的路径,mkdir -p /di/d2/d3/d4/d5/d6/d7 (注意加 -p)
创建多个文件夹,但文件夹里有分文件夹 mkdir -p a/{a1/{a3,a4},a2/{a5,a6}} 注意反斜杠别漏了
cd - 可以回到上一次的目录
用 tree a 可以生成树状的文件结构图
pwd:print working directory
7.touch 命令
该命令有两个功能:
如果文件不存在就创建一个文件;
如果文件存在就修改文件时间(修改为当前时间)
二、文件权限与属性
Linux系统是一个典型的多用户操作系统,不同的用户处于不的地位,为了保护系统的安全性,Linux系统对不同的用户访问文件或目录做了不同的访问权限控制。
如上图,可分为8个部分
第一部分是文件类型;
- (普通文件)
d(directory文件)
l(符号链接文件,是通过ln -s 源文件名 新文件名组成,下面是一个例子,表示gawk是awk的软链接文件。怎么理解呢?这和Windows操作系统中的快捷方式有点相似)
p (pipe 管道文件)
s(socket 套接字文件,当我们启动MySQL服务器时,会产生一个mysql.sock的文件)
b(block 块设备,比如硬盘,光驱等)
c(charater 字符设备文件,如串口设备)
第二部分是文件权限
文件权限中有3组用户,左到右分别为:Ower、 Group、Other。
r = readable、 可读 w =writable 可写 、x = excute 可执行
其中 - 表示没有权限。
第三部分是硬链接数
一般文件创建硬链接的时候这个数会发生变化
第四部分是文件的属主
就是说这个文件是哪个用户的,我们可以用chow来修改文件的所有者。
第五部分是文件属组
即使文件归属于哪一个用户组,我们可以用chgrp来修改文件的所属组。
第六部分是文件的大小
第七部分是创建或修改时间
第八部分是文件或目录的名称
三、Linux硬链接与软链接
ln (link) 命令创建链接文件,链接包括硬链接和软链接(符号链接)。
软链接文件是用户数据块中存放的内容是另一文件的路径名的指向,则该文件就是软连接。软链接就是一个普通文件,只是数据块内容有点特殊。软链接有着自己的 inode 号以及用户数据块。(见图2)软连接可以指向目录,而且软连接所指向的目录可以位于不同的文件系统中。可以看做是Windows的快捷方式,可以让你快速链接到目标文档或目录。但当原始文件被删除之后,软链接依然会指向该文件,但目标已消失,找不到数据了。
硬链接是指向公用的一个内存块,即硬链接的内容是一样的。简单说,硬链接就是一个 inode 号对应多个文件。就是同一个文件使用了多个别名。新硬链接创建后,无法区别哪一现有硬链接是原始链接。即使原始链接被删除,使用新的硬链接依然可以访问原内容。但指向同一文件内容的硬链接需要在相同的文件系统中也不能链接到文件夹,不能链接目录。
详见链接:软链接与硬链接详细介绍
四、通配符
1、星号 (*):匹配任意长度的任意字符串,eg:file*.text
2、问号( ?):匹配一个长度的任意字符
3、方括号( [...] ) : 匹配其中指定的一个字符,eg:flie[1]
4、方括号[-]:匹配其中一个指定的范围,eg:file[1-3]
5、方括号[^...] : 除了其中指定的字符,均可匹配,eg:file[^max]
五、rm 命令
用户可以用rm命令删除不需要的文件。该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是断开了链接,原文件保持不变。
rm命令的一般形式为:rm [选项]... 目录... 删除指定的<文件>(即解除链接)。
-d --directory 删除可能仍有数据的目录 (只限超级用户)
-f --force 略过不存在的文件,不显示任何信息,强制删除
-i --interactive 进行任何删除操作前必须先确认
-r/R --recursive 同时删除该目录下的所有目录层
-v --verbose 详细显示进行的步骤
--help 显示此帮助信息并离开
--version 显示版本信息并离开
PS1:最好用的带参命令是rm -rf <filename>,确定好了要删除的话,该命令不管是文件夹还是文件都会直接强制删除。
rm可以与上述四的通配符使用
六、cp命令:
一、复制一个源文件到目标文件(夹)
命令格式为:cp 源文件 目标文件(夹)
这个是使用频率最多的命令,负责把一个源文件复制到目标文件(夹)下。复制到文件夹下,则文件名保持不变,复制到文件中,则文件名变更。如果目标文件已经存在或目标文件夹中含有同名文件,则复制之后目标文件或目标文件夹中的同名文件会被覆盖。
二、同时复制多个文件到目标文件(夹)下。
命令格式为:cp 源文件1 源文件2 目标文件夹 或 cp 文件* 目标文件夹
这个命令使用频率也很高。第一种命令格式可以把列出来的多个文件一次性复制到目标文件夹下,每个文件直接用空格分隔;第二种命令格式使用了通配符* 。
三、复制源文件夹到目标文件夹下。
命令格式为:cp -r 源文件夹 目标文件夹
这个也是使用频率很高的命令,只需要记住复制文件夹一定要加“-r(递归)”参数,否则会出现“cp: omitting directory”错误。
四、只有源文件较目标文件新时复制。
命令格式为:cp -u 源文件 目标文件
这个命令很实用,尤其是在更新文件时。如下图所示,只有源文件比目标文件新时,才会将源文件复制给目标文件,否则,及时执行了命令,也不会执行复制。
五、创建文件的软链接。
命令格式为:cp -s 源文件 目标文件
也可以用ln命令实现同样的功能。当一个文件路径太深(如下述的a/b/c/d/e/orginalFile.txt),访问起来十分不方便时,就会创建这个文件的软链接,使之访问起来更方便些。软链接就相当于windows上的快捷方式。
六、创建文件的硬链接。
命令格式为:cp -l 源文件 目标文件
也可以用ln命令实现同样的功能。有时候,为了某种原因,需要创建一个硬链接,如下图所示。
七、mv命令
1、作用:用来移动文件或者将文件改名
2、格式:mv [选项] 源文件或目录 目标文件或目录
选项:
-b 若需覆盖文件,则在覆盖文件前先进行备份
-f 强制覆盖,若目标文件已存在同名文件,使用该参数时则直接覆盖而不询问
-i 若目标文件已存在同名文件,则提示询问是否覆盖
-u 若目标文件已存在需移动的同名文件,且源文件比较新,才会更新文件
-t 指定mv的目标目录,改选项使用于移动多个源文件到一个目录的情况,此时目标文件在前,源文件在后
————————————————
版权声明:本文为CSDN博主「笃行之.kiss」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/panc_guizaijianchi/article/details/83656869
八、查看文件内容命令
1、cat 可读、可写。
2、more 只读、只能往下翻 (回车翻一下,空格翻一页。按q退出)
3、less 只读,可上下翻。 (同上)
4、head 只看文件前10行,head -5 只看文件前5行。
5、tail 看文章最后10行,tail -5 只看文章最后5行。
九、文件的修改命令 vi / vim 编辑器
vim 是vi的升级版(详见vim)