Linux基础

Linux :

本身也是一个基于文件形式表示的操作系统。Linux一切皆文件。

①在windows是文件的,在Linux下同样也是文件;

②在windows不是文件的,在Linux下也是以文件的形式存储的;

查找网站:https://www.linuxcool.com/

目录结构

Bin:全称binary,含义是二进制。该目录中存储的都是一些二进制文件,文件都是可以被运行的。

Dev:该目录中主要存放的是外接设备,例如盘、其他的光盘等。在其中的外接设备是不能直接被使用的,需要挂载(类似windows下的分配盘符)

Etc:该目录主要存储一些配置文件。

Home:表示“家”,表示除了root用户以外其他用户的家目录,类似于windows下的User/用户目录。

Proc:process,表示进程,该目录中存储的是Linux运行时候的进程。

Root:该目录是root用户自己的家目录。

Sbin:全称super binary,该目录也是存储一些可以被执行的二进制文件,但是必须得有super权限的用户才能执行。

Tmp:表示“临时”的,当系统运行时候产生的临时文件会在这个目录存着。

Usr:存放的是用户自己安装的软件。类似于windows下的program files。

Var:存放的程序/系统的日志文件的目录。

Mnt:当外接设备需要挂载的时候,就需要挂载到mnt目录下。

基本指令

‑ls

#ls

含义:列出当前工作目录下的所有文件/文件夹的名称

#ls 路径

含义:列出指定路径下的所有文件/文件夹的名称

#ls 选项 路径

含义:在列出指定路径下的文件/文件夹的名称,并以指定的格式进行显示。

-a 显示所有文件及目录 (包括以“.”开头的隐藏文件)

-l 使用长格式列出文件及目录信息

-r 将文件以相反次序显示(默认依英文字母次序)

-t 根据最后的修改时间排序

-A 同 -a ,但不列出 “.” (当前目录) 及 “..” (父目录)

-S 根据文件大小排序

-R 递归列出所有子目录

pwd

#pwd (print working directory,打印当前工作目录)

cd

#cd 路径 用于切换路径

#cd ~****:切换到表示当前用户的家目录

Mkdir

#mkdir 路径 【路径,可以是文件夹名称也可以是包含名称的一个完整路径】 创建文件夹

#mkdir -p 路径 一次性创建多层不存在的目录

#mkdir 路径1 路径2 路径3 …. 表示一次性创建多个目录

-m 建立目录的同时设置目录的权限,权限设置和chmod命令一样

Chmod(目前没搞懂命令规则)

参考https://www.tutorialspoint.com/unix_commands/chmod.htm

用来改变文件或目录权限的命令,但是只有文件的属主和超级用户root才能执行这个命令。有两种模式,一种是采用权限字母和操作符表达式;另一种是采用数字。

Touch

#touch 文件路径 创建文件

#touch 路径1 路径2 路径3… 同时创建多个文件

Cp

#cp 被复制的文档路径 文档被复制到的路径: 复制一个文件

#cp -r 被复制的文件夹路径 文件夹被复制到的路径

-f 若目标文件已存在,则会直接覆盖原文件
-i 若目标文件已存在,则会询问是否覆盖
-p 保留源文件或目录的所有属性
-r 递归复制文件和目录

Mv(可实现重命名)

#mv 需要移动的文档或文件夹路径 需要保存的位置路径

-i 若存在同名文件,则向用户询问是否覆盖
-f 覆盖已有文件时,不进行任何提示
-b 当文件存在时,覆盖前为其创建一个备份
-u 当源文件比目标文件新,或者目标文件不存在时,才执行移动此操作

Rm

#rm 选项 需要移除的文档路径

rm -r删除文件夹

-f:force,强制删除,不提示是否删除

​ -r:表示递归

-i 删除前会询问用户是否操作

-p 用递归的方式删除指定的目录路径中的所有父级目录(上一级目录),非空则报错

Vim (重点)

#vim 文件的路径

