linux查看文件目录和目录结构的基本操作

在 Linux 终端中自由穿梭:必备命令详解

在 Windows 系统中,我们习惯于通过图形界面进行文件和目录操作。而在 Linux 系统中,终端命令行是一种更高效、更强大的方式。本文将详细介绍 Linux 中最常用的文件和目录操作命令,帮助你像在 Windows 中一样自由地操作 Linux 系统。

1. 基础导航命令

pwd - 显示当前位置

首先,知道自己当前的工作目录,使用 pwd(Print Working Directory)命令:

pwd

执行后,终端会显示你当前所在的完整路径,例如 /home/username

ls - 列出目录内容

想查看当前目录下有什么文件和文件夹?使用 ls 命令:

ls                  # 列出当前目录内容
ls -l               # 详细列表形式显示
ls -a               # 显示所有文件,包括隐藏文件,带.开头的文件会隐藏
ls -la              # 详细列表形式显示所有文件
ls -lh              # 以人类可读格式显示文件大小
ls /path/to/dir     # 列出指定目录内容

cd - 改变目录

在目录间移动是最基本的操作,使用 cd(Change Directory)命令:

cd /path/to/dir     # 切换到指定目录
cd ~                # 切换到用户主目录,也叫家目录,如果你是root用户会进入root,如果你是用户mark可能会进入/home/mark
cd ..               # 切换到上一级目录
cd -                # 切换到上一个工作目录
cd                  # 不带参数,直接切换到主目录

小技巧:使用 Tab 键可以自动补全路径,避免输入错误并提高效率。

2. 查看文件内容

cat - 查看文件全部内容

对于较小的文件,可以使用 cat 命令直接显示全部内容:

但是这个文件的问题就是对于特别长的大文件会瀑布式输出完,就退化成了tail指令了。

cat filename        # 显示文件内容
cat -n filename     # 显示行号
cat filename > xx.txt #太长也可以把内容输出到一个txt里,然后再用打开txt的方式打开

less - 分页查看大文件

又或者,你可以使用less is more的思想,分页查看,所以其实对于较大的文件,更地道的方式是使用 less 命令,不过大家太依赖cat和vim以至于都忘记这个指令了,更进一步,使用less可以分页查看:

less filename

less 中常用的操作:

  • 空格键:向下翻页(超级优雅的设计有没有!!,当然如果你说你这么多指令根本记不住,用方向键也是可以的,丑陋就丑陋点吧)
  • b 键:向上翻页
  • q 键:退出
  • /文本:搜索指定文本
  • n 键:跳到下一个搜索结果

more - 另一种分页查看工具

more 是另一种分页查看工具,功能比 less 简单:

more filename

咱们都less is more 了,就放弃掉more指令吧

head 和 tail - 查看文件头尾

head filename       # 查看文件前10行
head -n 20 filename # 查看前20行

tail filename       # 查看文件后10行
tail -n 20 filename # 查看后20行
tail -f filename    # 实时查看文件末尾(监控日志文件很有用)

有时候你要看的内容就在文件的开头几行的时候你可以用head指令很直接,这个指令还可以打开.csv这种文件

3. 文件和目录操作

创建目录

使用 mkdir(Make Directory)命令创建目录:

mkdir dirname               # 创建目录
mkdir -p path/to/dirname    # 创建多级目录(如果父目录不存在则创建)

创建文件

别使用 touch 命令创建空文件或更新文件时间戳(诚然,这个指令可以创建文件,但是我更希望你使用vim来创建,touch更适合linux脚本的场景,比如你需要创建一个文件来记录日志或者其他流水线任务,对于我们手动输入的指令来说,创建了文件就是要马上写的,其实使用vim更好):

touch filename      # 创建新文件或更新已有文件的时间戳,暂时忘了他吧

复制文件和目录

简单地使用 cp(Copy)命令复制文件和目录:

复杂的还有类似sync等指令,那是另外的话题了

cp source destination       # 复制文件
cp -r source destination    # 递归复制目录及内容
cp -i source destination    # 如果目标文件存在,会询问是否覆盖

