目录
几个常用命令
命令 | 对应英文 | 功能 |
ls | list | 查看当前目录下的内容 |
pwd | print work directory | 查看当前所在目录 |
cd [目录名] | change directory | 切换目录 |
touch [文件名] | touch | 如果目录不存在,新建文件 |
mkdir [目录名] | make directory | 创建目录 |
rm [文件名] | remove | 删除指定文件 |
Linux命令使用技巧:
Tab键自动补全
连续两次Tab键,给出操作提示
使用上下箭头快速调出曾经使用过的命令
使用clear命令或者Ctrl+l 快捷键实现清屏
Linux命令格式:
command [-options] [parameter]
说明:
command:命令名
[-options]:选项,可用来对命令进行控制,也可省略
[parameter]:传给命令的参数,可以是零个、一个或多个
注:[ ]代表可选
命令名、选项、参数之间用空格分隔
文件目录操作命令
ls
作用:显示指定目录下的内容
语法:ls [-al] [dir]
说明:
- -a 显示所有的文件及目录(.开头的隐藏文件也会列出)
- -l 除文件名称外,同时将文件形态(d表示目录,-表示文件)、权限、拥有者、文件大小等信息详细列出来
注:由于使用ls命令时经常要加入-l选项,Linux为 ls -l 提供一种简写方式,ll
cd
作用:用于切换当前工作目录,即进入指定目录
语法:cd [dirName]
特殊说明:
- ~表示用户的home目录
- . 表示目前所在的目录
- .. 表示目前目录位置的上级目录
举例:
- cd .. 切换到当前目录的上级目录
- cd ~ 切换到用户的home目录
- cd /usr/local 切换到/usr/local 目录
cat
作用:用于显示文件内容
语法:cat [-n] fileName
说明:
- -n :由1开始对所有输出的行数编号
举例:
- cat /etc/profile 查看/etc目录下的profile文件内容
加上 -n 显示行数
more
作用:以分页的形式显示文件内容
语法:more filaName
操作说明:
- 回车键 向下滚动一行
- 空格键 向下滚动一屏
- b 返回上一屏
- q或者Ctrl+C 退出more
举例:
more /etc/profilr 以分页的形式显示/etc目录下的profile文件内容
适合查看内容多的文件
tail
作用:查看文件末尾的内容
语法:tail [-f] fileName
说明:
- -f :动态读取文件末尾内容并显示,通常用于日志文件的内容输出
举例:
- tail /etc/profile 显示/etc目录下的profile文件末尾10行的内容
- tail -20 /etc/profile 显示/etc目录下的profile文件末尾20行的内容
- tail -f /hello/apple.log 动态读取/hello目录下的apple.log文件末尾内容并显示
动态输出:
新开一个终端模拟一下:
结果动态输出显示:
当前处于霸屏状态,退出Ctrl+C
mkdir
作用:创建目录
语法:mkdir [-p] dirName
说明:
- -p:确保目录名称的存在,不存在的就创建一个。通过此选项可以实现多层目录的创建
举例:
- mkdir world 在当前目录下,建立一个名为world的子目录
- mkdir -p world/test 在工作目录的world目录中建立一个名为test的子目录,若world不存在,则建立一个
rmdir
作用:删除空目录
语法:rmdir [-p] dirName
说明:
- -p:当子目录被删除后使父目录为空目录的话,则一并删除
举例:
- rmdir world 删除名为world的空目录
- rmdir -p world/test 删除world目录中名为test的子目录,若world目录变为空目录,则也被删除
- rmdir world* 删除名称以world开始的空目录
rm
作用:删除文件或目录
语法:rm [-rf] name
说明:
- -r:将目录及目录中所有文件(目录)逐一删除,即递归删除
- -f:无需确认,直接删除
举例:
- rm -r world/ 删除名为world的目录和目录中所有文件,删除前需确认
- rm -rf world/ 无需确认,直接删除名为world的目录和目录中所有文件
- rm -f hello.txt 无需确认,直接删除hello.txt文件
拷贝移动命令
cp
作用:用于复制文件或目录
语法:cp [-r] source dest
说明:
- 如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件
举例:
- cp hello.txt apple/ 将hello.txt复制到apple目录中
- cp hello.txt ./hi.txt 将hello.txt复制到当前目录,并改名为hi.txt
- cp -r apple/ ./lemon/ 将apple目录和目录下所有文件复制到lemon目录下
- cp -r apple/* ./lemon/ 将apple目录下所有文件复制到lemon目录下
mv
作用:为文件或目录改名,或将文件或目录移动到其他位置
语法:mv source dest
举例:
- mv hello.txt hi.txt 将hello.txt改名为hi.txt
- mv hi.txt apple/ 将文件hi.txt移动到apple目录中
- mv hi.txt apple/hello.txt 将hi.txt移动到apple目录中 ,并改名为hello.txt
- mv lemon/ apple/ 如果apple目录不存在,将lemon目录改名为apple
- mv lemon/ apple/ 如果apple目录存在,将lemon目录移动到apple目录中
打包压缩命令 tar
作用:对文本进行打包、解包、压缩、解压
语法: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 将文件进行解压,并将解压后的文件放在/usr/local目录
总结
cvf 打包,xvf 解包。
zcvf 打压缩包, zxvf 解压缩包。 加上 -C 选择解压路径
文本编辑命令 vim
作用:对文件内容进行编辑,vim其实就是一个文本编辑器
语法:vim fileName
说明:
- 使用vim命令需要自己安装,安装命令:yum install vim
- 使用vim命令编辑文件时,如果指定的文件存在则直接打开此文件,不存在则新建文件
- 使用vim命令进行文本编辑时分为三种模式,分别为命令模式、插入模式和底行模式。三种模式可以相互转换。
三种模式:
- 命令模式
- 命令模式下可以查看文件内容,移动光标(上下左右箭头、gg到顶部、G到末尾)
- 通过vim命令打开文件后,默认进入命令模式
- 另外两种模式需要首先进入命令模式,才能进入彼此
- 插入模式
- 插入模式下可以对文件内容进行编辑
- 在命令模式下按下[i,a,o]任意一个,可以进入插入模式。进入后,下方会出现【--插入--】字样
- 在插入模式按下ESC键,回到命令模式
- 底行模式
- 底行模式下可以通过命令对文件内容进行查找、显示行号、退出等操作
- 在命令模式下按下[ : , / ]任意一个,可以进入底行模式
- 通过/方式进入底行模式后,可以对文件内容进行查找
- 通过:方式进入底行模式后,可以输入wq(保存并退出)、q!(不保存退出)、 set nu(显示行号)
查找命令
find
作用:在指定目录下查找文件
语法:find dirName -operation fileName
举例:
- find . -name "*.java" 在当前目录及其子目录下查找.java结尾文件
- find /apple -name "*.java" 在/apple目录及其子目录下查找.java结尾的文件
grep
作用:从指定文件中查找指定的文本内容
语法:grep word fileName
举例:
- grep Hello HelloWorld.java 查找HelloWorld.java文件中出现的Hello字符串的位置
- grep hello *.java 查找当前目录中所有.java结尾的文件中包含hello字符串的位置
-