1.Linux 简单介绍及基础命令

Linux 简单介绍及基础命令

Linux 是一个开源的、强大的、稳定的操作系统内核。基于它构建的众多操作系统发行版,以其自由、安全、可靠和高性能的特性,统治着服务器、云计算和嵌入式世界,同时也是桌面电脑、超级计算机和安卓手机的强大基础。

  1. 核心身份:一个操作系统内核
    • 在最基础层面上,Linux 指的是 Linux 内核。它是操作系统的核心“引擎”,负责管理计算机的硬件资源(CPU、内存、磁盘、网络等),并为软件提供运行的基础服务。
  2. 更常见的含义:基于 Linux 内核的操作系统
    • 通常当我们说“Linux”时,指的是一个完整的操作系统发行版。它包含:
      • Linux 内核: 核心。
      • GNU 工具: 大量的基础软件(命令行工具、编译器、库等),提供了操作系统的基本功能。这也是为什么有些人更准确地称它为 GNU/Linux
      • 软件包管理系统: 方便安装、更新和卸载软件的机制(如 APT, YUM, Pacman 等)。
      • 桌面环境: 图形用户界面(如 GNOME, KDE Plasma, Xfce 等),让用户可以通过窗口、图标、菜单与系统交互。
      • 应用软件: 浏览器、办公套件、媒体播放器等。
  3. 关键特性:
    • 开源: 这是 Linux 最核心的特性。它的源代码是免费公开的,任何人都可以查看、修改和分发。这带来了极大的自由度和强大的社区支持。
    • 自由: 用户拥有使用、研究、修改和重新分发 Linux 的自由(遵循特定的开源许可证,如 GPL)。
    • 稳定可靠: Linux 以其高稳定性安全性闻名,特别适合运行需要长时间不关机的重要服务器。
    • 高性能: 内核设计高效,能充分利用硬件资源。
    • 多用户/多任务: 原生支持多个用户同时使用系统,并能高效地同时运行多个程序。
    • 高度可定制: 用户可以自由选择不同的发行版、桌面环境、软件,甚至自己编译内核,打造完全符合自己需求的系统。
    • 强大的命令行: 提供了功能极其强大和灵活的命令行界面,是系统管理和高级用户的高效工具。
    • 广泛的硬件支持: 支持从超级计算机、服务器到个人电脑、笔记本电脑、手机(Android 基于 Linux 内核)、路由器、物联网设备等各种硬件平台
  4. 主要应用领域:
    • 服务器: 互联网的基石,绝大多数网站、云服务平台、数据库服务器都运行在 Linux 上(如 Ubuntu Server, CentOS/RHEL, Debian)。
    • 超级计算机: 全球排名前列的超级计算机几乎全部使用 Linux。
    • 嵌入式系统: 路由器、智能电视、汽车娱乐系统、物联网设备等。
    • 云计算: 是几乎所有主要云平台(AWS, Azure, Google Cloud 等)的基础。
    • 桌面/笔记本: 有众多用户友好的发行版(如 Ubuntu, Linux Mint, Fedora),提供替代 Windows 或 macOS 的选择。
    • 移动设备: Android 操作系统就是基于 Linux 内核构建的。
    • 开发环境: 程序员非常喜爱的平台,工具链完善。
  5. “发行版”:
    • 由于 Linux 内核和 GNU 工具是开源的,不同的组织或个人将它们打包,加上自己的桌面环境、软件选择和管理工具,就形成了各种各样的 Linux 发行版
    • 常见的发行版有:Ubuntu, Linux Mint, Debian, Fedora, CentOS/RHEL, openSUSE, Arch Linux 等等。每个发行版有不同的侧重点(易用性、稳定性、新特性、轻量级、定制性等)。

linux常见的后缀名(扩展名)
.conf 配置文件
.log 日志文件
.syslog 系统日志文件
.cfg 系统配置文件
.i686 系统文件
.sh 脚本文件