移动和重命名

使用 mv(Move)命令移动文件或重命名:

mv source destination       # 移动文件或重命名
mv -i source destination    # 如果目标文件存在,会询问是否覆盖

你更新代码版本的时候,非常推荐使用mv指令来备份你的版本,比如mv xxx.jar xxx.jar.bak-2050227这种,或者其他的备注信息,帮助你回溯。

删除文件和目录

使用 rm(Remove)命令删除文件,rmdirrm -r 删除目录:

rm filename         # 删除文件
rm -i filename      # 删除前询问
rm -r dirname       # 递归删除目录及其内容
rm -rf dirname      # 强制递归删除目录(谨慎使用!)
rmdir dirname       # 删除空目录

4. 文本编辑器 - vim

在 Linux 中,vim 是一个功能强大的文本编辑器,虽然学习曲线陡峭,但掌握基础用法非常有用:

VIM是另外一门学问了,这里点到即止

vim filename        # 打开或创建文件

vim 有三种主要模式:

  1. 普通模式:默认模式,用于导航和执行命令
  2. 插入模式:用于编辑文本
  3. 命令行模式:用于执行保存、退出等操作

基本操作:

  • i 进入插入模式
  • Esc 返回普通模式
  • 在普通模式下,输入 :w 保存文件
  • 在普通模式下,输入 :q 退出
  • 在普通模式下,输入 :wq 保存并退出
  • 更推荐使用:x来写入和退出,替代wq指令,更优雅。两者差别仅体现在你没有修改文件的时候,wq会强制更新一次修改时间,x不会更新文件的修改时间

  • 在普通模式下,输入 :q! 不保存强制退出

5. 目录结构查看 - tree

tree 命令可以以树状结构显示目录内容,非常直观:

tree                # 显示当前目录的树状结构
tree -L 2           # 限制只显示2层深度
tree -d             # 只显示目录
tree -a             # 显示所有文件,包括隐藏文件

注意:tree 命令可能需要额外安装:

# Ubuntu/Debian
sudo apt install tree

# CentOS/RHEL
sudo yum install tree

6. 文件查找

find - 强大的文件查找工具

你有时候可能需要学会在根目录下找一个可能存在的文件

find /path -name "*.txt"            # 在指定路径下查找所有.txt文件
find /path -type d -name "dir*"     # 查找名称以dir开头的目录
find /path -type f -size +10M       # 查找大于10MB的文件

grep - 文本搜索工具

其实grep和管道符|指令更频繁,其实他本身就可以执行搜索文本的任务

grep "text" filename        # 在文件中搜索文本,会返回给你匹配到的行的所有内容
grep -r "text" directory    # 递归搜索目录中所有文件

7. 权限管理

在 Linux 中,文件权限管理非常重要。使用 chmod 命令更改文件权限:

chmod 755 filename          # 设置权限为 rwxr-xr-x
chmod +x filename           # 添加可执行权限
chmod -w filename           # 移除写权限

使用 chown 命令更改文件所有者:

chown user:group filename   # 更改文件所有者和组

8. 实用技巧

命令历史

  • 使用上下箭头浏览之前使用过的命令
  • 使用 history 命令查看完整命令历史
  • 使用 Ctrl+R 搜索命令历史

命令补全

  • 使用 Tab 键自动补全命令和文件名
  • 连按两次 Tab 显示所有可能的补全选项

管道和重定向

ls -la | grep "txt"         # 将ls命令的输出传递给grep命令
ls > output.txt             # 将输出重定向到文件(覆盖)
ls >> output.txt            # 将输出重定向到文件(追加)

总结

通过熟练操练这些基本命令,你已经可以在 Linux 终端中自由穿梭,进行日常文件和目录操作。虽然一开始可能需要记忆这些命令,但随着使用频率的增加,你会发现终端操作比图形界面更加高效。特别是vim,建议每个人都学会使用vim。

namo是什么,真不熟。

希望这篇文章能帮助你像在 Windows 中一样自由地使用 Linux 系统。欢迎在评论区分享你的使用体验或提出问题!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值