【Linux 常用指令大全】

1. ls (list) 查看列表

ls [参数] [目录或文件] #显示当前目录下的文件和文件夹

1.1 常用参数

  • -l:以长格式显示文件和目录的详细信息,包括文件类型、权限、所有者、大小、修改时间等。
    • 输出示例:
-rw-r--r--  1 user  group  1024 Jan 10 10:00 file1.txt
         drwxr-xr-x  2 user  group  4096 Jan 15 15:00 dir1

(第一列表示文件类型和权限,-表示普通文件,d表示目录;r可读,w可写,x可执行。可后面的字符分别表示所有者、所属组和其他用户的权限)

  • -h:与-l选项一起使用时,以人类可读的格式显示文件大小,例如1K、2M、3G等。
  • -a:显示所有文件和目录,包括隐藏文件(以.开头的文件)
  • -t:按修改时间排序,从新到旧显示文件
  • -r:翻转排序结果,一般和-t一起使用,按时间从旧到新显示文件

2. cd (change directory) 更改目录

  • 绝对路径从根目录 / 开始,完整地描述了目录的位置:cd [绝对路径]
    • 例如:cd /home/user/Documents
  • 相对路径是相对于当前工作目录的路径:cd [相对路径]
    • 返回上一级目录,可以使用 … 表示上一级目录:cd ..
    • 切换到当前用户的主目录:cd ~cd
    • 切换到上一次所在的工作目录:cd -
  • 根目录下常见目录及其作用
    • /bin:存放着许多用户级别的可执行命令,如 ls(列出目录内容)、cd(切换目录)、cp(复制文件或目录)等。这些命令是系统正常运行所必需的基本命令,无论是普通用户还是系统管理员在终端中都经常使用到。
    • /sbin:主要存储系统管理命令,例如 init(系统初始化进程)、ifconfig(配置网络接口)、fdisk(磁盘分区工具)等。这些命令通常需要管理员权限才能执行,用于系统管理和维护任务。
    • /etc:这个目录保存了系统的各种配置文件,像 passwd(用户账户信息)、group(用户组信息)、network(网络配置文件)以及各种服务的配置文件等。系统在启动和运行过程中会读取这些配置文件,以确定系统的运行参数和服务的运行方式。
    • /home:普通用户的主目录所在位置,每个用户都有一个以自己用户名命名的子目录,用于存储个人文件、配置文件等。例如,/home/user1 就是用户 user1 的主目录,用户可以在自己的主目录中自由创建、修改和删除文件。
    • /root:系统管理员(root 用户)的主目录。与普通用户的 home 目录类似,但只有 root 用户具有访问和操作权限,用于存储 root 用户的个人文件和配置信息。
    • /var:用于存放系统运行时不断变化的数据,如日志文件(/var/log)、邮件文件(/var/mail)、缓存文件(/var/cache)等。日志文件记录了系统和各种服务的运行信息,对于故障排查和系统监控非常重要。
    • /tmp:临时文件目录,所有用户都可以在此目录中创建和删除临时文件。系统会在适当的时候自动清理该目录中的文件,通常用于存储程序运行过程中产生的临时数据,如临时下载的文件、程序的临时缓存等。
    • /usr:包含了大量的用户级应用程序、库文件和文档。它进一步分为多个子目录,如 /usr/bin(用户应用程序)、/usr/lib(库文件)、/usr/share(共享数据,如帮助文档、图标等)。这个目录类似于 Windows 系统中的 Program Files 目录,用于安装和存放各种软件包。

3. 文件(夹)相关操作

3.1 创建文件

  • 方法一:echo "文件内容" >文件名
  • 方法二:touch "文件内容" >文件名 (touch用来更新文件修改时间,若无会创建这个文件)

3.2 cp (copy) 复制文件

cp [选项] 源文件或目录 目标文件或目录

3.2.1 常用选项

  • -r-R:递归复制目录及其子目录和文件,当你需要复制整个目录树时,就需要使用这个选项,否则 cp 命令默认只能复制文件,不能直接复制目录。
  • -i:在覆盖目标文件之前给出提示,让用户确认是否覆盖
  • -v:显示详细的复制过程信息,让你清楚地知道哪些文件正在被复制
  • -p:保留源文件的权限、所有者、时间戳等属性。

3.2.2 用法

  • 将 file1.txt 复制到当前目录下并命名为 file2.txt:cp file1.txt file2.txt
  • 将 file1.txt 和 file2.txt 复制到 /home/user/Downloads 目录下:cp file1.txt file2.txt /home/user/Downloads
  • 将 file1.txt 复制到 /home/user/Documents 目录下:cp file1.txt /home/user/Documents
  • 将 source_dir 目录及其内容递归复制到 destination_dir 目录下:cp -r source_dir destination_dir

3.3 mv (move)移动文件

3.3.1 常用选项

  • -i:在覆盖目标文件之前给出提示,询问用户是否确认覆盖。这能避免误操作覆盖重要文件
  • -v:显示详细的操作过程信息,让你清楚知道哪些文件正在被移动或重命名
  • -f:强制移动文件,即使目标文件已存在也不会给出提示,直接覆盖。使用时要谨慎,因为这可能会导致数据丢失

