百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Linux入门使用教程

ahcoder 2025-01-18 17:08 10 浏览

Linux入门

一、初始化配置

CentOS初始化安装

在开始熟悉Linux操作命令之前,我们必须先搭建好Linux操作系统环境,我们这里选用的是Linux的发行版本CentOS7,在安装好CentOS操作系统后,我们还需要在系统上进行一系列的初始化操作。

1. 第一次安装好Linux后我们需要进行初始化配置,比如设置管理员密码、打开网络接口等。

首先设置管理员密码,输入sudo passwd进行设置

2. 设置密码后我们需要学会使用超级权限命令su。在界面中输入su然后输入密码可以进入超级管理模式,此时可以获得系统的最高管理权限,我们在更改系统类型的文档时就不会出现权限不够的情况。

3. 接下来需要设置网络,由于是第一次使用,系统的网络接口可能处于关闭状态,此时我们需要手动打开

CentOS网络配置

开启网络连接:

(1) 输入cd /etc/sysconfig/network-scripts命令,打开/etc/sysconfig/network-scripts文件夹。

(2) 输入ls命令,查看network-scripts目录下所有文件。

(3) 输入vi ifcfg-enp33,编辑ifcfg-enp33文件。

(4) 将ONBOOT原本为no,设置为yes,按ESC键,输入:wq命令,保存文件并退出。

(5) 输入service network restart命令,重启网络。

(6) 安装net-tools.x86_64 net-tools.x86_64

yum search ifconfig //查找有没有ifconfig文件

yum -y install net-tools.x86_64

(7) 输入ifconfig 查看网络连接。

此时我们使用ping命令ping以下外网,比如百度:

ping www.baidu.com

可以看到百度的地址被成功的解析出来,数据包也可以正常的发送。

到这里初始化配置就结束了,可以开始正常使用Liunx操作系统了。

二、Bash Shell管理Linux

初识shell

GUN bash

Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。

我们可以使用SHELL实现对Linux系统的大部分管理例如:

1. 文件管理

2. 用户管理

3. 权限管理

4. 磁盘管理

5. 软件管理

6. 网络管理 ......

1、bash shell提示符

2、shell语法

shell语法命令由命令 选项 参数构成

例如输入ls命令,可以显示当前目录下的所有文件,输入ls命令和-a参数可以显示当前文件夹下的所有文件,输入ls命令和-a参数再加上/home可查看/home下的隐藏文件,这里的/home是一个路径。其中选项和命令可以有多个。

在Linux中以“.”开头命名的文件都是隐藏文件,

3、bash基本特征

1. 自动补全<tab>

当我们在输入Linux命令或者文件名称或者文件目录时,即使我们没有完整的输入语句,我们可以按<tab>键来实现命令补全

# ls /etc/sysconfig/network-scripts/

# ls /etc/sysconfig/network-scripts/ifcfg-eth0

# cat /etc/sysconfig/network-scripts/ifcfg-eth0

# systemctl restart crond.service

# date -s 12:30

4、快捷键

我们在Linux命令行输入快捷键时,比如Ctrl+C,界面上会显示^C

^C 终止前台运行的程序 //ping 10.18.40.100

^D 退出 等价exit

^L 清屏

^A 光标移到命令行的最前端 //编辑命令

^E 光标移到命令行的后端 //编辑命令

^U 删除光标前所有字符 //编辑命令

^K 删除光标后所有字符 //编辑命令

^R 搜索历史命令,利用关键词

Alt+. 引用上一个命令的最后一个参数,等价于!$

ESC . 引用上一个命令的最后一个参数,等价于!$

# ls /etc/sysconfig/network-scripts/ifcfg-eth0

# cat ESC

使用快捷键可以完成复杂命令的快速编辑。

三、Linux中获得帮助

  1. 命令--help

#ls --help

用法:ls[选项]…[文件]

ls 常见选项

-a all,查看目录下的所有文件,包括隐藏文件

-l 长列表显示

-h human 以人性化方式显示出来

-d 只列出目录名,不列出其他内容