作用:打开一个文件(可以不存在,也可以存在)

退出打开的文件:在没有按下其他命令的时候,按下shift+英文冒号,输入q,按下回车即可

vim三种模式

命令模式、编辑模式(输入模式)、末行模式(尾行模式)。

#vim +数字 文件的路径 作用:打开指定的文件,并且将光标移动到指定行

#vim +/关键词 文件的路径 作用:打开指定的文件,并且高亮显示关键词

命令模式

1、光标移动

①光标移动到行首

按键:shift + 6

②光标移动到行尾

按键:shift + 4

③光标移动到首行

按键:gg

④光标移动到末行

按键:G

⑤翻屏

向上翻屏:按键ctrl + b (before) 或 PgUp

向下翻屏:按键ctrl + f (after) 或 PgDn

2、复制操作

①复制光标所在行

按键:yy

粘贴:在想要粘贴的地方按下p键

②以光标所在行为准(包含当前行),向下复制指定的行数

按键:数字yy

③可视化复制

按键:ctrl + v(可视块)或V(可视行)或v(可视),然后按下↑↓←→方向键来选中需要复制的区块,按下y键进行复制,最后按下p键粘贴

3、剪切/删除

①剪切/删除光标所在行

按键:dd (删除之后下一行上移)

②剪切/删除光标所在行为准(包含当前行),向下删除/剪切指定的行

按键:数字dd (删除之后下一行上移)

③剪切/删除光标所在的当前行之后的内容,但是删除之后下一行不上移

按键:D (删除之后当前行会变成空白行)

④可视化删除

按键:ctrl + v(可视块)或V(可视行)或v(可视),上下左右移动,按下D表示删除选中行,d表示删选中块

4、撤销/恢复

撤销:输入:u (不属于命令模式) 或者 u (undo)

恢复:ctrl + r 恢复(取消)之前的撤销操作

5、光标的快速移动

①快速将光标移动到指定的行

按键:数字G

②以当前光标为准向上/向下移动n行

按键:数字↑,数字↓

③以当前光标为准向左/向右移动n字符

按键:数字←,数字→

④末行模式下的快速移动方式:移动到指定的行

按键:输入英文“:”,其后输入行数数字,按下回车

末行模式

进入方式:由命令模式进入,按下“:”或者“/(表示查找)”即可进入

退出方式:

​ a. 按下esc

​ b. 连按2次esc键

​ c. 删除末行全部输入字符

特殊:输入“x”即可保存退出

①保存操作(write)

输入:“:w” 保存文件

输入:“:w 路径” 另存为

②退出(quit)

输入:“:q” 退出文件

③保存并退出

输入:“:wq” 保存并且退出

④强制 (!)

输入:“:q!” 表示强制退出,刚才做的修改操作不做保存

⑤调用外部命令(了解)

输入:“:!外部命令”

编辑模式

重定向>,>>

#正常执行的指令 > / >> 文件的路径

>:覆盖输出,会覆盖掉原先的文件内容

>>:追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加

eg.用一个命令将一条消息写到一个文件里去:

覆盖型写法 (文件里原来的内容被覆盖)

echo "aaa" > a.txt

echo aaa > a.txt

添加型写法 (新内容添加在原来内容的后面)

echo "aaa" >> a.txt

echo aaa >> a.txt

Cat

#cat 文件的路径 打开一个文件

cat还可以对文件进行合并

#cat 待合并的文件路径1 待合并的文件路径2 …. 文件路径n > 合并之后的文件路径

-n 显示行数(空行也编号)
-s 显示行数(多个空行算一个编号)
-b 显示行数(空行不编号)

echo

输出字符串或提取Shell变量的值

Df

查看磁盘空间

#df -h -h表示以可读性较高的形式展示大小

Free

查看内存使用情况

#free -m -m表示以mb为单位查看

Head

查看一个文件的前n行,如果不指定n,则默认显示前10行

