常见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 退出当前终端会话或shell
- 23.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 登录到计算机主机
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): 用于输入命令(如保存、退出等)。
vim filename.txt
9.cat 查看、连接和创建文件
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
:忽略行尾的空白字符差异。