Linux命令大全:常用命令及作用解析

发布时间:2023-05-13

Linux常用命令介绍

Linux操作系统是一个广受欢迎的开源操作系统,它提供了丰富的命令行工具来执行各种任务。熟练掌握这些命令是成为一名优秀的Linux运维工程师的必备技能。本文将介绍一些常用的Linux命令及其作用。

一、ls命令

ls命令是List命令的缩写,它用于列出目录中的文件和子目录。以下是ls命令的一些选项:

  • -a:列出所有文件,包括以.开头的隐含文件。
  • -l:以长格式显示文件信息。
  • -h:以人类可读的方式显示文件大小。
  • -t:以修改时间排序文件列表。
  • -r:以相反顺序列出文件。 以下是一些ls命令的示例: 列出目录中的所有文件
$ ls

列出目录中的隐藏文件

$ ls -a

使用长格式列出文件信息

$ ls -l

二、grep命令

grep命令用于在文件中查找字符串。它的基本语法如下:

grep [options] pattern [file...]

以下是grep命令的一些选项:

  • -i:忽略大小写。
  • -v:选择那些没有匹配的行。
  • -n:显示匹配行的行号。
  • -c:显示匹配行的总数。 以下是一些grep命令的示例: 在文件中查找单词“example”
$ grep example file.txt

在文件中查找单词“example”,并显示匹配行的行号

$ grep -n example file.txt

在文件中查找单词“example”,并显示匹配行的总数

$ grep -c example file.txt

三、chmod命令

chmod命令用于改变文件或目录的权限。它采用三进制表示法来分配权限。以下是chmod命令的基本语法:

chmod mode file...

以下是一些常用的chmod命令模式:

  • 755:rwxr-xr-x(拥有者有读、写、执行权限;组用户和其他用户都有读、执行权限)。
  • 644:rw-r--r--(拥有者有读、写权限;组用户和其他用户都有读权限)。
  • 777:rwxrwxrwx(拥有者、组用户和其他用户都有读、写、执行权限)。 以下是一些chmod命令的示例: 将文件file.txt的权限设置为755
$ chmod 755 file.txt

将文件夹dir的权限设置为777

$ chmod 777 dir

将当前目录及所有子目录下的所有文件和文件夹权限设置为755

$ chmod -R 755 .

四、scp命令

scp命令用于在多台计算机之间复制文件。它的基本语法如下:

scp [options] source destination

以下是scp命令的一些选项:

  • -r:复制整个目录及其子目录。
  • -P:指定端口号。 以下是一些scp命令的示例: 将文件file.txt从本地复制到远程服务器的/home/user目录下
$ scp file.txt user@remote:/home/user

将本地目录dir复制到远程服务器的/home/user目录下

$ scp -r dir user@remote:/home/user

将远程服务器的文件file.txt复制到本地的/tmp目录下

$ scp user@remote:/home/user/file.txt /tmp

五、find命令

find命令用于在文件系统中查找文件和目录。它提供了丰富的选项,如typenamemtime等。以下是find命令的基本语法:

find [path...] [expression]

以下是一些find命令的选项:

  • -name:按名称查找文件。
  • -type:按类型查找文件。
  • -mtime:按修改时间查找文件。 以下是一些find命令的示例: 查找当前目录及其子目录下所有扩展名为.php的文件
$ find . -name "*.php"

查找当前目录及其子目录下所有大于10M的文件

$ find . -type f -size +10M

查找当前目录及其子目录下在30天内修改过的所有文件

$ find . -type f -mtime -30

六、cron命令

cron命令用于在指定的时间间隔内定期运行命令。它的常见用法是定期备份数据和执行定时任务。以下是cron命令的基本语法:

crontab [-u user] -l # 列出当前的计划任务
crontab [-u user] -e # 编辑当前的计划任务

以下是一些使用cron命令的示例: 每天晚上10点备份数据库

0 22 * * * /path/to/backup.sh

每个小时运行一次命令

0 * * * * /path/to/command

每天从早上8点到晚上6点之间每隔30分钟运行一次命令

*/30 8-18 * * * /path/to/command

七、tar命令

tar命令用于创建、解压缩和压缩tar归档文件。tar文件通常用于备份目录和文件。以下是tar命令的基本语法:

tar [options] [filename]

以下是一些常用的tar命令选项:

  • -c:创建tar归档文件。
  • -x:解压tar归档文件。
  • -f:指定tar归档文件名。
  • -z:使用gzip压缩文件。
  • -v:显示详细信息。
  • -t:列出tar归档文件中的内容。 以下是一些tar命令的示例: 将目录dir打包成tar文件
$ tar -cvf dir.tar dir

将tar文件解压缩到指定目录

$ tar -xvf dir.tar -C /path/to/dir

将tar文件使用gzip压缩

$ tar -zcvf dir.tar.gz dir

列出tar文件中的内容

$ tar -tvf dir.tar

八、sed命令

sed命令用于在文本文件中执行编辑操作。它的基本语法如下:

sed [options] 'command' filename

以下是一些sed命令的选项:

  • -i:直接在文件中修改,而不是输出到终端。
  • -e:在编辑器命令列表中使用多个编辑器命令。 以下是一些sed命令的示例: 将文件中的字符串“old”替换为“new”,并将结果输出到屏幕上
$ sed 's/old/new/g' file.txt

将文件中的所有行删除,并将结果保存到新文件中

$ sed 'd' file.txt > newfile.txt

在文件的第三行插入一行文本

$ sed '3i new line' file.txt

九、grep、awk和sed的组合

grepawksed命令可以组合使用来完成一些复杂的文本操作任务。以下是一些组合使用的示例: 从/var/log/messages日志文件中查找所有包含单词“error”的行,并将它们记录到一个新文件中

$ grep error /var/log/messages > errors.txt

从新文件中查找所有包含IP地址的行,并将它们处理为纯IP地址格式

$ awk '{print $1}' errors.txt | sed 's/:[0-9]\{1,\}$//' | sort -u

以上就是常用的Linux命令及其作用的介绍,这些命令是Linux运维工程师必备的技能之一。随着对这些命令的熟练掌握,您将成为一名能够高效管理Linux系统和执行各种任务的专业人员。