#head -n 文件路径 【n表示数字】

Tail

查看一个文件的未n行,如果n不指定默认显示后10行

#tail -n 文件的路径 n同样表示数字

#tail -f 该参数用于监视File文件增长 ?

Wc

统计文件内容信息(包含行数、单词数、字节数)

#wc -lwc 需要统计的文件路径

-l****:表示lines,行数

​ -w:表示words,单词数 依照空格来判断单词数量

​ -c:表示bytes,字节数

Less

查看文件,以较少的内容进行输出,按下辅助功能键(数字+回车、空格键+上下方向键)查看更多

#less 需要查看的文件路径

在退出的只需要按下q键即可

Date

表示操作时间日期(读取、设置)

#date 输出的形式:2018年 3月 24日 星期六 15:54:28

#date +%F (等价于#date “+%Y-%m-%d” ) 输出形式:2018-03-24

#date “+%F %T” 引号表示让“年月日与时分秒”成为一个不可分割的整体

获取之前或者之后的某个时间(备份)

#date -d “-1 day” “+%Y-%m-%d %H:%M:%S”

Cal

用来操作日历的

#cal 等价于 #cal -1 直接输出当前月份的日历

#cal -3 表示输出上一个月+本月+下个月的日历

#cal -y 年份 表示输出某一个年份的日历

管道(重要)

管道符:|

作用:管道一般可以用于“过滤”,“特殊”,“扩展处理”。

语法:管道不能单独使用,必须需要配合前面所讲的一些指令来一起使用,其作用主要是辅助作用。

①过滤案例:需要通过管道查询出根目录下包含“y”字母的文档名称。

#ls / | grep y

clear/ctrl + L

作用:清除终端中已经存在的命令和结果(信息)。

语法:clear 或者快捷键:ctrl + L

需要注意的是,该命令并不是真的清除了之前的信息,而是把之前的信息的隐藏到了最上面,通过滚动条继续查看以前的信息。

Hostname

操作服务器的主机名(读取、设置)

#hostname 含义:表示输出完整的主机名

#hostname -f 含义:表示输出当前主机名中的FQDN(全限定域名)

Id

查看一个用户的一些基本信息(包含用户id,用户组id,附加组id…),该指令如果不指定用户则默认当前用户。

#id 默认显示当前执行该命令的用户的基本信息

#id 用户名 显示指定用户的基本信息

Whoami

显示当前登录的用户名,一般用于shell脚本,用于获取当前操作的用户名方便记录日志。

ps -ef

ps

作用:主要是查看服务器的进程信息

​ -e:等价于“-A”,表示列出全部的进程

​ -f:显示全部的列(显示全字段)

列的含义:

UID:该进程执行的用户id;

PID:进程id;

PPID:该进程的父级进程id,如果一个程序的父级进程找不到,该程序的进程称之为僵尸进程(parent process ID);

C:Cpu的占用率,其形式是百分数;

STIME:进行的启动时间;

TTY:终端设备,发起该进程的设备识别符号,如果显示“?”则表示该进程并不是由终端设备发起;

TIME:进程的执行时间;

CMD:该进程的名称或者对应的路径;

Top

作用:查看服务器的进程占的资源(100%使用)

进入命令:#top (动态显示)

-n 更新的次数,完成后将会退出 top

​ 退出命令:按下q键

表头含义:

PID:进程id;

USER:该进程对应的用户;

PR:优先级;

VIRT:虚拟内存;

RES:常驻内存;

SHR:共享内存;

​ 计算一个进程实际使用的内存 = 常驻内存(RES)- 共享内存(SHR)

S:表示进程的状态status(sleeping,其中S表示睡眠,R表示运行);

%CPU:表示CPU的占用百分比;

%MEM:表示内存的占用百分比;

TIME+:执行的时间;

COMMAND:进程的名称或者路径;

Du -sh

查看磁盘占用空间,但是与df命令不同的是du命令是对文件和目录磁盘使用的空间的查看,而不是某个分区。

