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