Linux基础入门

一、操作系统安装方法

1、使用u盘安装

工具(前提条件):

<1>u盘

<2>镜像文件iso/msdn.itellyou.cn

<3>把u盘做成PE:大白菜/老毛桃/winPE/软碟通/ultralSO

设置BIOS:通过u盘启动

安装系统:一键恢复

2、使用光驱

工具:镜像光盘/光驱

安装系统 设置BIOS 通过光驱启动

3、硬盘对克

前提条件:所有硬件配置必须相同才可以

4、网络克隆

5、在线安装

二、windows文件格式

FAT16/32 单文件大小不能超过4个G

NTFS 没有限制

EXFAT

计算机组成

  1. 计算机硬件由内设和外设组成

  2. 计算机内部设备包括电源、主板、CPU、内存、硬盘、声卡、 显卡、调制解调器、软驱、光驱,等等

  3. 计算机外部设备包括输入设备中的键盘、鼠标器、扫描仪、数 码相机和语音输入系统、手写输入系统、IC 卡输入系统,输出设 备中的显示系统、各种打印机和绘图仪,等等。

windows系统与Linux系统区别

windows:属于多根文件系统 e.g. C:\ D:\ E:\ 在dos界面命令下不区分大小写;

Linux:Linux操作系统严格区分大小写

Linux系统

一般由4部分组成:内核、shell、文件系统、应用程序

Linux是一个多用户、多任务的操作系统,可以让多个用户同时使用。

Linux命令终端 [root@localhost~]#

root:当前登录用户名称,会根据登录的用户不同而进行改变

@:没有含义,就是连接符

localhost:当前登录的主机名,可以修改

~:当前工作目录,~代表的是当前目录为家目录,会根据工作目录的变化而变化

#:代表当前登录的用户为超级管理员

$:代表当前登录的用户为普通用户

Linux的目录结构

/ (根目录)是最顶级的目录了

Linux只有一个顶级目录: / 路径描述的层次关系同样适用 / 来表示

e.g. /home/test/a.txt,表示根目录下的home文件夹内有test文件夹,内有a.txt

linux系统中一切皆文件

/sbin

s就是super User的意思,这里存放的是系统管理员使用的系统管理程序。

/home

存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一版该目录名是以用户的账号命名的。

/root

该目录为系统管理员,也称为超级权限者的用户主目录。

/lib

系统开机所需要最基本的动态连接共享库,其作用类似于windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。

/etc

所有的系统管理所需要的配置文件和子目录。

/usr

这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program fies目录。

/boot

这里存放的是启动linux时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放这里。

/proc

这个目录是一个虚拟目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

/srv

service缩写,该目录存放一些服务启动之后需要提取的数据。

/sys

这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs。

/tmp

这个目录是用来存放一些临时文件的。

/dev

类似于windows的设备管理器,把所有的硬件用文件的形式存储。管理着所有设备,例如CPU、硬盘等等

/media

linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

centos7迁移到/run/media

/mnt

系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt上,然后进入该目录就可以查看里面的内容了。和media差不多

/opt

这是给主机额外安装软件所摆放的目录。比如你安装一个mysql数据库则就可以放在这个目录下。默认是空的。

/var

这个目录中存放着在不断扩充的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

/lost+found

这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

/www

/www目录可以用于存储Web应用程序或网站文件,/www目录没有特别的用途,它只是一个常规目录,可以根据需要进行使用和管理。

三、Linux常用命令

ls命令

功能:列出目录下文件信息

语法:ls [-l -h -a -al] [参数]

  • 参数:被查看的文件夹,不提供参数,表示查看当前工作目录

  • ls,后面不跟任何参数,显示的是当前目录的文件

  • -l,以列表形式查看

  • -h,配合-l,以更加人性化的方式显示文件大小

  • -a,显示隐藏文件,以点(.)开头的文件

  • --all,长格式

  • /,查看指定目录下的文件信息

  • ll(别名),"ls -l" "ls -al"

隐藏文件、文件夹

在Linux中以.开头的,均是隐藏的。默认不显示出来,需要-a选项才可查看到。

pwd命令

功能:以绝对路径方式显示工作目录信息

语法:pwd

cd命令

功能:切换工作目录

语法:cd [目标目录]

参数:目标目录,要切换去的地方,不提供默认切换到当前登录用户HOME目录

案例:cd . cd ./ 表示当前目录 ; cd .. cd ../ 返回上一级目录 ; cd - 显示当前目录路径

HOME目录

每一个用户在Linux系统中都有自己的专属工作目录,称之为HOME目录。

  • 普通用户的HOME目录,默认在:/home/用户名

  • root用户的HOME目录,在:/root

