一、怎样和Shell交互

Shell是Linux系统的用户界面,负责接收用户输入的命令并将其传递给内核执行。通过Xshell连接到虚拟机后,看到的终端界面就是在与Shell进行交互。

交互方式:

在终端提示符后输入命令,按Enter键执行
命令格式:命令 [选项] [参数]

bash
查看当前登录用户
whoami

查看当前工作目录
pwd

查看当前系统时间
date
 

二、Linux如何存储文件

Linux采用树形目录结构存储文件,所有文件从根目录(/)开始,呈倒树状结构分布。Linux没有盘符概念,一切设备和文件都从根目录组织。

主要目录说明:

目录 说明
/ 根目录,文件系统起点
/home 用户主目录所在地
/etc 系统配置文件存放目录
/var 存放日志等经常变化的文件
/tmp 临时文件目录
/usr 用户程序和数据存放位置
/bin 基本命令存放目录

bash

查看根目录下的内容
ls /

查看当前所在目录路径
pwd
 

三、cd命令——切换目录

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

基本语法:

bash
cd [目录路径]
 

用法 说明
cd 或 cd ~ 切换到当前用户主目录
cd / 切换到根目录
cd .. 切换到上一级目录
cd - 切换到上一个工作目录
cd /etc 切换到指定目录(绝对路径)

bash
进入根目录
cd /
pwd          输出:/

进入home目录
cd /home
pwd          输出:/home

返回上一级目录
cd ..
pwd          输出:/

切换到用户主目录
cd ~
pwd          输出:/home/zhang
 

四、ls命令——列出目录内容

ls(List)命令用于列出目录中的文件和子目录。

基本语法:

bash
ls [选项] [目录路径]
 

选项 说明
-l 以长格式显示详细信息(权限、大小、修改时间等)
-a 显示所有文件,包括隐藏文件(以.开头)
-h 以人类可读方式显示文件大小(KB、MB)
-R 递归显示子目录内容
-S 按文件大小排序
-t 按修改时间排序

bash
列出当前目录内容
ls

显示所有文件(含隐藏文件)
ls -a

以长格式显示详细信息
ls -l

组合使用:显示所有文件的详细信息,大小可读
ls -lah

查看指定目录
ls -l /etc
 

ls -l输出解读:


-rw-r--r-- 1 zhang zhang 4096 Jul 2 10:30 file.txt
 

 -rw-r--r--:文件类型和权限
 1:硬链接数
 zhang:文件所有者
 zhang:文件所属组
 4096:文件大小(字节)
 Jul 2 10:30:最后修改时间
 file.txt:文件名

五、touch命令——创建文件和更新时间戳

touch用于创建空文件或更新已有文件的时间戳。

基本语法:

bash
touch [选项] 文件名
 

bash
创建空文件
touch test.txt

查看文件是否创建成功
ls -l test.txt

更新已存在文件的时间戳
touch test.txt
ls -l test.txt       时间戳已更新

一次创建多个文件
touch file1.txt file2.txt file3.txt
 

六、cp命令——复制文件

cp(Copy)命令用于复制文件或目录。

基本语法:

bash
cp [选项] 源文件 目标文件/目录
 

选项 说明
-i 覆盖前提示确认
-r 或 -R 递归复制目录及其内容
-p 保留文件属性(权限、时间戳等)
-v 显示复制过程

bash
复制文件到当前目录并重命名
cp test.txt test_backup.txt

复制文件到其他目录
cp test.txt /tmp/

复制目录(必须使用-r)
cp -r Documents/ Documents_backup/

保留文件属性复制
cp -p test.txt test_preserve.txt
 

七、mv命令——移动和重命名

mv(Move)命令用于移动文件或重命名文件。

基本语法:

bash
mv [选项] 源文件 目标路径/新文件名
 

bash
重命名文件
mv test.txt mytest.txt

移动文件到其他目录
mv mytest.txt /tmp/

移动并重命名
mv file1.txt /tmp/newfile.txt

