常用命令
大约 7 分钟
Linux常用命令
1. 常用命令
命令 | 对应英文 | 作用 |
---|---|---|
ls [目录名] | list | 查看当前目录下的内容 |
pwd | print work directory | 查看当前所在目录 |
cd [目录名] | change directory | 切换目录 |
touch [文件名] | touch | 如果文件不存在,创建文件 |
mkdir [目录名] | make directory | 创建目录 |
rm [文件名] | remove | 删除指定文件 |
在执行Linux命令时,提示信息如果显示为乱码,是由于编码问题导致,只需要修改Linux的编码即可,命令如下
echo 'LANG="en_US.UTF-8"' >> /etc/profile
source /etc/profile
2. 操作目录
ls
作用: 显示指定目录下的内容
语法: ls [-al] [dir]
说明:
-a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
-l 除文件名称外,同时将文件型态(d表示目录,-表示文件)、权限、拥有者、文件大小等信息详细列出
注意:
由于我们使用ls命令时经常需要加入-l选项,所以Linux为ls -l命令提供了一种简写方式,即ll
常见用法:
ls -al 查看当前目录的所有文件及目录详细信息
ls -al /etc 查看/etc目录下所有文件及目录详细信息
ll 查看当前目录文件及目录的详细信息
cat
作用: 用于显示文件内容
语法: cat [-n] fileName
说明:
-n: 由1开始对所有输出的行数编号
举例:
cat /etc/profile 查看/etc目录下的profile文件内容
more
作用: 以分页的形式显示文件内容
语法: more fileName
操作说明:
回车键 向下滚动一行
空格键 向下滚动一屏
b 返回上一屏
q或者Ctrl+C 退出more
举例:
more /etc/profile 以分页方式显示/etc目录下的profile文件内容
tail
作用: 查看文件末尾的内容
语法: tail [-f] fileName
说明:
-f : 动态读取文件末尾内容并显示,通常用于日志文件的内容输出
举例:
tail /etc/profile 显示/etc目录下的profile文件末尾10行的内容
tail -20 /etc/profile 显示/etc目录下的profile文件末尾20行的内容
tail -f /ajplus/my.log 动态读取/ajplus目录下的my.log文件末尾内容并显示
mkdir
作用: 创建目录
语法: mkdir [-p] dirName
说明:
-p: 确保目录名称存在,不存在的就创建一个;通过此选项,可以实现多层目录同时创建
举例:
mkdir ajplus 在当前目录下,建立一个名为ajplus的子目录
mkdir -p ajplus/test 在工作目录下的ajplus目录中建立一个名为test的子目录,若ajplus目录不存在,则建立一个
rmdir
作用: 删除空目录
语法: rmdir [-p] dirName
说明:
-p: 当子目录被删除后使父目录为空目录的话,则一并删除
举例:
rmdir ajplus 删除名为ajplus的空目录
rmdir -p ajplus/test 删除ajplus目录中名为test的子目录,若test目录删除后ajplus目录变为空目录,则也被删除
rmdir ajplus* 删除名称以ajplus开始的空目录
rmdir *ajplus 删除以ajplus结尾的目录
rm
作用: 删除文件或者目录
语法: rm [-rf] name
说明:
-r: 将目录及目录中所有文件(目录)逐一删除,即递归删除
-f: 无需确认,直接删除
举例:
rm -r ajplus/ 删除名为ajplus的目录和目录中所有文件,删除前需确认
rm -rf ajplus/ 无需确认,直接删除名为ajplus的目录和目录中所有文件
rm -f hello.txt 无需确认,直接删除hello.txt文件
3. 拷贝移动
cp
作用: 用于复制文件或目录
语法: cp [-r] source dest
说明:
-r: 如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件
举例:
cp hello.txt ajplus/ 将hello.txt复制到ajplus目录中
cp hello.txt ./hi.txt 将hello.txt复制到当前目录,并改名为hi.txt
cp -r ajplus/ ./ajplus/ 将ajplus目录和目录下所有文件复制到ajplus目录下
cp -r ajplus/* ./ajplus/ 将ajplus目录下所有文件复制到ajplus目录下
如果拷贝的内容是目录,需要加上参数 -r
mv
作用: 为文件或目录改名、或将文件或目录移动到其它位置
语法: mv source dest
举例:
mv hello.txt hi.txt 将hello.txt改名为hi.txt
mv hi.txt ajplus/ 将文件hi.txt移动到ajplus目录中
mv hi.txt ajplus/hello.txt 将hi.txt移动到ajplus目录中,并改名为hello.txt
mv ajplus/ ajplus/ 如果ajplus目录不存在,将ajplus目录改名为ajplus
mv ajplus/ ajplus/ 如果ajplus目录存在,将ajplus目录移动到ajplus目录中
4. 打包压缩
作用: 对文件进行打包、解包、压缩、解压
语法: tar [-zcxvf] fileName [files]
包文件后缀为.tar表示只是完成了打包,并没有压缩
包文件后缀为.tar.gz表示打包的同时还进行了压缩
说明:
-z: z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压
-c: c代表的是create,即创建新的包文件
-x: x代表的是extract,实现从包文件中还原文件
-v: v代表的是verbose,显示命令的执行过程
-f: f代表的是file,用于指定包文件的名称
举例:
打包
tar -cvf hello.tar ./* 将当前目录下所有文件打包,打包后的文件名为hello.tar
tar -zcvf hello.tar.gz ./* 将当前目录下所有文件打包并压缩,打包后的文件名为hello.tar.gz
解包
tar -xvf hello.tar 将hello.tar文件进行解包,并将解包后的文件放在当前目录
tar -zxvf hello.tar.gz 将hello.tar.gz文件进行解压,并将解压后的文件放在当前目录
tar -zxvf hello.tar.gz -C /usr/local 将hello.tar.gz文件进行解压,并将解压后的文件放在/usr/local目录
5. 文本编辑
vi
命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于Windows中的记事本
vi fileName
vim
是从vi
发展来的一个功能更加强大的文本编辑工具,编辑文件时可以对文本内容进行着色,方便我们对文件进行编辑处理,所以实际工作中vim
更加常用;
yum install vim #安装vim
命令模式指令 | 含义 |
---|---|
gg | 定位到文本内容的第一行 |
G | 定位到文本内容的最后一行 |
dd | 删除光标所在行的数据 |
ndd | 删除当前光标所在行及之后的n行数据 |
u | 撤销操作 |
shift+zz | 保存并退出 |
i 或 a 或 o | 进入插入模式 |
底行模式命令 | 含义 |
---|---|
:wq | 保存并退出 |
:q! | 不保存退出 |
:set nu | 显示行号 |
:set nonu | 取消行号显示 |
:n | 定位到第n行, 如 :10 就是定位到第10行 |
6. 查找
find
作用: 在指定目录下查找文件
语法: find dirName -option fileName
举例:
find . –name "*.java" 在当前目录及其子目录下查找.java结尾文件
find /ajplus -name "*.java" 在/ajplus目录及其子目录下查找.java结尾的文件
grep
作用: 从指定文件中查找指定的文本内容
语法: grep word fileName
举例:
grep Hello HelloWorld.java 查找HelloWorld.java文件中出现的Hello字符串的位置
grep hello *.java 查找当前目录中所有.java结尾的文件中包含hello字符串的位置