ls
常用选项:
-l:以长格式显示文件和目录的详细信息,包括权限、所有者、大小和修改时间等。
-a:显示所有文件,包括以.开头的隐藏文件。
-h:以人类可读的格式显示文件大小,例如使用 KB、MB 或 GB。
-t:按修改时间排序,最新的文件先显示。
-r:以相反的顺序显示文件。
cd <目录路径>
pwd
mkdir <目录名>
常用选项:
-p:递归创建目录,如果上级目录不存在则一并创建。
touch <文件名>
cp <源文件路径> <目标文件路径>
常用选项:
-r:递归复制目录及其内容。
-i:在复制前进行交互式确认。
-u:仅复制源文件中比目标文件新或不存在的文件。
mv <源文件路径> <目标文件路径>
rm <文件路径>
常用选项:
-r:递归删除目录及其内容。
-i:在删除前进行交互式确认。
cat <文件路径>
head <文件路径>
tail <文件路径>
常用选项
-n <行数>:指定要显示的行数。
-f:持续显示文件的末尾内容,如日志文件。
wc [选项] 文件
常用选项:
-l:仅显示行数。
-w:仅显示词数。
-c:仅显示字符数。
-m:仅显示字符数,与-c
类似。
-L:显示最长行的长度。
tar
(tape archive)命令是在Linux和Unix系统中用于创建、查看、提取和管理归档文件的常用命令。它通常用于将多个文件或目录组合成一个单一的归档文件,并且可以进行压缩。
tar [选项] 归档文件名.tar 文件或目录
选项
:tar
命令支持多种选项,下面是一些常见的选项及其功能:
-c
:创建新的归档文件。-x
:提取归档文件。-t
:列出归档文件中的内容。-f
:指定归档文件的名称。-z
:使用 gzip 压缩(通常与 -c
一起使用)。-j
:使用 bzip2 压缩(通常与 -c
一起使用)。-r
:向已存在的归档文件中追加文件。-u
:只提取比归档文件中的文件更新的文件。-v
:显示详细信息,通常用于显示操作的进展。示例用法:
创建一个归档文件:
tar -cvf archive.tar file1.txt file2.txt directory1/
创建并压缩一个归档文件使用 gzip:
tar -czvf archive.tar.gz file1.txt file2.txt directory1/
创建并压缩一个归档文件使用 bzip2:
tar -cjvf archive.tar.bz2 file1.txt file2.txt directory1/
提取归档文件的内容:
tar -xvf archive.tar
列出归档文件的内容:
tar -tvf archive.tar
向已存在的归档文件中追加文件:
tar -rvf archive.tar newfile.txt
只提取比归档文件中的文件更新的文件:
tar -uvf archive.tar file1.txt
在Linux中,zip
命令用于创建和管理ZIP文件,ZIP是一种常见的压缩文件格式,它可以将多个文件和目录打包成一个ZIP文件,以便于传输、存储和共享。
zip [选项] 压缩文件名.zip 源文件或目录
选项
:zip
命令支持多种选项,下面是一些常见的选项及其功能:
-r
:递归地压缩目录及其子目录中的文件。-q
:静默模式,不显示任何输出信息。-9
:使用最高级别的压缩,以获得更好的压缩率,但可能会花费更多时间。-u
:只更新已经存在于压缩文件中的文件,而不创建新的压缩文件。-j
:不保留目录结构,将所有文件放在压缩文件的根目录中。-T
:测试压缩文件,检查其完整性。-v
:显示详细的压缩信息。示例用法:
压缩单个文件:
zip archive.zip file.txt
压缩多个文件或目录:
zip archive.zip file1.txt file2.txt directory1/
递归压缩目录及其子目录中的所有文件:
zip -r archive.zip directory1/
静默模式压缩:
zip -q archive.zip file.txt
更新已存在的压缩文件:
zip -u archive.zip newfile.txt
测试压缩文件的完整性:
zip -T archive.zip
ps
是一个用于显示当前正在运行的进程信息的常用命令,通常在Linux和Unix系统中使用。它提供了许多选项,可以用于筛选和显示不同类型的进程信息。
ps [选项]
选项
:ps
命令支持多种选项,下面是一些常见的选项及其功能:
-a
:显示所有用户的进程,通常与 -x
一起使用。-u
:以用户为单位显示进程信息,包括用户名、PID、CPU占用等。-x
:显示无控制终端的进程,通常与 -a
一起使用。-e
:显示所有进程,包括守护进程。-f
:以完整格式显示进程信息,包括父进程ID(PPID)和其他详细信息。-l
:以长格式显示进程信息,包括更多的详细信息。-p
:仅显示指定PID的进程。-t
:显示与指定终端关联的进程。--sort
:根据指定的标志对进程列表进行排序,例如 --sort=-%cpu
可以按CPU占用率降序排序。示例用法:
显示当前用户的所有进程:
ps
显示所有用户的进程:
ps -e
显示进程详细信息:
ps -l
显示指定PID的进程:
ps -p 12345
显示与指定终端相关的进程:
ps -t tty1
以完整格式显示所有进程信息:
ps -ef
显示所有进程并按CPU占用率降序排序:
ps aux --sort=-%cpu
kill
命令用于在Linux和Unix系统中终止或发送信号给进程。通常,它允许您向进程发送信号,以控制其行为或终止进程。
kill [选项] 进程ID
选项
:kill
命令支持一些常见的选项,下面是其中一些:
示例用法:
终止一个进程:
kill 进程ID
例如,kill 12345
将终止PID为12345的进程。
使用不同的信号终止进程:
kill -s 信号 进程ID
例如,kill -s SIGTERM 12345
将发送 SIGTERM
信号给PID为12345的进程。
使用信号编号终止进程:
kill -9 进程ID
例如,kill -9 12345
将发送 SIGKILL
信号给PID为12345的进程,强制终止它。
netstat
是一个用于查看网络相关信息的命令行工具,通常在Linux和Unix系统中使用。它提供了一种方式来显示网络连接、路由表、接口统计信息和其他网络相关的状态信息。
netstat [选项]
选项
:netstat
命令支持多种选项,下面是一些常见的选项及其功能:
-t
:显示TCP协议相关的连接。-u
:显示UDP协议相关的连接。-l
:仅显示正在监听的套接字。-p
:显示与每个连接关联的进程信息。-n
:以数字形式显示地址和端口号,而不进行反向DNS查找。-r
:显示路由表信息。-i
:显示网络接口的信息和统计数据。-a
:显示所有的连接,包括监听和非监听的。-c
:连续输出,实时刷新信息。-s
:显示各种网络统计信息,如IP、ICMP、TCP和UDP的统计数据。-h
:显示帮助信息,列出所有可用选项。示例用法:
显示所有活动的网络连接:
netstat -tuln
显示监听的TCP连接:
netstat -tln
这将显示所有正在监听的TCP连接,通常用于查看哪些服务正在监听哪些端口。
显示路由表信息:
netstat -rn
这将显示系统的路由表,包括目标网络、网关、接口等信息。
显示网络接口信息和统计数据:
netstat -i
这将显示系统的网络接口信息,包括接口名称、数据包统计等。
显示各种网络统计信息:
netstat -s
这将显示各种网络协议(如IP、ICMP、TCP和UDP)的统计数据。
ipcs
命令用于显示Linux和Unix系统中的系统V IPC(Inter-Process Communication,进程间通信)对象信息。IPC对象包括共享内存、消息队列和信号量,这些对象允许不同进程之间进行进程间通信。ipcs
命令用于列出当前系统中的IPC对象及其相关信息。
ipcs [选项]
选项
:ipcs
命令支持多种选项,下面是一些常见的选项及其功能:
-m
:显示共享内存信息。-q
:显示消息队列信息。-s
:显示信号量信息。-a
:显示所有IPC对象的信息。-b
:以字节为单位显示共享内存的大小(默认以页为单位)。-c
:显示创建IPC对象的进程的详细信息。-t
:以可读的时间格式显示时间戳。-p
:以权限标志的形式显示IPC对象的权限。-h
:显示帮助信息,列出所有可用选项。下面是一些示例用法:
显示所有共享内存信息:
ipcs -m
显示所有消息队列信息:
ipcs -q
显示所有信号量信息:
ipcs -s
显示所有IPC对象的信息:
ipcs -a
以字节为单位显示共享内存的大小:
ipcs -mb
显示创建IPC对象的进程的详细信息:
ipcs -mc
以可读的时间格式显示时间戳:
ipcs -mt
以权限标志的形式显示IPC对象的权限:
ipcs -mp
ipcrm
命令用于在Linux和Unix系统中删除系统V IPC(Inter-Process Communication,进程间通信)对象,包括共享内存、消息队列和信号量。这个命令用于释放已经创建的IPC对象,通常在不再需要它们时使用。
ipcrm [选项] 标识符
选项
:ipcrm
命令支持以下选项:
-M
:删除共享内存。-Q
:删除消息队列。-S
:删除信号量。-m
:删除具有指定标识符的共享内存。-q
:删除具有指定标识符的消息队列。-s
:删除具有指定标识符的信号量。-a
:删除所有IPC对象(共享内存、消息队列和信号量)。-h
:显示帮助信息,列出所有可用选项。标识符
:要删除的IPC对象的标识符。对于共享内存和消息队列,通常是IPC对象的ID号;对于信号量,通常是IPC对象的标识键(key)。
示例用法:
删除指定ID的共享内存:
ipcrm -m 12345
这将删除共享内存ID为12345的对象。
删除指定ID的消息队列:
ipcrm -q 67890
这将删除消息队列ID为67890的对象。
删除指定ID的信号量:
ipcrm -s 54321
这将删除信号量ID为54321的对象。
删除所有IPC对象:
ipcrm -a
这将删除系统中的所有共享内存、消息队列和信号量。
top
是一个实时性能监视工具,通常在Linux和Unix系统中使用。它以交互方式显示系统上运行的进程的实时性能信息,包括CPU使用率、内存占用、进程列表以及其他系统资源的相关信息。
top
top
命令在终端中启动,然后以实时模式显示系统性能信息。默认情况下,它按照CPU使用率降序列出进程,以便您可以看到哪些进程正在占用系统资源。
以下是一些常用的交互命令,您可以在 top
命令的实时界面中使用:
q
:退出 top
命令。
P
:按照CPU使用率降序排序进程。
M
:按照内存占用降序排序进程。
T
:按照进程运行时间排序进程。
k
:杀死选中的进程,需要输入进程的PID。
Space
:手动刷新 top
的显示。
1
:切换到单核心视图,显示每个CPU核心的使用情况。
H
:显示或隐藏线程(在多线程进程中)。
s
:更改 top
的刷新间隔时间。
h
:显示 top
的帮助屏幕,列出可用的交互命令。
free
命令用于在Linux和Unix系统中显示系统的内存使用情况。它显示系统中的物理内存和交换空间的总量、已使用量和剩余量。free
命令提供了一个快速的方式来查看系统内存的情况,有助于监视系统的内存资源使用情况。
free [选项]
选项
:free
命令支持一些选项,下面是一些常见的选项及其功能:
-t
:显示总内存使用情况,包括物理内存和交换空间的总和。-b
:以字节为单位显示内存使用情况。-k
:以千字节(KB)为单位显示内存使用情况。-m
:以兆字节(MB)为单位显示内存使用情况。-g
:以吉字节(GB)为单位显示内存使用情况。-h
:以易读的格式显示内存使用情况,以适应人类阅读。-s
:以指定的时间间隔(秒)循环显示内存使用情况。示例用法:
显示内存使用情况(默认以KB为单位):
free
以MB为单位显示内存使用情况:
free -m
以GB为单位显示内存使用情况:
free -g
以易读的格式显示内存使用情况:
free -h
循环显示内存使用情况:
free -s 5
这将每5秒刷新一次内存使用情况。
fdisk
是一个用于管理磁盘分区的命令行工具,通常在Linux系统中使用。它允许用户查看、创建、删除、修改和管理硬盘分区。fdisk
命令是一个强大的工具,但需要小心操作,因为它可以对硬盘进行更改,而且操作不当可能导致数据丢失。
fdisk [选项] 设备文件
选项
:fdisk
命令支持多种选项,下面是一些常见的选项及其功能:
-l
:列出设备文件的分区表信息,但不进行任何分区操作。-n
:创建一个新分区。-d
:删除一个分区。-t
:更改分区的类型(ID)。-p
:打印分区表,与 -l
类似。-u
:在某些情况下,以柱面为单位而不是扇区为单位来显示和操作分区。示例用法:
列出设备文件的分区表信息:
fdisk -l /dev/sda
这将显示硬盘 /dev/sda
上的分区表信息。
创建一个新分区:
fdisk /dev/sda
然后按照提示选择 n
选项来创建一个新分区,依次指定分区号、起始扇区、结束扇区等信息。
删除一个分区:
fdisk /dev/sda
然后按照提示选择 d
选项来删除一个分区,然后输入要删除的分区号。
更改分区的类型(ID):
fdisk /dev/sda
然后按照提示选择 t
选项来更改分区的类型,然后输入分区号和新的分区类型码。
df
命令用于显示磁盘使用情况,包括文件系统的容量、已用空间、可用空间以及挂载点等信息。在Linux和Unix系统中,df
命令是用于监视文件系统空间的常见工具。
df [选项] [文件系统]
选项
:df
命令支持一些选项,下面是一些常见的选项及其功能:
-h
:以人类可读的格式显示磁盘使用情况,以便更容易理解容量大小(使用GB、MB等)。-T
:显示文件系统类型。-i
:显示inode使用情况。-t
:仅显示特定类型的文件系统。-x
:排除特定类型的文件系统。-P
:以POSIX标准的输出格式显示,而不使用默认的格式。--total
:显示总计行,总计磁盘空间的使用情况。示例用法:
显示所有挂载点的磁盘使用情况:
df
以人类可读的格式显示磁盘使用情况:
df -h
显示指定文件系统的磁盘使用情况:
df /dev/sda1
显示总计磁盘空间使用情况:
df --total
仅显示特定类型的文件系统,例如ext4:
df -t ext4
du
命令(磁盘使用)用于查看指定目录或文件的磁盘使用情况,包括目录中的文件和子目录的大小。如果不指定目录或文件,du
默认查看当前目录。
du [选项] [目录或文件]
选项
:du
命令支持一些选项,下面是一些常见的选项及其功能:
-h
:以人类可读的格式显示文件和目录大小,以便更容易理解容量大小(使用GB、MB等)。-s
:仅显示指定目录或文件的总大小,而不显示子目录和文件的详细信息。-c
:同时显示每个子目录的大小和总大小。-max-depth=N
:限制深度,仅显示到指定深度的目录大小。--exclude=PATTERN
:排除匹配指定模式的文件或目录。--time
:同时显示上次访问文件的时间。示例用法:
查看当前目录的磁盘使用情况:
du
以人类可读的格式查看指定目录的磁盘使用情况:
du -h /path/to/directory
查看指定目录的总大小(不包括子目录的详细信息):
du -s /path/to/directory
查看指定目录的总大小和子目录的大小:
du -c /path/to/directory
限制深度并显示指定目录的磁盘使用情况:
du --max-depth=2 /path/to/directory
排除特定文件或目录的大小:
du --exclude="*.log" /path/to/directory
umask
是一个在Unix和Linux系统中设置文件和目录默认权限的命令。umask
的主要功能是确定新创建文件和目录的权限掩码,以阻止或限制其他用户对这些文件和目录的访问。它用于设置掩码,该掩码会从最大权限(通常是 777
或 666
)中减去,以确定新文件和目录的实际权限。
umask [选项]
选项
:umask
命令通常不需要选项,但可以使用以下选项:
-S
:以符号形式显示umask值。这将显示类似于 -rw-rw-rw-
的形式,以表示掩码的效果。umask
命令通常不是通过交互式方式执行的,而是在用户的shell配置文件(如.bashrc
、.bash_profile
)或系统的shell启动脚本中设置。通过在这些配置文件中设置 umask
值,可以确保新创建的文件和目录遵循特定的权限规则。
umask
值是一个三位八进制数字,通常以 0
开头,例如 022
或 002
. 每个数字表示一组权限(用户、组、其他),其中每个位上的数字表示将要被屏蔽的权限。因此,022
表示将屏蔽组和其他用户的写权限,保留读和执行权限。
一些常见的 umask
值包括:
022
:默认值,通常用于普通用户。允许用户读和执行文件,但不允许写入。
002
:通常用于共享目录。允许组成员写入文件和目录,但其他用户只有读和执行权限。
077
:通常用于私有目录,禁止其他用户对文件和目录的任何访问。
027
:允许用户写文件,但不允许组成员写入文件和其他用户访问文件。
要设置 umask
值,可以在shell会话中使用 umask
命令,如:
umask 022
这将将umask值设置为 022
,以确保新创建的文件和目录符合默认权限规则。
chmod
是一个用于更改文件或目录权限的命令,通常在Unix、Linux和类Unix系统中使用。它允许用户修改文件或目录的读、写和执行权限,以及文件所有者、所属用户组和其他用户的权限。
chmod [选项] 权限模式 文件或目录
选项
:
-c
:仅在发生更改时显示结果。-v
:显示详细的操作信息,包括已经更改的权限。-R
:递归地更改目录及其内容的权限。--reference=参考文件
:根据参考文件的权限设置目标文件的权限。示例用法:
使用数字形式设置文件权限:
chmod 644 file.txt
这将设置文件 file.txt
的权限为 rw-r--r--
。
使用符号形式为文件添加写权限:
chmod +w file.txt
这将为文件 file.txt
添加写权限。
使用符号形式为目录及其内容递归设置权限:
chmod -R 755 directory
这将递归地将目录 directory
及其内容的权限设置为 rwxr-xr-x
。
使用参考文件的权限设置目标文件的权限:
chmod --reference=reference_file target_file
这将根据 reference_file
的权限设置 target_file
的权限。
chown
是一个用于更改文件或目录的所有者(用户)和所属用户组的命令,chown
命令允许管理员或文件的所有者更改文件或目录的所有者,从而决定谁对文件或目录拥有控制权。
chown [选项] 新所有者:新组 文件或目录
选项
:
-c
:仅在发生更改时显示结果。-v
:显示详细的操作信息,包括已经更改的所有者和所属用户组。-R
:递归地更改目录及其内容的所有者和所属用户组。示例用法:
更改文件的所有者和所属用户组:
chown newuser:newgroup file.txt
这将将文件 file.txt
的所有者更改为 newuser
,所属用户组更改为 newgroup
。
更改目录及其内容的所有者和所属用户组(递归):
chown -R newuser:newgroup directory
这将递归地将目录 directory
及其内容的所有者更改为 newuser
,所属用户组更改为 newgroup
。
仅更改文件的所有者:
chown newuser file.txt
这将将文件 file.txt
的所有者更改为 newuser
,但保持原来的所属用户组不变。
chgrp
命令用于更改文件或目录的所属用户组,与 chown
命令不同,chgrp
仅允许更改文件或目录的所属用户组,而不涉及更改文件的所有者。
chgrp [选项] 新组 文件或目录
选项
:
-c
:仅在发生更改时显示结果。-v
:显示详细的操作信息,包括已经更改的所属用户组。-R
:递归地更改目录及其内容的所属用户组。下面是一些示例用法:
更改文件的所属用户组:
chgrp newgroup file.txt
这将将文件 file.txt
的所属用户组更改为 newgroup
,但不更改文件的所有者。
更改目录及其内容的所属用户组(递归):
chgrp -R newgroup directory
这将递归地将目录 directory
及其内容的所属用户组更改为 newgroup
,但不更改文件的所有者。
统计一些常用的命令,欢迎在评论区补充!!