Linux有许多常用命令,以下是一些比较重要的:
一、文件和目录操作命令
-
ls(list)
- 功能:用于列出目录的内容,包括文件和子目录。
- 示例:
ls:简单列出当前目录下的非隐藏文件和目录。ls -l:以长格式列出文件和目录的详细信息,如文件类型、权限、所有者、大小、修改时间等。例如,输出可能像这样:
其中,-rw-r--r-- 1 user group 1234 Dec 24 10:00 file.txt-rw-r--r--表示文件权限,1是链接数,user是所有者,group是所属组,1234是文件大小(以字节为单位),Dec 24 10:00是修改时间,file.txt是文件名。ls -a:列出包括隐藏文件(文件名以“.”开头的文件)在内的所有文件和目录。
-
cd(change directory)
- 功能:用于切换当前工作目录。
- 示例:
cd /home/user/Documents:将当前目录切换到/home/user/Documents。cd..:切换到上级目录。cd:如果不带参数,会切换到用户的主目录(一般是/home/用户名)。
-
pwd(print working directory)
- 功能:显示当前工作目录的绝对路径。
- 示例:
- 假设当前目录是
/home/user/Downloads,执行pwd会输出/home/user/Downloads。
- 假设当前目录是
-
mkdir(make directory)
- 功能:用于创建新的目录。
- 示例:
mkdir new_folder:在当前目录下创建一个名为new_folder的目录。mkdir -p parent/child:创建多层目录,即如果parent目录不存在,先创建parent目录,再在其中创建child目录。
-
rmdir(remove directory)
- 功能:用于删除空目录。
- 示例:
rmdir empty_folder:删除名为empty_folder的空目录。如果目录非空,则会提示错误。
-
rm(remove)
- 功能:用于删除文件或目录。
- 示例:
rm file.txt:删除当前目录下的file.txt文件。rm -r directory:递归删除directory目录及其所有内容。这个命令要谨慎使用,因为一旦执行,文件很难恢复。
-
cp(copy)
- 功能:用于复制文件和目录。
- 示例:
cp file1.txt file2.txt:将file1.txt复制为file2.txt,如果file2.txt已经存在,会覆盖它。cp -r directory1 directory2:递归复制directory1目录及其内容到directory2。如果directory2已经存在,会将directory1的内容复制到directory2里面。
-
mv(move)
- 功能:用于移动或重命名文件和目录。
- 示例:
mv file.txt new_location/file.txt:将file.txt移动到new_location目录下。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。
-
less
- 功能:用于查看文件内容,相较于
cat,它可以分页查看,方便查看长文件。 - 示例:
less file.txt:打开file.txt进行查看。可以使用上下箭头键滚动,按q键退出查看。
- 功能:用于查看文件内容,相较于
-
head
- 功能:用于查看文件的开头部分内容。
- 示例:
head file.txt:默认显示文件的前10行内容。head -n 5 file.txt:显示文件的前5行内容。
-
tail
- 功能:用于查看文件的末尾部分内容。
- 示例:
tail file.txt:默认显示文件的后10行内容。tail -n 3 file.txt:显示文件的后3行内容。tail -f file.log:用于动态查看日志文件(file.log)的更新内容,当文件内容有新的写入时,会实时显示在终端。
-
nano和vi/vim
- 功能:都是文本编辑器。
nano是一个简单易用的文本编辑器,vi/vim是功能强大但学习曲线较陡的文本编辑器。 - 示例:
nano file.txt:打开file.txt进行编辑。在nano中,可以使用快捷键进行保存(Ctrl + O)和退出(Ctrl + X)等操作。vi file.txt:打开file.txt进行编辑。在vi中,有多种模式,如命令模式和插入模式。在命令模式下,可以使用各种命令来操作文件,如i键进入插入模式进行文本输入,Esc键回到命令模式,:wq用于保存并退出,:q!用于强制退出不保存等。
- 功能:都是文本编辑器。
三、系统管理命令
-
ps(process status)
- 功能:用于查看当前系统中的进程状态。
- 示例:
ps:显示当前终端中运行的进程信息,输出比较简洁,通常包括进程ID(PID)、终端(TTY)、时间(TIME)和命令(CMD)等信息。ps -ef:显示系统中所有进程的详细信息,包括UID(用户ID)、PID、PPID(父进程ID)、C(CPU使用率)、STIME(启动时间)等更多信息。这有助于查看系统整体的进程情况,例如查找某个特定用户启动的所有进程。
-
kill
- 功能:用于终止进程。
- 示例:
kill PID:其中PID是要终止的进程的进程ID。例如,kill 1234会终止进程ID为1234的进程。kill -9 PID:强制终止进程。有时候普通的kill命令无法终止进程,就可以使用kill -9来强制终止,但这种方式可能会导致进程没有机会进行清理操作,可能会丢失数据。
-
top
- 功能:动态显示系统中各个进程的资源占用情况,如CPU使用率、内存使用率等。
- 示例:
- 在终端输入
top后,会实时显示系统进程的信息,按q键退出查看。可以通过这个命令快速了解系统的性能瓶颈,比如哪个进程占用了过多的CPU或内存资源。
- 在终端输入
-
df(disk free)
- 功能:用于查看文件系统的磁盘空间使用情况。
- 示例:
df -h:以人类可读的格式(如KB、MB、GB等)显示磁盘空间使用情况。输出会包括文件系统(Filesystem)、总大小(Size)、已用空间(Used)、可用空间(Available)、使用率(Use%)和挂载点(Mounted on)等信息。
-
du(disk usage)
- 功能:用于查看目录或文件的磁盘空间占用情况。
- 示例:
du -h:以人类可读的格式显示当前目录下每个文件和子目录的磁盘空间占用情况。du -sh directory:显示directory目录的总磁盘空间占用情况,并且以简洁的方式(只显示总计)输出。
四、网络命令
-
ifconfig(interface configuration)
- 功能:用于查看和配置网络接口(在较新的系统中,
ip addr命令逐渐取代ifconfig,但ifconfig仍然很常用)。 - 示例:
ifconfig:查看当前系统的网络接口信息,包括IP地址、子网掩码、MAC地址等。例如,输出可能显示eth0(以太网接口)的信息如下:
其中eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255 ether 00:11:22:33:44:55 txqueuelen 1000 (Ethernet)inet后面的是IP地址,netmask是子网掩码,ether后面的是MAC地址。
- 功能:用于查看和配置网络接口(在较新的系统中,
-
ping
- 功能:用于测试网络连接是否通畅,通过发送ICMP(Internet Control Message Protocol)数据包到目标主机并等待回应。
- 示例:
ping 8.8.8.8:向IP地址为8.8.8.8(谷歌的DNS服务器)发送ping请求,会不断输出类似64 bytes from 8.8.8.8: icmp_seq=1 ttl=118 time=12.345 ms的信息,表示收到了目标主机的回应,time=12.345 ms表示往返时间。按Ctrl + C停止ping操作。
-
netstat
- 功能:用于查看网络状态信息,如网络连接、路由表、接口统计等。
- 示例:
netstat -a:显示所有的网络连接(包括监听和非监听状态)。netstat -r:显示内核路由表信息,包括目标网络、网关、子网掩码等,用于查看网络路由情况。
-
wget
- 功能:用于从网络上下载文件。
- 示例:
wget http://example.com/file.txt:从http://example.com下载file.txt文件到当前目录。可以使用选项来指定下载的位置、是否断点续传等功能。