目录
/ 根目录:是linux文件系统的起点
/bin 存放linux系统中最基本的命令,普通用户有权限执行 --binary–二进制
/boot 存放启动linux系统所必需的的文件,包括内核文件、启动的配置文件-----boot引导
/boot目录通常被划分为独立的分区,称为/boot分区
/dev 存放linux系统中的磁盘、光驱等各种设备----device—装置、设备
/etc 存放linux系统及各种配置文件 ------------Editable Text Configuration–可编辑的文本配置
/home 存放所有普通用户的默认工作目录 也叫普通用户的家目录
/lib 库文件存放目录。-----library
/media:类windows的其他设备,例如U盘、光驱等等,识别后linux会把设备放到这个目录下。—media 媒体
/mnt:临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。—mount 临时文件系统的安装点
/opt:有些软件包会被安装在这里,—optional 可选择的–Optional application software packages–可选的应用软件包
/proc 系统进程目录 比如cpu、内存的信息都存放在该目录中----Processes 进程
/root 管理员的主目录
/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。
/sbin 超级用户可以使用的命令的存放目录-----Superuser Binaries
/srv:存放服务启动后需要提取的数据
/sys: 该目录下的所有子目录代表着系统中当前被发现的所有块设备
/tmp 这个目录是用来存放一些临时文件的。— Temporary
/usr 存放其他用户应用程序,通常被划分成很多子目录,用户存放不同类型的应用程序—Unix Shared Resources-- 用于存放共享的系统资源
这个目录就好比 windows的program files
/var 存放系统中经常需要变化的一些文件,比如系统日志文件、缓冲缓存文件等等----Variable–变量

基础命令

  • 查看内核版本:uname -r

  •   [root@xieyuhui /]# uname -r
      3.10.0-957.el7.x86_64
    
  • 查询cpu信息:cat /proc/cpuinfo

  • 查看内存:cat /proc/meminfo;free -m

    [root@xieyuhui /]# free -m
                  total        used        free      shared  buff/cache   available
    Mem:           3932         418        3133          18         379        3218
    Swap:          4095           0        4095
    

*查看设置主机名:
hostname --查看主机名

[root@xieyuhui /]# hostname
xieyuhui.example.com

hostname kami (临时生效)—临时修改主机名,重启后失效

[root@xieyuhui /]# hostname kami
[root@xieyuhui /]# hostname
kami
  • hostnamectl set-hostname kami (永久生效)—永久修改主机名

  • 查看IP地址

  • ifconfig 查看所有网卡的ip信息 ip addr(简写 ip a)
    ifconfig ens160 查看ens160网卡的ip信息 ip addr show ens160

  • 重启
    shutdown -r now

    reboot

  • 关机
    shutdown -h now

    poweroff

  • 延迟启动
    shutdown -r + 时间

  • cd --change directory —切换工作目录
    绝对路径 以根目录“/”为起点, /etc/sysconfig/
    相对路径 以当前工作目录为起点 etc/sysconfig/
    cd . 表示当前目录
    cd … 表示当前目录的上一级目录
    cd ~ 表示当前用户的宿主目录
    cd - 表示返回原来所在目录

    [root@xieyuhui /]# ls
    bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
    [root@xieyuhui /]# cd usr
    [root@xieyuhui usr]# cd .
    [root@xieyuhui usr]# cd ..
    [root@xieyuhui /]# cd usr
    [root@xieyuhui usr]# cd -
    [root@xieyuhui /]# cd -
    [root@xieyuhui usr]# cd ~
    [root@xieyuhui ~]# 
    

ls --list–列表显示目录内容

    ~~~
    [root@xieyuhui /]# ls
    bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
          ~~~

​    -a    显示所有(all)的子目录和文件,包括隐藏文件
​            
[root@xieyuhui ~]# ls -a
	       .                .bash_history  .bashrc  .cshrc   Documents  .ICEauthority         Music     .tcshrc
	       ..               .bash_logout   .cache   .dbus    Downloads  initial-setup-ks.cfg  Pictures  Templates
	       anaconda-ks.cfg  .bash_profile  .config  Desktop  .esd_auth  .local                Public    Videos

文件前面带点表示隐

