初识Linux

Linux

一、时代背景

前期背景:
前期背景
开源:
开源

二、操作系统

介绍

操作系统是一款做软硬件管理的软件
作用:使计算机更好用(游戏流畅,不卡顿)

操作系统贯穿始终:
一台计算机的划分

Linux

认识Linux

Linux官网

Linux版本:
Linux版本

Linux应用场景

  1. 互联网公司的服务器后端
  2. 智能设备
  3. 嵌入式

安装方式

  1. 裸机安装或双系统 —— 不推荐
  2. 虚拟机安装 —— 不推荐
  3. 云服务器 —— 推荐
    腾讯云/阿里云 -> 云服务器 -> 轻量应用服务器 -> 系统镜像-> CentOS7.6

远程登陆

下载Xshell

Xshell下载路径

使用Xshell远程登陆Linux

登陆指令

在终端下敲

ssh 用户名@域名

用户名:root/用root账号创建的普通用户名(下面讲)
域名:服务器的公网IP

三、Linux基本指令

指令就是可执行程序和我们自己写的代码编译好的程序没有区别

普通用户相关指令

  1. 增加普通用户
    adduser 用户名
    指令:adduser kpl(kpl就是用户名)
  2. 给普通用户设置密码 (或更改普通用户密码)
    passwd 用户名
    指令:passwd kpl(给用户kpl设置密码,设置时密码不回显)
  3. 删除用户
    userdel -r 用户名
    指令:userdel kpl(删除kpl用户)
  4. 查看当前登陆账号的用户名
    指令:whoami

Xshell下的复制粘贴

复制:ctrl + (Fn) + insert
粘贴:shift + (Fn) + insert

Windows输入Linux指令

win + x(打开终端,就可以在Windows中输入Linux指令)

Linux下的基本指令(常见)

Linux指令的所在位置:ls /usr/bin (使用ls指令(后面讲)可以查看该路径下的指令)
指令存在位置

拓展:win+x可以打开终端在Windows下输入Linux指令

tree——list contents of directories in a tree-like format

语法:tree [目录] 如果只有tree指令,就默认当前目录

使用tree指令需要安装yum install -y tree

tree指令

ls——list directory contents

补充
文件 = 文件内容 + 文件属性
文件操作 = 对文件内容的操作 + 对属性的操作

ls 携带的选项和文件的属性相关

语法:ls [选项] [目录或文件]
用法:
ls [目录]

  • 列出改目录的所有子目录和文件。(如果只有ls指令,就默认当前目录)

ls [文件名]

  • 显示文件名以及其它信息(根据选项)

ls相关指令使用展示:
ls相关指令使用
初次之外还有以下常用选项:

  1. -i:显示i节点的索引信息
    -i
  2. -k:以k字节的形式表示文件的大小
  3. -n:用数字的UID,GID代替名称
    -n
  4. -r:对目录反向排序
  5. -t:以时间排序
  6. -s:大小排序

pwd——print name of current/working directory

语法:pwd

pwd

cd——change directory

语法:cd [目录名]

cd

touch——create a new file

语法:touch [选项] [文件名]
注意:

  1. 除了新建文件,还有别的功能,eg:change file timestamps(后面修改时间的博客介绍)
  2. 新建文件名可以任意,但是同一目录下不能重复
    新建文件

mkdir——make directories

语法:mkdir [选项] dirname
dirname可以任意取名,但是同一目录下不能一样

mkdir

rmdir——remove empty directories

语法:rmdir [选项] [dirname]
选项:

  • -p:子目录被删除后如果父目录也变成空目录,连带父目录一起删除

注意:常使用的删除操作还是下面rm命令
rmdir

rm——remove files or directories

语法:rm [选项] [目录名/文件名]
选项:

  • -f(force):强制删除
  • -i:删除前逐一询问确认
  • -r:删除目录及其下所有文件

rm

*——any match

任意匹配

man——an interface to the on-line reference manuals

语法:man [选项] 命令
选项:

  • -k:根据关键字搜索联机帮助
  • num:只在第num章寻找
  • -a:将所有章节的该内容展示出来,一次展示一章,按q退出显示下一章。直到搜索完毕
    手册的功能:不可能记住所有参数,所以可以通过手册获取帮助

man

cp——copy files and directories

