Linux基础命令解释
目录
一、文件和目录操作命令
1. ls
2. cd
3. pwd
4. mkdir
5. rm
6. cp
7. mv
二、查看和编辑文件命令
1. cat
2. less
三、系统信息相关命令
四、网络相关命令
五、用户和权限管理命令
Linux是由Linus Torvalds于1991年开发的开源类Unix操作系统内核,现已成为包含内核、GNU工具链和应用程序的完整操作系统。在Linux中,命令行工具是系统管理和操作的核心。下面是一些常见且重要的Linux命令的详细解释:
一、文件和目录操作命令
1. ls
ls
是 Linux 系统中最常用的命令之一,用于列出目录内容。它能够显示文件和子目录的详细信息,并且提供了多种选项来定制输出格式。
常用选项
-l
:使用长列表格式显示文件或目录的详细信息。这包括权限、链接数、所有者、组、大小(字节)、最后修改时间以及名称。
ls -l# 例如:drwxr-xr-x. 2 用户名 组名 6 3月 28 22:25 Desktop
-a
:显示所有文件,包括以.
开头的隐藏文件。
ls -a# 例如:. .bash_history .bash_profile .cache .dbus Documents .esd_auth .ICEauthority .mozilla .mysql_history .pki
-la
或 -al
:组合使用 -l
和 -a
,显示包括隐藏文件在内的所有文件的详细信息。
ls -la# 例如:# drwx------. 16 itjiang itjiang 4096 4月 11 20:55 .# drwxr-xr-x. 3 root root 21 3月 30 14:36 ..# -rw-------. 1 itjiang itjiang 1380 4月 1 22:33 .bash_history
-h
:与 -l
一起使用时,以人类可读的方式显示文件大小(例如K, M, G代表KB, MB, GB)。
ls -lh# 例如:drwxr-xr-x. 2 itjiang itjiang 6 3月 28 22:25 Desktop
-R
:递归列出子目录中的内容。
ls -R# 例如:[itjiang@jasmine ~]$ ls -R# .:# Desktop Documents Downloads# # ./Desktop:# # ./Documents:# # ./Downloads:
2. cd
基本语法
cd [目录路径]
如果未提供任何参数,则默认行为取决于所使用的 shell。例如,在大多数情况下,不带参数执行 cd
会将我们带到用户的主目录(即 ~
)。
常用示例
-
进入指定目录:要进入某个特定目录,请输入该目录的完整或相对路径。
cd /path/to/directory# [itjiang@jasmine /]$ cd /home/itjiang/Desktop# [itjiang@jasmine Desktop]$
或者,如果我们已经在 /path/to/
目录下,可以直接使用相对路径:
cd directory# [itjiang@jasmine ~]$ cd Desktop# [itjiang@jasmine Desktop]$
-
返回用户主目录:直接输入
cd
或者cd ~
可以回到用户的主目录。 -
返回上一级目录:使用
cd ..
来移动到当前目录的上一级目录。 - 返回前一个工作目录:使用
-
参数可以快速返回到之前的工作目录。
特殊符号
-
~
:代表当前用户的主目录。 -
.
:表示当前目录。 -
..
:表示当前目录的父目录。
3. pwd
pwd 是 "print working directory" 的缩写,是 Linux 系统中的一个基本命令。它用于显示当前终端会话所在的完整路径(即当前工作目录的绝对路径)。无论我们在文件系统的哪个位置,使用 pwd 命令都可以让我们知道自己的确切位置。
基本用法
只需在命令行中输入 pwd 并按下回车键,执行后,该命令将输出当前工作目录的完整路径。
pwd# 例如:# [itjiang@jasmine ~]$ pwd# /home/itjiang
工作原理
绝对路径:pwd 输出的是从根目录 / 开始到当前所在目录的完整路径。
符号链接处理:
-
默认情况下,如果当前目录是一个符号链接(快捷方式),pwd 会显示实际的工作路径,而不是符号链接指向的路径。
-
使用 -P 参数可以强制 pwd 显示物理路径而非逻辑路径(即跟随符号链接到达的实际目录)。
pwd -P
-
相反地,使用 -L 参数可以让 pwd 显示逻辑路径(符号链接本身)。
pwd -L
4. mkdir
mkdir 是 "make directory" 的缩写,是 Linux 系统中用于创建新目录(文件夹)的命令。它是一个非常基础但重要的命令,对于管理和组织文件系统中的数据至关重要。
基本语法
mkdir [选项] 目录名...
可以同时创建一个或多个目录。如果尝试创建的目录已经存在,mkdir 默认情况下会报错,除非使用了特定选项来改变这种行为。
常用选项
-
无选项:最基本的用法,直接指定要创建的目录名称。
mkdir new_directory
-
-p 或 --parents:递归创建所需的父目录(如果它们不存在)。这对于创建深层嵌套的目录结构特别有用,因为它避免了必须手动创建每个级别的目录。
mkdir -p path/to/new/directory
如果路径中的任何父目录不存在,此命令将自动创建它们。
-
-m 或 --mode:设置新建目录的权限模式。默认情况下,新目录的权限由用户的 umask 决定,但是我们可以使用 -m 来覆盖这一行为。
mkdir -m 755 new_directory
上述命令创建了一个权限为 rwxr-xr-x(755) 的目录。
示例
-
创建单个目录:
mkdir projects
-
创建多个目录:
mkdir documents downloads music
-
递归创建目录:
mkdir -p project_1/sub_project/data
这条命令不仅创建了 project_1 目录,还在其中创建了 sub_project 和 data 子目录。
-
创建目录并设定权限:
mkdir -m 700 private_folder
创建一个只有所有者可读、写和执行的私有目录。
5. rm
rm
是 "remove" 的缩写,是 Linux 系统中用于删除文件或目录的命令。它是一个功能强大但需要谨慎使用的命令,因为一旦文件或目录被删除,通常无法恢复(除非使用专门的数据恢复工具)。
基本语法
rm [选项] 文件名...
rm
可以用来删除一个或多个文件,或者通过特定选项删除目录。
常用选项
- 无选项:直接删除指定的文件。
rm file.txt
-r
或--recursive
:递归删除目录及其内容。如果要删除一个非空目录,必须使用此选项。
rm -r directory_name
-f
或--force
:强制删除文件或目录,不提示任何确认信息。即使文件不存在也不会报错。
rm -f file.txt
-i
:交互模式,在删除每个文件之前提示用户确认。
rm -i file.txt
输出示例:
rm: remove regular file 'file.txt'? y
-v
或--verbose
:显示详细的删除过程。
rm -v file.txt
输出示例:
removed 'file.txt'
-rf
或-fr
:这是rm
最常用的组合之一,表示递归且强制删除目录及其所有内容,不会提示确认。
rm -rf directory_name
注意:此命令非常危险!误用可能导致重要数据丢失,请务必小心。
6. cp
cp
命令在 Linux 系统中用于复制文件或目录。它是日常操作中非常基础且重要的命令之一,允许用户将一个或多个文件或目录复制到另一个位置。
基本语法
cp [选项] 源文件 目标文件cp [选项] 源文件... 目录
“源文件”指的是我们想要复制的文件或目录,“目标文件”则是指复制后的新文件或目录的位置和名称。
常用选项
- 无选项:最基本的用法,复制单个文件到指定位置。
cp file.txt /path/to/directory/
-i
或--interactive
:在覆盖已存在文件前提示确认。
cp -i file.txt /path/to/directory/
-r
或-R
或--recursive
:递归地复制目录及其内容(包括子目录和文件)。
cp -r directory/ /path/to/new_directory/
-p
或--preserve
:保留文件的属性(如时间戳、模式、所有权等)。默认情况下会保存修改时间和访问时间。
cp -p file.txt /path/to/directory/
-v
或--verbose
:显示详细的处理过程信息。
cp -v file.txt /path/to/directory/
-f
或--force
:若目标文件无法打开,则删除它并尝试再次复制。
cp -f file.txt /path/to/directory/
-u
或--update
:仅当源文件比目标文件新或目标文件不存在时才进行复制。
cp -u file.txt /path/to/directory/
7. mv
mv
命令在 Linux 系统中用于移动文件或目录,也可以用来重命名文件或目录。它是一个非常基础且重要的命令,适用于文件和目录的管理操作。
基本语法
mv [选项] 源文件 目标文件mv [选项] 源文件... 目录
“源文件”指的是我们想要移动或重命名的文件或目录,“目标文件”则是指移动后的新位置或重命名后的名称。
常用选项
- 无选项:最基本的用法,用于移动文件或重命名。
mv oldname.txt newname.txt # 重命名mv file.txt /path/to/directory/ # 移动文件到指定目录
-i
或--interactive
:在覆盖已存在文件前提示确认。
mv -i file.txt /path/to/directory/
-f
或--force
:如果目标文件无法打开,则删除它并尝试再次移动(强制覆盖)。
mv -f file.txt /path/to/directory/
-n
或--no-clobber
:不要覆盖已存在的文件。
mv -n file.txt /path/to/directory/
-v
或--verbose
:显示详细的处理过程信息。
mv -v file.txt /path/to/directory/
-u
或--update
:仅当源文件比目标文件新或目标文件不存在时才进行移动。
mv -u file.txt /path/to/directory/
二、查看和编辑文件命令
1. cat
cat
是 "concatenate" 的缩写,是 Linux 系统中用于查看、创建或合并文件内容的命令。它是一个非常基础且多功能的工具,常用于快速查看文件内容或将多个文件的内容输出到标准输出(通常是终端)。
基本语法
cat [选项] 文件名...
常用功能
- 查看文件内容: 使用
cat
可以快速查看文本文件的内容。
cat file.txt
- 合并多个文件: 将多个文件的内容连接在一起并输出到标准输出。
cat file1.txt file2.txt > combined.txt
这会将 file1.txt
和 file2.txt
的内容合并,并保存到 combined.txt
中。
- 创建文件: 使用重定向符号
>
或>>
可以通过cat
创建新文件或追加内容。
1. 创建新文件:
cat > new_file.txt
输入内容后按 Ctrl+D
保存退出。
2. 追加内容到现有文件:
cat >> existing_file.txt
- 复制文件内容: 使用重定向可以将一个文件的内容复制到另一个文件。
cat source.txt > destination.txt
- 显示行号: 使用
-n
选项为每一行添加行号。
cat -n file.txt
- 显示非空行的行号: 使用
-b
选项只为非空行添加行号。
cat -b file.txt
- 显示特殊字符: 使用
-A
选项显示文件中的特殊字符(如换行符\n
显示为$
,制表符\t
显示为^I
)。
cat -A file.txt
- 压缩空白行: 使用
-s
选项可以压缩连续的空白行,使其只显示一行空白。
cat -s file.txt
2. less
less
是一个在 Linux 系统中用于查看文本文件内容的命令行工具。与 cat
不同,less
允许用户分页查看文件,这意味着你可以逐屏浏览大型文件,而不需要一次性将整个文件的内容输出到终端。此外,less
还支持向前和向后滚动、搜索文本等功能,使其成为处理大型日志文件或程序输出的理想选择。
基本语法
less [选项] 文件名...
主要功能及特点
-
分页显示:
less
以分页的形式显示文件内容,允许用户通过上下箭头键或者空格键(向前翻页)和b
键(向后翻页)来浏览文件。 -
双向滚动:不仅可以向下滚动,还可以向上滚动查看之前的内容。
-
搜索功能:可以使用
/
后跟关键词进行向前搜索,使用?
加关键词进行向后搜索。按n
查找下一个匹配项,N
查找上一个匹配项。 -
标记位置:可以使用
m
后跟任意字母来标记当前位置,之后可以通过'
后跟相同的字母快速跳转到该位置。 -
退出查看:在
less
中,按下q
可以退出查看模式返回到命令行。
常用选项
-N
:显示每行的行号。
less -N file.txt
-S
或--chop-long-lines
:当一行过长时,不换行显示而是裁剪超出屏幕宽度的部分,可以通过左右箭头查看完整行内容。
less -S file.txt
-i
:忽略大小写进行搜索(除非搜索串包含大写字母)。
less -i file.txt
-F
:如果文件内容能一屏显示完,则直接退出并显示文件内容;否则进入less
的交互模式。
less -F file.txt
-X
:禁用发送终端初始化和结束字符串,这可能有助于避免清除屏幕上的内容。
less -X file.txt
三、系统信息相关命令
top
或 htop
(如果已安装):实时显示系统的进程和资源使用情况。
df
:报告文件系统的磁盘空间使用情况。
-
-h
:以人类可读的形式显示大小(如KB, MB, GB)。
du
:估算文件空间使用情况。
-
-h
:同上,以更易读的方式显示大小。 -
-s
:总结每个参数所占的总块数。
四、网络相关命令
ping
:测试网络连接。
-
ping hostname_or_ip
:发送ICMP ECHO_REQUEST包到网络主机。
ifconfig
或 ip
:配置网络接口。
-
ip addr show
:显示网络接口的IP地址信息。
netstat
:显示网络连接、路由表、接口统计信息等。
-
-tuln
:显示所有监听的TCP端口。
五、用户和权限管理命令
useradd
, userdel
:添加或删除用户。
passwd
:更改用户密码。
sudo
:以另一个用户的身份执行程序,默认为root用户。