-A 显示除了隐藏文件外的其他子目录和文件

       [root@xieyuhui ~]# ls -A
       anaconda-ks.cfg  .bash_profile  .config  Desktop    .esd_auth             .local    Public     Videos
       .bash_history    .bashrc        .cshrc   Documents  .ICEauthority         Music     .tcshrc
       .bash_logout     .cache         .dbus    Downloads  initial-setup-ks.cfg  Pictures  Templates

        -l     以长格式(long)显示文件和目录列表的详细信息,包括文件类型、权限、大小等等
       
       ~~~
       [root@xieyuhui ~]# ls -l
       total 8
       -rw-------. 1 root root 1901 Jul 23 11:04 anaconda-ks.cfg
       drwxr-xr-x. 2 root root    6 Jul 23 11:06 Desktop
       drwxr-xr-x. 2 root root    6 Jul 23 11:06 Documents
       drwxr-xr-x. 2 root root    6 Jul 23 11:06 Downloads
       -rw-r--r--. 1 root root 1949 Jul 23 11:05 initial-setup-ks.cfg
       drwxr-xr-x. 2 root root    6 Jul 23 11:06 Music
       drwxr-xr-x. 2 root root    6 Jul 23 11:06 Pictures
       drwxr-xr-x. 2 root root    6 Jul 23 11:06 Public
       drwxr-xr-x. 2 root root    6 Jul 23 11:06 Templates
       drwxr-xr-x. 2 root root    6 Jul 23 11:06 Videos
       ~~~
       
         -d    显示目录(directory)本身的属性,而不是显示目录的内容 
       
       ~~~
       [root@xieyuhui /]# ls
       bin   etc   lib64  opt   run   sys  var
       boot  home  media  proc  sbin  tmp
       dev   lib   mnt    root  srv   usr
       [root@xieyuhui /]# ls -d tmp
       tmp
       [root@xieyuhui /]# ls -d opt
       opt
       ~~~
       
       ​                  -r     reverse,倒序列出目录和文件
       
       ​    	           -R    以递归(Recursive)的方式显示置顶目录及其子目录中的所有内容
       
       ​                   -h    human-readable,为了方便阅读,给列出的文件信息中文件大小加一个单位(K,M,G),一般是和-l一起使用
       
       ​	              -t     time 按照时间信息排序,默认是由后往前排序。
       ​                 -S    --Sort=size    按文件大小排序,由大到小

  • mkdir —make directory–创建新目录 如 mkdir 目录名

    [root@xieyuhui tmp]# ls
    [root@xieyuhui tmp]# mkdir dir
    [root@xieyuhui tmp]# ls
    dir
    

    -p 一次性创建嵌套的多层目录。 如 mkdir -p /目录/目录/目录/

    [root@xieyuhui tmp]# ls
    dir  dir1
    [root@xieyuhui tmp]# ls  dir1/dir2  
    dir3
    
  • touch —创建空文件 比如 touch 文件名
    同一目录下,可以同时创建多个文件 比如 touch a b c

  	 [root@xieyuhui tmp]# ls
  	 dir  dir1
  	 [root@xieyuhui tmp]# touch a b c
  	 [root@xieyuhui tmp]# ls
  	 a  b  c  dir  dir1
  • ln —link 创建链接
    创建硬链接 ln 源文件路径 链接文件路径

    [root@xieyuhui tmp]# ln /tmp/a /tmp/lian1
    [root@xieyuhui tmp]# ls
    a  b  c  dir  dir1  lian1
    

    创建软链接 ln -s 源文件路径 链接文件路径

      [root@xieyuhui tmp]# ln -s /tmp/dir1  /tmp/lian2
      [root@xieyuhui tmp]# ls
      a  b  c  dir  dir1  lian1  lian2
      
      ​	        共同点:无论是访问软连接还是硬链接,与直接访问原始文件的效果是一样的。
      ​		    修改链接文件内容,源文件也随之改动。
      ​	        区别:硬链接:只能对文件创建链接,源文件删除后,链接的文件仍可用
      ​		               软连接:可以对文件也可以对目录创建软连接,源文件删除后,软连接就失效。		
    
  • cp —copy 复制文件或目录

[root@xieyuhui tmp]# cp -r /tmp/dir/ /tmp/dir1
[root@xieyuhui tmp]# ls
a  b  c  dir  dir1  lian1  lian2
[root@xieyuhui tmp]# cd dir1
[root@xieyuhui dir1]# ls
dir  dir2

