首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Linux(一)基础学习

Linux(一)基础学习

原创
作者头像
落幕
发布2025-05-27 16:36:54
发布2025-05-27 16:36:54
2400
举报

Linux(一)基础学习

1. Linux

  • Linux 是一套免费使用和自由传播的类 Unix 操作系统
  • 在服务器端领域和嵌入式领域有非常广泛的应用

Linux 系统组成

  • linux 系统内核
    • 核心功能:调度 CPU,调度内存,调度文件系统,调度网络通信,调度 IO 等。
  • 系统级应用程序
    • 供用户快速上手操作系统:文件管理,任务管理系统,

2.版本

分为内核版本和发型版本

  • kernel
  • 各个厂商会制作自己的发行版本
    • redhat
    • CentOS
    • ubuntu
    • fedora

3. Linux 与 Windows 的不同

  • Linux 严格区分大小写
  • Linux 中所有的内容以文件形式保存,包括硬件、用户和文件。
  • Linux 不靠扩展名区分文件类型,是靠权限来区分,但是有一些约定的扩展名,是给管理员看的
    • 压缩包 .gz .bz2 .tar.bz2 .tgz
    • 二进制文件 .rpm
    • 网页文件 .html .php
    • 脚本文件 .sh
    • 配置文件 .conf
  • Windows 下的程序不能直接在 Linux 中安装和运行
  • Linux 更多使用字符界面
    • 占用的系统资源更少
    • 减少了出错和被攻击的可能性,会让系统更稳定

4.linux 常用命令

4.1 常见目录

目录

用途

/

根目录

/boot

启动目录,启动相关文件

/dev

设备文件

/etc

配置文件

/home

普通用户的家目录,可以操作

/lib

系统库保存目录

/mnt

移动设备挂载目录

/media

光盘挂载目录

/misc

磁带机挂载目录

/root

超级用户的家目录,可以操作

/tmp

临时目录,可以操作

/proc

正在运行的内核信息映射, 主要输出进程信息、内存资源信息和磁盘分区信息等等

/sys

硬件设备的驱动程序信息

/var

变量

/bin

普通的基本命令,如 ls,chmod 等,一般的用户也都可以使用

/sbin

基本的系统命令,如 shutdown,reboot,用于启动系统,修复系统,只有管理员才可以运行

/usr/bin

是你在后期安装的一些软件的运行脚本

/usr/sbin

放置一些用户安装的系统管理的必备程序

Linux 的目录结构

  • Linux 的目录结构是一个树型结构。
  • widows 系统可以拥有多盘符,如 C 盘,D 盘
  • Linux 没有盘符这个概念,只有一个根目录/,所以文件都在它下面

Linux 路径的描述方式

  • Linux 系统中,路径使用: / 来表示
  • 在 windows 系统,路径使用:\来表示

4.2 命令基本格式

