)
目录1.root用户的家目录2.非root用户的家目录2.简单介绍一些基本指令1.继续介绍cd1.cd ~2.cd -2.mkdir1.mkdir 目录创建一串目录传统方法编辑补:查看树状结构的方法:tree指令tree .使用mkdir的-p选项来创建一串目录3.touch4.rmdir5.rmrm -r 目录rm -rf 目录(Ubuntu下不会提示)严重警告:千万不要试不要试rm -rf /*或者rm -r /* !!!!!!!!!!!!!!!!!!!!会删除服务器根目录下所有的文件!!!行为非常危险!!!rm -i6.manman targetman显示某个命令没有找到对应的条目的解决方法细节说明man 手册编号 要查的内容附:在线的man手册7.echoecho 字符串echo 字符串 文件8.cpcp src destcp -r src dest9.mvmv src destmv src 路径/文件名易错提示3.通配符不同用户的家目录不同1.root用户的家目录以root用户(超级用户)身份登录,家目录在/root2.非root用户的家目录以非root用户(普通用户)身份登录,家目录在/home/用户名Ubuntu系统中,所有普通用户的账号会统一存放在/root目录下2.简单介绍一些基本指令承接OS2.【Linux】基本指令入门(1)文章,继续介绍指令1.继续介绍cd1.cd ~作用:切换到用户的家目录2.cd -作用:切换到最近一次(即上一次)的路径2.mkdir作用:创建目录(即文件夹)(全称makedirectory)1.mkdir 目录例如mkdir newfolder:创建一个名为newfolder的目录创建一串目录例如在根目录下创建一串目录.--|--d1|--d2|--d3传统方法要来回使用mkdir和cd指令,比较麻烦补:查看树状结构的方法:tree指令tree指令需要安装系统提示:Ubuntu下的安装指令sudo apt update sudo apt install treetree .作用:从当前路径显示树状结构使用mkdir的-p选项来创建一串目录格式: mkdir –p 路径名称 (注:-p全称--parents)作用:递归建立多个目录(此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录)例如在/root目录下创建m1,m2,m3,m4,m5一串目录:首先切换到/root目录,之后mkdir -p m1/m2/m3/m4/m5使用tree指令查看结果: tree m13.touch作用:更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件例如在/root下创建1.c文件4.rmdir作用:只能删空目录,不能删文件(rmdir与mkdir相对应,rmdir全称remove directory)现有如下目录结构对文件和目录使用rmdir指令:5.rm作用:删除文件或目录(rm全称remove)例如删除/root下的1.c文件:rm 1.c(有些系统例如CentOS在root账号下删除会有提示:是否删除?,若不想显示提示使用rm -f文件指令来强制删除(-f的全称为--force),不再询问)但单独的rm指令不能删除非空目录rm -r 目录作用:递归删除目录rm -rf 目录(Ubuntu下不会提示)作用递归强制删除(不询问)严重警告:千万不要试不要试rm -rf /*或者rm -r /* !!!!!!!!!!!!!!!!!!!!会删除服务器根目录下几乎所有的文件!!!行为非常危险!!!用rm删除的文件难以找回,可能会造成不可挽回的损失,由于rm指令比较危险,在一个工程中一般是建立一个delete文件夹然后使用 mv 指令移走文件,定时对delete进行删除这是我在我的主机上测试的视频:rm -rf 根目录删除测试后果: 系统几乎所有的文件都被删除了,以下是监控图读者也可以看看这个讲rm -rf /*的视频:【官方双语】Linux上最危险的命令 #电子速谈rm -i作用:删除文件前提示6.man作用:过查看联机手册获取帮助man target例如:man mkdir 查看mkdir指令的帮助;例如man man查看man指令帮助最底下提示:按h获取帮助,按q退出手册如果仔细观察的话:会发现左右上角各有MKDIR(1),这里的1代表1号手册执行man man指令会发现一共有9个手册例如System calls为系统调用,Library calls为C库调用man显示某个命令没有找到对应的条目的解决方法如果man显示某个命令没有找到对应的条目,有两种情况:1.man手册没有安装全,可以使用以下命令全部安装sudo apt update sudo apt install manpages \ manpages-dev \ bash-builtins \ manpages-posix-dev \ sudo mandb2.是内置命令,用help命令查询例如help echo注: 有关于内置命令的说明参见OS22.【Linux】环境变量文章细节说明例如:man printf,查到的是printf指令Linux下的printf指令和C语言的printf函数都可以在手册中查到,但这两个printf没有任何关系man 手册编号 要查的内容所以如果想查C语言的printf函数,应该使用man3printf指令,表示查3号手册手册查找的逻辑:如果不指定哪个手册,则从1号手册开始查找,若查不到,紧接着查2号手册,若查不到,紧接着查3号手册......一直到9号手册(按手册编号的顺序查找),如果9号都查不到,则返回查不到附:在线的man手册https://www.kernel.org/doc/man-pages/pdf下载链接: https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/book/7.echoecho指令的全称全称是 echo to standard output,作用:将内容输出到标准输出echo 字符串默认输出流是屏幕,即原封不动将字符串显示到屏幕上(这里的输出流可以类比在C语言里讲过的概念)echo 字符串 文件为输出重定向符,将字符串写入文件中,输出流为文件流(这里的文件流可以类比在C语言里讲过的概念,可参见75.【C语言】文件操作(2)文章)例如echo Hello World! 1.txt,将Hello World!字符串写入1.txt中,将原本到显示器的字符串重新定向到写入文件中写入前后1.txt的大小变化(0个字节变成13个字节)8.cp作用:复制(全称copy)cp src dest将src普通文件(目录不行)拷贝到dest中,如果是同一个目录下,文件名不能相同!例如cp 1.txt 1_backup.txt 表示在当前路径下,1.txt复制一份,重命名为1_backup.txt例如cp 1.txt../1_backup.txt 表示在当前路径下的1.txt复制一份,重命名为1_backup.txt,将1_backup.txt放到上级路径中例如cp 1.txttest/1_backup.txt 表示在当前路径下的1.txt复制一份,重命名为1_backup.txt,将1_backup.txt放到test目录中一开始test目录没有文件切换到上级目录后复制1.txtcp -r src dest将src目录拷贝到dest中(目录是递归定义的,需要-r选项)其他选项:-f或--force强行复制文件或目录,不论目的文件或目录是否已经存在;-i或--interactive覆盖文件之前先询问用户(有时候不会询问,看操作系统和是否为超级用户root)例如:9.mvmv全称move,可以只剪切文件或者目录,只重命名文件或者目录或既重命名又剪切文件或者目录,具体看指令的内容mv src dest作用:改文件名或者目录(等价为mv src ./dest)现在某目录下的文件是这样的:现把test目录改名为test1目录(只重命名目录),可以使用mv test test1指令把1.txt文件改名为2.txt文件(只重命名文件),可以使用mv 1.txt 2.txt指令mv src 路径/文件名作用:剪切(即移动)文件或者目录,可能还重命名了现在某目录下的文件是这样的:m1目录是空的现要把test1移动到m1目录中(只剪切文件),可以使用mv test1 m1/指令,注意m1后的斜杠不能省略!表示移动到m1目录里面那如果要将test移动到目录m1并重命名为test(既重命名又剪切文件),可以使用mv test1 m1/test指令令易错提示注意区分mv dir ../newdir和mv dir ../newdir/ ,如果dir是目录,前者是将dir移动到上层目录中命名为newdir,后者是将dir目录移动到上层目录中的newdir目录中(newdir后有无斜杠,意思不同)3.通配符主要有星号(*)和问号(?)作用:*匹配任意名称的文件(即*可以代表任何字符串),而?仅代表单个字符例如root下有以下文件ls *:列出所有文件ls *.txt:列出后缀名为txt的文件ls *.?:列出后缀名只有一个字符的文件ls test*.*:列出文件名前缀为test的文件