Linux的基础指令
目录
1、Shell及运行原理
2、热键
3、Linux的基础知识
4、Linux的基础指令
4.1 man
4.2 clear&&history&&whoami
4.3 pwd
4.4 ls
4.5 cd
4.6 mkdir&&touch
1. mkdir
2. touch
4.7 rmdir&&rm
1. rmdir
2. rm
4.8 cp&&mv
1. cp
2. mv
4.9 cat&&echo&&prinf
1. cat
2. echo
4.10 more&&less
1. more
2. less
4.11 head&&tail
1. head
2. tail
4.12 date
1. 显示指定格式的时间
2. 时间<->时间戳
4.13 find&&grep&&which&&whereis
1. find
2. grep
3. which
4. whereis
4.14 zip/unzip&&tar(重要)
1. zip/unzip
关于rz/sz工具
2. tar
4.15 bc&&uname
1. bc
2. uname
1、Shell及运行原理
Linux:严格意义上说的是一个操作系统,我们称之为“核心(Kernel)”,但我们一般用户,不能直接使用 Kernel,而是通过 Kernel 的“外壳”程序,也就是所谓的 Shell,来与 Kernel沟通。
Shell:是一个命令行解释器(如Bash、Zsh、Fish等),充当用户与内核之间的“桥梁”。
用户通过Shell输入命令,Shell 解析后传递给 Kernel 执行,再将结果返回给用户。
Shell 本质是一个进程,会创建子进程解释命令。(Shell 不能因为一条命令就挂了)
Shell 有方便用户操作和保护操作系统(防止非法命令)的功能。
注意:
Shell (如Bash): 是Linux系统自带的文本交互界面,属于软件层面的概念。
Xshell:是一款第三方开发的SSH客户端工具,用于远程连接Linux服务器(本质是一个图形化工具,内部仍通过Shell与内核交互)。
用户 → Xshell(SSH客户端) → Shell(如Bash) → Kernel(内核)。
2、热键
1. Alt+Enter,进入/退出全屏(Xshell)。
2. Ctrl+C,终止当前的程序。
3. Ctrl+D,退出当前用户。
4. Ctrl+R,搜索历史命令。
5. 上下键,切换历史命令。
6. 快速按两下Tab,命令搜索或补全。
7. Ctrl+Shift+C,复制,Ctrl+Shift+V,粘贴。
3、Linux的基础知识
1. 目录 == 文件夹。
2. 文件 = 内容 + 属性(创建时间等)。同一目录下文件不能同名。
3. Linux,一切皆文件。
Linux的文件结构是一棵 从根目录/ 开始的多叉树。
叶子节点是文件或空目录,非叶子节点是非空目录。
4. Linux不关心文件的后缀,但是工具(如:gcc要编译.c后缀的文件)关心。建议正常写后缀。
5. *是通配符。
4、Linux的基础指令
不用硬记,用多了就收悉了。
Centos 7如果没有这个命令就下载:yum install -y 命令。
目录的 / 可带可不带。
4.1 man
语法:man 选项(>=0个) 命令
功能:查询手册。
常用选项:
num 只在第num章节查找。
4.2 clear&&history&&whoami
clear:清屏。
history:显示历史命令。
whoami:显示当前用户。
4.3 pwd
pwd:显示当前的路径。
注意:Linux是/,Windows是\。
如:
~表示,当前在家目录。
家目录是用户个人文件的默认位置(路径为/home/用户名,root 用户是/root)。
lesson1表示,当前在lesson1目录,
4.4 ls
语法:ls 选项(>=0个) 目录或文件(默认是当前目录)
功能:对于目录,显示目录下的文件和目录。对于文件,显示文件。
常用选项:
-a:all,显示目录下的所有的文件和目录,包括以 . 开头的隐藏文件。
注意:任何一个目录(即便是空目录),都自带 . (当前目录)和 .. (上级目录)。
-d:将目录像文件一样显示,而不是显示其下的文件。
-l:列出文件和目录的详细信息。ls -l == ll,因为常用。
-t:以最近修改时间 排序。
注意:选项 -a -l,-l -a,-al,-la,都行。
例:
-:普通文件,包括文本,可执行程序,库,图片,视频等等。
d:目录。
c:字符文件,如:键盘,显示器,终端等等。输入的数据具有顺序。
b:块设备,如:磁盘。
l:链接文件。
p:管道文件。
4.5 cd
语法:cd 目录。
功能:切换工作目录。
用法:
cd 绝对路径(从根目录 / 开始)。路径不会失效,多用于配置文件。
cd 相对路径(如:. (当前目录)或 .. (上级目录))。路径简单,多用于日常使用。
cd ~,切换到家目录。
cd -,切换到最近使用的目录。
4.6 mkdir&&touch
1. mkdir
语法:mkdir 选项(>=0个) dir
功能:在当前目录下创建以个名为“dir”的目录。
常用选项:
-p/--parents,此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
tree 命令是一个递归以树状结构显示指定目录的命令。
2. touch
语法:touch 选项(>=0个) 文件
功能:touch命令可修改文档或目录的(Access)访问时间和(Modify)修改时间,也可用于创建新文件。
常用选项:
-a:change only the Access time
-c:change only the Modify time
stat 命令用于显示文件或文件系统的详细状态信息。
4.7 rmdir&&rm
1. rmdir
语法:rmdir 选项(>=0个) dir
功能:删除空目录。
常用选项:
-p:当子目录被删除后,如果父目录因此变为空目录,则父目录也会被一并删除。
2. rm
语法:rm 选项(>=0个) dir/file
功能:删除文件或目录(通用)。
常用选项:
-f:即使文件属性为只读(写保护),也直接强制(force)删除,不再询问(root用户因权限过高,总是询问)
-r:递归(recursion)删除目录及其包含的所有文件
-i:删除前逐一询问确认
如:-rf,强制删除一个目录(需特别谨慎,该操作不可逆)。
4.8 cp&&mv
1. cp
语法:cp 选项(>=0个) src dst
功能:复制文件或目录。
常用选项:
-f:强制(force)复制文件或目录,不询问。
-r:递归(recursion)拷贝目录
-i:覆盖之前询问用户
注意:
src文件 拷贝到 dst文件,dst目标文件 不存在就自动创建新文件并拷贝内容,dst目标文件 已存在就覆盖。
src文件(可多个) 拷贝到 已存在的dst目录,正常拷贝,拷贝到 不存在的dst目录,报错。
src目录 拷贝到 已存在/不存在(会创建)的dst目录,必须加 -r 才能递归拷贝。
2. mv
语法:mv 选项(>=0个) src dst
功能:剪切文件或目录。
常用选项:
-f:强制(force),dst文件已存在,不会询问而直接覆盖。
-i:dst文件已存在,会询问 是否覆盖。
注意:
如果 dst 不存在,mv 会认为你想将 src 重命名为 dst。
如果 dst 存在且是一个目录,mv 会将 src(可多个) 移动到该目录下(保持原名)
4.9 cat&&echo&&prinf
1. cat
语法:cat 选项(>=0个) file
功能:查看file的内容
常用选项:
-n:对所有行编号
-b:对非空行编号
-s:合并连续空行为一行
注意:
输出重定向:cat > file,file不存在会新建或file存在会覆盖(当然如果 >file,就是新建一个文件),把读取到的内容写入file。
输出追加重定向:cat >> file,file不存在会新建或ile存在会追加到文件末尾(不会覆盖)。
tac,从倒数第一行开始显示(倒着显示)。
2. echo
功能:显示字符串(“ ”或‘ ’都行),自带‘\n’
4.10 more&&less
cat 一般显示较短的文件内容。
1. more
语法:more 选项(>=0个) file
功能:一页一页显示内容,不支持上翻,只能下翻(用的少)。
常用选项:
-n:指定显示的行数
在more中输入
q:退出more
2. less
语法:less 选项(>=0个) file
功能:一页一页显示内容,随意浏览(用的多)。
常用选项:
-i:忽略(ignore)搜索时的大小写
-N:显示每行的行号
在less中输入
/字符串:向下搜索指定字符串,按n继续向下搜索,按N(反向)向上搜索。
?字符串:向上搜索指定字符串,按n继续向上搜索,按N(反向)向下搜索。
q:退出less
4.11 head&&tail
1. head
语法:head 选项(>=0个) file
功能:用于将文件的开头内容输出至标准输出(屏幕),默认显示文件的前 10 行。
常用选项:
-n:显示行数
2. tail
语法:tail 选项(>=0个) file
功能:用于显示指定文件的末尾内容。当不指定文件时,会从标准输入(stdin)读取数据进行处理。常用于实时查看日志文件。
常用选项:
-f:循环读取。会不断刷新,使你看到最新的文件内容(实时)。
-n:显示行数
注意:
|是一个管道(可以进行命令的组合),左边处理完,右边再处理,相当于产生一个临时对象,
如:cat file | tail,显示file的后10行。
4.12 date
语法:date 选项 格式
常用功能:
1. 显示指定格式的时间
date +格式
%H:小时
%M:分钟
%S:秒
%X:相当于%H:%M:%S
%Y:年
%m:月份
%d:日
%F:相当于%Y-%m-%d
2. 时间<->时间戳
当前时间 → 时间戳
date +%s
指定时间 → 时间戳
date -d "2025-4-25 14:12:12" +%s
时间戳 → 可读时间
date -d @1745561532// 指定格式输出:
date -d @1745561532 "+%Y-%m-%d %H:%M:%S"
4.13 find&&grep&&which&&whereis
1. find
语法:find pathname -options filename/pathname
功能:在指定路径下递归搜索符合条件的文件或目录
常用选项:
-name:按照文件名查找文件
-type:按文件类型查找(f=文件,d=目录)
目标类型 | 命令示例 | 说明 |
---|---|---|
目录 | find /path -type d -name "dir" | 只匹配目录 |
文件 | find /path -type f -name "*.txt" | 只匹配文件 |
任意 | find /path -name "pattern" | 不限定类型(文件+目录) |
2. grep
语法:grep -options 字符串 文件
功能:在文件中搜索字符串,并显示对应行。
常用选项:
-i:忽略(ignore)搜索时的大小写
-n:显示行数
-v:反向选择,匹配的不要,不匹配的留下
3. which
功能:搜索 系统命令
4. whereis
功能:快速定位程序的二进制文件、源码和手册页,它的设计目的是比 which 提供更全面的程序相关文件信息
4.14 zip/unzip&&tar(重要)
1. zip/unzip
语法:zip file.zip dir/file
功能:将dir/file压缩成zip格式
常用选项:
-r:递归(recursion)处理,将指定目录下的所有文件和子目录一并处理
操作 | zip 命令 | unzip 命令 |
---|---|---|
单个文件 | zip a.zip file.txt | unzip a.zip |
目录 | zip -r a.zip dir/ | unzip a.zip -d target/ |
关于rz/sz工具
用于 Windows 机器和远端的 Linux 机器通过 XShell 传输文件。可以通过拖拽的方式将文件上传过去。
sudo yum install -y lrzsz
2. tar
压缩:tar czf或-czf file.tgz src
解压:tar xzf或-xzf file.tgz
-v:显示压缩或解压的过程
-C:解压到指定目录
tar -xzf backup.tgz -C /tmp/
// -C /tmp/ 是独立的参数
注意:f后面紧跟file.tgz
Linux与Linux的压缩包互传。
scp 压缩包 用户名@IP:指定路径
4.15 bc&&uname
1. bc
功能:简单的计算机
也可以通过|管道,进行计算。
2. uname
uname -r
输出当前 Linux 系统的 内核版本号(Kernel Release),格式通常为:
主版本号.次版本号.修订号-附加信息
uname -a
输出系统的 完整信息,包括:
-
内核名称
-
主机名
-
内核版本
-
系统架构
-
操作系统名称
-
其他详细信息