目录
1.家目录
1.root用户的家目录
2.非root用户的家目录
2.简单介绍一些基本指令
1.继续介绍cd
1.cd ~
2.cd -
2.mkdir
1.mkdir 目录
创建一串目录
传统方法
编辑
补:查看树状结构的方法:tree指令
tree .
使用mkdir的-p选项来创建一串目录
3.touch
4.rmdir
5.rm
rm -r 目录
rm -rf 目录(Ubuntu下不会提示)
严重警告:千万不要试不要试rm -rf /*或者rm -r /* !!!!!!!!!!!!!!!!!!!!会删除服务器根目录下所有的文件!!!行为非常危险!!!
rm -i
6.man
man target
细节说明
man 手册编号 要查的内容
7.echo
echo 字符串
echo 字符串 > 文件
8.cp
cp src dest
cp -r src dest
9.mv
mv src dest
mv src 路径/文件名
易错提示
3.通配符
1.家目录
不同用户的家目录不同
1.root用户的家目录
以root用户(超级用户)身份登录,家目录在/root
2.非root用户的家目录
以非root用户(普通用户)身份登录,家目录在/home/用户名
Ubuntu系统中,所有普通用户的账号会统一存放在/root目录下
2.简单介绍一些基本指令
承接OS2.【Linux】基本指令入门(1)文章,继续介绍指令
1.继续介绍cd
1.cd ~
作用:切换到用户的家目录
2.cd -
作用:切换到最近一次(即上一次)的路径
2.mkdir
作用:创建目录(即文件夹)(全称make directory)
1.mkdir 目录
例如mkdir newfolder:创建一个名为newfolder的目录
创建一串目录
例如在根目录下创建一串目录
.--
|--d1
|--d2
|--d3
传统方法
要来回使用mkdir和cd指令,比较麻烦
补:查看树状结构的方法:tree指令
tree指令需要安装
系统提示:
Ubuntu下的安装指令
sudo apt update
sudo apt install tree
tree .
作用:从当前路径显示树状结构
使用mkdir的-p选项来创建一串目录
格式: mkdir –p 路径名称 (注:-p全称--parents)
作用:递归建立多个目录(此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立
好那些尚不存在的目录,即一次可以建立多个目录)
例如在/root目录下创建m1,m2,m3,m4,m5一串目录:首先切换到/root目录,之后mkdir -p m1/m2/m3/m4/m5
使用tree指令查看结果: tree m1
3.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 -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 printf,查到的是printf指令
Linux下的printf指令和C语言的printf函数都可以在手册中查到,但这两个printf没有任何关系
man 手册编号 要查的内容
所以如果想查C语言的printf函数,应该使用man 3 printf指令,表示查3号手册
手册查找的逻辑:如果不指定哪个手册,则从1号手册开始查找,若查不到,紧接着查2号手册,若查不到,紧接着查3号手册......一直到9号手册(按手册编号的顺序查找),如果9号都查不到,则返回查不到
7.echo
echo指令的全称全称是 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.txt test/1_backup.txt 表示在当前路径下的1.txt复制一份,重命名为1_backup.txt,将1_backup.txt放到test目录中
一开始test目录没有文件
切换到上级目录后复制1.txt
cp -r src dest
将src目录拷贝到dest中(目录是递归定义的,需要-r选项)
其他选项:-f或--force强行复制文件或目录,不论目的文件或目录是否已经存在;-i或--interactive覆盖文件之前先询问用户(有时候不会询问,看操作系统和是否为超级用户root)
例如:
9.mv
mv全称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的文件