60个常见的 Linux 指令

yatingliu2019 2024-08-03 14:37:01 阅读 71

常见60个Linux指令

1.ssh 登录到计算机主机2.ls 列出目录内容3.pwd 当前终端会话所在的完整路径4.cd 切换当前工作目录5.touch 创建空文件或更新文件的时间戳6.echo 终端输出文本或变量值7.nano 在终端中编辑文件8.vim 文本编辑器9.cat 查看、连接和创建文件10.shred 安全删除敏感文件11.mkdir 创建新目录12.cp 复制文件和目录13.rm 删除文件和目录14.rmdir 删除空目录15.ln 创建链接16.clear 清除终端屏幕17.whoami 显示当前的用户的用户名(确定当前用户身份)18.useradd 创建新用户账户(系统管理员添加新用户)19.sudo 超级用户(root)权限执行命令20.adduser 创建新用户账户21.su 切换用户账户22.exit 退出当前终端会话或shell23.passwd 修改用户密码24.apt 处理软件包的安装、升级、删除和管理25.finger 显示用户信息26.man 查看命令、函数、配置文件和其他程序文档27.whatis 显示命令或程序的简短描述28.curl 从命令行传输数据29.zip 创建和管理压缩文件30.unzip 解压缩`zip`文件31.less 查看文本文件32.head 显示文件的开头部分33.tail 显示文件尾部的部分33.cmp 比较两个文件内容34.diff 比较文件内容并显示差异

1.ssh 登录到计算机主机

<code>ssh -p port username@hostname

username: 远程计算机上的用户账户名。

hostname: 远程计算机的 IP 地址或主机名。

-p 选项指定端口号。

2.ls 列出目录内容

ls

ls -l # 显示详细列表

ls -a # 显示包括隐藏文件在内的所有内容

3.pwd 当前终端会话所在的完整路径

pwd

4.cd 切换当前工作目录

cd [directory]

cd .. #上一级目录

cd ~ #返回当前用户主目录

5.touch 创建空文件或更新文件的时间戳

touch [options] file

6.echo 终端输出文本或变量值

echo [options] [string...]

echo "This is a new line" > newfile.txt #写入文件

echo "Another line" >> existingfile.txt #追加到文件

string:要输出的文本或变量。

7.nano 在终端中编辑文件

nano [options] [file]

# 例如:创建或编辑文件

nano myfile.txt

在这里插入图片描述

8.vim 文本编辑器

普通模式(Normal Mode): 默认模式,用于浏览和执行命令。

插入模式(Insert Mode): 用于文本输入。

命令行模式(Command-Line Mode): 用于输入命令(如保存、退出等)。

<code>vim filename.txt

在这里插入图片描述

9.cat 查看、连接和创建文件

<code>cat filename.txt#显示文件内容

cat file1.txt file2.txt#连接多个文件并显示

cat file1.txt file2.txt > combined.txt#将多个文件合并为一个文件

cat file1.txt >> existingfile.txt#追加内容到文件末尾

cat -n filename.txt#显示文件内容和行号

cat -v filename.txt#显示不可打印字符

10.shred 安全删除敏感文件

shred [options] file...

-u:在删除文件后删除文件名,即在销毁文件内容后删除文件本身。

-v:显示详细信息,输出进度信息。

-n:指定覆盖文件内容的次数,默认是 3 次。

-z:在覆盖后用零填充文件,以进一步掩盖删除的痕迹。

11.mkdir 创建新目录

mkdir [options] directory...

-p:递归创建目录。如果上级目录不存在,mkdir 会自动创建它们。

-v:显示创建目录的详细信息。

-m:设置新目录的权限(模式),以八进制表示。

12.cp 复制文件和目录

cp [options] source destination

source:要复制的源文件或目录。

destination:目标路径,可以是文件或目录。

-r, --recursive:递归复制,用于复制目录及其所有内容。

-i, --interactive:交互模式,如果目标文件已存在则提示是否覆盖。

-v, --verbose:显示详细信息,输出复制操作的详细信息。

13.rm 删除文件和目录

rm [options] file...

-r, --recursive:递归删除,用于删除目录及其所有内容。

-f, --force:强制删除,不提示错误信息,即使文件不存在也不会报错。