-a 显示目录中所有文件大小
-k 以KB为单位显示文件大小
-m 以MB为单位显示文件大小
-g 以GB为单位显示文件大小
-h 以易读方式显示文件大小
-s 仅显示总计

Find

根据给定的路径和表达式查找的文件或目录,和管道结合使用可以实现复杂的功能

find [参数] [路径] [查找和搜索范围]

-name 按名称查找
-size 按大小查找
-user 按属性查找
-type 按类型查找 -type f查找所有文件 -type d查找所欲文件夹
-iname 忽略大小写

Service

用于控制一些软件的服务启动/停止/重启

#service 服务名 start/stop/restart

--status-all 显示所服务的状态

Kill

表示杀死用来删除执行中的程序或工作。(当遇到僵尸进程或者出于某些原因需要关闭进程的时候)

#kill 进程PID (语法需要配合ps一起使用)

kill命令默认使用信号为15,用于结束进程或工作。如果进程或工作忽略此信号,则可以使用信号9,强制杀死进程或作业。

Ifconfig

用于操作网卡相关的指令

#ifconfig (获取网卡信息)

add<地址> 设置网络设备IPv6的IP地址
del<地址> 删除网络设备IPv6的IP地址
down 关闭指定的网络设备
up 启动指定的网络设备
IP地址 指定网络设备的IP地址

Reboot

重新启动计算机

#reboot 重启

#reboot -w 模拟重启,但是不重启(只写关机与开机的日志信息)

Shutdown

关机 (慎用)

#shutdown -h now “关机提示” 或者 #shutdown -h 15:25 “关机提示”

除了shutdown关机以外,还有以下几个关机命令:

#init 0

#halt

#poweroff

Uptime

输出计算机的持续在线时间(计算机从开机到现在运行的时间

#uptime

-p 以漂亮的格式显示机器正常运行的时间

-s 系统自开始运行时间

Uname

#uname -a all,表示获取全部的系统信息(类型、全部主机名、内核版本、发布时间、开源计划)

-a 显示系统所有相关信息

-m 显示计算机硬件架构

-n 显示主机名称

-r 显示内核发行版本号

-s 显示内核名称

-v 显示内核版本

-p 显示主机处理器类型

-o 显示操作系统名称

-i 显示硬件平台

netstat -tnlp

查看网络连接状态

#netstat -tnlp

Man

manual,手册(包含了Linux中全部命令手册,英文)

(退出按下q键)

通过man命令查询cp指令的用法

#man cp

-w 显示文件所在位置

History

用于显示用户以前执行过的历史命令,并且能对历史命令进行追加和删除等操作。

-a 将当前shell会话的历史命令追加到命令历史文件中,命令历史文件是保存历史命令的配置文件
-c 清空当前历史命令列表
-d 删除历史命令列表中指定序号的命令
-n 从命令历史文件中读取本次Shell会话开始时没有读取的历史命令
-r 读取命令历史文件到当前的Shell历史命令内存缓冲区
-s 将指定的命令作为单独的条目加入命令历史内存缓冲区。在执行添加之前先删除命令历史内存缓冲区中最后一条命令
-w 把当前的shell历史命令内存缓冲区的内容写入命令历史文件

Passwd

用于设置用户的认证信息,包括用户密码、账户锁定、密码失效等。

直接运行passwd命令修改当前的用户密码,对其他用户的密码操作需要管理员权限。

# passwd

-d 删除密码

-l 锁定用户密码,无法被用户自行修改

-u 解开已锁定用户密码,允许用户自行修改

-e 密码立即过期,下次登陆强制修改密码

-k 保留即将过期的用户在期满后能仍能使用

-S 查询密码状态

Ssh

ssh [参数] [远程主机]

(该文仅供学习,若有冒犯,请联系博主)

posted @ 2022-07-06 13:57  phant0m1  阅读(38)  评论(0编辑  收藏  举报