Linux基础与进阶 - 命令和文件操作
[guougo@guoguo-host ~]$
~
当前所在目录的名字,会随着用户进入不同目录而改变~
表示当前用户的家目录(home directory)$
指你所具备的权限
$ : 普通用户
# : 超级用户,root权限
使用
sudo su
切换到超级用户
使用
ctrl + d
退出root
用户。
获取当前用户名和主机名
# 获取当前用户
whoami
# 获取当前主机名
hostname
命令: date | ls等
参数: 长参数 & 短参数
有一些参数需要赋值,短参数和长参数的赋值方式不一样
# 短参数赋值
command -p 10
# 长参数赋值
command --parameter=10
3.3 查找命令和实用快捷键
命令查找
- 按一下
Tab
键补全
显示命令提示. history
查找历史命令[所有使用过的命令]。使用!行数
找出对应行数的命令,例如:!816
就是找出第816行的命令,如下图:- 命令的历史记录
向上键
向下键
Ctrl + R
:用于查找使用过的命令,eg:查找之前使用过的find -h
一些实用的快捷键
Ctrl + L
:用于清理终端的内容,就是清屏的作用。同clear
Shift + PageUp
用于向上滚屏,与鼠标的滚轮向上滚屏是一个效果。Macos下Shift + Fn + Up
Ctrl + A
:光标跳到命令行放入开头。与Home
键效果相同,Macos上是Fn + 左键
Ctrl + U
:删除所有在光标左侧的所有命令字符。Ctrl + K
:删除所有在光标右侧的所有命令字符。Ctrl + W
:删除所有在光标左侧的一个
单词。Ctrl + Y
:粘贴用Ctrl+U
、Ctrl+K
、Ctrl+W
删除的字符,类似剪切-粘贴
。
3.4 文件和目录组织命令
查看根目录/
下的子目录
查看目录所在位置
pwd
:显示当前目录的路径。(Print Working Dir)
- 刚打开终端时,你将位于你的用户
home
目录~
中 - 如果用户是guoguo,那么
~
就是/home/guoguo
这个目录 - 通常来说,命令行提示符会告诉你你位于哪个目录下
which
命令
在Linux下,每一条命令其实对应的都是一个可执行程序。
which
命令用于显示一个命令对应的可执行程序的位置。pwd
命令对应的可执行程序位于/usr/bin
目录下
# 查看date命令可执行程序的位置
which date
3.5 浏览和切换目录
ls
: 列出文件和目录
你可以加上参数--color=auto
来开启颜色标注,通过--color=none
关闭颜色标注
ls
常用的参数
-a
:显示所有文件和目录,包括隐藏的。
Linux中,以.
开头的文件是隐藏文件。
不包括开头的两个.
、..
这两个的含义如下:.
当前目录,..
上级目录
-l
:详细列表
-l
这个参数算是ls
最常用的了。-l
参数使得ls
命令列出一个显示文件和目录的详细信息的列表。
每个文件或者目录都有对应的一行信息。
-h
:以Ko
,Mo
,Go
的形式显示文件大小
仅用ls -l
列出的文件详情信息中文件大小是以字节为单位。
参数-h
,是human readable
的缩写,表示:适合人类阅读的
-t
:按文件最近一次修改时间排序
t
是time的缩写,表示时间。-t
参数:按照文件或者目录最近一次修改时间的降序排列。ls
的常用参数合并在一起使用,效果是叠加的ls -lath
3.6 目录大小
路径自动补全
Tab
键可以进行命令的自动补全(按两下Tab键)Tab
键也可以用于路径的自动补全。
du
: 显示目录,包含文件的大小-h
:参数用法类似ls
中的-h
参数:du -h
,适合人类阅读的。-s
:只显示总计大小。只想知道当前目录的总大小,可以使用-s
参数。
3.7 浏览和创建文件
cat
和less
命令:显示文件内容
cat
:查看文件全部内容less
:分页显示文件内容
# -n 表示显示行数
cat -n 文件名 文件名
# less 文件名
less命令中最基本最常用的快捷键
空格键
: 文件内容读取下一个终端屏幕的行数。按一下空格键
会前进一个屏幕的内容,类似下一页
b键
: 后退一页。与键盘上的上一页
效果一样。
d键
: 前进半个屏幕。u键
: 后退半个屏幕。
回车键
: 文件内容读取下一行,也就是前进一行。y键
: 后退一行。与键盘上的向上键效果一样。
q键
: 停止读取文件,中止less
命令。
less命令中一些高级的快捷键
= 等于号
显示你在文件中的什么位置;
他会显示当前页面的内容是文件中的第几行到第几行;
整个文件所包含的行数,所含字符数,整个文件所含字符百分比。
h键
帮助命令。
/
(斜杠)
进入搜索模式。
在斜杠后面输入你要搜索的文字,按下回车键。搜索结果就会标记出来。
按n键
跳到下一个符合项。
按N键
条道上一个符合项。
head命令和tail命令:显示文件的开头和结尾
head
: 用于显示文件的开头几行。默认显示10行tail
: 用于显示文件最后结尾几行。默认显示10行
-n
: 显示指定行数:tail -n 5 文件名
,只显示结尾5行。
-f
: 实时的追踪文件的更新。
默认tail -f
会每隔1秒检查文件是否有更新。
可以指定间隔检查的秒数,用-s
参数:tail -f -s 4 文件名
,表示每隔4秒检测一次。
touch
和mkdir
命令:创建文件和目录
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
,拷贝的时候,目录中的所有内容(子目录和文件)都会被拷贝。
使用通配符*
# 把当前目录下所有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
参数 - 这样对于每个要删除的文件,终端都会询问我们是否确定删除。
-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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码