-t 按修改时间排序

-S 按文件的Size排序

-r 逆序排列reverse

-i 显示文件的inode号(索引号)

例:

注:ll=ls -l

date --help

用法:date [选项]... [+格式]

例:

date

date +%F

date +%h-%m

touch `date +%F`_file.txt

注:先运行date +%F命令再创建一个文件

改时间:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

注:“|“表示或者,第一个”[]“内三选一也可以不写,[月日时分[世纪(可以不写)]年][秒]]

# date 0214080019

# date 0214080019.30

date -s 12:00(将时间改为12:00)

  1. man手册名(针对命令帮助,针对配置文件帮助,针对函数帮助)

man ls

man 1 ls(显示第一章)(较少使用)

例:按章节查询

/usr/bin/passwd 修改用户口令命令

/etc/passwd 包含用户信息的配置文件

两个命令重复

# man -f passwd 列出所有章节中的passwd手册

# man 1 passwd passwd命令的帮助

# man 5 passwd 用户配置文件的帮助

在所有章节中查询

man -a passwd

四、Linux目录结构

在使用Linux操作系统时,了解其文件系统可以更好的帮助我们去理解它的操作逻辑。

Linux 磁盘分区和目录

Linux 发行版本之间的差别很少,差别主要表现在系统管理的特色工具以及软件包管理方式的不同。目录结构基本上都是一样的。 Windows 的文件结构是多个并列的树状结构,最顶部的是不同的磁盘(分区),如:C,D,E,F等。Linux 的文件结构是单个的树状结构 . 可以用 tree 进行展示。

