Linux基础与进阶 - 命令和文件操作

[guougo@guoguo-host ~]$

  1. ~ 当前所在目录的名字,会随着用户进入不同目录而改变
  2. ~ 表示当前用户的家目录(home directory)
  3. $ 指你所具备的权限
$ : 普通用户
# : 超级用户,root权限

使用sudo su切换到超级用户

image.png

使用ctrl + d退出root用户。

获取当前用户名和主机名

# 获取当前用户
whoami
# 获取当前主机名
hostname

image.png

命令: date | ls等

image.png

参数: 长参数 & 短参数

有一些参数需要赋值,短参数和长参数的赋值方式不一样
# 短参数赋值
command -p 10
# 长参数赋值
command --parameter=10

3.3 查找命令和实用快捷键

命令查找

  1. 按一下 Tab 键补全显示命令提示.
    image.png
  2. history查找历史命令[所有使用过的命令]。使用!行数找出对应行数的命令,例如:!816就是找出第816行的命令,如下图:
    image.png
  3. 命令的历史记录
    向上键
    向下键
    Ctrl + R:用于查找使用过的命令,eg:查找之前使用过的find -h
    image.png

一些实用的快捷键

Ctrl + L:用于清理终端的内容,就是清屏的作用。同clear
Shift + PageUp用于向上滚屏,与鼠标的滚轮向上滚屏是一个效果。Macos下Shift + Fn + Up
Ctrl + A:光标跳到命令行放入开头。与Home键效果相同,Macos上是Fn + 左键
Ctrl + U:删除所有在光标左侧的所有命令字符。
Ctrl + K:删除所有在光标右侧的所有命令字符。
Ctrl + W:删除所有在光标左侧的一个单词。
Ctrl + Y:粘贴用Ctrl+UCtrl+KCtrl+W删除的字符,类似剪切-粘贴

3.4 文件和目录组织命令

查看根目录 / 下的子目录
image.png

查看目录所在位置

pwd:显示当前目录的路径。(Print Working Dir)

  • 刚打开终端时,你将位于你的用户home目录
  • 如果用户是guoguo,那么~就是/home/guoguo这个目录
  • 通常来说,命令行提示符会告诉你你位于哪个目录下

which命令

在Linux下,每一条命令其实对应的都是一个可执行程序。

which命令用于显示一个命令对应的可执行程序的位置。
pwd命令对应的可执行程序位于/usr/bin目录下
# 查看date命令可执行程序的位置
which date

image.png

3.5 浏览和切换目录

ls : 列出文件和目录
你可以加上参数--color=auto来开启颜色标注,通过--color=none关闭颜色标注

ls常用的参数

-a :显示所有文件和目录,包括隐藏的。

Linux中,以.开头的文件是隐藏文件。
不包括开头的两个...这两个的含义如下:
.当前目录,..上级目录

image.png

-l:详细列表

-l这个参数算是ls最常用的了。
-l参数使得ls命令列出一个显示文件和目录的详细信息的列表。
每个文件或者目录都有对应的一行信息。

image.png

-h:以Ko,Mo,Go的形式显示文件大小

仅用ls -l列出的文件详情信息中文件大小是以字节为单位。
参数-h,是human readable的缩写,表示:适合人类阅读的

image.png

-t:按文件最近一次修改时间排序

t 是time的缩写,表示时间。
-t 参数:按照文件或者目录最近一次修改时间的降序排列。
ls 的常用参数合并在一起使用,效果是叠加的 ls -lath

image.png

3.6 目录大小

路径自动补全

Tab键可以进行命令的自动补全(按两下Tab键)
Tab键也可以用于路径的自动补全。

du: 显示目录,包含文件的大小
-h:参数用法类似ls中的-h参数:du -h,适合人类阅读的。
-s:只显示总计大小。只想知道当前目录的总大小,可以使用-s参数。
image.png

3.7 浏览和创建文件

catless命令:显示文件内容

cat:查看文件全部内容
less:分页显示文件内容

# -n 表示显示行数
cat -n 文件名 文件名
# less 文件名