XShell登陆终端后,默认的工作目录就是用户的HOME目录

相对路径、绝对路径

  • 相对路径,==非==/开头的称之为相对路径

    相对路径表示以当前目录作为起点,去描述路径,如test/a.txt,表示当前工作目录内的test文件夹内的a.txt文件

  • 绝对路径,==以==/开头的称之为绝对路径

    绝对路径从开始描述路径

特殊路径符

  • .,表示当前,比如./a.txt,表示当前文件夹内的a.txt文件

  • ..,表示上级目录,比如../表示上级目录,../../表示上级的上级目录

  • ~,表示用户的HOME目录,比如cd ~,即可切回用户HOME目录

mkdir命令

功能:创建文件夹

语法:mkdir [-p] 参数

  • 参数:被创建文件夹的路径

  • 选项:-p,可选,表示创建前置路径;递归创建目录

  • 选项:-v,显示创建的详细信息

rmdir命令

功能:删除空目录(注意:只能删除目录文件)

语法:rmdir [-p] 参数

  • 参数:递归删除空目录

  • 选项:-p,递归删除空目录

  • 选项:-v,显示删除的详细信息

touch命令

功能:创建普通文件

语法:touch 参数

  • 参数:被创建的文件路径

cat命令

功能:查看文件内容

语法:cat 参数

  • 参数:被查看的文件路径

  • 选项:-n,显示行号

more命令

功能:查看文件,可以支持翻页查看

语法:more 参数

  • 参数:被查看的文件路径

  • 选项:-num,num是数字,表示一屏要显示行数

  • 选项:+num,num表示数字,表示从第几行开始要显示

  • 在查看过程中:

    • 空格键翻页

    • q退出查看

cp命令

功能:复制文件、文件夹

语法:cp [-r] 参数1 参数2

  • 参数1,被复制的

  • 参数2,要复制去的地方

  • 选项:-r,可选,复制文件到目标目录文件时,可以复制目标文件下的目录文件

注意:源文件可以有多个,但是目标文件只能有一个;默认情况下,cp不支持复制目录文件

示例:

  • cp a.txt b.txt,复制当前目录下a.txt为b.txt

  • cp a.txt test/,复制当前目录a.txt到test文件夹内

  • cp -r test test2,复制文件夹test到当前文件夹内为test2存在

mv命令

功能:移动文件、文件夹

语法:mv 参数1 参数2

  • 参数1:被移动的

  • 参数2:要移动去的地方,参数2如果不存在,则会进行改名

rm命令

功能:删除文件、文件夹

语法:rm [-r -f] 参数...参数

  • 参数:支持多个,每一个表示被删除的,空格进行分隔

  • 选项:-r,删除文件夹使用,递归删除文件信息

  • 选项:-f,强制删除,不会给出确认提示,一般root用户会用到

rm命令很危险,一定要注意,特别是切换到root用户的时候。

which命令

功能:查看命令的程序本体文件路径

语法:which 参数

  • 参数:被查看的命令

find命令

功能:搜索文件

语法1按文件名搜索:find 路径 -name 参数

  • 路径,搜索的起始路径

  • 参数,搜索的关键字,支持通配符*, 比如:*test表示搜索任意以test结尾的文件

grep命令

功能:过滤关键字

语法:grep [-n] 关键字 文件路径

  • 选项-n,可选,表示在结果中显示匹配的行的行号。

  • 选项-v,可选,反向选择(配置文件中的注释排除)。

  • 选项-i,可选,不区分大小写。

  • 选项-c,可选,统计匹配的行数(行号)。

  • 选项-w,可选,以整词形式去匹配内容)。

  • 选项-r,可选,递归搜索目录文件中包含所查询字符串的信息 。

  • 参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用""将关键字包围起来

  • 参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口

参数文件路径,可以作为管道符的输入

wc命令

功能:统计

语法:wc [-c -m -l -w] 文件路径

  • 选项,-c,统计bytes数量/字节数

  • 选项,-m,统计字符数量

  • 选项,-l,统计行数

  • 选项,-w,统计单词数量

  • 参数,文件路径,被统计的文件,可作为内容输入端口

参数文件路径,可作为管道符的输入

管道符 |

写法:|

功能:将符号左边的结果,作为符号右边的输入

示例:

cat a.txt | grep itheima,将cat a.txt的结果,作为grep命令的输入,用来过滤itheima关键字

可以支持嵌套:

cat a.txt | grep itheima | grep itcast

echo命令

功能:输出内容

语法:echo 参数

  • 参数:被输出的内容