代码语言:bash
复制
[[root@zhangrenyang ~]#
  • root 当前登录用户
  • localhost 主机名
  • ~ 当前工作目录,默认是当前用户的家目录,root 就是/root,普通用户是 /home/用户名
  • 提示符 超级用户是 #,普通用户是$
4.2.2 命令格式
  • 命令 选项
  • 当有多个选项时,可以写在一起
  • 一般参数有简化和完整写法两种 -a--all等效

示例

  • ls -l /home/itheima, ls 是命令本身,-l 是选项,/home/itheima 是参数。
    • 显示/home/itheima 目录的内容
4.2.3 ls
  • 来源 list 单词,列表的意思。即:查看某人路径下所有的子集(不包括的子集)
  • 选项:all(所有),line(行),human(人性化)
代码语言:bash
复制
ls      # 查看当前目录的子集(不包含隐藏的),等价:ls ./
ls -a   #查看当前目录的子集(包含隐藏的
ls -al  #以行的方式,查看当前目录的子级(包括隐藏的),无意义,因为要结合-h一起使用,
ls -alh #以行,人性化的方式,查看当前目录的子级(包括隐藏的)

ls /    # 查看根目录下的所有子级(不包括隐藏)
1s -1 / #以行的方式,查看根目录下的所有子级(不包括隐藏)

文件详情

代码语言:bash
复制
[root@myNode1 ~]# ls -alh
-rw-------.  1 root root 1.3K 5月  18 19:53 anaconda-ks.cfg

-rw-------

root

root

1.3K

5 月 18 19:53

anaconda-ks.cfg

文件类型和权限

所有者

所属组

文件大小

最后修改时间

文件名

4.3 文件处理命令

4.3.1 mkdir
  • 建立目录 make directory
  • mkdir -p 目录名
    • -p 递归创建
代码语言:bash
复制
# 创建 单级 目录
mkdir ./aa      # 在当前目录下创建 aa文件夹
mkdir ./1.txt   # 在当前目录下创建 1.txt文件夹
mkdir aa/bb/cc  #创建多级目录,如果a2/bb目录不存在,则:报错
# mkdir: 无法创建目录"aa/bb/cc": 没有那个文件或目录

# 创建 多级 日录,
mkdir -p aa/bb/cc #-p表示多级目录
4.3.2 cd
  • 来源于 change directory,改变目录
  • cd 目录
    • ~ 家目录
    • . 当前目录
    • .. 上级目录
  • 相对路径是参照当前所在目录
  • 绝对路径是从根目录开始
  • 按 TAB 键可以补全命令和目录
代码语言:bash
复制
cd /etc            # 切换到etc目录
cd /etc/aa/bb      # 绝对路径是从根目录开始
4.3.3 pwd
  • 显示当前目录 pwd(print work directory)
代码语言:bash
复制
pwd;
4.3.4 rmdir
  • 删除目录 remove empty directory
  • rmdir 目录名
代码语言:bash
复制
rmdir hello
4.3.5 rm
  • 删除文件或者目录 remove
  • rm 文件或者目录
    • -r 删除目录
    • -f 强制删除
  • rm -rf 文件或者目录] 递归强制删除所有目录
代码语言:bash
复制
rm -rf hello
4.3.6 cp
  • copy 复制命令
  • copy 源文件或者目录
    • -r 复制目录,默认是复制文件
    • -i 会在复制文件的时候给提示,如果复制的目标文件存在,会给你提示是否要覆盖
代码语言:bash
复制
mkdir afolder
mkdir bfolder
cd afolder/
touch 1.txt
cp 1.txt ~/bfolder/
4.3.7 mv
  • 移动文件或者改名 move
  • mv 源文件或者目录
代码语言:bash
复制
mv 1.txt 11.txt
4.3.8 ln
  • 链接命令,生成链接文件 link
  • ln -s 源文件
    • -s 创建软链接
  • 类似 Windows 快捷方式
  • 修改任意一个文件,另一个都会改变
  • 删除源文件,软链接不能使用
  • 软链接源文件必须写绝对路径
代码语言:bash
复制
# ln -s /root/bfolder/11.txt 22.txt
4.3.9 touch
  • touch,创建文件。
代码语言:bash
复制
touch 1.txt 2.mp3 abc.jpg# 同时创建多个文件,

4.4 文件搜索命令

5.4.1 locate
  • 在后台数据库中按文件名搜索,速度比较快
  • 数据保存在/var/lib/mlocate/mlocate.db后台数据库,每天更新一次
  • 可以updatedb命令立刻更新数据库
  • 只能搜索文件名
代码语言:bash
复制
yum  -y install mlocate
4.4.2 whereis
  • 搜索命令所在路径以及帮助文档所在位置
  • whereis 命令名

whereis ls

  • -b 只查找可执行文件
  • -m 只查找帮助文件
  • 可以查看 Shell 自带的命令,如 whereis cd
4.4.3 which
  • 可以看到别名 which ls
  • 能看到的都是外部安装的命令
  • 无法查看 Shell 自带的命令,如 which cd