​ -i interactive 交互式的 覆盖目标同名目录或者文件是提醒用户确认
​ -f force强制 覆盖目标同名目录或文件时不进行提醒,可直接强制复制
​ -p 复制时保留原文件的权限、时间标记等属性不变。
​ -r 复制目录时必须使用此选项,表示递归复制所有文件及子目录
​ cp目录的时候一定要加上-r选项

  • rm --remove 移除 删除文件或目录
    [root@xieyuhui tmp]# ls
a  b  c  dir  dir1  lian1  lian2
    		[root@xieyuhui tmp]# rm -rf dir1
    		[root@xieyuhui tmp]# ls
    		a  b  c  dir  lian1  lian2
		        -f    删除文件或目录时不进行提醒,可直接强制删除。
				-i    删除文件或目录时提醒用户确认。
				-r   删除目录时必须使用此选项,表示递归删除整个目录树(应谨慎使用)
  • mv —move 移动 移动文件或目录、重命名

    [root@xieyuhui tmp]# mv /tmp/a /tmp/dir
    [root@xieyuhui tmp]# ls
    b  c  dir  lian1  lian2
    [root@xieyuhui tmp]# cd dir
    [root@xieyuhui dir]# ls
    a  
    
  • alias —自定义别名 例:alias myls=‘ls -alh’
    移除别名 unalias myls
    永久修改别名 vi ~/.bashrc
    source ~/.bashrc

  • find --查找文件和目录

    [root@xieyuhui /]# find -name "dir"
    ./sys/fs/selinux/class/dir
    ./tmp/dir
    ./usr/bin/dir
    ./usr/share/info/dir
    

    -name 根据文件名进行查找 *代表任意字符 ?代表单个字符—区分大小写
    -iname 不区分大小写
    -size 根据文件大小查询 +代表大于 -代表小于 常用的单位k、M、G
    -user 根据文件是否属于目标用户查询
    -type 根据文件类型查找
    普通文件(f)
    目录文件(d)
    块设备文件(b):指的是成块读取数据的设备(磁盘、内存等)
    字符设备文件(c):指的是按单个字符读取数据的设备(鼠标、键盘等)
    链接文件(l)
    -exec 执行命令

  • 文件系统类型

  • cat 一次性显示文件的所有内容

    [root@xieyuhui tmp]# echo 12345 >b
    [root@xieyuhui tmp]# cat b
    12345
    

    more 分页查看文件内容,显示查看内容所占文档的百分比 无法逐行向上查看
    enter—逐行向下查看
    空格键----向下翻页
    b -----向上翻页
    q–退出,显示已经查看过的文件内容 或者文件内容浏览完后自动退出

    在这里插入图片描述

    less 分页查看文件内容 能够向上逐行查看
    enter—逐行向下查看
    空格键----向下翻页
    b -----向上翻页
    q ----退出,但是不会显示已经查看过的文件内容

在这里插入图片描述

方向键向上可以往上翻

head 默认查看文件内容的前10行

[root@xieyuhui /]# find / -size +1k -size -100M | head
/boot
/boot/efi/EFI/centos/MokManager.efi
/boot/efi/EFI/centos/mmx64.efi
/boot/efi/EFI/centos/shim.efi
/boot/efi/EFI/centos/shimx64-centos.efi
/boot/efi/EFI/centos/shimx64.efi
/boot/efi/EFI/centos/fwupia32.efi
/boot/efi/EFI/centos/fwupx64.efi
/boot/efi/EFI/BOOT/BOOTX64.EFI
/boot/efi/EFI/BOOT/fallback.efi

tail 默认查看文件内容的后10行

[root@xieyuhui /]# find / -size +1k -size -100M | tail
find: ‘/proc/59055/task/59055/fd/5’: No such file or directory
find: ‘/proc/59055/task/59055/fdinfo/5’: No such file or directory
find: ‘/proc/59055/fd/6’: No such file or directory
find: ‘/proc/59055/fdinfo/6’: No such file or directory
/usr/libexec/gnome-software-restarter
/usr/libexec/nm-libreswan-auth-dialog
/usr/libexec/gnome-system-monitor/gsm-kill
/usr/libexec/gnome-system-monitor/gsm-renice
/usr/libexec/gnome-calculator-search-provider
/usr/libexec/gsd-disk-utility-notify
/usr/libexec/pk-gstreamer-install
/usr/libexec/pk-command-not-found
/usr/libexec/microcode_ctl/check_caveats
/usr/libexec/microcode_ctl/update_ucode