每次安装系统的时候我们都会进行分区, Linux 下磁盘分区和目录的关系如下:

  • 任何一个分区都必须挂载到某个目录上。
  • 目录是逻辑上的区分。分区是物理上的区分。
  • 磁盘 Linux 分区都必须挂载到目录树中的某个具体的目录上才能进行读写操作。
  • 根目录("/”)是所有 Linux 的文件和目录所在的地方,需要挂载上一个磁盘分区。

例如:

其中浅蓝色的位置为文件夹的链接,其实际文件组织结构如下图:

使用<cd 文件名>可进入到当前目录下的文件,<cd /文件名/文件名>表示使用绝对路径进入到该文件夹。

使用<cd ..>返回上一层目录。

五、Linux文件路径

路径的作用:定位文件

(思考)要在哪定位文件

将什么文件复制到什么地方

要删除什么地方的文件呢

举例:【root@localhost ~】# /etc/hostname

(意为在根下的etc下的hostname的文件,/etc/hostname为路径) 所以我们是通过路径的方式对文件进行定位。

message便是根下的var下的log下的massage


/home/alice/file1 和 /home/bob/file1 不是同一文件!

/abc/file2 和 abc/file2 有可能是不一样的!

(前者的abc之前有/声明在根目录下,而后者是指当前目录下的abc)

绝对路径: 从/开始的路径 /home/alice/file1 (明确标识了/的文件)

相对路径: 相对于当前目录开始 a.txt ./a.txt ../bob/a.txt [假如:此时在目录/home/alice]

(意为在home下的alice下的一个txt文件)

绝对路径示例:

# useradd alice

# touch /home/alice/file1

# touch ~/file2 (~表示当前文件的家)

# touch ~alice/file3

相对路径示例:

# pwd

/root

# mkdir abc

# touch ../file3

# touch file4

# touch abc/file5

cd 改变目录(或者说切换目录)

cd 绝对路径 cd /home/alice cd ~alice

cd 相对路径 cd Desktop/abc cd .. cd .

cd 专用:

cd - 返回上次目录

cd 直接回家

(无论去到哪里,输入cd可以直接回去)

六、Linux文件管理

1. 文件管理之:创建/复制/移动/删除

创建

文件 touch

# touch file1.txt //无则创建,有则修改时间

# touch file3 file4

# touch /home/file10.txt

# touch /home/file5 file6

# touch /home/{wzry.hpjy}

# touch file{1..20}

# touch file{a..c}

# touch die{a,b,c} //{}集合,等价touch yanga yangb yangc

目录 mkdir

# mkdir dir1

# mkdir /home/dir2 /home/dir3

# mkdir /home/{dir4,dir5}

# mkdir -v /home/{dir6,dir7}

# mkdir -v /hoem/dir8/111/22

# mkdir -pv /hoem/dir8/111/222 //包括其父母的创建,不会有任何消息输出

# mkdir -pv /home/{yang/{dir1,111},bbts}

复制 cp

Usage: cp [OPTION]... [-T] SOURCE DEST

# cd

# mkdir /home/dir{1,2}

# cp -v anaconda-ks.cfg /home/dir1 //目录

# cp -v anaconda-ks.cfg /home/dir1/yang.txt //文件

# cp -rv /etc /home/dir1

# cp -v anaconda-ks.cfg /home/dir90 //没有/home/dir90

# cp -v anaconda-ks.cfg /home/dir2

# cp -v file1 !$

# cp -rv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/passwd /etc/hostname /home/dir2 //

将多个文件拷贝到同一个目录

# cp -rv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/passwd /etc/hostname /etc/hosts .

# cp -r /etc /tmp

# cp -rf /etc /tmp

# \cp -r /etc /tmp

移动 mv

Usage: mv [OPTION]... [-T] SOURCE DEST

# mv file1 /home/dir3 将file2移动到/home/dir3

# mv file2 /home/dir3/file20 将file2移动到/home/dir3,并改名为file20

# mv file4 file5 将file4重命名为file5,当前位置的移动就是重命名

删除 rm

示例:

手动删除: /home/dir1

# cd /home

# rm -rf dir1

-r 递归

-f force强制

-v 详细过程

脚本删除: /home/dir1

rm -rf /home/dir1

2. 文件管理之:查看文件内容

文本文件 (cat tac less more head tail tailf grep ...)

/bin/date

/etc/hosts

/etc/hostname

/etc/sysconfig/network-scripts/ifcfg-eth0

/etc/passwd

/etc/shadow

/etc/group

/etc/grub2.cfg

/etc/resolv.conf

/etc/profile //设置系统环境变量

/etc/bashrc //影响bash shell环境

/var/log/messages //系统主日志文件

/var/log/secure //跟安全相关的日志如ssh登录,本地登录...

cat

-n 显示行号

-A 包括控制字符(换行符/制表符)

linux $

Windows ^M$

示例:b.txt为windows记事本修改

# wget ftp://10.18.40.100/b.txt

# cat -A b.txt

a^M$

# yum -y install dos2unix

# dos2unix b.txt

dos2unix: converting file b.txt to Unix format ...

]# cat -A b.txt

a$

less more head tail tailf

# head /etc/passwd

# head -2 /etc/passwd

# tail /etc/passwd

# tail -1 /etc/passwd

# tail /var/log/messages

# tail -20 /var/log/messages

# tail -f /var/log/secure //-f 动态查看文件的尾部

# tail -F /var/log/secure //-F 动态查看文件的尾部

注:vim, gedit编辑文件时,索引号会改变

grep 针对文件内容进行过滤

# grep 'root' /etc/passwd

# grep '^root' /etc/passwd

# grep 'bash#39; /etc/passwd

# grep 'Failure' /var/log/secure

Centos常用命令

1.文件与目录操作

命令

解析

演示

cd /home

进入 ‘/home’ 目录


cd ..

返回上一级目录


cd ../..

返回上两级目录


cd -

返回上次所在目录


cp file1 file2

将file1复制为file2


cp -a dir1 dir2

复制一个目录


ls

查看目录中的文件


ls -a

显示隐藏文件


ls -l

显示详细信息


ls -lrt

按时间显示文件(l表示详细列表,r表示反向排序,t表示按时间排序)

pwd

显示工作路径


mkdir dir1

创建 ‘dir1’ 目录


mkdir dir1 dir2

同时创建两个目录


mkdir -p /tmp/dir3/dir4

创建一个目录树


