一、文件和目录
1、cd命令:用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径
cd /home:进入 '/ home' 目录
cd .. :返回上一级目录
cd ../.. :返回上两级目录
cd :进入个人的主目录
cd ~user1:进入个人的主目录
cd - :返回上次所在的目录
2、pwd 命令:用于显示当前工作目录的绝对路径。它的语法非常简单,只需在终端中输入 pwd 即可。
3、ls命令:查看文件与目录的命令,list之意
ls:查看目录中的文件
ls -l:显示文件和目录的详细资料
ls -a:列出全部文件,包含隐藏文件
ls -R:连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来
ls [0-9] :显示包含数字的文件名和目录名
4、cp命令:用于复制文件,copy之意,它还可以把多个文件一次性地复制到一个目录下
-a :将文件的特性一起复制
-p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
-i :若目标文件已经存在时,在覆盖时会先询问操作的进行
-r :递归持续复制,用于目录的复制行为
-u :目标文件与源文件有差异时才会复制
5、mv命令:用于移动文件、目录或更名,move之意
-f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件已经存在,就会询问是否覆盖
-u :若目标文件已经存在,且比目标文件新,才会更新
6、rm 命令:用于删除文件或目录,remove之意
-f :就是force的意思,忽略不存在的文件,不会出现警告消息
-i :互动模式,在删除前会询问用户是否操作
-r :递归删除,最常用于目录删除,它是一个非常危险的参数
二、查看文件内容
7、cat命令:用于查看文本文件的内容,后接要查看的文件名,通常可用管道与more和less一起使用
cat file1:从第一个字节开始正向查看文件的内容
tac file1:从最后一行开始反向查看一个文件的内容
cat -n file1:标示文件的行数
more file1:查看一个长文件的内容
head -n 2 file1:查看一个文件的前两行
tail -n 2 file1:查看一个文件的最后两行
tail -n +1000 file1:从1000行开始显示,显示1000行以后的
cat filename | head -n 3000 | tail -n +1000 显示1000行到3000行
cat filename | tail -n +3000 | head -n 1000 从第3000行开始,显示1000(即显示3000~3999行)
8、tar命令
-c :新建打包文件
-t :查看打包文件的内容含有哪些文件名
-x :解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中
-j :通过bzip2的支持进行压缩/解压缩
-z :通过gzip的支持进行压缩/解压缩
-v :在压缩/解压缩过程中,将正在处理的文件名显示出来
-f filename :filename为要处理的文件
-C dir :指定压缩/解压缩的目录dir
压缩:tar -jcv -f filename.tar.bz2 要被处理的文件或目录名称
查询:tar -jtv -f filename.tar.bz2
解压:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
# tar 打包和压缩
tar -cvf xxx.tar xxx.xxx #将文件打成一个tar包,不压缩
tar -zcvf xxx.tar.gz xxx #打包成tar.gz格式压缩包
tar -jcvf xxx.tar.bz2 xxx #打包成tar.bz2格式压缩包
# tar 解压
tar zxvf xxx.tar.gz #解压tar.gz格式压缩包
tar jxvf xxx.tar.bz2 #解压tar.bz2格式的压缩包
tar xvf xxx.tar.[gz/bz2] #两种解压的便捷写法
# 参数
-z:通过 gzip 指令处理文件
-j:通过 bzip2 指令处理文件
-c:创建归档文件,也就是打包
-x:从归档文件中还原文件,也就是解压
-v:显示操作过程
-f:指定压缩文件
# zip 压缩和解压
zip -q -r xxx.zip xxx # 压缩成zip格式
unzip xxx.zip # 解压zip格式的压缩包
# 参数
-q:不显示指令执行过程
-r:递归处理
三、其他
9、touch指令:可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件: touch 1.txt 2.txt
-a 或--time=atime或--time=access或--time=use只更改存取时间。
-c 或--no-create 不建立任何文档。
-d 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或--time=mtime或--time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间。
10、mkdir指令:在当前目录下创建一个名为 “dir_name”的目录
-p /user1/user2 递归创建目录
四、总结
i通常表示会询问是否执行该操作;
u通常表示与原先文件不一致时才会执行该操作
r通常是递归执行该操作