Linux 常用命令
...大约 8 分钟
Linux 常用命令
一、文件和目录操作
ls - 列出目录内容
基本用法:
ls:列出当前目录下的非隐藏文件和目录。ls -l:以长格式列出文件和目录的详细信息,包括权限、所有者、大小、修改时间等。ls -a:列出包括隐藏文件(以.开头的文件)在内的所有文件和目录。ls -h:与-l一起使用时,以人类可读的格式显示文件大小(例如,1K、2M 等)。
示例:
- 查看当前目录下的所有文件和目录(包括隐藏文件),并以长格式显示:
ls -alh
- 查看当前目录下的所有文件和目录(包括隐藏文件),并以长格式显示:
cd - 切换目录
基本用法:
cd:切换到用户的主目录(对于普通用户,通常是/home/user;对于根用户,是/root)。cd /:切换到根目录。cd..:切换到上一级目录。cd -:在当前目录和上一次所在目录之间切换。
示例:
- 从当前目录切换到
/etc目录:cd /etc
- 从当前目录切换到
pwd - 显示当前工作目录
- 用法:直接输入
pwd,它会显示当前所在的目录路径。 - 示例:如果当前在
/home/user/Documents目录下,输入pwd会显示/home/user/Documents。
mkdir - 创建目录
基本用法:
mkdir dir_name:创建一个名为dir_name的目录。mkdir -p dir1/dir2/dir3:创建多层目录结构,如果父目录不存在,会一并创建。
示例:
- 创建一个名为
test_dir的目录:mkdir test_dir - 创建一个嵌套的目录结构
parent/child/grandchild:mkdir -p parent/child/grandchild
- 创建一个名为
rmdir - 删除空目录
基本用法:
rmdir dir_name:删除名为dir_name的空目录。如果目录非空,则无法删除,需要使用rm -r命令。
示例:
- 删除名为
empty_dir的空目录:rmdir empty_dir
- 删除名为
rm - 删除文件或目录
基本用法:
rm file_name:删除名为file_name的文件。rm -r dir_name:递归删除名为dir_name的目录及其内部的所有文件和子目录。rm -f file_name:强制删除文件,不提示确认信息(慎用)。
示例:
- 删除名为
test.txt的文件:rm test.txt - 删除名为
my_folder的目录及其内容:rm -r my_folder
- 删除名为
cp - 复制文件和目录
基本用法:
cp source_file destination_file:将source_file复制为destination_file。cp -r source_dir destination_dir:递归复制source_dir到destination_dir,用于复制目录及其内部所有文件和子目录。
示例:
- 复制
file1.txt为file2.txt:cp file1.txt file2.txt - 复制
dir1目录及其内容到dir2:cp -r dir1 dir2
- 复制
mv - 移动或重命名文件和目录
基本用法:
mv source_file destination_file:将source_file移动到destination_file,如果destination_file是一个新的文件名,则实现重命名功能。mv source_dir destination_dir:将source_dir移动到destination_dir。
示例:
- 将
old_name.txt重命名为new_name.txt:mv old_name.txt new_name.txt - 将
src_folder移动到dst_folder:mv src_folder dst_folder
- 将
二、文件查看和编辑
cat - 查看文件内容
基本用法:
cat file_name:显示file_name文件的全部内容。
示例:
- 查看
example.txt文件的内容:cat example.txt
- 查看
less - 分页查看文件内容
基本用法:
less file_name:打开file_name文件,可以使用上下键滚动查看内容,按q键退出。- 在查看过程中,可以使用
/keyword搜索关键字keyword。
示例:
- 分页查看
long_file.txt文件:less long_file.txt
- 分页查看
head - 查看文件开头部分内容
基本用法:
head file_name:显示file_name文件的前 10 行内容。head -n 5 file_name:显示file_name文件的前 5 行内容。
示例:
- 查看
data.log文件的前 3 行:head -n 3 data.log
- 查看
tail - 查看文件末尾部分内容
基本用法:
tail file_name:显示file_name文件的后 10 行内容。tail -n 5 file_name:显示file_name文件的后 5 行内容。tail -f file_name:实时查看file_name文件的末尾内容,常用于查看日志文件的更新情况。
示例:
- 查看
server.log文件的后 2 行:tail -n 2 server.log - 实时查看
access.log文件的更新:tail -f access.log
- 查看
vi 和 vim - 文本编辑
基本用法:
vi file_name或vim file_name:打开file_name文件进行编辑。在
vi或vim中,有多种模式:- 命令模式:刚打开文件时的默认模式,可以使用各种命令操作文件,如移动光标(
h左移、j下移、k上移、l右移)、删除字符(x删除光标处字符)等。 - 插入模式:按
i进入插入模式,可以输入文本内容;按esc键返回命令模式。 - 末行模式:在命令模式下,输入
:进入末行模式,可以执行保存(:w)、退出(:q)、保存并退出(:wq)等操作。
- 命令模式:刚打开文件时的默认模式,可以使用各种命令操作文件,如移动光标(
示例:
打开
test.txt文件,进入插入模式输入内容,然后保存并退出:vim test.txt- 按
i,输入文本内容。 - 按
esc,输入:wq。
三、系统信息查看
uname - 获取系统信息
基本用法:
uname -a:显示系统的详细信息,包括内核名称、主机名、内核版本、硬件平台等。uname -r:只显示内核版本。
示例:
- 查看系统的详细信息:
uname -a
- 查看系统的详细信息:
top - 查看系统资源使用情况
基本用法:
- 输入
top后,会显示系统的 CPU、内存等资源的使用情况,以及正在运行的进程信息。 - 在
top界面中,可以按q键退出。 - 可以使用
P键按照 CPU 使用率排序进程,M键按照内存使用率排序进程。
- 输入
示例:
- 查看系统当前的资源使用情况:
top
- 查看系统当前的资源使用情况:
df - 查看磁盘使用情况
基本用法:
df -h:以人类可读的格式显示磁盘使用情况,包括文件系统、总容量、已用容量、可用容量等信息。
示例:
- 查看磁盘使用情况:
df -h
- 查看磁盘使用情况:
free - 查看内存使用情况
基本用法:
free -h:以人类可读的格式显示内存使用情况,包括总内存、已用内存、空闲内存等信息。
示例:
- 查看内存使用情况:
free -h
- 查看内存使用情况:
四、用户和权限管理
useradd - 添加用户
基本用法:
useradd new_user:创建一个名为new_user的新用户。- 通常还需要设置用户密码,可以使用
passwd new_user命令。
示例:
- 创建一个新用户
test_user:useradd test_user - 为
test_user设置密码:passwd test_user
- 创建一个新用户
userdel - 删除用户
基本用法:
userdel user_name:删除名为user_name的用户。- 如果要同时删除用户的家目录,可以使用
userdel -r user_name。
示例:
- 删除用户
old_user:userdel old_user
- 删除用户
passwd - 修改用户密码
基本用法:
passwd:修改当前用户的密码,按照提示输入旧密码和新密码。passwd user_name:修改名为user_name的用户密码。
示例:
- 修改当前用户密码:
passwd - 修改
another_user的密码:passwd another_user
- 修改当前用户密码:
chmod - 修改文件或目录权限
基本用法:
- 数字表示法:例如
chmod 755 file_name,其中7表示所有者的权限(读、写、执行),5表示组用户的权限(读、执行),5表示其他用户的权限(读、执行)。 - 符号表示法:例如
chmod u+rwx,g+rx,o+rx file_name,表示给所有者添加读、写、执行权限,给组用户添加读、执行权限,给其他用户添加读、执行权限。
- 数字表示法:例如
示例:
- 给
script.sh文件所有者添加执行权限:chmod u+x script.sh
- 给
chown - 修改文件或目录的所有者和组
基本用法:
chown user:group file_name:将file_name文件的所有者改为user,组改为group。- 只修改所有者:
chown user file_name;只修改组:chown :group file_name。
示例:
- 将
data.txt文件的所有者改为new_user,组改为new_group:chown new_user:new_group data.txt
- 将
五、网络操作
ifconfig - 查看网络接口信息(旧版)
基本用法:
ifconfig:显示系统中的网络接口(如eth0、wlan0等)的信息,包括 IP 地址、MAC 地址、网络状态等。
示例:
- 查看网络接口信息:
ifconfig
- 查看网络接口信息:
ip addr - 查看网络接口信息(新版替代 ifconfig)
基本用法:
ip addr:详细显示网络接口的信息,包括 IP 地址、网络掩码、广播地址等。
示例:
- 查看网络接口的详细信息:
ip addr
- 查看网络接口的详细信息:
ping - 测试网络连接
基本用法:
ping host:向host(可以是 IP 地址或域名)发送 ICMP 数据包,测试与host的网络连接是否正常,并显示往返时间等信息。- 按
Ctrl + C停止ping操作。
示例:
- 测试与
google.com的网络连接:ping google.com
- 测试与
netstat - 查看网络状态
基本用法:
netstat -tln:查看正在监听(l)的 TCP(t)端口号和对应的服务。netstat -an:查看所有(a)网络连接的状态(n表示以数字形式显示 IP 地址和端口号)。
示例:
- 查看正在监听的 TCP 端口:
netstat -tln - 查看所有网络连接的状态:
netstat -an
- 查看正在监听的 TCP 端口:
六、进程管理
ps - 查看进程信息
基本用法:
ps -ef:显示所有进程的详细信息,包括进程 ID(PID)、父进程 ID(PPID)、用户、命令等。ps -aux:也是显示进程信息,a表示显示所有用户的进程,u表示以用户为中心显示详细信息,x表示显示没有控制终端的进程。
示例:
- 查看所有进程的详细信息:
ps -ef
- 查看所有进程的详细信息:
kill - 终止进程
基本用法:
kill PID:向进程 ID 为PID的进程发送SIGTERM信号,尝试正常终止进程。kill -9 PID:向进程 ID 为PID的进程发送SIGKILL信号,强制终止进程(慎用)。
示例:
- 终止进程 ID 为
1234的进程:kill 1234 - 如果
1234进程无法正常终止,可以使用kill -9 1234强制终止。
- 终止进程 ID 为
bg - 将进程放到后台运行
基本用法:
- 如果一个进程在前台运行,按
Ctrl + Z暂停该进程,然后使用bg命令将其放到后台运行。
- 如果一个进程在前台运行,按
示例:
- 在前台运行
sleep 100命令,按Ctrl + Z暂停,然后bg将其放到后台运行。
- 在前台运行
fg - 将后台进程放到前台运行
基本用法:
fg:将最近放到后台的进程放到前台运行。- 如果有多个后台进程,可以使用
fg %n(n为后台进程的编号)将指定的后台进程放到前台运行。
示例:
- 将最近放到后台的进程放到前台运行:
fg - 将编号为
2的后台进程放到前台运行:fg %2
- 将最近放到后台的进程放到前台运行:
Powered by Waline v3.3.0
