文件目录操作命令
1、ls:显示指定目录下的内容
语法:ls [-al] [dir]
-a:显示所有文件及目录(.开头的隐藏文件也会列出)
-l:除了显示文件名称外,同时将文件形态、权限、拥有者、文件大小等信息详细列出
ls -l 可已使用简写 ll
ls -al:查看当前目录的所有文件及目录详细信息
ls -al /etc:查看/etc目录下所有文件及目录详细信息
2、cd:切换当前工作目录,进入指定目录
语法:cd [dirName]
~:表示用户的home目录
root用户的home目录:/root
其他用户的home目录:/home/xxx
. :表示目前所在的目录
cd .. :切换到当前目录的上级目录
cd ~:切换到用户的home目录
cd /usr/local:切换到/usr/local目录
3、pwd:查看当前所在目录
4、touch:如果文件不存在则创建文件
语法:touch [fileName]
touch a.txt:创建文件a.txt
touch b.txt c.txt d.txt: 一次性创建文件b.txt、c.txt、d.txt
5、cat:显示文件内容
语法:cat [-n] fileName
-n:由1开始对所有输出的行数编号
cat /ect/profile:查看/ect目录下的profile文件内容
cat指令会一次性查看文件的所有内容,如果文件内容比较多,不便于查看,可以使用more指令
6、more:以分页的形式显示文件内容
语法:more fileName
操作:
回车键:向下滚定一行
空格键:向下滚动以一屏
b:返回上一屏
q或Ctrl+c:退出more
more /etc/profile :以分页方式显示/etc目录下的profile文件内容
7、tail:查看文件末尾的内容
语法:tail [-f] fileName
-f:动态读取文件末尾内容并显示,通常用于日志文件的内容输出
tail /etc/profile :显示/etc目录下的profile文件末尾10行的内容
tail -20 /etc/profile :显示/etc目录下的profile文件末尾20行的内容
tail -f /demo/my.log :动态读取/demo目录下的my.log文件末尾内容并显示
8、mkdir:创建目录
语法:mkdir [-p] dirName
-p:确保目录名称存在,不存在的就创建一个,还可以实现多层目录同时创建
mkdir demo:在当前目录下,创建一个名为demo的子目录
mkdir -p demo/test :在工作目录下的demo目录中建立一个名为test的子目录,如果demo目录不存在则建立一个
9、rmdir:删除目空录
语法:rmdir [-p] dirName
-p :当子目录被删除后使父目录为空目录的话则一并删除
rmdir demo :删除名为demo的空目录
rmdir -p demo/test :删除demo目录中名为test的子目录,如果test目录删除后demo目录变为空目录,则也被删除
rmdir demo* :删除名称以demo开始的空目录
10、rm :删除文件或目录
语法:rm [-rf] name
-r :将目录及目录中的所有文件(目录)逐一删除,(递归删除)
-f :无需确认,直接删除
rm -r demo/ :删除名为demo的目录和目录中所有文件,删除前需要确认
rm -rf demo/ :无需确认,直接删除名为demo的目录和目录中所有文件
rm -f test.txt :无需确认,直接删除test.txt文件
拷贝移动命令
11、cp:用于复制文件或目录
语法:cp [-r] source dest
-r: 如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件
cp test.txt demo/ :将test.txt复制到demo目录中
cp test1.txt ./test2.txt :将test1.txt复制到当前目录并改名为test2.txt
cp -r demo1/ ./demo2/ :将demo1目录和目录下所有文件复制到demo2目录中
cp -r demo/* ./demo2/ :将demo1目录下所有的文件复制到demo2目录中
12、mv:为文件或目录改名、或将文件或目录移动到其他位置
语法:mv source dest
mv test1.txt test2.txt :将test1.txt改名为test2.txt
mv test1.txt demo/ :将文件test.txt移动到demo目录中
mv test1.txt demo/test2.txt :将test1.txt移动到demo目录中,并改名为test2.txt
mv demo1/ demo2/ :如果demo2目录不存在,将demo1目录改名为demo2,如果demo目录存在,将demo1移动到demo2目录中
打包压缩命令
13、tar:对文件进行打包、解包、压缩、解压
语法:tar [-zcxvf] fileName [files]
-z:z代表gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压
-c:c代表create,即创建新的包文件
-x:x代表extract,实现从包文件中还原文件
-v:v代表verbose,显示命令的执行过程
-f:f代表file,用于指定包文件的名称
包文件后缀为.tar表示只是完成了打包,并没有压缩
包文件后缀为.tar.gz表示打包的同时还进行了压缩
打包:
tar -cvf test.tar ./* :将当前目录下所有文件打包,打包后的文件名为test.tar
tar -zcvf test.tar.gz ./* :将当前目录下所有文件打包并压缩,打包后的文件名为test.tar.gz
解包:
tar -xvf test.tar :将test.tar文件进行解包,并将解包后的文件放在当前目录
tar -zxvf test.tar.gz :将test.tar.gz文件进行解压,并将解压后的文件放在当前目录
tar -zxvf test.tar.gz -C /usr/local :将test.tar.gz文件进行解压,并将解压后的文件放在/usr/local目录
文本编辑命令
命令模式:
命令模式指令 | 含义 |
---|---|
gg | 定位到文本内容的第一行 |
G | 定位到文本内容的最后一行 |
dd | 删除光标所在行的数据 |
ndd | 删除当前光标所在行及之后的n行数据 |
u | 撤销操作 |
shift+zz | 保存并退出 |
i 或 a 或 o | 进入插入模式 |
插入模式:
1、插入模式下可以对文件内容进行编辑
2、在命令模式下按下i、a、o任意一个,可以进入插入模式,进入插入模式后,下方会出现【insert】字样
3、在插入模式下按下ESC键,回到命令模式
底行模式:
1、底行模式下可以通过命令对文件内容进行查找、显示行号、退出等操作
2、在命令模式下按下 [ : 或 / ] 任意一个,可以进入底行模式
3、通过/方式进入底行模式后,可以对文件内容进行查找
底行模式命令 | 含义 |
---|---|
:wq | 保存并退出 |
:q! | 不保存退出 |
:set nu | 显示行号 |
:set nonu | 取消行号显示 |
:n | 定位到第n行, 如 :10 就是定位到第10行 |
查找命令
14、find:在指定目录下查找文件
语法:find dirName -option fileName
find . –name "*.java" 在当前目录及其子目录下查找.java结尾文件
find /demo -name "*.java" 在/demo目录及其子目录下查找.java结尾的文件
15、grep:从指定文件中查找指定的文本内容
语法:grep word fileName
grep Hello HelloWorld.java :查找HelloWorld.java文件中出现的Hello字符串的位置
grep hello *.java :查找当前目录中所有.java结尾的文件中包含hello字符串的位置