linux指令

查看系统文件

查看centos版本

1
cat /etc/redhat-release

查看cpu信息

1
cat /proc/cpuinfo

查看对应端口进程 netstat

1
netstat -tunpl | grep 端口号

解压缩 tar/unzip/unrar

1
tar –xvf file.tar

参数:

  • -x 解压
  • -v 显示过程
  • -f 后接文件名
  • -z 解压 .gz文件
  • -Z 解压 .Z文件
  • -j 解压 .bz2文件

unzip 解压 .zip文件 unrar 解压 .rar文件

搜索 which/whereis/locate/find

  • which 搜索可执行文件。
  • whereiswhich 搜索更多文件类型。
  • locate 通过数据库索引查找,更快但有延迟,可通过 updatedb更新索引。
  • find / -name filename 更慢,可搜索指令目录。

修改权限 chmod

  1. 绝对模式:使用数字来指定文件或目录的权限,包含三个数字,每个数字代表一组权限(所有者、所属组和其他用户)。如下指令将 file 的权限设置为所有用户都可以读(4)、写(2)和执行(1),即 rwxrwxrwx。

    1
    chmod 777 file
  2. 相对模式:使用符号来指定文件或目录的权限,包含三个符号,每个符号代表一组权限(所有者、所属组和其他用户)。如下指令将 file 的权限设置为所有用户都可以读(r)、写(w)和执行(x),即 rwxrwxrwx。

    1
    chmod ugo+rwx file

    其中,u代表所有者,g代表所属组,o代表其他用户,a代表所有用户,+代表添加权限,-代表删除权限,=代表设置权限。

    并且可以如下通过逗号间隔的方式指定不同用户的权限相对变更。

    1
    chmod u-w,g-rwx,o-rwx file

修改拥有者 chown

命令格式: chown [选项] 用户名 [文件名]

常见选项: -R:递归处理,允许同时改变该目录下所有子目录和文件的拥有者 -c:仅在文件的拥有者真正变化时显示信息 -v:执行时显示详细的处理信息

1
chown user01 a.txt
1
chown -Rv user02 test/

输出匹配行 grep

grep 是在 Linux/Unix 操作系统中常用的命令之一,其功能为在文件或输出中查找指定的文本模式,并输出匹配的行。

全称Global regular expression and print

命令格式: grep [选项] 模式 [文件名]

常见选项: -c:仅输出匹配的行数 -i:忽略字母大小写 -n:输出匹配的行号 -r:递归搜索指定目录及其子目录下的所有文件 -v:仅输出不匹配的行

示例:

  1. 在文件 a.txt 中查找包含"hello"的行: grep "hello" a.txt
  2. 在文件 b.txt 中查找以"world"结尾的行,同时忽略字母大小写: grep -i "world$" b.txt
  3. 在目录 test 及其子目录下的所有文件中查找包含"test"的行,同时输出匹配的行号: grep -rn "test" test/
  4. 在输出中查找包含"error"的行,同时输出不匹配的行: command | grep -v "error"

文本流编辑 sed

sed 指令是一种流编辑器,用于对文件或文本进行编辑和转换。它是 Unix 和类 Unix 操作系统中常见的工具之一。

sed 指令的基本用法是将输入流(通常是文件)的每一行交给一个脚本进行处理,然后将处理结果输出到标准输出中,也可以直接修改输入文件。脚本由一条或多条指令组成。

sed 指令支持的指令包括:

1.替换指令(s):用于查找并替换文本。

2.删除指令(d):用于删除指定的行或行范围。

3.输出指令(p):用于将指定的行或行范围输出到标准输出中。

4.追加指令(a):用于在指定行后面追加文本。

5.插入指令(i):用于在指定行前面插入文本。

6.变换指令(y):用于将文本中的字符按照指定的映射规则进行转换。

sed 指令的语法如下:

1
sed [-n] [-e] '脚本' 文件名

其中,-n 选项表示只输出经过处理的行,-e 选项用于添加一条脚本指令。脚本由单引号引起来,可以包含多条指令。

例如,下面是一个将文件中 hello 替换成 world 的例子:

1
$ sed -e 's/hello/world/' file.txt

sed 指令还可以通过正则表达式进行匹配,可以灵活地处理文本。

查看尾部 tail