移动多个文件到目标目录
mv file1.txt file2.txt file3.txt /tmp/
 

八、rm命令——删除文件

rm(Remove)命令用于删除文件或目录。注意:此操作不可恢复!

基本语法:

bash
rm [选项] 文件/目录
 

选项 说明
-i 删除前逐一确认
-r 或 -R 递归删除目录及其内容

-f 强制删除,不提示

bash
删除单个文件
rm test_backup.txt

删除前确认
rm -i file1.txt

递归删除目录及其内容
rm -r Documents_backup/

强制删除(慎用!)
rm -rf 目录名/
 

九、mkdir命令——创建目录

mkdir(Make Directory)命令用于创建新目录。

基本语法:

bash
mkdir [选项] 目录名
 

选项 说明
-p 递归创建多级目录
-v 显示创建过程

bash
创建单个目录
mkdir mydir

创建多级目录(父目录不存在时自动创建)
mkdir -p project/src/main

创建多个目录
mkdir dir1 dir2 dir3
 

十、rmdir命令——删除空目录

rmdir(Remove Directory)命令用于删除空目录。

基本语法:

bash
rmdir [选项] 目录名
 

bash
创建空目录
mkdir emptydir

删除空目录
rmdir emptydir

删除非空目录会报错
rmdir mydir   # 提示:Directory not empty

非空目录需使用 rm -r
rm -r mydir
 

十一、查看文件内容的命令

11.1 cat命令——完整显示

cat(Concatenate)适合查看较短的文本文件。

bash
查看文件内容
cat /etc/hostname

显示行号
cat -n /etc/hostname

合并多个文件显示
cat file1.txt file2.txt
 

11.2 more命令——分页显示

more适合查看较长的文件,按空格翻页,按q退出。

bash
more /var/log/syslog
 

11.3 less命令——增强分页显示

less比more功能更强,支持上下翻页和搜索。按/搜索,按q退出。

bash
less /var/log/syslog

11.4 head命令——显示文件头部

head默认显示文件前10行。

bash
查看前10行(默认)
head /var/log/syslog

查看前20行
head -n 20 /var/log/syslog
 

11.5 tail命令——显示文件尾部

tail常用于查看日志最新内容。

bash
查看后10行(默认)
tail /var/log/syslog

查看后50行
tail -n 50 /var/log/syslog

实时追踪文件更新(常用)
tail -f /var/log/syslog
 

实际操作演示

bash
创建测试文件并写入内容
echo "第一行内容" > testfile.txt
echo "第二行内容" >> testfile.txt
echo "第三行内容" >> testfile.txt

使用cat查看
cat testfile.txt

使用head查看前2行
head -n 2 testfile.txt

使用tail查看后2行
tail -n 2 testfile.txt
 

十二、常见错误及解决方案

错误现象 可能原因 解决方案
command not found 命令拼写错误或未安装 检查拼写,或用apt install安装
Permission denied 权限不足 使用sudo执行
No such file or directory 文件或目录不存在 确认路径是否正确
cannot create directory: File exists 目录已存在 使用不同目录名
Directory not empty 目录非空 使用rm -r删除
cp: omitting directory 复制目录未用-r 添加-r选项
cannot remove: Is a directory rm删除目录未加-r 添加-r选项
tail -f卡住 命令持续等待新内容 按Ctrl+C退出

十三、学习心得

通过本次作业,我掌握了Linux常用文件管理命令的使用方法。从最初的不熟悉,到能够熟练切换目录、创建和操作文件,这个过程让我体会到命令行的强大和高效。

使用技巧:

1. 善用--help查看命令用法
2. 按Tab键自动补全路径
3. 按上下方向键调出历史命令
4. 注意Linux命令区分大小写

后续将继续学习更多Linux命令,逐步完善自己的知识体系。

Logo

CANN开发者社区旨在汇聚广大开发者,围绕CANN架构重构、算子开发、部署应用优化等核心方向,展开深度交流与思想碰撞,携手共同促进CANN开放生态突破!

更多推荐