一、文件和目录操作
ls(list)命令
功能:用于列出目录的内容,包括文件和子目录。
示例:
ls
:列出当前目录下的所有非隐藏文件和目录。ls -l
:以长格式列出文件和目录的详细信息,如文件权限、所有者、大小、修改时间等。
其中,-rw-r--r--
表示文件权限,1
是链接数,user
是所有者,group
是所属组,1234
是文件大小(单位是字节),May 1 10:00
是修改时间,file.txt
是文件名。
ls -a
:列出包括隐藏文件(文件名以.
开头)在内的所有文件和目录。ls -R
:递归地列出目录及其子目录中的所有内容。
cd(change directory)命令
功能:用于切换当前工作目录。
示例:
cd /home/user
:切换到/home/user
目录。cd..
:切换到上一级目录。cd -
:在当前目录和上一次所在目录之间来回切换。
pwd(print working directory)命令
功能:用于显示当前工作目录的绝对路径。
示例:
当你在
/home/user/Documents
目录下,执行pwd
命令,会显示/home/user/Documents
。
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
目录及其所有内容。使用这个命令要特别小心,因为数据删除后很难恢复。rm -f file.txt
:强制删除file.txt
文件,不会提示确认信息。
cp(copy)命令
功能:用于复制文件和目录。
示例:
cp file1.txt file2.txt
:将file1.txt
复制为file2.txt
。cp -r directory1 directory2
:递归地复制directory1
目录及其内容到directory2
目录。如果directory2
不存在,则会创建。
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.txt
:将file1.txt
和file2.txt
的内容合并,并输出到combined.txt
文件中。
less 命令
功能:用于分页查看文件内容,相比 cat 命令更适合查看长文件。
示例:
less file.txt
:打开file.txt
文件进行查看。可以使用Page Up
和Page Down
键或者j
(向下滚动一行)和k
(向上滚动一行)等快捷键来浏览文件。按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
文件的末尾内容,常用于查看日志文件的实时更新。
vi 和 vim 命令(文本编辑器)
功能:用于编辑文本文件。
示例:
vi file.txt
:打开file.txt
文件进行编辑。在 vi 编辑器中,有多种模式。命令模式:刚打开文件时处于命令模式。可以使用
i
键进入插入模式,开始编辑文本;使用:
键进入末行模式,用于保存文件(:w
)、退出编辑器(:q
)或保存并退出(:wq
)等操作。插入模式:用于输入和修改文本内容。
末行模式:用于执行一些高级命令,如查找替换(
:s/old/new/g
用于在当前行替换old
为new
,:%s/old/new/g
用于在整个文件中替换)等。
vim 是 vi 的增强版,具有更多的功能和插件支持。
三、系统信息和进程管理
uname 命令
功能:用于显示系统信息。
示例:
uname -a
:显示系统的所有信息,包括内核名称、主机名、内核版本、操作系统等信息。例如可能显示Linux myhost 5.4.0 - 104 - generic #118 - Ubuntu SMP Tue Apr 13 08:27:40 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
。uname -r
:仅显示内核版本。
top 命令
功能:用于实时查看系统的进程信息,包括 CPU 使用率、内存使用率、进程状态等。
示例:
执行
top
命令后,会看到一个类似表格的界面,最上面几行显示系统的整体信息,如负载平均值、CPU 使用率等。下面的表格列出了各个进程的信息,包括进程 ID(PID)、用户、优先级、CPU 使用率、内存使用率等。可以使用k
键杀死进程(需要输入 PID),q
键退出top
命令。
ps(process status)命令
功能:用于查看当前系统中的进程状态。
示例:
ps
:显示当前终端中运行的进程信息,包括 PID、终端(TTY)、时间、命令等基本信息。ps -ef
:显示所有进程的详细信息,包括父进程 ID(PPID)等。可以用于查看系统中正在运行的所有进程,例如查找某个特定进程或者查看进程之间的父子关系。ps -aux
:与ps -ef
类似,但是显示的格式稍有不同,并且会显示进程的 CPU 和内存使用率等信息,更方便用于资源监控。
kill 命令
功能:用于发送信号给进程,通常用于终止进程。
示例:
kill PID
:向进程 ID 为PID
的进程发送SIGTERM
信号,正常终止进程。如果进程无法正常终止,可以使用kill -9 PID
发送SIGKILL
信号,强制终止进程。但强制终止可能会导致数据丢失或系统不稳定,应谨慎使用。
四、用户和权限管理
useradd 命令
功能:用于添加新用户。
示例:
useradd new_user
:创建一个名为new_user
的新用户。默认会在/home
目录下创建对应的用户主目录。useradd -m -s /bin/bash new_user
:创建新用户new_user
,并创建用户主目录(-m
选项),指定用户的默认 shell 为/bin/bash
。
userdel 命令
功能:用于删除用户。
示例:
userdel user
:删除用户user
,但是默认不会删除用户的主目录。userdel -r user
:删除用户user
并同时删除其主目录。
passwd 命令
功能:用于设置或修改用户密码。
示例:
passwd user
:为用户user
设置或修改密码。系统会提示你输入新密码并确认。
chmod(change mode)命令
功能:用于改变文件或目录的权限。
示例:
chmod 755 file.txt
:将file.txt
文件的权限设置为所有者具有读、写、执行权限(7),所属组和其他用户具有读、执行权限(5)。权限数字是通过将读(4)、写(2)、执行(1)权限相加得到的。chmod u + x file.txt
:给文件file.txt
的所有者(u
表示 user)添加执行权限。也可以使用g
(group)和o
(others)来操作所属组和其他用户的权限,+
表示添加权限,-
表示删除权限。
chown(change owner)命令
功能:用于改变文件或目录的所有者和所属组。
示例:
chown user:group file.txt
:将file.txt
文件的所有者改为user
,所属组改为group
。
五、网络操作
ifconfig 命令(部分 Linux 发行版已用 ip 命令替代)
功能:用于查看和配置网络接口信息。
示例:
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)
。ifconfig eth0 192.168.1.200 netmask 255.255.255.0
:手动配置eth0
接口的 IP 地址为192.168.1.200
,子网掩码为255.255.255.0
。不过在现代系统中,更推荐使用ip
命令进行网络配置。
ip 命令
功能:用于查看和配置网络接口、路由等网络相关信息。
示例:
ip addr show
:查看所有网络接口的详细地址信息,功能类似于ifconfig
,但输出格式更详细。ip route show
:查看系统的路由信息,包括默认路由等。例如可能显示default via 192.168.1.1 dev eth0
,表示默认网关是192.168.1.1
,通过eth0
接口访问。ip link set eth0 up
:启用eth0
网络接口;ip link set eth0 down
:禁用eth0
网络接口。
ping 命令
功能:用于测试网络连接,向目标主机发送 ICMP 数据包,查看是否能够收到回应。
示例:
ping 8.8.8.8
:向IP
地址为8.8.8.8
(谷歌的公共 DNS 服务器)发送 ping 数据包,检查网络连接是否正常。会不断发送数据包并显示回应时间,按Ctrl + C
停止发送。ping -c 5 192.168.1.1
:向192.168.1.1
发送 5 个 ping 数据包,然后停止并显示统计信息。
ssh(secure shell)命令
功能:用于通过安全的方式远程登录到其他主机。
示例:
ssh user@192.168.1.100
:以用户user
的身份通过 SSH 协议远程登录到IP
地址为192.168.1.100
的主机。系统会提示你输入用户密码(如果是基于密码认证),登录成功后就可以在远程主机上执行命令,就像在本地终端一样。ssh -p 2222 user@192.168.1.100
:如果远程主机的 SSH 服务端口不是默认的 22,而是 2222,使用-p
选项指定端口号进行登录。
scp(secure copy)命令
功能:用于在本地和远程主机之间安全地复制文件。
示例:
scp file.txt user@192.168.1.100:/home/user/
:将本地的file.txt
文件复制到IP
地址为192.168.1.100
的远程主机的/home/user/
目录下。scp -r local_directory user@192.168.1.100:/remote_directory/
:递归地将本地的local_directory
目录及其内容复制到远程主机的/remote_directory/
目录下。
wget 命令
功能:用于从网络上下载文件。
示例:
wget https://example.com/file.zip
:从https://example.com/
下载file.zip
文件到当前目录。wget -c https://example.com/big_file.iso
:使用-c
选项(断点续传)下载大文件,比如big_file.iso
。如果下载过程中断,再次执行相同的命令可以从上次中断的位置继续下载。
评论区