Linux入门命令概览

Linux

1.文件和目录

command --- 命令
options --- 选项
parameter --- 参数
  • ls命令

ls [-a / -l / -h] [Linux路径]

-a --- all --- 列出该路径下的所有文件(夹) 【其中以.开头的文件为隐藏文件,不使用-a选项无法看到】
-l --- list --- 以列表形式展示内容,并展示其他更多信息
-h --- 列出文件大小(必须和-l一起使用)
  • cd命令

cd [Linux路径]

cd --- change directory --- 改变目录
cd 默认回到HOME目录
cd 路径 --- 跳转到指定路径下
  • pwd命令

pwd

pwd --- print work directory --- 打印工作目录
pwd --- 查看当前工作目录并输出路径
  • 绝对路径和相对路径
绝对路径:从根目录开始,给出完整的路径
相对路径:默认以当前工作目录为起始(这种只能适用于在当前目录下的文件(夹))
特殊路径符:
	. --- 表示当前目录
	.. --- 表示上一级目录
	~ --- 表示HOME目录
  • mkdir 命令

mkdir [-p] Linux路径 

mkdir --- make directory 制造目录
-p --- 创建连续多层级的目录
例如:
	mkdir ~/test --- 在HOME目录下创建一个test文件夹
	mkdir -p ~/ppp/kkk --- 在HOME目录下创建一个ppp文件夹,在ppp文件夹中再创建一个kkk文件夹

注意:对于普通用户,只能在该用户的HOME目录下进行创建目录。如果要对其他文件夹下创建目录,需要用到root权限

  • touch命令

touch Linux路径

touch 路径 --- 创建文件
  • cat命令

cat Linux路径

cat 路径 --- 查看该路径下的文件
将文件内容全部展示
  • more命令

more Linux路径

more 路径 --- 查看该路径下的文件
支持翻页查看 --- 空格翻页 --- q退出 --- enter单行下拉 --- b退回上一页
  • cp命令

cp [-r] 参数1 参数2

cp --- copy 复制
复制文件(夹)
-r --- 用于复制文件夹(递归)
参数1 --- 路径,被复制的文件(夹)
参数2 --- 路径,要复制到的地方
例如:
	cp ~/test1.txt ~/test2.txt --- 将test1文件改名到test2文件
	cp -r ~/ppp ~/kkk --- 将目录ppp复制到目录kkk
  • mv命令

mv 参数1 参数2

mv --- move 移动
移动文件(夹)
参数1 --- 路径,被移动的文件(夹)
参数2 --- 路径,要移动到的地方
例如:
	mv test.txt ~/desktop --- 将文件test移动到文件夹desktop下
	mv test1.txt test2.txt --- 将文件test1改名为test2
	mv ~/test ~/desktop --- 将文件夹test移动到文件夹desktop下
文件 移动-> 文件夹
文件 改名-> 文件
文件夹 移动-> 文件夹
  • rm命令

rm [-r -f] 参数1 参数2...

rm --- remove 移动,删除
-r --- 用于删除文件夹
-f --- force强迫 --- 不会弹出确认信息
参数 --- 路径,要删除的文件(夹)
  • 通配符

*

通配符*用来做模糊匹配
例如:
	test* --- 匹配所有以test开头的内容
	*test --- 匹配所有以test结尾的内容
	*test* --- 匹配所有包含test的内容
  • witch命令

whitch 命令

witch 命令 --- 查看该命令的程序文件所在路径
例如:
	witch cd --- 查看cd命令的程序文件所在路径
	print:/usr/bin/cd
  • find命令

find 起始路径 -name "要查找的文件名"

find 起始路径 -size +/-文件大小(kMG)