管道符 “|” :管道符前面命名执行的结果给管道符后面命令当参数使用

wc–统计文件中的字节数、单词数、行数

[root@xieyuhui /]# find / -size +1k -size -100M | wc -l
find: ‘/proc/59225/task/59225/fd/5’: No such file or directory
find: ‘/proc/59225/task/59225/fdinfo/5’: No such file or directory
find: ‘/proc/59225/fd/6’: No such file or directory
find: ‘/proc/59225/fdinfo/6’: No such file or directory
118949

-c 统计文件中的字节数
-w 统计文件中的单词数
-l 统计文件中的行数

grep----过滤、筛选

grep “字符串”
grep -v “字符串” 不包含过滤的内容
grep ^“字符串” 以…开头
grep “字符串”$ 以 … 结尾
grep ^$ 空行
grep -i 不区分大小写

[root@xieyuhui /]# find / -size +1k -size -100M | grep "b" //过滤带有b的

在这里插入图片描述

gzip—压缩—.gz结尾

gzip aa ------aa.gz 压缩
通过gzip给文件压缩,自动生成一个.gz结尾的压缩文件,且源文件自动删除

gzip -d aa.gz 解压
gunzip aa.gz 解压
通过gunzip解压压缩文件,解压后,压缩文件自动删除。

[root@xieyuhui tmp]# ls
b  c  dir  lian1  lian2
[root@xieyuhui tmp]# gzip b
[root@xieyuhui tmp]# ls
b.gz  c  dir  lian1  lian2
[root@xieyuhui tmp]# gunzip b.gz
[root@xieyuhui tmp]# ls
b  c  dir  lian1  lian2
[root@xieyuhui tmp]# 

bzip2 —压缩—.bz2

bzip2 aa -----aa.bz2 压缩
bzip2 -d aa.bz2 解压
bunzip2 aa.bz2 解压

[root@xieyuhui tmp]# bzip2 b
[root@xieyuhui tmp]# ls
b.bz2  c  dir  lian1  lian2
[root@xieyuhui tmp]# bunzip2 b.bz2 
[root@xieyuhui tmp]# ls
b  c  dir  lian1  lian2
[root@xieyuhui tmp]# 

gzip和bzip2都不支持对目录进行压缩或者解压

  • tar:

    -c:创建(Create).tar格式的包文件。
    -C:解包时指定释放的目标文件夹。
    -f:表示使用归档文件。
    -j:调用bzip2程序进行压缩或解压。
    -p:打包时保留文件及目录的权限。
    -P:打包时保留文件及目录的绝对路径。
    -t:列表查看包内的文件。
    -v:输出详细信息(Verbose)。
    -x:解开.tar格式的包文件。
    -z:调用gzip程序进行压缩或解压。

    压缩常用: tar -czvf 解压常用 : tar -xzvf

    ​ tar -cjvf tar -xjvf

 [root@kami tmp]# tar -czvf dir.tar.gz dir
 dir/
 dir/abc123
 dir/a
 [root@kami tmp]# ls
 b  b.tar  c  dir  dir.tar.gz  lian1  lian2  text

tar 选项 压缩文件名 源文件名或者目录 ----压缩
tar 选项 压缩文件名 ----解压到当前目录
tar 选项 压缩文件名 -C 目录 —解压到指定目录

  • date ----查看当前系统时间

    [root@kami tmp]# date
    Fri Jul 25 11:29:48 CST 2025
    [root@kami tmp]# date -s 20240723
    Tue Jul 23 00:00:00 CST 2024
    

    date -s 20250916 修改当前系统时间为2025年7月23日0点
    hwclock -w 将系统的时间同步到硬件中去

  • history :列出历史使用命令

  [root@kami tmp]# history
      1  cd /tmp
      2  ls
      3  cd
      4  cd ..
      5  uname -r
      6  cat/proc/cpuinfo
      7  cat /proc/cpuinfo
      
  ~~~
  [root@kami tmp]# !2
  ls
  b  b.tar  c  dir  dir.tar.gz  lian1  lian2  text
  [root@kami tmp]# !cd
  cd -
  /
  [root@kami /]# 
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值