目录切换相关命令(cd/pwd) 相对路径、绝对路径和特殊路径符 创建目录命令(mkdir) 文件操作命令part1(touch、cat、more) 文件操作命令part2(cp、mv、rm)
绝对路径及相对路径
绝对路径
Linux中的绝对路径从根目录 / 开始,用户一般从家目录开始配置文件,root用户的家目录为/root,普通用户的家目录为/home/用户名称,~ 代表用户的家目录
相对路径
相对路径一般使用 . 代表代表当前目录 ..代表上一级目录,若要代表上级目录的上级目录,一般使用../..
例子
若当前位于/root目录下,若目录下有一个名为anaconda的目录,若要进行访问
Linux命令的格式
Linux命令的格式一般为
command -options parameter
command为命令 -options作为命令中的一种细化选项,可以控制command的行为细节
使用相对路径的方式
cd anaconda/
cd ./anaconda/
使用绝对路径的方式
cd /root/anaconda/
ls
ls的全称为"list segments",segment具有段,部分的意思,这里ls命令作用为输出指定目录下的内容,默认为当前目录
options有 -a -l -h三个,参数parameter为要指定显示的路径
-a
-a,a是all的缩写,使用-a作为选项可以让ls命令输出隐藏文件
-l
-l指的是long listing,用于输出文件或目录的详细信息以下是一条输出样例
从左至右输出的分别是:文件类型、权限、硬链接数、文件属于的用户、所属组、文件大小(字节数)、文件最后的修改日期、文件名
-rw-r--r-- 1 user group 4096 Sep 6 12:34 filename.txt
-h
-h指的是human-readable,配合-l一起使用,作用为让文件大小以易读的格式显示,如KB,MB,GB而不是单纯的字节数,以下是一条输出样例,可见文件大小显示为4.0k也就是4KB
-rw-r--r-- 1 user group 4.0K Sep 6 12:34 filename.txt
组合使用
若要指定多个option一起显示,有两种方式
完整写法
完整写出所有option,无所谓顺序,使用空格间隔
如
ls -a -l -h接空格和路径
省略写法
省略写法可以只使用一个-接option,同样无所谓顺序
如
ls -alh接空格和路径
例子
若要显示/root目录下的anaconda目录下的所有文件
若当前位于/root
使用相对路径方式
ls -alh anaconda/
ls -alh ./anaconda/
使用绝对路径方式
ls -alh /root/anaconda/
cd
cd全称为change directory,作用可以切换工作目录,参数为路径
例子
若要切换到/root目录下的anaconda目录
若当前位于/root
使用相对路径方式
cd anaconda/
cd ./anaconda/
使用绝对路径方式
cd /root/anaconda/
pwd
pwd的全称为print working directory,作用为输出当前工作路径
若当前在/root
使用pwd会输出
/root
mkdir
mkdir的全称为make directory,也就是创建目录,常用option为-p,p也就是parent,若不使用此option,若创建多级目录中包含不存在的父目录则会报错
例子
若此时位于/root目录,要创建一个多级目录/root/job/programmer/且job目录并不存在
使用相对路径方式
mkdir ./job/programmer/
mkdir job/programmer/
使用绝对路径方式
mkdir /root/job/programmer/
touch
touch作用是创建文件,参数为要创建的文件路径
例子
若当前位于/root目录,要创建一个名为test111.txt的文件
使用相对路径方式
touch test111.txt
touch ./test111.txt
使用绝对路径方式
touch /root/test111.txt
cat
cat的全称是concatenate,具有拼接的意思,作用有两个,一是可以用于显示文件内容,二是用于文件拼接
显示文件内容
若要显示文件内容,参数为文件路径,会一次性输出文件内所有内容,若要输出/etc/services这个文件,命令为
cat /etc/services
文件拼接
文件拼接有两种方式,一种是将两个文件拼接直接输出或输出到一个新的文件中,若/root下有两个txt文件,分别为test1.txt和test2.txt 内容分别为i love you和i love you too
直接输出
若直接输出,使用方法为 cat 文件1 文件2,拼接顺序按参数文件从左到右的顺序,拼接后为从上到下的顺序
cat test1.txt test2.txt
输出为
i love you
i love you too
多个文件拼接输出到一个新的文件
若要输出到一个新的文件,方法为 cat 文件1 文件2 > 文件3,若文件3不存在则会自动创建,若文件3中已经有了内容则直接覆盖
若要将test1.txt和test2.txt拼接输出到test3.txt
cat test1.txt test2.txt > test3.txt
此时若test3.txt为空,则test3.txt里的内容就会变成
i love you
i love you too
将文件拼接至另一个文件尾部
若要将一个或多个文件拼接到另一个文件尾部,这里依旧以文件1,2,3为例,方法为cat cat 文件1 文件2 >> 文件3
若文件3中已有文本
i love you
i love you too
若想将文件1,2拼接至其尾部
cat test1.txt test2.txt >> test3.txt
则文件3中此时的内容为
i love you
i love you too
i love you
i love you too
more
more的作用为显示文件内容,参数为文件路径,若显示文件内容过长,则会自动分页显示
打开后可以执行以下操作
- 空格键:向下翻一页。
- Enter 键:向下翻一行。
- b 键:向上翻一页(如果支持)。
- q 键:退出查看。
- /搜索字符串:向下查找指定字符串。
- n:查找下一个匹配的字符串。
如要显示/etc/services文件
则执行
more /etc/services
cp
cp的全称为copy,作用为复制文件或目录,可用option为-r,也就是recursion(递归),此option的作用为,若复制目标是目录,则需要使用递归复制,复制目录中所有文件,参数有两个,分别是复制的目标文件的路径和要复制到的地方
复制文件
若此时位于/root目录下,有一个文件test1.txt,这里直接都仍复制到当前目录下的test2.txt,若test2.txt不存在,则会自动创建,test2中已有内容,则会覆盖
用法为
cp test1.txt test2.txt
复制文件夹
若此时位于/root目录下,有一个目录test,若要将其复制到另一个目录test2下
若test2存在
则使用
cp test test2
这样会把test本身包括其中的内容复制到test2里
若只拷贝内容
若只拷贝内容,则需要使用通配符*
*的作用为代表任意长度的任意字符组合
*test表示后缀为test的文件
test*表示前缀为test的文件
*test*表示包含test的文件
那么这里就可以使用
cp test/* test2
这样就可以实现只拷贝内容
若test2不存在
则cp test test2的作用为将test的内容拷贝一份到test2下
mv
mv的全称是move,作用是移动文件或者目录,参数有两个,分别是要移动的目标路径,和要移动到的路径
移动文件或目录位置
例子
此时若要将当前目录下的test目录移动到当前目录下的test2目录
执行
mv test/ test2/
则test目录会被移动到test2目录下
更改文件或文件夹名称
此时若要将当前目录下的test目录更改名字为test2(注意这里的例子与上一个的不同之处在于test2不存在)
则需要执行
mv test/ test2/
所以同样的命令,若目标文件夹存在则为移动,若不存在则为改名
rm
rm的全称为remove,作用为删除文件或目录,若删除对象为目录则需要使用-r 也就是recursion(递归),要递归删除目录下所有文件,同样还有-f,也就时force(强制),若不使用-f,则在删除每一个文件的时候,系统都会提示是否确认删除,使用-f则不会提示
例子
若要删除当前目录下的test文件夹
则执行
rm -rf test/
这样就可以递归删除该目录及其含有的所有文件并且不提示确认删除