`反引号

功能:被两个反引号包围的内容,会作为命令执行

示例:

  • echo `pwd`,会输出当前工作目录

tail命令

功能:查看文件尾部内容

语法:tail [-f] 参数

  • 参数:被查看的文件

  • 选项:-n num,num显示数字,表示要显示多少行

  • 选项:-f num,持续跟踪文件修改,显示最新添加的文件信息(最新追加的内容)

head命令

功能:查看文件头部内容

语法:head [-n] 参数

  • 参数:被查看的文件

  • 选项:-n num,查看的行数

  • 选项:-v,显示文件名称信息

重定向符

功能:将符号左边的结果,输出到右边指定的文件中去

标准输出重定向

  • >,表示覆盖输出,清空输出重定向

  • >>,表示追加输出,追加输出重定向

错误输出重定向

  • 2>,清空错误输出重定向

  • 2>>,追加错误输出重定向

标准及错误输出重定向

  • &>>,无论内容是否存在都放到另一个文件中

vim编辑器

命令模式快捷键

底线命令快捷键

1、命令行模式

能对文件进行创建、查找、替换、修改、删除、复制、粘贴等操作、以及回到行首或行尾,指定跳转到某一行。

2、插入模式/编辑模式

向文件里面插入内容

3、末行模式

对文件进行保存、不保存、替换等操作

工作模式之间的切换

查看命令的帮助

可以通过:命令 --help查看命令的帮助手册

查看命令的详细手册

可以通过:man 命令查看某命令的详细手册

四、Linux常用操作

软件安装

  • CentOS系统使用:

    • yum [install remove search] [-y] 软件名称

      • install 安装

      • remove 卸载

      • search 搜索

      • -y,自动确认

  • Ubuntu系统使用

    • apt [install remove search] [-y] 软件名称

      • install 安装

      • remove 卸载

      • search 搜索

      • -y,自动确认

yum 和 apt 均需要root权限

systemctl

功能:控制系统服务的启动关闭等

语法:systemctl start | stop | restart | disable | enable | status 服务名

  • start,启动

  • stop,停止

  • status,查看状态

  • disable,关闭开机自启

  • enable,开启开机自启

  • restart,重启

软链接

功能:创建文件、文件夹软链接(快捷方式)

语法:ln -s 参数1 参数2

  • 参数1:被链接的

  • 参数2:要链接去的地方(快捷方式的名称和存放位置)

日期

语法:date [-d] [+格式化字符串]

  • -d 按照给定的字符串显示日期,一般用于日期计算

  • 格式化字符串:通过特定的字符串标记,来控制显示的日期格式

    • %Y 年%y 年份后两位数字 (00..99)

    • %m 月份 (01..12)

    • %d 日 (01..31)

    • %H 小时 (00..23)

    • %M 分钟 (00..59)

    • %S 秒 (00..60)

    • %s 自 1970-01-01 00:00:00 UTC 到现在的秒数

时区

修改时区为中国时区

ntp

功能:同步时间

安装:yum install -y ntp

启动管理:systemctl start | stop | restart | status | disable | enable ntpd

手动校准时间:ntpdate -u ntp.aliyun.com

ip地址

格式:a.b.c.d

  • abcd为0~255的数字

特殊IP:

  • 127.0.0.1,表示本机

  • 0.0.0.0

    • 可以表示本机

    • 也可以表示任意IP(看使用场景)

查看ip:ifconfig

网卡文件地址:/etc/sysconfig/network-scripts/ifcfg-ens33

配置ip地址(虚拟机重启后变回原来的ip地址)

ifconfig ens33 192.168.64.136 netmask 255.255.255.0

ip address | ip add | ip a

主机名

功能:Linux系统的名称

查看:hostname

设置:hostnamectl set-hostname 主机名

TYPE="Ethernet"

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="static" # 改为static,固定IP

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="ens33"

UUID="1b0011cb-0d2e-4eaa-8a11-af7d50ebc876"

DEVICE="ens33"

ONBOOT="yes"

IPADDR="192.168.88.131" # IP地址,自己设置,要匹配网络范围

NETMASK="255.255.255.0" # 子网掩码,固定写法255.255.255.0

GATEWAY="192.168.88.2" # 网关,要和VMware中配置的一致

DNS1="192.168.88.2" # DNS1服务器,和网关一致即可

永久修改主机IP进入目录

1、cd /etc/sysconfig/network-scripts

2、vim ifcfg-ens33

BOOTPROTO="static"

3、systemctl restart network

4、ifconfig ens33 ping -c3 www.baidu.com

ps命令

功能:查看进程信息

语法:ps -ef,查看全部进程信息,可以搭配grep做过滤:ps -ef | grep xxx

kill命令

语法:kill [-9] 进程ID

选项:-9,表示强制关闭进程,不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。

nmap命令

安装nmap:yum -y install nmap

语法:nmap 被查看的IP地址

  • 22端口,一般是ssh服务使用,即xshell远程连接linux所使用的端口

netstat命令

功能:查看端口占用

用法:netstat -anp | grep xxx

ping命令

测试网络是否联通

语法:ping [-c num] 参数

  • 选项:-c,检查的次数,不使用-c选项,将无限次数持续检查

  • 参数:ip或主机名,被检查的服务器的ip地址或主机名地址

wget命令

wget是非交互式的文件下载器,可以在命令行内下载网络文件

语法:wget [-b] url

  • 选项:-b,可选,后台下载,会将日志写入到当前目录的wget-log文件

  • 参数:url,下载链接

  • 参数:-O,对文件重命名

  • 参数:-p,把下载文件存放到指定目录中

  • 注意:-O与-P不能一起使用

注意:无论下载是否完成,都会生成要下载的文件,如果下载未完成,请及时清理未完成的不可用文件。

curl命令

curl可以发送http网络请求,可用于:下载文件、获取信息等

语法:curl [-0] url

  • 选项:-O,用于下载文件,当url是下载链接时,可以使用此选项保存文件

  • 参数:url,要发起请求的网络地址

top命令

功能:查看主机运行状态

语法:top,查看基础信息

交互式模式中,可用快捷键:

df命令

查看磁盘占用

语法:df [-h[

选项:-h,以更加人性化的单位显示

iostat命令

查看CPU、磁盘的相关信息

语法:iostat [-x] [num1] [num2]

  • 选项:-x,显示更多信息

  • num1:数字,刷新间隔,num2:数字,刷新几次

tps:该设备每秒的传输次数(Indicate the number of transfers per second that where issued to the device)。

"一次传输"意思是"一次I/O请求",多个逻辑请求可能会被合并为"一次I/O请求","一次传输"请求的大小时未知的。

  • 使用iostat的-x选项,可以显示更多信息

sar命令

查看网络统计

环境变量

  • 临时设置:export 变量名=变量值

  • 永久设置:

    • 针对用户,设置用户HOME目录内:.bashrc文件

    • 针对全局,设置/etc/profile

PATH变量

记录了执行程序的搜索路径

可以将自定义路径加入PATH内,实现自定义命令在任意地方均可执行的效果

$符号

可以取出指定的环境变量的值

语法:$变量名

示例:

echo $PATH,输出PATH环境变量的值

echo ${PATH}ABC,输出PATH环境变量的值以及ABC

如果变量名和其它内容混淆在一起,可以使用${}

压缩解压

压缩

tar -zcvf 压缩包 被压缩1...被压缩2...被压缩N

  • -z,表示使用gzip,可以不写

  • -c,创建压缩文件

  • -x,解压文件

  • -f,后面跟压缩文件名称,注意必须是最后一个参数,不能放在其他位置

  • -j,是以bzip2格式进行压缩解压

  • -v,显示压缩或解压的过程

  • -C,指定解压到某个目录文件中

zip [-r] 参数1 参数2 参数N

  • -r,递归压缩

解压

tar -zxvf 被解压的文件 -C 要解压去的地方

  • -z表示使用gzip,可以省略

  • -C,可以省略,指定要解压去的地方,不写解压到当前目录

unzip [-d] 参数

语法:unzip [-d] 参数

  • -d,指定要解压去的位置,同tar的-C选项

  • 参数,被解压的zip压缩包文件

su命令

切换用户,直接切换用户,不切换环境

语法:su [-] [用户]

  • -,表示切换后加载环境变量,建议带上

  • 用户可以省略,省略默认切换到root

sudo命令

  • 可以让一条普通命令带有root权限,语法:sudo 其他命令

  • 需要以root用户执行visudo命令,增加配置方可让普通用户有sudo命令的执行权限

比如:在visudo内配置如上内容,可以让itheima用户,无需密码直接使用sudo

itheima ALL=(ALL) NOPASSWD: ALL

chmod命令

修改文件、文件夹权限

语法:chmod [-R] 权限 参数

  • 权限,要设置的权限,比如755,表示:rwxr-xr-x

  • 参数,被修改的文件、文件夹

  • 选项-R,设置文件夹和其内部全部内容一样生效

chown命令

修改文件、文件夹所属用户、组

语法:chown [-R] [用户][:][用户组] 文件或文件夹

用户组管理

以下命令需root用户执行

  • 创建用户组 groupadd 用户组名

  • 删除用户组 groupdel 用户组名

  • 修改用户组 groupmod -g 用户组名

用户管理

useradd:用来添加一个新用户,注意:使用该命令添加用户时,不跟任何参数会自动添加一个同名的用户组;

  • 参数 -u,用户的uid

  • 参数 -g,用户的组gid

  • 参数 -u,用户的uid

  • 参数 -d 指定用户的家目录(默认情况下用户的家目录时/home/)

  • 参数 -c 表示注释信息

  • 参数 -s 指用户使用bash信息

  • 参数 -G 指定用户的扩展用户组

userdel:删除用户,默认情况下会把同名用户组删除

注意:用户组如果被其他用户作为扩展组或用户组,删除用户时,只会把用户删除,同名的用户组不会被删除,除非解除占用;

  • 参数 -r 删除用户家目录

  • 参数 -f 强制删除,即用户被占用也同样会删除

useradd: 修改用户的基本信息

  • 参数 -u,用户的uid

  • 参数 -g,用户的组gid

  • 参数 -G,修改用户的扩展组

  • 参数 -d ,修改用户的家目录,注意需要提前创建家目录

id: 查看用户的属性信息

  • 参数 -u ,查看用户id编号

  • 参数 -g ,查看用户组id编号

  • 参数 -G,查看用户扩展组id编号

  • 参数 -n ,显示名称但需要其他参数使用

genenv命令

  • getenv group,查看系统全部的用户组

  • getenv passwd,查看系统全部的用户

env命令

查看系统全部的环境变量

语法:env

passwd命令

用来为用户或特定用户修改登录密码,该命令默认情况只能由超级管理员来使用

语法:passwd 用户名称

  • 参数 -l ,锁定用户,不让登录

  • 参数 -u,解除锁定

  • 参数 -d,允许空密码登录

  • 参数 --stdin ,标准输入

Linux命令行快捷方式

向上箭头:执行之前执行过的命令

Linux系统命令

重启:init 6

关机:init 0

用户分类

根据用户编号(UID)分类

在Linux中,0~7通常用来表示文件或目录的权限。这些权限分为三个组:所有者、群组和其他用户。每个组都有三个权限位:读(r)、写(w)和执行(x)

其中,数字0~7用来表示权限的组合。每个权限位都有一个特定的数值:

  • 0表示没有权限(---)

  • 1表示执行权限(--x)

  • 2表示写权限(-w-)

  • 3表示写和执行权限(-wx)

  • 4表示读权限(r--)

  • 5表示读和执行权限(r-x)

  • 6表示读和写权限(rw-)

  • 7表示读、写和执行权限(rwx)

用户管理文件

/etc/passwd

用来保存用户的基本信息,包括用户名、备注内容、家目录、是否能够登录bash

root:x:0:0:root:/root:/bin/bash

/etc/group

用来保存用户组相关内容

root:x:0:

/etc/shadow

用来保存与密码相关的内容,该文件只能由超级管理员来查看

root:6Z6F/vqsu$RuM28SqnsFZS9cVfosPdgiqSPSbmdnKOXfI5rgizzCP6QezgBCgT/mS5m7I8WAFO9JKKjbRVzYX13ky6E9cQN/:19583:0:99999:7:::

文件权限管理

drwxr-xr-x.2 root root 6 8月 8 11:42 桌面

drwxr-xr-x.

相关推荐
饮啦冰美式27 分钟前
22.04Ubuntu---ROS2使用rclcpp编写节点
linux·运维·ubuntu
wowocpp27 分钟前
ubuntu 22.04 server 安装 和 初始化 LTS
linux·运维·ubuntu
wowocpp28 分钟前
ubuntu 22.04 server 格式化 磁盘 为 ext4 并 自动挂载 LTS
服务器·数据库·ubuntu
Huaqiwill28 分钟前
Ubuntun搭建并行计算环境
linux·云计算
wclass-zhengge31 分钟前
Netty篇(入门编程)
java·linux·服务器
Lign1731432 分钟前
ubuntu unrar解压 中文文件名异常问题解决
linux·运维·ubuntu
方方怪36 分钟前
与IP网络规划相关的知识点
服务器·网络·tcp/ip
vip4511 小时前
Linux 经典面试八股文
linux
大霞上仙1 小时前
Ubuntu系统电脑没有WiFi适配器
linux·运维·电脑
weixin_442643422 小时前
推荐FileLink数据跨网摆渡系统 — 安全、高效的数据传输解决方案
服务器·网络·安全·filelink数据摆渡系统