Linux常用文件命令

156 阅读7分钟

1. 简单系统命令

# 查看ip地址
ip a
ip addr
# ping网络(测试网络连通)
ping 目标机器的ip
# 查看系统时间
date
# 注销
logout
# 关机
shutdown now
# 重启
reboot
# 清屏
clear

2. Linux命令使用技巧

  • Tab键自动补全
  • 连续两次Tab键,给出操作提示
  • 使用上下箭头快速调出曾经使用过的命令
  • 使用clear命令或者Crtl + L快捷键实现清屏

3. Linux命令格式

  • 语法:command [-options] [parameter]

说明:

  • command:命令名
  • [-options]:选项,可用来对命令进行控制,也可以省略
  • [parameter]:传给命令的参数,可以是零个,一个或者多个

注意:

  • []代表可选
  • 命令名、选项、参数之间有空格进行分隔

4. 文件目录操作命令ls

  • 作用:显示指定目录下的内容
  • 语法:ls [-al] [dir]

说明:

  • -a:显示所有文件及目录(.开头的隐藏文件也会列出)
  • -l:除文件名称外,同时将文件型态(d表示目录-表示文件)、权限、拥有者、文件大小等信息详细列出

注意:由于使用ls命令时经常需要加入-l选项,使用Linux为ls -l命令提供了一种简写方式,即ll

5. 文件目录操作命令cd

  • 作用:用于切换当前工作目录,即进入指定目录
  • 语法:cd [dirName]

特殊说明:

  • ~:表示用户的home目录
  • .:表示目前所在的目录
  • ..:表示当前目录位置的上级目录

6. 文件目录操作命令cat

  • 作用:用于显示文件内容
  • 语法:cat [-n] fileName

说明:

  • -n:由1开始对所有输出的行数编号

7. 文件目录操作命令more

  • 作用:以分页的形式显示文件内容
  • 语法:more fileName

操作说明:

  • 回车键:向下滚动一行
  • 空格键:向下滚动一屏
  • b:返回上一屏
  • q或者Crtl + C:退出more

8. 文件目录操作命令tail

  • 作用:查看文件末尾的内容
  • 语法:tail [-f] fileName

说明:

  • -f:动态读取文件末尾内容并显示,通常用于日志文件的内容输出

举例:

# 显示`/etc`目录下的profile文件末尾10行的内容
tail /etc/profile
# 显示`/etc`目录下的profile文件末尾23行的内容
tail -23 /etc/profile
# 动态读取`/cl`目录下的my.log文件末尾内容并显示
tail -f /cl/my.log

9. 文件目录操作命令mkdir

  • 作用:创建目录
  • 语法:mkdir [-p] dirName

说明:

  • -p:确保目录名称存在,不存在就创建一个,通过此选项,可以实现多层目录同时创建

举例:

# 在当前目录下,建立一个名为`cl`的子目录
mkdir cl
# 在工作目录下的`cl`目录中建立一个名为`test`的子目录,若`cl`目录不存在,则建立一个
mkdir -p cl/test

10. 文件目录操作命令rmdir

  • 作用:删除空目录
  • 语法:rmdir [-p] dirName

说明:

  • -p:当子目录被删除后使父目录为空目录的话,则一并删除

举例:

# 删除名为`cl`的空目录
rmdir cl
# 删除`cl`目录中名为`test`的子目录,若`test`目录删除后`cl`目录变为空目录,则也被删除
rmdir -p cl/test
# 删除名称以`cl`开始的空目录
rmdir cl*

11. 文件目录操作命令rm

  • 作用:删除文件或者目录
  • 语法:rm [-rf] name

说明:

  • -r:将目录及目录中所有文件(目录)逐一删除,即递归删除
  • -f:无需确认,直接删除

举例:

# 删除名为`cl`的目录和目录中所有文件,删除前需确认
rm -r cl/
# 无需确认,直接删除名为`cl`的目录和目录中的所有文件
rm -rf cl/
# 无需确认,直接删除why.txt文件
rm -f why.txt

12. 拷贝移动命令cp

  • 作用:用于复制文件或目录
  • 语法:cp [-r] source dest

说明:

  • -r:如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件

举例:

# 将`why.txt`复制到`cl`目录中
cp why.txt cl/
# 将`why.txt`复制到当前目录,并改名为`hao.txt`
cp why.txt ./hao.txt
# 将`cl`目录和目录下所有文件复制到`hy`目录下
cp -r cl/ ./hy/
# 将`cl`目录下所有文件复制到`hy`目录下
cp -r cl/* ./hy/

13. 拷贝移动命令mv

  • 作用:为文件或目录改名,或将文件或目录移动到其它位置
  • 语法:mv source dest

举例:

# 将文件`why.txt`改名为`hao.txt`
mv why.txt hao.txt
# 将文件`why.txt`移动到`cl`目录下
mv why.txt cl/
# 将文件`why.txt`移动到`cl`目录下,并改名为`hao.txt`
mv why.txt cl/hao.txt
# 如果`wu`目录不存在,将`cl`目录改名为`wu`
mv cl/ wu/
# 如果`wu`目录存在,将`cl`目录移动到`wu`目录中
mv cl/ wu/

14. 打包压缩命令tar

  • 作用:对文件进行打包,解包,压缩,解压
  • 语法:tar [-zcxvf] fileName [files]

注意:

  • 包文件后缀为.tar表示只是完成了打包,并没有压缩
  • 包文件后缀为.tar.gz表示打包的同时还进行了压缩

说明:

  • -zz代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压
  • -cc代表的是create。即创建新的包文件
  • -xx代表的是extract,实现从包文件中还原文件
  • -vv代表的是verbose,显示命令的执行过程
  • -ff代表的是file,用于指定包文件的名称

举例:

# 打包
# 将当前目录下所有文件打包,打包后的文件名为`why.tar`
tar -cvf why.tar ./*
# 将当前目录下所有文件打包并压缩,打包后的文件名为`why.tar.gz`
tar -zcvf why.tar.gz ./*

# 解包
# 将`why.tar`文件进行解包,并将解包后的文件放在当前目录
tar -xvf why.tar
# 将`why.tar.gz`文件进行解压,并将解压后的文件放在当前目录
tar -zxvf why.tar.gz
# 将`why/tar.gz`文件进行解压,并将解压后的文件放在`/user/local`目录
tar -zxvf why.tar.gz -C /user/local

15. 文件编辑命令vi/vim

15.1 vi

  • 作用:vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于Windows中的记事本
  • 语法:vi fileName

说明:

  • vim是从vi发展来的一个功能更加强大的文本编辑工具,在编辑文件时可以对文本内容进行着色,方便我们对文件进行编辑处理,所以实际跟踪中vim更加常用
  • 要使用vim命令,需要我们自己完成安装,可以使用下面的命令来完成安装:yum install vim

15.2 vim

  • 作用:对文件内容进行编辑,vim其实就是一个文件编辑器
  • 语法:vim fileName

说明:

  • 在使用vim命令编辑文件时,如果指定的文件存在则直接打开此文件,如果指定的文件不存在则新建文件
  • vim在进行文本编辑时共分为三种模式:命令模式(Command mode)嵌入模式(Insert mode)底行模式(Last line mode),这三种模式之间可以相互切换,我们在使用vim时一定要注意我们当前所处的是哪种模式

命令模式

  • 命令模式下可以查看文件内容,移动光标(上下左右箭头,gg,G)
  • 通过vim命令打开文件后,默认进入命令模式
  • 另外两种模式需要首先进入命令模式,才能进入彼此

插入模式

  • 插入模式下可以对文件内容进行编辑
  • 在命令模式下按下[i,a,o]任意一个,可以进入插入模式,下方会出现[insert]字样
  • 在插入模式下按下ESC键,回到命令模式

底行模式

  • 底行模式下可以通过命令对文件内容进行查找、显示行号、退出等操作
  • 在命令模式下按下[:/]任意一个,可以进入底行模式
  • 通过/方式进入底行模式后,可以对文件内容进行查找
  • 通过:方式进入底行模式后,可以输入wq(保存并退出)、ql(不保存退出)、set nu(显示行号)

16. 查找命令find

  • 作用:在指定目录下查找文件
  • 语法:find dirName -option fileName

举例:

# 在当前目录及其子目录下查找`.java`结尾文件
find . -name ".java"
# 在`/cl`目录及其子目录下查找`.java`结尾的文件
find /cl -name "*.java"

17. 查找命令grep

  • 作用:从指定文件中查找指定的文本内容
  • 语法:grep word fileName

举例:

# 查找`why.java`文件中出现的`id`字符串的位置
grep id why.java
# 查找当前目录中所有`.java`结尾的文件中包含`id`字符串的位置
grep id "*.java"