简单介绍一下Linux的常用命令
一、文件和目录操作命令
-
ls(list)命令
-
功能:用于列出目录的内容,包括文件和子目录的名称、权限、所有者、大小、修改时间等信息。
-
示例:
-
ls
:简单列出当前目录下的非隐藏文件和目录。 -
ls -l
:以长格式(详细信息)列出文件和目录,包括文件类型、权限、硬链接数、所有者、组、大小、修改日期和文件名。例如,-rw-r--r-- 1 user group 1234 Dec 18 10:00 file.txt
,其中-rw-r--r--
表示文件权限,1
是硬链接数,user
是所有者,group
是所属组,1234
是文件大小(字节),Dec 18 10:00
是修改时间,file.txt
是文件名。 -
ls -a
:列出包括隐藏文件(文件名以.
开头)在内的所有文件和目录。
-
-
-
cd(change directory)命令
-
功能:用于切换当前工作目录。
-
示例:
-
cd /home/user
:切换到/home/user
目录。 -
cd..
:切换到上一级目录。 -
cd -
:在当前目录和上一次所在目录之间来回切换。
-
-
-
pwd(print working directory)命令
-
功能:显示当前工作目录的绝对路径。
-
示例:在终端中输入
pwd
,会输出当前所在目录的完整路径,如/home/user/Documents
。
-
-
mkdir(make directory)命令
-
功能:用于创建新的目录。
-
示例:
-
mkdir new_dir
:在当前目录下创建一个名为new_dir
的目录。 -
mkdir -p dir1/dir2
:递归地创建目录dir1
和dir1
下的dir2
目录。这在创建多层目录结构时很有用。
-
-
-
rmdir(remove directory)命令
-
功能:用于删除空目录。
-
示例:
rmdir empty_dir
,如果empty_dir
目录为空,则会被删除。如果目录非空,会提示目录不为空,无法删除。
-
-
rm(remove)命令
-
功能:用于删除文件或目录。
-
示例:
-
rm file.txt
:删除当前目录下的file.txt
文件。 -
rm -r dir
:递归地删除dir
目录及其所有内容。使用-r
(或-R
)选项时要特别小心,因为它会永久性地删除整个目录树。 -
rm -f file
:强制删除文件,不会提示确认信息。这在编写脚本等自动删除文件的场景中可能会用到,但也需要谨慎使用,以免误删重要文件。
-
-
-
cp(copy)命令
-
功能:用于复制文件和目录。
-
示例:
-
cp file1.txt file2.txt
:在当前目录下将file1.txt
复制为file2.txt
。 -
cp -r dir1 dir2
:递归地将dir1
目录及其内容复制到dir2
目录。如果dir2
不存在,会创建dir2
目录并复制内容;如果dir2
存在,则会将dir1
的内容复制到dir2
中。
-
-
-
mv(move)命令
-
功能:用于移动或重命名文件和目录。
-
示例:
-
mv file1.txt /home/user/Documents/
:将当前目录下的file1.txt
移动到/home/user/Documents/
目录下。 -
mv old_name.txt new_name.txt
:将old_name.txt
重命名为new_name.txt
。
-
-
二、文件查看和编辑命令
-
cat(concatenate)命令
-
功能:用于查看文件内容,将文件内容输出到终端。
-
示例:
cat file.txt
会将file.txt
文件的内容全部显示在终端屏幕上。它也可以用于合并文件,如cat file1.txt file2.txt > combined_file.txt
,会将file1.txt
和file2.txt
的内容合并到combined_file.txt
中。
-
-
more 命令
-
功能:用于分页查看文件内容。当文件内容较多时,使用
more
命令可以逐页查看。 -
示例:
more file.txt
,按回车键可以逐行查看内容,按空格键可以逐页查看内容,按q
键可以退出查看。
-
-
less 命令
-
功能:也是用于分页查看文件内容,但功能比
more
更强大。它支持向前和向后翻页,并且可以通过搜索功能查找文件中的特定内容。 -
示例:
less file.txt
,使用/
键可以进行搜索,n
键可以查找下一个匹配项,N
键可以查找上一个匹配项,Page Up
和Page Down
键可以进行翻页,q
键可以退出查看。
-
-
vi 和 vim 命令
-
功能:是功能强大的文本编辑器。
vi
是早期的版本,vim
是vi
的增强版。它们有命令模式、插入模式和底行模式等多种模式。 -
示例:
-
在终端中输入
vi file.txt
,进入vi
编辑器。在命令模式下,可以使用i
键进入插入模式,开始编辑文本。编辑完成后,按Esc
键回到命令模式,然后输入:wq
(保存并退出)或:q!
(不保存退出)。在底行模式下,可以执行一些复杂的操作,如查找替换(:s/old/new/g
用于在当前行将old
替换为new
,:%s/old/new/g
用于在整个文件中替换)。
-
-
三、系统管理命令
-
ps(process status)命令
-
功能:用于查看当前系统中的进程状态。
-
示例:
-
ps
:显示当前终端中运行的进程信息,包括进程 ID(PID)、终端(TTY)、时间(TIME)和命令(CMD)等。 -
ps -ef
:显示所有进程的详细信息,包括父进程 ID(PPID)等。可以用于查看系统中所有正在运行的进程,例如查看哪些进程占用了较多的系统资源等。
-
-
-
kill 命令
-
功能:用于终止进程。
-
示例:
kill PID
,其中PID
是要终止的进程的进程 ID。例如,如果ps -ef
显示某个进程的PID
为 1234,那么kill 1234
会尝试终止这个进程。对于一些比较顽固的进程,可以使用kill -9 PID
(-9
表示强制终止)来结束进程,但这可能会导致进程没有机会进行清理操作,可能会丢失数据,所以要谨慎使用。
-
-
top 命令
-
功能:动态地查看系统中各个进程的资源占用情况,如 CPU 使用率、内存使用率等。
-
示例:在终端中输入
top
,会实时显示系统中占用资源最多的进程列表,按q
键可以退出查看。可以通过top
命令来监控系统性能,找出占用过多资源的进程,以便进行优化或故障排除。
-
-
df(disk free)命令
-
功能:用于查看文件系统的磁盘空间使用情况。
-
示例:
df -h
,其中-h
选项表示以人类可读的格式(如KB
、MB
、GB
等)显示磁盘空间信息。它会显示各个文件系统的总容量、已用空间、可用空间和挂载点等信息,例如Filesystem Size Used Avail Use% Mounted on
这一行下面会列出具体的文件系统的相关信息。
-
-
du(disk usage)命令
-
功能:用于查看目录或文件占用磁盘空间的大小。
-
示例:
-
du -sh dir
:以人类可读的格式显示dir
目录占用的磁盘空间大小。-s
选项表示汇总显示,-h
选项表示以合适的单位显示。 -
du -a dir
:显示dir
目录及其所有子目录和文件的磁盘空间占用情况。
-
-
四、网络命令
-
ifconfig 命令(或 ip 命令)
-
功能:用于查看和配置网络接口的信息。
ifconfig
是较旧的命令,在一些新的 Linux 系统中可能被ip
命令部分替代,但ifconfig
仍然很常用。 -
示例:
-
ifconfig
:会显示系统中所有网络接口(如以太网接口eth0
、无线接口wlan0
等)的 IP 地址、子网掩码、MAC 地址等信息。 -
ifconfig eth0 192.168.1.100 netmask 255.255.255.0
:可以手动配置eth0
接口的 IP 地址和子网掩码(这种手动配置在某些网络环境下可能会用到,但现在很多网络设置是通过网络管理工具自动完成的)。
-
-
-
ping 命令
-
功能:用于测试网络连接,发送 ICMP(Internet Control Message Protocol)数据包到指定的主机,检查是否能够通信以及网络延迟情况。
-
示例:
ping google.com
,会不断向google.com
发送数据包,并显示每个数据包的往返时间(RTT
)等信息,如64 bytes from 172.217.160.78: icmp_seq=1 ttl=117 time=10.234 ms
,按Ctrl + C
可以停止发送数据包。
-
-
netstat 命令
-
功能:用于查看网络状态信息,包括网络连接、路由表、接口统计信息等。
-
示例:
-
netstat -a
:显示所有(包括监听和非监听)的套接字信息,如 TCP 和 UDP 连接等。 -
netstat -r
:显示内核路由表信息,用于查看网络路由情况,如目的网络、网关、子网掩码等。可以帮助排查网络连接问题,例如当无法访问某个外部网络时,检查路由是否正确。
-
-