初识linux
相信大家对linux都有所耳闻,linux和我们的windows一样都是操作系统,但是windows一般工作在大家的桌面上,平时玩游戏听歌上网都是windows系统,但是我们在网站上购买商品,浏览新闻,这些都是运行在服务器上的。而在服务器上边大部分操作系统用的是linux。linux的名字是从哪里来的呢,linux又是有什么具体含义,linux其实有两重含义,一种是广义上所说的是一种操作系统,另外一种是Linus(芬兰的天才程序员)编写的开源操作系统的内核。Linus Benedict Torvalds也被称为linux之父。
linux系统的操作界面和windows系统的操作界面有很大的区别。linux的操作形式为命令行格式,和window图形界面操作完全不一样。为什么会有不同的操作形式,因为服务端和客户端所做的事情完全是不一样的。服务端强调系统的稳定性,所以不需要华丽的界面,所以linux的操作形式为命令行形式。如果想在自己的电脑上接触到linux,应该怎么办呢。
学习linux之前的环境准备
- 云主机。例如阿里云、腾讯云、华为云等,是非常普及的,甚至有一些云厂商的一些活动,可以免费体验服务器
- 无数据的PC(不推荐多系统混跑)
- 虚拟机(推荐方式)。在windows或者mac系统上安装虚拟机,及时在操作过程中出现问题,也不会影响系统的安全,不会影响电脑现有系统的运行。
linux命令
1、万能的帮助命令
man 帮助
man是manual的缩写,我们一般简单说成man。man帮助语法很简单
// man 命令 // 例如 man ls man cd man mkdir
help 帮助
// 内部命令使用help 帮助 help cd // 外部命令使用help 帮助 ls --help
help 帮助命令为什么有两种形式区分?因为 命令也有两种区分,一种是 shell(命令解释器)自带的命令称为内部命令,其他的是外部命令。
可以使用type命令区分外部命令还是内部命令:
// 内部命令 type cd // 外部命令 type ls
info 帮助
info 帮助比help更加详细,作为help的补充。
info ls info cd info mkdir
使用网络资源(搜索引擎和官方文档)
2、文件管理相关命令
文件管理既是linux管理的基础,又是linux管理的核心,因为在linux中有个非常重要的概念,叫做一切皆文件。像大家熟知的windows系统中,可能会有注册表,设备管理器等各个组件,而在linux中,我们控制linux通通都是文件,所以文件管理是linux中非常重要的内容。
文件查看
pwd:显示当前的目录名称。
有点类似windows的资源管理器,需要知道当前在c盘还是d盘。
cd:更改当前的操作目录。
当我们看到自己当前操作的目录之后,可能想要到其他文件目录中去操作,例如windows中当前在c盘,想要去d盘,这种情况下,在linux中,就会用到cd命令。
cd /path/to/...绝对路径 cd ./path/to/...相对路径 cd ../path/to/...相对路径
ls:查看当前目录下的文件。
ls类似于资源管理器,通过ls命令可以查看文件的名称,文件的权限,文件的类型,修改时间,以及文件的很多很多信息。
// 显示root目录下有哪些 ls /root // 显示root目录和www目录下有哪些 ls /root /www
ls带选项语法
ls -l 长格式显示,也可以写成ls -l . 表示在当前目录下操作
例如:
第一列(dr-xr-xr-x)代表文件的类型和权限。第一列第一个字符代表文件的类型。如果是一些普通文件,类似于windows中文本文件,音乐文件,一般都是以"-"表示。如果是目录,也就是windows中文件夹,那么就是"d"来表示。实际上linux也会把目录当作文件去处理。
除去第一个字符,剩下的9个字符表示目录或者文件的权限。
第二列(5)的数字表示目录下文件的个数。
第三列(root)表示谁创建了文件或目录,显示的是名字。
第四列(root)表示这个人是属于哪个用户组的。
第五列(4096)表示文件或目录的大小
剩下列:表示文件或目录的最后修改时间
最后一列:文件或目录的名称
ls -a 显示隐藏文件
在linux中,文件或者目录以.开头,就表示它是隐藏文件。
ls -r 以逆向的方式进行排序,通常情况下配合 ls -l 一起使用。默认情况下以文件名的方式进行逆向显示。
ls -l -r -t 以时间方式进行逆向。多个选项可以缩写为 ls -lrt
ls -R和ls -r是不同的,所以在使用的时候要特别注意大小写,会有不同的含义。
ls -R表示递归显示目录内容,如果目录里边还有内容,会一并显示出来。
创建和删除目录
在windows中我们可以对文件夹进行操作,比如新建、删除、移动、重命名等操作。在linux中同样提供了相关命令。
mkdir
建立一个空的目录。
// 在根目录下创建一个a目录 mkdir /a 在当前目录下创建一个a目录,可以省略./ mkdir ./a mkdir a mddir ./a // 建立多个目录 mkdir a b c // 如果创建一个已经村存在的目录,那么会提示无法创建 mkdir a // 创建多级目录 mkdir /a/b // 连续创建多级目录,使用-p mkdir -p /a/b/c
rmdir
删除目录。rmdir有一个要求,只能删除一个空白的目录,如果目录下有任何内容,都将无法删除。
// 继续上边的代码 // 删除a目录,将会提示失败,删除"/a"失败:目录非空 mkdir /a
上述命令中,虽然a目录下的b和c都是空目录,但是也无法删除,这也充分说明在linux中一切皆文件,linux会把目录当成文件。
如果想要删除非空目录,可以执行rm命令
rm命令执行的时候,如果想要删除目录,需要带一个参数-r,即使有多个目录,并且它们都不是空的。
// 删除a目录 rm -r /a
如果想要系统不进行一层一层提示,那么可以在命令后边加上-f选项,这样系统就不会进行提示,直接删除。
// 带-f参 rm -rf /a
cp
cp命令进行文件的复制,cp其实是copy的缩写。
语法:cp [源文件或目录] [目标位置]
// 对a进行复制,把a目录复制到demoVue中 // cp单独使用的时候只能复制文件,如果要复制文件的话需要新增选项-r cp -r ./a ./demoVue
使用cp -v
命令时,系统会在终端中输出关于复制过程的额外信息,比如哪些文件正在被复制,以及它们被复制到哪里。
cp -p
命令在 Linux 中用于复制文件或目录,同时保留原文件或目录的修改时间和访问权限。-p
选项实际上是 --preserve
的缩写,但在这里它主要用于保留文件的模式(即权限)、所有权和时间戳。这意味着复制后的文件将具有与源文件相同的访问权限、文件所有者、文件组以及最后修改和访问时间。
注意:
- 使用
-p
选项时,通常也会保留文件的特殊属性(如 SELinux 安全上下文),但这取决于具体的系统和cp
命令的实现。 - 如果你想要复制文件或目录,并且还想保留其他更详细的属性(如链接数、用户ID和组ID),可能需要使用更高级的选项(如
cp
的--preserve=all
),但这在大多数标准 Linux 发行版中可能不是-p
的直接功能。 - 默认情况下,
cp
不会复制文件的扩展属性,除非明确指定了--preserve=xattrs
(或类似)选项。然而,-p
选项本身并不包括这一点。
touch
touch创建一个文件。
mv
mv命令在linux中有两个功能,一个是文件和文件夹的移动功能,一个是重命名功能。
语法:mv [选项] 源文件或目录 目标位置或新名称
- 源文件或目录:你想要移动或重命名的文件或目录的路径。
- 目标位置或新名称:如果是移动操作,则是文件或目录要移动到的目标路径;如果是重命名操作,则是文件或目录的新名称(通常在同一目录下)。
常用选项:
-i
:在覆盖目标文件之前提示用户确认。-u
:只有在源文件比目标文件新,或者目标文件不存在时,才移动文件。-v
:显示详细的操作信息。-n
:不要覆盖任何已存在的文件。
操作:
1、移动文件
将名为 example.txt
的文件从当前目录移动到名为 documents
的子目录中:
mv example.txt documents/
2、重命名,重命名操作在linux底层其实就是把文件的移动
将filea文件改名为fileb
mv /filea /fileb
3、移动并重命名文件
将名为 example.txt
的文件移动到 documents
目录下,并同时重命名为 document.txt
:
mv example.txt documents/document.txt
4、如果在进行复制、移动或者删除的时候,有很多相似的文件或目录,可以使用通配符(通用的匹配符号)进行操作。除了在cp命令中使用,可以在ls命令中。
- * 表示当前目录下要操作的所以文件和目录
- ?
- [xyz] 匹配xyz任意一个字符
- [a-z] 匹配一个范围
- [!xyz] 或 [^xyz] 不匹配
移动当前目录下所有文件
cp * /a
把以file开头的文件移动到b目录下
cp file? /b
标签:实战,文件,手册,命令,ls,linux,cp,目录 From: https://www.cnblogs.com/zmyxixihaha/p/18327007