Linux 基础命令介绍(持续更新,2024.10.30更新)


前言

在上一篇文章中,我们已经学会了如何在 Windows 中安装了 Linux,从本文开始,将简单介绍 Linux 中的常见终端命令。


一、文件(夹)管理

1. cd:切换工作目录

cd (change directory) 命令用于切换当前工作目录。

基本语法和常用选项

cd [目录路径]
  • ~ :用户主目录。
  • .. : 上一级目录。
  • - : 上一次切换的工作目录。

常用示例

1. 切换到指定目录
cd /path/to/directory
2. 切换到用户主目录
cd ~
3. 返回上一级目录
cd ..
4. 切换到上一次访问的目录
cd -

该命令会切换到上一次使用 cd 命令访问的目录,并会打印出该路径。
cd

高级操作

使用变量 ~ 可以快速切换到特定用户的目录,例如:

cd ~username

这个命令会切换到指定用户的主目录,前提是该用户存在。

2. mkdir:创建目录

mkdir (make directory) 命令用于创建新目录。

基本语法和常用选项

mkdir [option] name
  • -p :创建多层嵌套目录。
  • -v : 在创建文件夹时打印日志。
  • --mode= : 在创建目录的同时设置目录的权限 设置新目录的权限模式。

常用示例

1. 创建单层级文件夹
mkdir DIR

注意:如果不存在将会创建该文件夹。但如果该文件夹已经存在,那么会报错。

2. 创建多层嵌套文件夹
mkdir -p a/b/c
3. 在创建文件夹时打印日志
mkdir -V DIR

mkdir

高级操作

在多个目录下创建相同名称的子目录:如果需要同时在多个已经存在的文件夹下创建相同的文件夹,可以使用如下命令:

mkdir {
    
    DIR_A,DIR_B}/DIR_C

这个命令会同时创建 DIR_A/DIR_CDIR_B/DIR_C 两个文件夹。注意:不要有任何的空格,否则会出现不符合预期的效果

3. mv:移动或重命名文件/目录

mv (move) 命令用于移动文件或目录,或重命名文件和目录。

基本语法和常用选项

mv [option] source destination
  • -i : 在覆盖文件时提示确认。
  • -u : 仅当源文件比目标文件新时才移动。
  • -v : 移动文件或目录时显示详细信息。

常用示例

1. 移动文件或目录
mv filename /path/to/destination/

mv

2. 重命名文件或目录
mv old_name new_name

此命令可以将将 old_name 重命名为 new_name

3. 在覆盖文件时提示确认
mv -i filename /path/to/destination/

如果目标路径中有同名文件,此命令会提示用户确认是否覆盖。

4. 移动多个文件

可以同时指定多个文件,并将它们一起移动到同一个目标文件夹:

mv filename1 filename2 filename3 /path/to/destination/

这个命令会将 filename1filename2filename3 一起移动到目标目录 /path/to/destination/

4. ls:显示文件夹中的文件/目录及相关信息

ls 用于列出指定目录下的文件/目录及相关信息

基本语法和常用选项

ls [option] [path]
  • -a : 显示隐藏文件。
  • -l : 显示文件的信息,包括文件权限,创建时间等。
  • -h : 与 -l 一起使用,显示格式化的文件大小(KB, MB 等)。
  • -R : 递归列出该目录及该目录下所有子目录的内容。

常用示例

ls

二、文件查看和编辑

1. 查看文件内容

1. cat

cat 可以显示出文本文件的内容:

cat
cat 同样可以在终端进行文件操作,比如将一些文本输入到文件中。

cat2
在本例中,cat 将终端输入的内容输出到文本文件中,并指定 EOF 为终止符。

2. less

相较于 cat,less 在查看文件上更加强大,在面对大型文本文件时更有优势,其主要用法如下:

less 1.txt

如果想要显示行号,可以添加 -N 开关:

less -N 1.txt

进入 less 界面后,可以输入 q 退出 less.

3. head & tail

head 和 tail 可以查看文件开头和结尾部分,默认为10行。

head 1.txt
tail 1.txt

2. 复制,移动,重命名文件

1. cp

cp (copy) 可以复制文件和目录,用法如下:

# 复制文件
cp source.txt destination.txt

# 复制目录
cp -r source_directory/ destination_directory/

copy

2. mv

mv (move) 可以用于移动文件,也可以用于重命名文件:

# 移动文件
mv old_location.txt new_location.txt

# 重命名文件
mv old_name.txt new_name.txt

3. 删除文件