-i:交互式删除,在删除每个文件之前都会询问确认。

-v, --verbose:显示详细信息,输出删除操作的详细信息。

-d:删除空目录。

14.rmdir 删除空目录

rmdir [options] directory...

-p:递归删除目录,即删除指定目录及其所有空的父目录。

-v, --verbose:显示详细信息,输出删除操作的详细信息。

15.ln 创建链接

ln [options] source [target]

-s, --symbolic:创建符号链接。如果不使用此选项,将创建硬链接。

-f, --force:强制创建链接,覆盖已存在的文件或链接。

-i, --interactive:交互式创建链接,如果目标已存在则提示确认。

16.clear 清除终端屏幕

clear

17.whoami 显示当前的用户的用户名(确定当前用户身份)

whoami

id#当前用户的详细信息,包括用户 ID (UID)、组 ID (GID) 以及所属组

who#系统中所有当前登录的用户

18.useradd 创建新用户账户(系统管理员添加新用户)

sudo useradd [options] username

-m:创建用户的家目录(/home/username),如果家目录不存在时。

-d:指定用户的家目录路径。

-s:指定用户的默认 shell(如 /bin/bash)。

-g:指定用户的初始主组。

-G:指定用户所属的附加组(可以指定多个组,用逗号分隔)。

-e:设置用户账户的过期日期(格式为 YYYY-MM-DD)。

-p:指定用户的密码(通常是加密后的密码,明文密码不推荐)。

-c:添加用户的注释(如全名)。

-f:指定用户账户过期后的天数,-1 表示用户账户永不过期。

19.sudo 超级用户(root)权限执行命令

普通用户执行管理员权限的任务,而不需要直接登录root用户

使用 sudo 时通常需要输入用户密码,而不是 root 密码

sudo command [options]

# 以超级用户权限安装软件(例如使用 apt-get)

sudo apt-get update

sudo apt-get install package_name

20.adduser 创建新用户账户

sudo adduser [options] username

在一些 Linux 发行版中,adduser 是 useradd 的一个友好封装,功能上类似但提供了更多的默认设置和提示。

--home:指定用户的家目录路径。

--shell:指定用户的默认 shell。

--gecos:添加用户的注释(如全名)。

--ingroup:指定用户的初始主组。

--disabled-password:创建用户时不设置密码。

--disabled-login:创建用户时禁用登录。

21.su 切换用户账户

su 是 “substitute user” 或 “switch user” 的缩写,它可以让你切换到另一个用户账户,包括 root 用户。

su [options] [username]

su -#切换到 root 用户并模拟登录

su -c 'ls /home/username' username# username 用户身份执行 ls 命令列出 /home/username 目录的内容

22.exit 退出当前终端会话或shell

exit [n]

n(可选):退出状态码。如果指定了状态码,exit 将返回这个状态码。默认情况下,exit 返回上一个命令的退出状态码(通常为 0 表示成功,其他值表示错误)。

23.passwd 修改用户密码

在 Unix 和 Linux 系统中,你可以使用 passwd 命令来更改自己的密码或其他用户的密码(需要管理员权限)。

sudo passwd [options] [username]

username(可选):要更改密码的用户。如果省略用户名,passwd 将修改当前用户的密码。

-d:删除用户密码,使用户无法使用密码登录(仅限 root 用户)。

-l:锁定用户账户,禁止用户使用密码登录。

-u:解锁用户账户,允许用户使用密码登录。

-e:强制用户在下次登录时更改密码(即将密码设置为过期状态)。

-i:设置密码过期时间,单位为天。若设置为 0,密码会立即过期。

24.apt 处理软件包的安装、升级、删除和管理

sudo apt update#更新软件包列表

sudo apt upgrade#升级已安装的软件包

sudo apt full-upgrade#升级所有软件包并处理依赖关系

sudo apt install package_name#安装软件包

sudo apt remove package_name#卸载软件包

25.finger 显示用户信息

在 Unix 和 Linux 系统中,finger 可以用来查看用户的基本信息、登录状态以及其他与用户相关的细节。

finger [options] [username]

finger $USER#查看当前用户的信息

-l:以详细模式显示用户信息。