mv dir1 dir2

移动/重命名一个目录


rm -f file1

删除 ‘file1’


rm -rf dir1

删除 ‘dir1’ 目录及其子目录内容


2.查看文件内容

命令

解析

演示

cat file1

从第一个字节开始正向查看文件的内容

head -2 file1

查看一个文件的前两行


more file1

查看一个长文件的内容


tac file1

从最后一行开始反向查看一个文件的内容


tail -3 file1

查看一个文件的最后三行


vi file

打开并浏览文件


3.文本内容处理

命令

解析

演示

grep str /tmp/test

在文件 ‘/tmp/test’ 中查找 “str”

grep ^str /tmp/test

在文件 ‘/tmp/test’ 中查找以 “str” 开始的行

grep [0-9] /tmp/test

查找 ‘/tmp/test’ 文件中所有包含数字的行


grep str -r /tmp/*

在目录 ‘/tmp’ 及其子目录中查找 “str”

diff file1 file2

找出两个文件的不同处


sdiff file1 file2

以对比的方式显示两个文件的不同


vi file

操作

解析


i

进入编辑文本模式


Esc

退出编辑文本模式


:w

保存当前修改


:q

不保存退出vi


:wq

保存当前修改并退出vi


4.查询操作

命令

解析

演示

find / -name file1

从 ‘/’ 开始进入根文件系统查找文件和目录


find / -user user1

查找属于用户 ‘user1’ 的文件和目录


find /usr/bin -type f -atime +100

查找在过去100天内未被使用过的执行文件


5.文件压缩与解压

命令

解析

演示

gzip file1

压缩 file1

gunzip file1.gz

解压 file1.gz


tar -c archive.tar file1

把file1打包成 archive.tar(-c: 建立压缩档案)


tar -xvf archive.tar -C /tmp

把压缩包释放到 /tmp目录下


zip file1.zip file1

创建一个zip格式的压缩包


unzip file1.zip

解压一个zip格式的压缩包到当前目录


unzip test.zip -d /tmp/

解压一个zip格式的压缩包到 /tmp 目录


6.yum安装器

命令

解析

演示

yum -y install [package]

下载并安装一个rpm包


yum localinstall [package.rpm]

安装一个rpm包,使用你自己的软件仓库解决所有依赖关系


yum -y update

更新当前系统中安装的所有rpm包


yum update [package]

更新一个rpm包


yum remove [package]

删除一个rpm包


yum list

列出当前系统中安装的所有包


yum search [package]

在rpm仓库中搜寻软件包


yum clean [package]

清除缓存目录(/var/cache/yum)下的软件包


yum clean headers

删除所有头文件


yum clean all

删除所有缓存的包和头文件


7.网络相关

命令

解析

演示

ifconfig eth0

显示一个以太网卡的配置


ifdown eth0

禁用 ‘eth0’ 网络设备


ifup eth0

启用 ‘eth0’ 网络设备


ip addr show

显示网卡的IP地址


8.系统相关

命令

解析

演示

su -

切换到root权限(与su有区别)


shutdown -h now

关机


shutdown -r now

重启


top

罗列使用CPU资源最多的linux任务 (输入q退出)


man ping

查看参考手册(例如ping 命令)


passwd

修改密码


df -h

显示磁盘的使用情况


cal -3

显示前一个月,当前月以及下一个月的月历


cal 10 1988

显示指定月,年的月历


相关推荐

Linux 6.15将更新媒体子系统:高通Iris驱动首次亮相

IT之家3月24日消息,科技媒体phoronix昨日(3月23日)发布博文,报道称Linux6.15内核将于本周启动合并窗口,首批提交的PullRequest请求之一,就...

Ubuntu 25.04发行版登场:Linux 6.14内核,带来多项技术革新

IT之家4月18日消息,科技媒体linuxiac昨日(4月17日)发布博文,报道称代号为PluckyPuffin的Ubuntu25.04发行版正式上线,搭载最新Linu...

WordPress 6.8 版本发布:聚焦性能升级,代号“Cecil”

WordPress6.8版本发布:聚焦性能升级,代号“Cecil”全球最受欢迎的内容管理系统(CMS)WordPress正式推出最新版本6.8,代号“塞西尔”(Cecil),以此致敬传奇钢琴家...

Linus Torvalds接受微软Hyper-V升级 下一代Linux启动会更快

虽然Windows的粉丝和Linux的粉丝经常喜欢进行激烈的键盘大战,但操作系统的制造商们自己也了解彼此的优缺点。毫无疑问,微软也明白这一点,事实上,它甚至鼓励用户尝试Linux,尽管是使用...

Debian 12发布:Linux内核升级6.1(debian更新内核)

IT之家6月11日消息,Debian是最古老的GNU/Linux发行版之一,也是许多其他基于Linux的操作系统的基础,包括Ubuntu、Kali、MX和树莓派OS等。这...

Linux Mint预告新功能:升级Nemo搜索、LMDE 7支持OEM安装

IT之家4月10日消息,LinuxMint发布了最新月度简讯,宣布增强Nemo文件管理器的文件搜索功能、Cinnamon桌面环境开始支持Wayland、LMDE7(LinuxM...

Linux 6.2合并大量网络系统更新:推进Wi-Fi 7和800 Gbps网络

IT之家12月15日消息,Linux6.2合并窗口期内已经确认将会合并大量网络子系统更新。和以往版本相同,Linux6.2内核更新周期在网络功能上有大量的改进,更多的细节可以访问这条...

Linux内核升级实践指南(linux内核怎么升级)

Linux内核升级是一个需要谨慎操作的过程,但掌握正确方法后可以显著提升系统性能、安全性或硬件兼容性。以下是一份详细的实践指南,涵盖主流方法及注意事项:一、准备工作查看当前内核版本bashuname...

Linux又将迎来大版本更新 5.20版可能会被称为Linux 6.0

如果你错过了昨天Linux5.19的发布公告,那么这一消息需要回顾一下:被称为Linux5.20的开发中的内核很可能会被称为Linux6.0。根据LinusTorvalds对现代版本的划分,L...

周六的娱乐就是安装一台OracleLinux虚拟机(一)

每个人有每个人的娱乐方式。老父亲可能喜欢摆弄一些机械工具修修补补。我趁着周六安装一套OracleLinux,寓学于乐。在oracle网站上,下载VirtualBox,现在最新版本是7.0.8。在安装过...

Linux系统下Gaussian 16的安装(linux系统如何安装新软件)

Gaussian是目前使用最多的量子化学计算软件,当前最新的版本为Gaussian16C.01。理论上来说Gaussian并不需要安装,因为高斯一般是不出售源代码的,只有二进制文件,以Gaussi...

「Linux基础」VMWare虚拟机安装CentOS后配置静态ip

在VMWare中安装本地虚拟机CentOS7操作系统,动态IP地址会经常变化,不便于管理与实验。为了便于实验,考虑设置成静态IP地址,目标是本地局域网可以通过NAT网关互相访问,且能连接互联网。由于是...

Win10虚拟机,Hyper-V安装CentOS,一次成功

打开控制面板,选择程序选择启用或关闭Windows功能选中Hyper-V下所有的组件。提示我们需要,重启计算机,保存我们的文件,之后点击“立即重新启动”选择开始菜单,输入Hy,就可以打开虚拟机管理器了...

如何在Windows 10中的Hyper-V虚拟机上安装CentOS Linux

注意双重引导的一种可行且相当不错的替代方法是在虚拟机上安装各种操作系统。Microsoft正式支持CentOS作为Hyper-V的来宾OS,并且在安装时可以很好地集成。自CentOS6.4版以来,用...

安装Linux虚拟机的5个理由,以及不安装的5个原因

虚拟机(VM)允许你在不永久更改计算机的情况下探索Linux。如果你对Linux很好奇,但犹豫是否要尝试,VM提供了一个安全、灵活的解决方案。如果这是你第一次听说虚拟机,虚拟机就像“计算机中的计算机”...