find 起始路径 -name "要查找的文件名" --- 从起始路径开始向下查找指定文件
find 起始路径 -size +/-大小(kMG) --- 从起始路径开始查找大于(+)/小于(-)指定大小的文件
例如:
	find / -name "test" --- 从根目录开始查找所有名为"test"的文件
	find ~ -size +20M --- 从HOME目录开始查找所有大于20M的文件
  • grep命令

 grep [-n] "过滤关键字内容" 文件路径

grep命令:过滤指定文件中的关键字内容
-n --- 显示过滤信息的行号
  • wc命令

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

wc命令:统计指定文件中的内容数量
-c --- 统计bytes的数量
-m --- 统计字符数量
-l --- line --- 统计行数
-w --- word --- 统计单词数量
如果不带任何选项,输出结果为: 行数 单词数 字节数 文件名
  • 管道符

|

将管道符左边命令的结果(必须是能输出内容的命令)作为右边命令的输入
例如:
	cat test.txt | grep "haha"
	等价于
	grep "haha" test.txt
	从test文件中过滤关键字内容haha
  • echo命令

echo 输出的内容

echo命令:将输出的指定内容打印(默认是到屏幕上)
类似printf
  • 反引号

`

用``将字符串包围起来,会被作为命令来看作,而不是看成普通地方字符串
例如:
	echo pwd --- 这时输出的内容就是三个字母pwd
	但是如果想要把pwd命令的结果输出,就需要``
	echo `pwd` --- 这时输出的内容就是pwd命令的结果
  • 重定向符

> 和 >>

> --- 将左侧命令的结果,覆盖写入右侧的指定文件中
>> --- 将左侧命令的结果,追加写入右侧的指定文件中 --- 自动换行追加内容
  • tail命令

tail [-f -num] 路径

tail命令:查看文件尾部的内容
-f --- follow跟随 --- 表示持续跟踪
-num --- 表示查看尾部多少行(默认10行)

2.Vim编辑器

  • 三种模式
    • 命令模式:可以理解为快捷键对文本进行操作
    • 输入模式:就是正常的编辑模式
    • 底线命令模式:对文本就行保存,退出等操作

进入Vim就是命令模式;按i/a/o进入输入(编辑)模式,按esc退回到命令模式;按 : 进入底线命令模式,wq保存并退出(q!强制退出不保存;w保存,q退出)

3.用户和用户组

  • root用户

root用户是超级管理员,具有最大的系统操作权限

正常使用的用户就是每个人的个人账户,也就是普通用户

普通用户的权限一般只能局限于在HOME目录内,而而出了HOME目录,普通用户只有只读和执行权限,没有修改权限,需要用到root用户

  • 切换用户命令

su [-] [用户名]

su命令:
	su --- switch user 转换用户
	- 表示是否在切换用户后加载环境变量,建议带
	参数 --- 要切换的用户,省略则表示切换到root
exit命令:
	退回到上一个用户,也可用快捷键ctrl+d
  • sudo命令

sudo 命令

sudo命令:为普通用户临时授权root权限
在使用更高权限命令时,在前面加上sudo

使用sudo命令,需要为用户配置sudo认证

1. visudo
2. 编辑,最后一行加入  pbk ALL=(ALL)		NOPASSWD:ALL
3. 保存退出
此时在配置的用户中就可以使用root权限了,但命令前面要加sudo

3.1用户

关于用户命令都需要root权限

  • 创建用户

useradd [-g -d] 用户名 [用户组/路径]

-g --- 指定用户的组。如果不指定,那么默认创建一个与用户同名的组并加入
-d --- 指定用户的HOME目录。如果不指定,则默认在/home/下面创建一个与用户同名的目录作为HOME目录
例如:
	useradd ppp --- 不指定加入的组,默认创建一个ppp组并加入
	useradd -g ppp pbk --- 创建用户ppp并加入组pbk
    useradd ppp --- 不指定HOME路径,默认在/home下创建一个同名的目录作为HOME目录
    useradd -d ppp /home/HOMEppp --- 创建用户ppp并将HOME目录设置为/home/HOMEppp
  • 删除用户

userdel [-r] 用户名

-r --- 删除用户的HOME目录。如果没有则将保留该用户的HOME目录不删除
  • 查看用户所属的组

id [用户名]

id 用户名 --- 查看指定用户的信息

id --- 查看当前用户的信息(即个人信息)
  • 修改用户所属的组

usermod -aG 用户组名 用户名

将用户加入到指定的用户组中(-aG表示加入新组并且不出原来的组)

3.2用户组

关于用户命令都需要root权限

  • 创建用户组

groupadd 用户组名

  • 删除用户组

groupdel 用户组名

3.3相关命令

  • getent命令

getent passwd

getent grop

getent passwd --- 查看操作系统中有哪些用户
每一份的信息:
	x(密码):用户id:组id:描述信息:HOME目录:执行终端(默认/bin/bash)
getent group --- 查看有哪些用户组
每一份信息:
	组名称:x(组认证):组id:

4.权限管理

序号1:表示文件、文件夹的权限控制信息

序号2:表示文件、文件夹的所属用户

序号3:表示文件、文件夹的所属用户组

  • 权限信息

权限细节共有10个槽位

第一个槽位可填- d l。其中-表示文件,d表示文件夹,l表示软链接

后面九个槽位每3个一组,分别表示所属用户权限,所属用户组权限,其他用户权限。

权限可填r w x -。其中r表示可读(read),w表示可写(write),x表示可执行(execute),-表示没有此权限

例如:drwxr-xrw-
	d --- 表示为文件夹
	rwx --- 表示所属用户对该文件夹有可读可写可执行权限
	r-x --- 表示所属用户组对文件夹有可读不可写可执行权限
	rw- --- 表示所属用数组对文件夹有可读可写不可执行权限
  • rwx

    • r表示可读(read)
      • 对于文件:表示查看文件内容的权限
      • 对于文件夹:表示查看文件夹内容的权限
    • w表示可写(write)
      • 对于文件:表示修改文件内容的权限
      • 对于文件夹:表示在文件夹内进行创建、删除、修改等权限
    • x表示可执行(execute)
      • 对于文件:表示可以将文件作为程序执行(例如.cpp源文件)
      • 对于文件夹:表示可以更改工作目录到此文件夹,即cd进入
  • 修改权限命令

chmod [-R] 权限 文件/文件夹

只有该文件/文件夹的所属用户和root用户才有权限去用修改权限命令

-R --- 对文件夹内的全部内容都进行相同的操作(递归)
例如:
	chmod u=rwx,g=r-x,o=--x test.txt
	对文件test.txt修改权限(其中u表示user所属用户权限,g表示group所属用户组权限,o表示other其他用户权限)
    • 权限的数字序号
      • 权限可以用3位数字表示,第一位数字表示用户权限,第二位数字表示用户组权限,第三位表示其他用户权限。例如:751
      • r记为4,w记为2,x记为1
      • 将数字组合0~7表示所有的权限可能
        • 0 — 无权限---
        • 1 — 仅有x权限 --x
        • 2 — 仅有w权限 -w-
        • 3 — 有wx权限 -wx
        • 4 — 仅有r权限 r--
        • 5 — 有rx权限 r-x
        • 6 — 有rw权限 rw-
        • 7 — 有所有权限 rwx
      • 例如:751 意思就是u=7(rwx),g=5(r-x),o=1(--x)
  • 修改所属用户/用户组命令

chown [-R] [用户]:[用户组] 文件/文件夹

只有root用户才有此修改权限

-R --- 对文件夹内全部内容进行相同操作
[用户] --- 修改所属用户
[用户组] --- 修改所属用户组
: --- 用于分隔用户和用户组
例如:
   chown root hello.txt --- 将hello文件的所属用户修改为root
   chown :pbk hello.txt --- 将hello文件所属用户组修改为pbk
   chown pbk:pbk hello.txt --- 将hello文件所属用户(组)都修改为pbk

5.初步进阶

5.1 基本快捷键使用

  • ctrl + c强制停止
强制停止某些程序的运行
命令输入错误退出重新输入
  • ctrl + d 退出或登出
退出账户的登录(退回到上一个用户)
退出某些特定程序的页面
不能用于退出vim
  • history历史命令搜索

  • ctrl + r 匹配历史命令

ctrl + r 输入内容
如果该命令是想要的,直接回车执行
如果该命令不想要,左右键修改命令
  • 终端光标移动快捷键
ctrl + a --- 跳到命令开头
ctrl + e --- 跳到命令结尾
ctrl + 左键 --- 向左跳一个单词
ctrl + 右键 --- 向右跳一个单词
  • ctrl + l 清屏
clear

5.2软件安装

需要root权限,需要联网

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

-y --- 自动确认,无需手动确认安装或卸载过程
install --- 安装
remove --- 卸载
search --- 搜索

Linux中的执行程序文件后缀为.rpm ,相当于Windows中的.exe

5.3控制软件启动和关闭

systemctl start/stop/status/enable/disable  服务名

用于控制软件(内置或第三方)启动,停止等
能够被systemctl控制的软件被称为`服务`

内置的服务:
	NetworkManager --- 主网络服务
	network --- 副网络服务(网卡)
	firewalld --- 防火墙服务
	sshd,ssh --- 远程登录服务
	
start --- 启动
stop --- 关闭
status --- 查看状态
enable --- 开机自启
disable --- 关闭开机自启

5.4软链接

  • 软链接,将文件、文件夹链接到其他地方,类似Windows中的快捷方式

ln -s 被链接的文件(夹)  链接去的目的地

-s --- 创建软链接

简单用于将复杂路径下的文件/文件夹设置软链接到简单熟悉的路径下

5.5日期和时区

  • date命令

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

显示日期
-d --- 按照给定的字符串显示日期,一般用于日期计算
格式化字符串:
	%Y --- 年 year
	%y --- 年份后两位数字 year
	%m --- 月份 month
	%d --- 日 day
	%H --- 小时 hour
	%M --- 分钟 minute
	%S --- 秒 second
  • 修改时区

  • 自动校准系统时间

ntp程序

5.6 IP地址和主机名

  • IP地址

IPv4地址格式:a.b.c.d,其中abcd表示0~255

可以通过ifconfig命令查看本机IP地址

特殊的IP:0.0.0.0 可以用于指代本机

  • 主机名

可以通过hostname命令查看当前主机名

  • 修改主机名

    hostnamectl set-hostname 主机名

  • 域名解析

IP地址是服务器的唯一地址标识,但IP地址难以记住,所以,设置一个网址(域名解析),将该域名映射到对应的IP地址,这样就可以通过域名解析找到想要查看的IP地址

域名 = 网址 = 主机名

    • 域名解析流程

如果要查看某个网站(域名),会先从本机的特定位置寻找该域名对应的IP地址有没有记录,如果有就访问对应IP,如果没有就要联网去访问DNS服务器查询想要查看的域名对应的IP地址

  • 通过域名解析配置主机名与IP地址的对应关系

Windows系统配置虚拟机主机名对应的IP地址

管理员身份打开记事本—>C:\Windows\system32\drivers\etc\hosts,配置IP地址与主机名的映射。完成之后就可以通过主机名访问对应的IP地址

5.7配置固定IP地址

虚拟机的Linux操作系统IP地址是通过DHCP服务获取,这是动态获取IP地址,每次重启设备都会获取一次,可能会导致本机IP地址频繁变更

5.8网络传输

1.下载与网络请求
  • ping命令

检查指定的网络服务器是否是可联通的状态

ping [-c num] IP/主机名

-c --- 检查的次数;若不指定-c则无限次持续检查
IP/主机名/网址(域名)
  • wget命令

wget是非交互式的文件下载器(相当于迅雷),可以在命令行内下载网络文件

wget [-b] url

-b --- 后台下载,并将下载日志写入当前工作目录的wget-log文件
参数url --- 下载链接
  • curl命令

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

curl [-O] url

-O --- 用于下载文件(当url是下载链接)
参数url --- 发起请求的网络地址
2.端口

端口,是设备与外界通讯交流的出入口。端口可分为物理端口和虚拟端口

  • 物理端口:接口,可见的端口
    • USB接口
    • RJ45接口
    • HDMI端口
  • 虚拟端口:计算机内部的端口,不可见,用来让操作系统和外部交互使用

一台计算机(服务器)与另一台计算机相互通信,需要知道对方的IP地址(或者主机名/域名网址)即可。

但是如果一台计算机上的一个程序(例如Wechat)与另一台计算机上的程序进行通信,这时不仅需要IP地址,还需要找到对应的端口进行连接(可以理解为Wechat对应的接口)

一台计算机看作小区,IP地址是校区地址;小区内的住户就是计算机内的程序,每个住户的门牌号就是端口的地址

  • Linux端口(65535个)

    • 公认端口(1~1023)
      • 通常用于系统内置或知名程序的使用,例如SSH服务的22端口,HTTP服务的443端口
    • 注册端口(1024~49151)
      • 通常可以随意使用,用于松散的绑定一些程序/服务
    • 动态端口(49152~65535)
      • 通常不会固定绑定程序,而是当程序对外进行网络连接时用于临时使用
  • nmap命令

查看指定地址的端口占用情况

nmap 被查看的IP地址

使用nmap命令需要先下载nmap yum -y install nmap

  • netstat

查看指定端口的占用情况

netstat -anp | grep 端口号

使用netstat命令需要先下载netstat yum -y install net-tools

netstat -anp 列出所有端口情况
| grep 端口号  从所有端口中过滤指定端口展示

5.9进程管理

  • 进程:运行的程序。程序运行在操作系统上,并为之分配独有的进程ID(PID)

  • ps命令

查看系统中的进程信息(相当于Windows中的任务管理器)

ps [-e -f]

-e --- 显示出全部进程
-f --- 展示全部信息
一般固定用法就是 ps -ef 列出全部进程的所有信息
  • 进程信息

    • PID:每个进程独有的进程号
    • UID:该进程所属用户
    • PPID:进程的父ID(启动此进程的父进程)
    • C:此进程的cpu占用率
    • STIME:进程的启动时间
    • TTY:启动此进程的终端序号,如果是?表示非终端启动
    • TIME:进程占用cpu的时间
    • CMD:进程对应的启动路径或启动命令或进程对应的名称
  • kill命令

关闭进程

kill [-9] PID

-9 --- 强制关闭
	如果不使用此选项,系统会向进程发送信号令其关闭,是否关闭需要看该进程自身的处理机制

5.10主机状态

1.系统资源监控
  • top命令

查看cpu、内存使用情况,类似Windows的任务管理器

top

默认5s刷新一次
ctrl+c 退出命令的执行
  • 系统资源监控详解
top - 16:38:54 up 7:01, 2 user, load average: 0.09,0.13,0.13

top:命令名称 16:38:54 当前系统时间 up 7:01 启动了7.01小时 2 user 2个用户登录 load average:平均1分钟,5分钟,15分钟负载

Tasks:280 total, 2 running, 278 sleeping, 0 stopped, 0 zombie

Tasks:280 个进程 2 running 2个进程在运行 278 sleeping 278个进程在睡眠

0 stopped 0个进程被停止 0 zombie 0个僵尸进程

%Cpu(s): 4.1 us, 1.4 sy, 0.0 ni,94.6 id, 0.0 wa, 0.0 hi, 0.0 si,  0.0 st

4.1 us 用户cpu使用率 1.4 sy 系统cpu使用率

KiB Mem :  2027828 total,   201792 free,   731768 used,  1094268 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  1128364 avail Mem 

Kib Mem:物理内存 total:总量 free:空闲 used:使用

KibSwap:虚拟内存(交换空间)

2.磁盘监控
  • df命令

查看硬盘使用情况

df [-h]

-h --- 显示单位
  • iostat命令

查看cpu。磁盘相关信息

iostat [-x][num1][num2]

-x --- 显示更多信息
num1 --- 刷新间隔
num2 --- 刷新几次
3.网络状态监控
  • sar命令

5.11环境变量

命令的本质是可执行程序.exe

例如命令cd ,它的可执行文件在/user/bin/cd.exe

  • env命令

查看当前记录的环境变量

env

环境变量是一种key-value结构
  • PATH

无论当前的工作目录在哪,都可以准确执行命令,就是借助环境变量中的PATH

PATH记录了系统执行任何命令的搜索路径

当执行某条命令时,系统就会从PATH的实值路径中搜索该命令对应的文件路径

  • $

$环境变量key

获取key对应的实值路径,但是输出需要echo命令

echo $PATH --- 输出PATH的实值路径
echo $PWD --- 输出PWD的实值路径
  • 自行设置环境变量

export 变量名(key)=变量值(value)

直接设置是一种临时设置

    • 永久生效
      • 针对当前用户永久生效
        • 在当前用户HOME目录内的~/.bashrc配置export命令
      • 针对所有用户永久生效
        • /etc/profile中配置export命令
    • 配置完成后通过source 配置路径命令直接生效
  • bash脚本

5.12文件上传和下载

通过finalshell,直接将宿主机的文件拖拽到虚拟机即可

5.13压缩和解压

  • 压缩格式

    • Windows
      • zip
      • 7zip
      • rar
    • Linux
      • tar
      • gzip
      • zip
  • Linux中常用的两种压缩格式

    • tar : 后缀名.tar ,简单封装(打包)
    • gzip: 后缀名.gz ,压缩体积封装(打包+压缩)
  • tar命令:针对targzip格式

将文件进行压缩/解压

tar [-c -v -x -f -z -C] 参数1 参数2...

-c --- 创建压缩文件,用于压缩
-x --- 解压压缩包
-v --- 显示压缩、解压进度
-z --- gzip格式,不使用此选项就是tar格式
-C --- 选择解压的目的地,用于解压
-f --- 要创建的文件或者要解压的文件,-f选项必须在最后

注意:
	如果使用-z,一般在第一个
	如果使用-f,放在最后
	-C 建议单独使用
常见的压缩命令组合:
tar -cvf test.tar 1.txt 2.txt 3.txt
	创建压缩包test.tar,并将1,2,3打包放到test.tar中,显示进度
tar -zcvf test.gz 1.txt 2.txt 3.txt
	创建压缩包test.gz(真压缩包),并将1,2,3打包压缩进text.gz,显示进度

常见的解压命令组合:
tar -xvf test.tar
	解压test.tar压缩包,解压至当前目录
tar -xvf test.tar -C ~/pbk
	解压test.tar压缩包,解压至HOME目录下的pbk目录内
tar -zxvf test.gz
	解压.gz压缩包
  • zip命令和unzip:针对zip格式
    • zip
      • 将文件进行压缩
      • zip [-r] 参数1 参数2...
-r --- 压缩的内容包含文件夹
例如:
	zip test.zip 1.txt 2.txt
	将1,2.txt压缩到test.zip
	zip -r test.zip 1.txt pbk
	将1.txt和文件夹pbk压缩到test.zip
    • unzip
      • 将压缩包进行解压
      • unzip [-d] 参数
-d --- 指定要解压到的位置,和-C一样
例如:
	unzip test.zip
	解压到当前目录
	unzip test.zip -d ~/pbk
	解压到指定目录
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值