rm 是 Remove 的简写,用于删除文件或者文件夹,rm 的功能非常强大同时也 非常危险,一旦操作不当很可能会造成不可逆的后果。

rm 的常用选项说明如下:
-f:强制删除文件且不询问
-i:在每次删除时都询问用户是否要删除
-r:递归删除目录,即同时删除目录及其内的所有内容
-d:用法和 rmdir 一致,均为只删除空文件夹

这些开关都可以配合使用,如 rm -rf DIR,即为递归删除 DIR目录下所有的内容。

rm

4. 查找文件

1. find

find 用于在指定目录下查找文件,用法用法:

find /path/to/search -name "filename.txt"

find

2. locate

locate 是一个更强大的快速查找文件和目录的命令行工具。它通过查询一个预先构建的数据库来进行搜索,因此通常比 find 要快得多。

Ubuntu 下可以用以下命令安装:

sudo apt install plocate

初次安装会建立索引数据库,因此会花费一些时间。
plocate
基本用法:

locate filename

locate

5. 修改文件时间属性(创建空白文件)

touch 命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,将会创建一个文件,这也是 touch 命令 最常用也最简单的用法

主要使用方法:

touch filename

如果文件不存在,则会创建该文件,如果该文件存在,则会修改该文件的 访问时间修改时间当前系统时间

touch

touch [-amc] filename

-a 改变文件的 读取时间 记录
-m 改变文件的 修改时间 记录
-c 如果文件不存在,则不会创建文件

设置特定的时间戳:

touch -t 202410271200 filename.txt

这将把 filename.txt 的时间戳设置为 2024 年 10 月 27 日 12:00。

6. 修改文件权限

chmod (change mode) 是一个用于更改文件和目录权限的命令。通过 chmod,可以控制谁可以 读取写入执行特定文件或进入目录

1. Linux 文件权限介绍

这里简单介绍一下权限的概念:

在 Linux 中,每个文件和目录的权限分为三类:

用户(User,u): 文件的所有者。
组(Group,g): 文件所属的用户组。
其他(Others,o): 其他所有用户。

每个类别可以具有以下三种权限:

读取(r): 允许查看文件内容。
写入(w): 允许修改文件内容。
执行(x): 允许执行文件(对于目录,表示进入该目录)。

可以使用 ls -l 查看文件或目录的权限:
ls -l
例如:-rwxr-xr--

这表示:
-:代表这是一个文件(- 指文件,d 指目录)
rwx:用户权限(可读、可写、可执行)。
r-x:组权限(可读、可执行)。
r--:其他权限(可读)。

可以看出,如果是 - 则代表没有对应的权限。

如果想要修改一个文件的权限,就要用到 chmod,基本用法如下:

chmod [options] mode filename

2. 字母符号修改权限

使用字符来表示权限。例如:

chmod u+x filename  # 为用户添加执行权限
chmod g-w filename  # 移除组的写权限
chmod o+r filename  # 为其他用户添加读权限

+ 表示添加权限。
- 表示移除权限。
= 表示设置权限(覆盖现有权限)。

chmod u=rwx,g=rx,o=r filename  # 设置用户为可读可写可执行,组为可读可执行,其他为可读

3. 数字模式修改权限

4:读(r)
2:写(w)
1:执行(x)

数字相加可以叠加权限:

7(4+2+1):可读、可写、可执行
6(4+2):可读、可写
5(4+1):可读、可执行

比如较常见的 chmod 777 命令就表示对用户,组,其他均有 rwx (可读、可写、可执行)权限。
其他常见的数字有 755, 644 等。

上面针对的均为文件,如果要对目录进行操作,可以用 -R 进行递归更改权限。

4. 默认情况下的权限

Linux 系统中,默认情况下文件或目录的权限收到 umask 的影响,在本例中,umask 的值为 022

当创建一个文件时,默认的权限是 666 (可读,可写),然后需要减去 umask 的值,因此最终的权限为:

666 - 022 = 644(rw-r–r–)

文件权限
当创建一个目录时,默认的权限是 777 (可读,可写,可执行),然后需要减去 umask 的值,因此最终的权限为:

777 - 022 = 755(rwxr-xr-x)
目录权限
可以看出,文件通常不具可执行权限,因此,如果要为文件添加执行权限,需要执行:

chmod +x script.sh

总结

以上的命令均为 Linux 中相对基础的命令,这些命令虽然比较简单,但是对于理解Linux Shell的工作原理和环境管理非常重要,是作为 Linux 入门必备的知识之一。

猜你喜欢

转载自blog.csdn.net/wangtcCSDN/article/details/138547221