语法:cp [选项] [源文件/目录] [目标文件/目录]
选项:

  • -f或- -force:强行复制文件或目录,不论是否存在
  • -i或- -interactive:先询问用户
  • -r(R或recursive):递归处理
    注意:
  1. 可以同时指定两个以上的文件或目录复制到一个已经存在的目录下,但是反过来就会发生错误。
  2. man手册需要安装。安装命令:yum install -y man-pages

cp

echo——display a line of text

语法:echo [选项] [字符串]

echo

cat——concatenate files and print on the standard output

语法:cat [选项] [文件]
选项:

  • -b:对非空输出行编号
  • -n:对输出的所有行编号
  • -s:不输出多行空行

cat
如果只有cat命令,什么都不加会从键盘读取,然后显示在屏幕上
cat

重定向

Linux下一切皆文件

Linux下一切皆文件

  1. 显示器是一个只能输出的文件,只能在显示器上打印内容,而不能从显示器上读取内容。
  2. 键盘是一个只能输入的文件,只能在键盘上读取内容,而不能往键盘上输出内容。
  3. 普通文件可写可读
输出重定向 —— >

输出重定向:向普通文件里写入分为两步

  1. 清空文件
  2. 写入新内容

》

追加重定向 —— >>

追加重定向:向普通文件里写入

  1. 不清空文件
  2. 向文件结尾写入
    注意:
  3. echo写入后自动换行,如果不想换行可以使用printf,printf不加换行符是不会换的
    >>
输入重定向 —— <

在上面说cat指令时,说单独的cat会从键盘读,然后写到显示器上。

输入重定向的作用:从指定文件读取然后显示在显示器中
<

mv——move (rename) files

语法:mv [选项] [源文件或目录] [目标文件或目录]
选项:

  • -f:强制
  • -i:如果目标文件已存在时,就会询问是否覆盖

move

whoami和which

whoami:查看当前登陆的用户。单独执行

which:查看对应指令的路径。
语法:which [指令]
which

alias

alias

使用shell脚本写一个大文件

输出10000行的hello Linux [序号] 到test.txt文件中:

cnt=1;while [ $cnt -le 10000 ]; do echo hello Linux $cnt; let cnt++; done > test.txt

more——file perusal filter for crt viewing

cat适合看小文本不适合看大文本

语法:more [-选项] [-num] [+/pattern] [+linenum] [fileNames..]
选项:

  • -num 一次显示的行数
  • +/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
  • +num 从第 num 行开始显示

按键:

  • Ctrl+F 向下滚动一屏
  • 空格键 向下滚动一屏
  • Ctrl+B 返回上一屏

more

less(重要)

less与more类似,但是更具有弹性。less可以随意浏览,而more仅只能向前移动,less在查看之前不会加载整个文件。less的功能及其强大。

语法:less [参数] [文件]
选项:

  • -i:搜索时忽略大小写
  • -N:显示每一行的行号
  • /字符串:向下搜索字符串的功能
  • ?字符串:向上搜索字符串的功能

按键:

  • n:重复前一个搜索(与/、?有关)
  • N:反复重复前一个搜索(与/、?有关)
  • pageup、pagedown: 上下翻页

head——output the first part of files

语法:head [参数] [文件]
选项:

  • -n:显示的行数

head

tail——output the last part of files

语法:tail [必要参数] [选择参数] [文件]
选项:

  • -f:循环读取(可以查看最新内容)
  • -n:显示行数。

tail

|(管道)

管道

时间相关指令

date——print or set the system date and time

语法:date [选项] [+格式]

date

设置时间
  • date -s //设置当前时间,只有root权限可以设置
  • date -s 20231212 //设置成20231212,这样会把具体时间设置成空00:00:00
  • date -s 01:01:01 //设置具体时间,不会对日期进行更改
  • date -s “01:01:01 20231212” //这样可以设置全部时间
  • date -s “01:01:01 2023-12-12” //这样可以设置全部时间
  • date -s “20231212 01:01:01” //这样可以设置全部时间
  • date -s “2023-12-12 01:01:01” //这样可以设置全部时间
时间戳

时间->时间戳 — 语法:date +%s
时间戳->时间 — 语法:date -d@时间戳

时间戳

cal——display a calendar

语法:cal [参数] [月份] [年份]
注意:
如果只有一个参数,则表示年份。
选项:

  • -j:显示当年的第几天
  • -y:显示当前年份的日历
  • -3:展示上一个月,当前月和下一个月的日历