3.3.2 用法一:移动文件或目录

  • 将 file1.txt 从当前目录移动到 /home/user/Documents 目录下:mv file1.txt /home/user/Documents
  • 把 source_dir 目录移动到 destination_dir 目录下:mv source_dir destination_dir

3.3.3 用法二:重命名文件或目录

  • 将 old_name.txt 重命名为 new_name.txt,因为目标只是指定了新的文件名,而路径仍为当前目录:mv old_name.txt new_name.txt
  • 将 old_dir 目录重命名为 new_dir:mv old_dir new_dir

3.4 rm (remove)删除文件

rm [选项] 文件或目录

3.4.1 常用选项

  • -f:强制删除,不提示确认。在确定要删除且不想被反复询问时使用,如 rm -f important.txt ,但使用需谨慎,避免误删重要数据。
  • -i:交互式删除,在删除前会逐一询问是否确认删除,可防止误删,如 rm -i file1.txt
  • -r:递归删除目录及其子目录、文件 。如删除一个包含多层子目录和文件的目录结构时需加此选项。
  • -v:显示删除操作的详细信息,会打印出正在删除的文件名等,如 rm -v file2.txt ,可看到 removed ‘file2.txt’ 提示。

4. 目录相关操作

4.1 mkdir 创建目录

  • 常用选项
    -p:递归创建目录。当你要创建的目录的上级目录不存在时,使用这个选项可以一并创建缺失的上级目录:mkdir -p parent_dir/child_dir/grandchild_dir
    -m:设置新建目录的权限。你可以用数字形式指定权限,例如 755 代表所有者有读、写、执行权限,所属组和其他用户有读、执行权限。mkdir -m 755 new_directory (r:4,w:2,x:1)

4.2 rmdir 删除目录

  • rmdir 只能删除空目录。若目录不为空,执行该命令会提示 “Directory not empty” 错误。若要删除非空目录,可使用 rm -r 命令,但要谨慎操作,因为这会递归删除目录及其所有内容,且删除操作通常不可逆
  • 你需要有删除指定目录的权限,否则会收到权限不足的错误提示

5. 通配符的使用

  • * 可匹配零个或多个任意字符 ,是最常用的通配符之一。比如:
    • 列出当前目录下所有文件:执行 ls * ,会列出当前目录下所有文件(不包括隐藏文件 )。
    • 匹配特定后缀文件:ls *.txt ,能列出当前目录下所有扩展名为 .txt 的文件。
    • 匹配指定开头文件:ls data* ,可列出当前目录下所有以 data 开头的文件。
  • ? 用于匹配单个任意字符 。例如:
    • 匹配单个字符文件名:ls?.txt ,会列出当前目录下以一个任意字符开头且扩展名为 .txt 的文件。
    • 匹配特定格式文件名:ls a?.txt ,能列出当前目录下以 a 开头,后面跟一个任意字符,且扩展名为 .txt 的文件。
  • [] 匹配方括号内的任意一个字符 。具体用法:
    • 匹配指定字符开头文件:ls [abc]* ,会列出以 a 、b 或 c 开头的文件。
    • 匹配特定位置字符文件:若想匹配文件名中第二个字符为数字的文件,可使用类似 ls?[0-9]* 的命令 ,这里 [0-9] 表示匹配 0 - 9 中的任意一个数字。还可使用诸如 [a-z] 匹配任意小写字母、[A-Z] 匹配任意大写字母 。
  • 排除特定字符:在方括号内用 ! 或(^) 表示排除,如 ls [^0-9]* ,会列出不以数字开头的文件。
  • {} 用于匹配多个选项中的任意一个 ,也可用于批量生成文件名。例如:
    • 匹配指定文件名:ls file{1,2,3}.txt ,会列出 file1.txt 、file2.txt 、file3.txt 这几个文件(前提是这些文件存在 )。
    • 批量创建文件:touch file{1..5}.txt ,可一次性创建 file1.txt 到 file5.txt 这 5 个文件。

6. 管道符号的使用 |

  • 作用:连接多个命令,把上一命令的标准输出作为后面命令的标准输入,若上一命令错误,则传递为0
  • 语法​:命令A | 命令B | 命令C...
  • 本质​:管道不保存数据,只是实时传递数据流。

7. echo 输出

echo [选项] [字符串或变量]

7.1 常用选项

  • -n:输出内容后不换行。默认情况下,echo 输出内容后会自动换行,使用 -n 可阻止换行。例如:
echo -n "Hello, "
echo "world!"
# 输出:Hello, world!("Hello, " 后面没有换行)
  • -e:启用反斜杠转义字符的解析。echo 命令默认不解析字符串中的反斜杠转义字符,使用-e 选项可以让它正确解析这些转义字符。
echo -e "Hello,\nworld!"
# 输出:
# Hello,
# world!

常见的转义字符有:
\n:换行符,使输出内容换行。
\t:制表符,产生一个制表位的缩进效果。
\:输出一个反斜杠字符。
":输出一个双引号字符。
\0xx:输出八进制 ASCII 码对应的字符(xx 是两位八进制数)。
\xhh:输出十六进制ASCII 码对应的字符(hh 是两位十六进制数)。

  • –help:显示 echo 命令的帮助信息。不过不同系统中 echo 的帮助信息可能会有所差异。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值