代码语言:bash
复制
# which命令,查看命令所在的路径
which 1s        # /usr/bin/
which cd        # /usr/bin
4.4.4 环境变量
代码语言:bash
复制
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
  • 定义的是系统搜索命令的路径
  • echo $PATH
4.4.5 find
  • 文件搜索命令
  • find 搜索范围
4.4.5.1 按名称搜索
  • 避免大范围的搜索,会非常消耗系统资源
代码语言:bash
复制
  find / -name 11.txt
4.4.5.2 通配符
  • find 是在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配
  • 通配符
    • * 匹配任意内容
    • ? 匹配任意一个字符
    • [] 匹配任意一个中括号内的字符
代码语言:bash
复制
# touch abc.txt
# find . -name "ab[cdef].txt"
4.4.5.3 -i
  • 不区分大小写
代码语言:bash
复制
find . -iname "Ab[cdef].txt"
4.4.5.4 -user
  • 按所有者进行搜索
代码语言:bash
复制
find /root -user root
find /root -nouser
4.4.5.5 按时间搜索
代码语言:bash
复制
find . -mtime +5

参数

含义

atime

文件访问时间

ctime

改变文件属性

mtime

修改文件内容

参数

含义

-5

5 天内修改的文件

5

5 天前当前修改的文件

+5

5 天前修改的文件

4.4.5.6 按大小搜索
  • k 小写,M 大写
代码语言:bash
复制
find . -size +0k

参数

含义

-8k

小于 8K

8k

等于 8K

+8k

大于 8K

+8M

小于 8M

4.4.5.7 综合应用
代码语言:bash
复制
find /tmp -size +10k -a -size -20k
  • 查找/etc 目录下,大于 10KB 并且小于 20KB 的文件
  • -a and 逻辑与,两个条件都满足
  • -o or 逻辑或,两个条件满足一个就可以
代码语言:bash
复制
find /tmp -size +10k -a -size -20k -exec ls -lh {} \;
  • exec 对上个命令的结果进行操作
4.4.5.9 grep
  • 在文件当中匹配符合条件的字符串
    • -i 忽略大小写
    • -v 排除指定字符串
  • find 命令,在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配
  • grep 命令 在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式时包含匹配
代码语言:bash
复制
vi a.txt
grep b a.txt
grep -v b a.txt
grep -i f a.txt

4.5 压缩与解压缩命令

4.5.1 zip 格式
  • 压缩文件或目录,是一种压缩格式

功能

命令

压缩文件

zip 压缩文件名.zip 源文件

压缩目录

zip -r 压缩目录名.zip 源目录

解压

unzip 压缩目录名.zip

代码语言:bash
复制
yum install -y unzip zip

mkdir book
touch book/1.txt
touch book/2.txt
zip -r book.zip book
rm -rf book/ rmdir book
unzip book.zip
4.5.2 gzip
  • gzip 为高压,可以把文件压缩得更小
  • gzip 命令不支持目录

命令

示例

含义

gzip 源文件

gzip book.txt

压缩为.gz 格式的压缩文件,源文件会消失

gzip -c 源文件 > 压缩文件

gzip -c book.txt > book.txt.gz

压缩为.gz 格式的压缩文件,源文件不会消失

gzip -r 目录

gzip -r book

把目录下的每个子文件都变成压缩包,并删除原文件,当前目录无变化

gzip -d 压缩文件名

gzip -d 1.txt.gz

解压缩文件,不保留压缩包

gunzip 压缩文件

gunzip 2.txt.gz

解压缩文件,也不保留压缩包

  • 压缩是压缩目录下的文件
代码语言:bash
复制
touch book.txt
mkdir book
touch book/1.txt
touch book/2.txt
gzip book.txt //源文件会消失
gzip -c 1.txt > 1.txt.gz //源文件不消失
gzip book.txt  //压缩为.gz格式文件,源文件会消失
gzip -r book //把目录下的每个子文件都变成压缩包
cd book
gzip -d 1.txt.gz  //解压缩文件,不保留压缩包
gunzip 2.txt.gz
4.5.3 tar
  • 打包命令,只打包并不压缩
  • tar -cvf