cal

find和whereis

语法:find [路径] [选项] [文件名]
功能:

  • find:search for files in a directory hierarchy
  • whereis:locate the binary, source, and manual page files for a command

find

grep——line text filtering tool

语法:grep [选项] [搜索字符串] [文件]
选项:

  • -i:忽略大小写的不同
  • -n:输出行号
  • -v:反向选择(显示没有要搜索的字符串的内容)

grep

指定目录查找:
grep

zip/unzip—— package and compress (archive) files

zip/unzip需要安装:

  • 安装指令:yum install -y zip unzip

语法:

  • zip:zip 压缩文件.zip 目录或文件
  • unzip:unzip 压缩文件.zip -d 路径
    选项:
  • -r:递归处理

zip/unzip

tar——pack, unpack, don’t open just look at the content

语法:tar [选项] 文件与目录...[参数]
选项:

  • -c:建立一个压缩文件的参数指令(create)
  • -x:解开一个压缩文件的参数指令
  • -t:查看tarfile里面的文件
  • -z:是否同时具有gzip的属性?护着说是否需要用gzip压缩
  • -j:是否同时具有bzip2的属性?护着说是否需要用bzip2压缩
  • -v:压缩的过程显示文件(不建议用在背景执行过程)
  • -f:使用档名。(注意:f之后需要直接跟档名,不能再加参数)
  • -C:解压到指定目录

tar

bc——An arbitrary precision calculator language

bc

系统管理相关命令

uname——print system information

语法:uname [选项]
选项:

  • -a或-all:详细输出所有信息。

uname

free——Display amount of free and used memory in the system

语法:free [选项] [-s <间隔秒数>] 最后一个[]内容可加可不加。
选项:

  • -b:以Byte为单位显示内存使用情况。
  • -k:以KB为单位显示内存使用情况。
  • -m:以MB为单位显示内存使用情况。
  • -h:以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。单位有:B、K。M、G、T。
  • -s<间隔秒数>:持续观察内存使用状况。

free

df——report file system disk space usage

语法:df [选项] [文件]
选项:

  • -i:inode资讯,不列出已使用 block
  • -h:使用人可读的格式

df

lscpu——display information about the CPU architecture(架构)

不进行详细介绍
lscpu

ps——displays the current process status

语法:ps [选项]
选项:

  • -a:显示终端上所有用户的所有进程,包括已完成的进程。
  • -j:以作业格式显示进程信息。它会显示进程的作业控制信息,包括进程ID(PID)、进程组ID(PGID)、会话ID(SID)、控制终端等。
  • -x:显示不与终端关联的所有进程。这个选项用于显示所有后台进程和守护进程,通常在系统管理和监控中比较常见。
  • -e:显示所有进程信息,包括系统级和用户级进程。
  • -f:以完整的格式显示进程信息,包括更详细的信息,如UID、PPID、CPU占用等。
  • -l:以长格式显示进程信息,包括更多的列和详细信息,如进程状态、占用的虚拟内存等。
  • -u username:显示特定用户username的进程信息。
  • aux:显示所有进程信息,以终端用户格式显示,同时显示CPU和内存占用情况。
  • -H:显示进程的层次关系,以树状结构表示。
  • --sort :根据指定的字段对进程进行排序,如按CPU使用率、内存占用等进行排序。

ps

history——view the list of historical commands

语法:history 单输入该命令默认显示1000条指令

history

热键

Tab

[Tab]按键——具有命令补齐档案补齐功能

Ctrl+c

[Ctrl+c]按键——让当前的程序停掉

Ctrl+d

[Ctrl+d]按键——键盘输入结束的意思exit

Ctrl+r

[Ctrl+r]按键——历史命令搜索

四、总结

请尽量习惯阅读英文,所以我在指令的介绍中功能部分用英文介绍。当然也有演示所以不用担心看不懂,但是尽量尝试阅读

指令虽多,不需硬记,多用即可,忘记再翻

sudo

注意: 安装软件时需要有root权限,要不就是直接切换到root用户,要不就给普通用户提权

sudo

下次进行安装时,就可以使用已经完成提权的普通用户执行安装命令

eg:

root:yum install -y zip unzip
被提权的普通用户:sudo yum install -y zip unzip

  • 18
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kpl_20

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值