常用的 Linux 命令及其常用参数
1.文件和目录操作
1.1 ls:列出目录内容。
ls -l # 详细列出目录内容
ls -a # 显示所有文件,包括隐藏文件
1.2 cd:改变当前目录。
cd /path/to/directory # 进入指定目录
cd .. # 返回上一级目录
cd ~ # 返回到用户的主目录
cd - # 返回到上一次所在的目录
1.3 pwd:显示当前工作目录。
pwd
1.4 mkdir:创建新目录。
mkdir new_directory
1.5 rmdir:删除空目录。
rmdir directory_name
1.6 cp:复制文件或目录。
cp source_file destination_file # 复制文件(源文件在前,目的在后)
cp -r source_directory destination_directory # 递归复制目录
cp -i source_file destination_file # 覆盖文件前进行确认
cp -u source_file destination_file # 仅在源文件更新时复制
1.7 mv:移动或重命名文件或目录。
mv old_name new_name # 重命名文件或目录(老名字或目录在前)
mv file_name /path/to/directory # 移动文件到指定目录
mv -i old_name new_name # 覆盖文件前进行确认
1.8 rm:删除文件或目录。
rm file_name # 删除文件
rm -i file_name # 删除文件前进行确认
rm -f file_name # 强制删除文件,不提示确认
rm -r directory_name # 递归删除目录及其内容
rm -rf directory_name # 强制递归删除目录及其内容,不提示确认,常说的删除跑路就是rf -f /*(不要随便使用哦!很危险的)
2.文件内容查看和编辑
2.1 cat:连接并显示文件内容。
cat file_name #可以看到文件里面的详细信息,而不用打开该文件
2.2 less:分屏查看文件内容。
less file_name
2.3 head:显示文件开头的内容。
head -n 10 file_name # 显示前10行
2.4 tail:显示文件末尾的内容。
tail -n 10 file_name # 显示最后10行
2.5 nano:简单的文本编辑器。
2.5.1 启动 Nano
打开和创建一样的,如果存在则是打开,如果不存在则是创建,与vi或者vim类似。
打开文件:
nano file_name
创建新文件:
nano new_file_name
2.5.2 基本操作
保存文件:
Ctrl + O:保存当前文件。按 Enter 确认文件名。
退出 Nano:
Ctrl + X:退出 Nano。如果有未保存的更改,会提示保存。
移动光标:
Ctrl + A:移动到行首
Ctrl + E:移动到行末
Ctrl + Y:向上翻页
Ctrl + V:向下翻页
Ctrl + _ 然后输入行号:跳转到指定行号
2.5.3 编辑操作
剪切和粘贴:
Ctrl + K:剪切当前行
Ctrl + U:粘贴剪切的行
撤销和重做:
Ctrl + U:撤销上一步操作
Ctrl + T:重做撤销的操作
搜索和替换:
Ctrl + W:搜索文本。输入搜索的关键字,然后按 Enter。
Ctrl + \:搜索并替换。输入要搜索的文本,然后按 Enter,再输入替换的文本并按 Enter。
2.5.4 显示设置
显示行号:
启动 Nano 时使用 -l 参数来显示行号:nano -l file_name
启用自动换行:
Ctrl + J:在当前段落启用自动换行。
2.5.5 文件管理
读取文件内容到当前缓冲区:
Ctrl + R:读取另一个文件的内容并插入到当前文件中。
2.5.6 帮助
查看帮助:
Ctrl + G:显示帮助文档。
Nano 的操作非常直观,快捷键基本都以 Ctrl 开头,容易记忆和使用。对于快速编辑文件和简单的文本操作,Nano 是一个非常便捷的工具。
2.6 vim:强大的文本编辑器。
2.6.1 基本操作
启动 Vim:
vim file_name
进入插入模式:
i:在光标前插入
a:在光标后插入
o:在当前行下方插入新行
退出插入模式:
Esc
2.6.2 文件操作
保存文件:
:w:保存文件
:w file_name:另存为指定文件名
退出 Vim:
:q:退出(如果没有修改)
:q!:强制退出(不保存修改)
保存并退出:
:wq 或 :x
2.6.3 编辑操作
删除操作:
x:删除光标所在字符
dd:删除当前行
d$:删除光标到行末
dw:删除一个单词
复制和粘贴:
yy:复制当前行
p:粘贴到光标后
y$:复制光标到行末
撤销和重做:
u:撤销上一步操作
Ctrl + r:重做撤销的操作
2.6.4移动光标
行内移动:
h:左移
j:下移
k:上移
l:右移
单词间移动:
w:移动到下一个单词的开头
b:移动到上一个单词的开头
e:移动到当前单词的结尾
行间移动:
0:移动到行首
$:移动到行末
gg:移动到文件开头
G:移动到文件末尾
:n:移动到第 n 行
2.6.5 显示设置
行号:
:set nu:显示行号
:set nonu:隐藏行号
语法高亮:
:syntax on:开启语法高亮
:syntax off:关闭语法高亮
2.6.6 查找和替换
查找:
/pattern:向前查找 pattern
?pattern:向后查找 pattern
n:下一个匹配
N:上一个匹配
替换:
:s/old/new/g:替换当前行所有 old 为 new
:%s/old/new/g:替换整个文件中所有 old 为 new
:%s/old/new/gc:替换整个文件中所有 old 为 new,并在每次替换前确认
2.6.7 窗口管理
拆分窗口:
:split 或 :sp:水平拆分窗口
:vsplit 或 :vsp:垂直拆分窗口
在窗口间移动:
Ctrl + w + w:切换到下一个窗口
Ctrl + w + h/j/k/l:移动到左/下/上/右窗口
3.系统管理
3.1 sudo:以超级用户身份执行命令。
sudo command #command是命令
3.2 apt-get:Debian 系列发行版的包管理工具。
sudo apt-get update # 更新包索引
sudo apt-get install package_name # 安装软件包
3.3 yum/dnf:Red Hat 系列发行版的包管理工具。
sudo yum update # 更新包索引
sudo dnf install package_name # 安装软件包
3.4 ps:显示当前运行的进程。
ps -aux # 显示所有用户的所有进程
3.5 top:实时显示系统资源使用情况。
top
3.6 df:显示文件系统磁盘空间使用情况。
df -h
3.7 du:显示目录或文件的磁盘使用情况。
du -h file_or_directory
3.8 free:显示内存使用情况。
free -h # 以人类可读的格式显示
4.网络相关
4.1 ping:测试网络连通性。
ping hostname_or_ip
4.2 ifconfig/ip a:显示或配置网络接口。
ifconfig
ip a
4.3 netstat:显示网络连接、路由表等信息。
netstat -tuln # 显示监听的端口
4.4 ssh:通过 SSH 连接到远程主机。
这个一般需要远程连接工具,比如xshell
ssh user@hostname #user是用户,如root,hostname一般填写ip地址
5.压缩和解压
5.1 tar:压缩和解压 tar 文件。
tar -czvf archive_name.tar.gz directory_name # 压缩
tar -xzvf archive_name.tar.gz # 解压
tar -cvf archive_name.tar directory_name # 压缩
tar -xvf archive_name.tar # 解压
5.2 zip:压缩文件。
zip archive_name.zip file1 file2
archive_name.zip
:这是你希望生成的压缩文件的名称。压缩后的文件将以.zip
作为扩展名。file1
和file2
:这些是你想要压缩的文件名称,可以是一个或多个文件。
5.3 unzip:解压 zip 文件。
unzip archive_name.zip
6.权限和所有权
6.1 chmod:改变文件或目录的权限。
chmod 755 file_name # 设置文件权限为 755(rwxr-xr-x,读4写2执行1)
chmod -R 755 directory_name # 递归设置目录及其内容的权限为 755
chmod u+x file_name # 为文件所有者添加可执行权限
6.2 chown:改变文件或目录的所有者。
chown new_owner file_name # 改变文件所有者
chown -R new_owner directory_name # 递归改变目录及其内容的所有者
6.3权限概念引入
6.3.1 权限的基本概念
每个文件或目录的权限由三个部分组成:
- 用户(User):文件的所有者。
- 用户组(Group):与文件所有者同属一个组的其他用户。
- 其他人(Others):系统中的其他所有用户。
权限表示方式通常是:
- r(Read):读取权限,表示可以查看文件内容或列出目录内容。
- w(Write):写入权限,表示可以修改文件内容或在目录中添加、删除文件。
- x(Execute):执行权限,表示可以执行文件(如果是可执行文件或脚本)或进入目录。
6.3.2 权限表示法
权限可以通过两种方式表示:
-
符号表示法:使用
r
、w
、x
来表示权限。例如:-rwxr-xr--
。 -
八进制表示法:使用数字来表示权限,其中:
r = 4
w = 2
x = 1
三者相加即可表示权限。例如:
7 = rwx
(即拥有所有权限)6 = rw-
(即只有读和写权限)5 = r-x
(即只有读和执行权限)0 = ---
(无权限)
一个完整的权限可以用三个数字表示,例如:
755
表示用户有rwx
权限,用户组有r-x
权限,其他人也有r-x
权限。
6.3.3 查看文件或目录权限
可以使用 ls -l
命令来查看文件或目录的权限。例如:
ls -l
-rw-r--r-- 1 user group 4096 Aug 22 10:00 example.tx
输出的第一个字段 -rw-r--r--
表示该文件的权限:
-
:表示普通文件(如果是目录则为d
)。rw-
:表示所有者(用户)有读写权限。r--
:表示用户组有读取权限。r--
:表示其他人有读取权限。
6.3.4 修改权限:chmod
命令
使用 chmod
命令可以更改文件或目录的权限。
符号法:
chmod u+x file_name
#为文件所有者添加执行权限。
chmod g-w file_name
#移除用户组的写权限。
chmod o=r file_name
#设置其他人只有读权限。
八进制法:
chmod 755 file_name
#设置文件所有者权限为rwx
,用户组和其他人权限为r-x
。
chmod 644 file_name
#设置文件所有者权限为rw-
,用户组和其他人权限为r--
。
6.3.5 修改所有者和组:chown
命令
使用 chown
命令可以更改文件或目录的所有者和组。
- 改变文件的所有者:
chown new_owner file_name
- 改变文件的所有者和组:
chown new_owner:new_group file_name
- 递归改变目录及其内容的所有者:
chown -R new_owner directory_name
6.3.6 特殊权限
除了基本权限外,还有一些特殊权限:
- Setuid(SUID):设置在二进制可执行文件上,当用户执行该文件时,它以文件所有者的权限运行,而不是以用户的权限运行。
- Setgid(SGID):设置在目录上,新创建的文件将继承该目录的组,而不是创建它的用户的主组。
- Sticky bit:设置在目录上,只允许文件的所有者或 root 删除或移动文件。
可以用 chmod
命令设置这些特殊权限,例如:
chmod u+s file_name
#设置 SUID 位。
chmod g+s directory_name
#设置 SGID 位。
chmod +t directory_name
#设置 Sticky bit。
7.其他命令
7.1清屏
clear
ctrl + L