在Linux中,tail指令是一种用于显示文件尾部内容的命令行工具。它可以快速显示指定文件的后几行内容,通常用于查看日志文件、实时监控文件变化等。

tail指令有许多不同的选项,用于控制显示的内容。以下是其中的一些常用选项:

  • -f :实时跟踪文件的变化,并将新增内容实时显示出来。
  • -n NUM :仅显示文件末尾的NUM行内容。
  • -q :不显示文件名,仅显示内容。
  • -s SEC :在输出内容之间加入延时,以秒为单位。

例如,要查看日志文件的最后10行内容并实时跟踪文件变化,可以使用以下命令:

1
tail -f -n 10 logfile.txt

这将在屏幕上实时显示logfile.txt文件的末尾10行内容,并等待新的内容输入。如果有新的内容添加到该文件中,tail将自动更新并显示新增的内容。

串接 cat

在Linux中,cat指令是一种用于连接、显示、复制文本文件内容的命令行工具。它可以将多个文本文件的内容输出到一个文件中,也可以用来创建新文件,或者从一文件复制到另一文件。

cat指令有许多不同的选项,用于控制输出的形式。以下是其中的一些常用选项:

  • -n :显示行号(在每行前面添加行号)。
  • -s :把连续的多个空行合并为一行。
  • -v :显示不可打印(非 ASCII)字符。
  • -A :同时使用 -v 和 -s 选项。

例如,要在屏幕上显示文件file.txt的内容,可以使用以下命令:

1
cat file.txt

也可以通过管道符号将cat指令的输出输入到另一个命令中,以实现更复杂的文本处理任务。例如,要在文件file.txt的每行前面加上行号并将结果输出到新文件newfile.txt中,可以使用以下命令:

1
cat -n file.txt > newfile.txt

这将将file.txt的内容添加行号后输出到新文件newfile.txt中。

可以使用Linux中的cat命令创建新文件,步骤如下:

  1. 在命令行中输入以下命令,使用两个大于符号指定输出重定向到一个新文件名:
1
cat > newfile.txt
  1. 按Enter键开始输入新文件的文本内容,每输入一行按Enter键结束。输入完成后,按Ctrl+D组合键结束文件输入。
  2. 这时就成功创建了一个新文件newfile.txt,可以使用ls命令查看当前目录下的文件列表,找到新创建的文件。

注意:如果新文件已经存在,将会覆盖原文件内容。因此,在使用cat创建文件时要特别小心,避免误操作导致文件丢失。

查看文件 less

在Linux中,less指令是一种用于查看文本文件内容的命令行工具。它可以逐页显示文件内容,支持向上或向下翻页、查找关键字、快速跳到文件的开头或结尾等功能,是查看大型文本文件时更好的替代工具。

less指令的基本语法为:

1
less [OPTIONS] FILENAME

其中,FILENAME为要查看的文件路径,OPTIONS为less指令的选项,用于控制 less 的行为。

less指令的一些常用选项如下:

  • -n :显示每行所在的行号。
  • -i :忽略查找时的大小写。
  • -E :强制显示到文件的结尾。
  • -S :关闭自动换行,显示长行时不自动折行。
  • /pattern :查找文件中的pattern字符串。

例如,如果要查看文件 file.txt 的内容,可以输入以下命令:

1
less file.txt

在less界面中,使用上下箭头键来向前和向后翻页,使用空格键向下翻一页,使用b键向上翻一页,使用g键跳至文件开头,使用G键跳至文件结尾,用斜杠 / 加关键字来进行文本搜索等。

汇总

cd:切换目录 ls:列出目录下的文件和文件夹 pwd:显示当前目录的路径 rm:删除文件或目录 cp:复制文件或目录 mv:移动或重命名文件或目录 mkdir:创建一个新的目录 touch:创建一个新文件或更新已有文件的时间戳 cat:显示文件内容 grep:在文件中查找特定文本 top:显示系统的运行情况和进程信息 ps:查看系统进程 chmod:更改文件或目录的权限 chown:更改文件或目录的所有者和组 tar:打包和解压缩文件和目录 sudo:以管理员身份运行指令 ping:测试网络连接 curl:下载网站的数据 wget:下载网站的文件 ssh:远程登录到另一台计算机。