image.png

less命令中最基本最常用的快捷键

空格键: 文件内容读取下一个终端屏幕的行数。按一下空格键会前进一个屏幕的内容,类似下一页
b键: 后退一页。与键盘上的上一页效果一样。

d键: 前进半个屏幕。
u键: 后退半个屏幕。

回车键: 文件内容读取下一行,也就是前进一行。
y键: 后退一行。与键盘上的向上键效果一样。

q键: 停止读取文件,中止less命令。

less命令中一些高级的快捷键

= 等于号

显示你在文件中的什么位置;
他会显示当前页面的内容是文件中的第几行到第几行;
整个文件所包含的行数,所含字符数,整个文件所含字符百分比。
image.png

h键

帮助命令。

/(斜杠)

进入搜索模式。
在斜杠后面输入你要搜索的文字,按下回车键。搜索结果就会标记出来。
n键跳到下一个符合项。
N键条道上一个符合项。

head命令和tail命令:显示文件的开头和结尾

head: 用于显示文件的开头几行。默认显示10行
tail: 用于显示文件最后结尾几行。默认显示10行
image.png

-n: 显示指定行数:tail -n 5 文件名,只显示结尾5行。

-f: 实时的追踪文件的更新。

默认tail -f会每隔1秒检查文件是否有更新。
可以指定间隔检查的秒数,用-s参数:tail -f -s 4 文件名,表示每隔4秒检测一次。

touchmkdir命令:创建文件和目录

touch 文件名 文件名 : 创建文件
mkdir 目录名 目录名: 创建目录
mkdir -p /one/two/three: 使用-p参数来递归创建目录

文件的复制和移动操作

复制文件

cp命令:拷贝文件或目录

拷贝文件

# 当前目录下文件拷贝
cp new_file new_file_copy
# 将new_file文件拷贝至one目录下
cp new_file one
# 将new_file文件拷贝到one/two目录下
cp new_file one/two/new_file_copy

拷贝目录

拷贝目录,只要在cp命令之后加上-r或者-R参数,也就是递归recursive,拷贝的时候,目录中的所有内容(子目录和文件)都会被拷贝。
image.png

使用通配符*

# 把当前目录下所有txt文件拷贝到folder目录中
cp *.txt folder

移动文件

mv命令

  • 移动文件或目录

    # 将new_file文件移动到two目录中
    mv new_file two
    # 将目录one移动至目录two中
    mv one two
    当然,mv命令也可以配合通配符来使用
    # 将当前目录下所有的txt文件移动至one目录。
    mv *.txt one
  • 重命名文件或目录

    mv new_file rename_file

删除文件或目录

# 删除当前目录下的new_file文件
rm new_file
也可以同时删除多个文件,只要用空格隔开即可
rm file file_1 file_2

-i 参数:向用户确认是否删除。

  • 保险起见,用 rm 命令删除文件时,可以加上 -i 参数
  • 这样对于每个要删除的文件,终端都会询问我们是否确定删除。
    image.png

-f : 慎用,不会询问是否删除,会强制删除。

  • 在 rm 命令后加上 -f 参数,终端不会询问用户是否确定删除文件。
  • 不论如何,文件都会被立即强制删除。

-r : 递归删除

  • 这个参数也挺危险,用得不好你的子目录和文件都没了。
  • rm -r one: 这个命令会删除one这个目录,包括其子目录和文件。
# rm命令加上-r 和 -f参数:极为危险!表示:强制递归的删除根目录下所有文件。
rm -rf /*
或
rm -rf /

创建链接 : 快捷方式

ln命令: link
软连接可以指向目录,硬连接不行。

  • 硬链接

    # 删除file1,file2不会被删除;删除file2,file1也不会被删除
    # file1和file2的inode相同
    ln file1 file2
  • 软链接

    如果删除了file2,file1不会受影响
    如果删除了file1,file2会变成死链接,因为指向的文件不见了。
    ln -s file1 file2
posted @   蜜獾互联网  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
点击右上角即可分享
微信分享提示