打包文件名 源文件

  • -c 打包
  • -v 显示过程
  • -f 指定打包后的文件名
代码语言:bash
复制
tar -cvf book.tar book    //会打包出一个book.tar文件
  • x 解开包
代码语言:bash
复制
  tar -xvf book.tar
4.5.4 tar.gz 压缩格式
  • zip可以压缩目录但压缩效率不高,gzip压缩效率高但不支持目录
  • 可以先打包为.tar格式,再压缩为.gz格式 -c 压缩为.tar.gz 格式 -x 解压缩.tar.gz 格式

命令

示例

含义

tar -zcvf 压缩包名 .tar.gz源文件

tar -zcvf book.tar.gz book

可以先打包为.tar格式,再压缩为.gz格式

tar -zxvf 压缩包名.tar.gz

tar -zxvf book.tar.gz

解压 tar.gz 压缩包

代码语言:bash
复制
tar -zcvf book.tar.gz book
tar -zxvf book.tar.gz

4.6 关机和重启命令

4.6.1 shutdown
  • shutdown 关机命令
    • -c 取消前一个关机命令
    • -h 关机
    • -r 重启
代码语言:bash
复制
shutdown -r 06:00
shutdown -c
4.6.2 init

关机

代码语言:bash
复制
init 0

重启

代码语言:bash
复制
init 6
4.6.3 logout

退出登录

代码语言:bash
复制
logout;

4.7 查看登录用户信息

4.7.1 w

查看登录用户信息

  • USER 登录的用户名
  • TTY 登录的终端 tty1 本地终端 pts/0 远程终端
  • FROM 登录的 IP
  • LOGIN 登录时间
  • IDLE 用户闲置时间
  • JCPU 该终端所有进程占用的时间
  • PCPU 当前进程所占用的时间
  • WHAT 正在执行的命令
4.7.2 who
  • 查看登录用户信息
    • USER 登录的用户名
    • TTY 登录的终端 tty1 本地终端 pts/0 远程终端
    • LOGIN 登录时间(登录的 IP)
4.7.3 last
  • 查看当前登录和过去登录的用户信息
  • 默认读取
代码语言:bash
复制
  /var/log/wtmp

文件

  • 用户名
  • 登录终端
  • 登录 IP
  • 登录时间
  • 退出时间(在线时间)
4.7.4 lastlog
  • 查看所有用户的最后一次登录时间
    • 用户名
    • 登录终端
    • 登录 IP
    • 最后一次登录时间

4.8 文件查看命令

4.8.1 cat
  • cat 命令用于连接文件并打印到标准输出设备上。
  • cat -AbeEnstTuv --version fileName
  • 参数
  • -n 或 --number:由 1 开始对所有输出的行数编号。
代码语言:bash
复制
cat -n textfile1
4.8.2 more
  • Linux more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。
  • more fileName
代码语言:bash
复制
more  testfile
4.8.3 head
  • 用来显示开头某个数量的文字区块
代码语言:bash
复制
head -5 readme.txt
4.8.4 tail
  • tail 命令可用于查看文件的内容
  • 有一个常用的参数 -f 常用于查阅正在改变的日志文件。
  • tail 参数
  • 参数
  • -f 循环读取
  • -n<行数> 显示文件的尾部 n 行内容
代码语言:bash
复制
tail -5 mail.txt

tail -f access.log
4.8.5 第二页
代码语言:bash
复制
 head -10 file | tail -5

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Linux(一)基础学习
    • 1. Linux
    • 2.版本
    • 3. Linux 与 Windows 的不同
    • 4.linux 常用命令
      • 4.1 常见目录
      • 4.2 命令基本格式
      • 4.3 文件处理命令
      • 4.4 文件搜索命令
      • 4.5 压缩与解压缩命令
      • 4.6 关机和重启命令
      • 4.7 查看登录用户信息
      • 4.8 文件查看命令
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档