-s:以简洁模式显示用户信息,只包括基本信息。

26.man 查看命令、函数、配置文件和其他程序文档

man 是 “manual” 的缩写,通过它你可以访问系统的手册页(manual pages),这些手册页提供了详细的使用说明和参考信息。

man [options] command

man ls#查看命令的手册页

-k:根据关键字搜索手册页。

-f:显示命令或函数的简要说明。

-a:显示所有匹配的手册页,而不仅仅是第一个。

-P pager:指定使用的分页程序。默认是 less,但你可以指定其他分页程序,例如 more

27.whatis 显示命令或程序的简短描述

whatis 命令依赖于系统的手册页数据库,因此如果系统没有更新数据库,或者手册页没有被正确安装,whatis 可能无法提供描述。

你可以使用 mandb 命令来更新手册页数据库,以确保 whatis 命令能提供最新的描述。

whatis [options] command

28.curl 从命令行传输数据

curl 是一个用于从命令行传输数据的工具,支持多种协议,如 HTTP、HTTPS、FTP、SFTP 等。它通常用于下载或上传文件、测试 API、检索网页内容等任务。

curl [options] [URL]

-o:将输出保存到文件中。

-O:使用 URL 中的文件名保存文件。

-d:发送 POST 请求时使用的数据。

-H:添加 HTTP 请求头。

-i:显示响应头和响应体。

-I:仅显示响应头。

-L:跟踪重定向。

-x:使用代理服务器。

29.zip 创建和管理压缩文件

zip [options] zipfile files

-r:递归压缩目录及其子目录和文件。

-e:为压缩文件添加密码保护。

-u:更新压缩文件,添加新文件或更新已存在的文件。

-d:从压缩文件中删除指定的文件。

-l:列出压缩文件中的内容。

-T:测试压缩文件的完整性。

30.unzip 解压缩zip文件

unzip [options] zipfile

-d:指定解压缩到的目标目录。

-l:列出 .zip 文件中的内容。

-t:测试 .zip 文件的完整性。

-u:更新目标文件,仅在目标文件比 .zip 文件中的文件旧时更新。

-o:覆盖现有文件而不提示。

31.less 查看文本文件

less 是一个用于查看文本文件的分页工具,可以逐页或逐行浏览文件内容。它比 more 命令功能更强大,支持在文件中向前和向后滚动、搜索和其他导航功能。

less [options] file

-N:显示行号。

-S:禁用自动换行,水平滚动显示长行。

-F:如果内容能在一屏内显示,则自动退出 less。

-X:禁用终端的显示控制(例如颜色),在使用管道时很有用。

32.head 显示文件的开头部分

head用于查看文件的前几行内容

head [options] file

head -n 15 file.txt#查看 file.txt 的前 15 行

33.tail 显示文件尾部的部分

tail用于查看文件的前几行内容,特别是在查看日志文件时非常有用。

tail [options] file

tail -n 15 filename.txt#指定显示的行数

tail -f filename.txt#实时查看文件的新增内容(跟随模式)

33.cmp 比较两个文件内容

cmp逐字节比较文件内容,并报告文件之间的第一个不同之处。如果文件相同,则没有输出;如果不同,则输出第一个不同字节的位置和它们的不同内容。

cmp [options] file1 file2

file1:第一个要比较的文件。file2:第二个要比较的文件。

-l:显示所有不同字节的位置和它们的不同内容。

-i:忽略文件末尾的空白字符。

-b:显示所有不同字节的位置和它们的不同内容,以十进制显示。

-s:静默模式,不输出任何内容,仅返回退出状态码。0 表示文件相同,1 表示文件不同。

-i:指定从哪个字节开始比较。

34.diff 比较文件内容并显示差异

diff可以显示两个文件之间的不同之处,通常用于文件版本控制和差异分析。

diff [options] file1 file2

file1:第一个要比较的文件。file2:第二个要比较的文件。

-u:以统一格式显示差异。

-c:以上下文格式显示差异。

-q:简洁模式,仅指示文件是否不同。

-r:递归比较目录及其内容。

-w:忽略空白字符的差异。

-i:忽略大小写的差异。

-b:忽略行尾的空白字符差异。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。