目录
Linux实用操作
Linux系统下载软件
yum命令
apt
systemctl命令
ln命令
日期和时区
IP地址 主机名
网络传输-下载和网络请求
ping命令
wget命令
curl命令
网络传输-端口
进程
ps 命令
关闭进程命令:
主机状态监控命令
磁盘信息监控:
环境变量
自行设置环境变量
Linux文件的上传下载
压缩/解压缩
tar
zip/unzip
Linux实用操作
好用的快捷键操作:
Ctrl+C:强制停止程序运行或者快速删除一行写错的代码
Ctrl+D:退出(退出账户的登录)或登出
比如在Linux中进入python环境,就可以用ctrl+D退出
历史命令搜索:直接history
历史匹配搜索:! 加匹配字符,系统自动匹配(快捷写法)如:
或者ctrl+r 匹配,找从下往上匹配的命令,回车立马执行,左右键get到,但不执行
ctrl+l或者clear直接清屏
Linux系统下载软件
可以下载安装包安装,也可以在Linux自带的应用商店安装
yum命令
yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。(RPM就是Linux系统中安装包的格式,但不是kali或ubantu的,他俩是 .deb文件)
语法:
yum [-y] [ install | remove | search ] 软件名称
install:安装
remove:卸载
search:搜索
yum命令需要root权限,可以su到root用户,也可以sudo提权,需要联网。
apt
不知道为什么,centOS可以用yum命令,我用的kali不能,于是度娘了一下,是因为centOS用的是yum管理器,ubantu用的是apt管理器,我想kali应该也是apt管理器。
语法:
apt [-y] [ install | remove | search ] 软件名称
也可以apt-get,但是网上说最好用apt!
apt命令是kali和Ubuntu默认的安装软件包
apt-get install 软件名称 安装软件
apt-get remove 软件名称 只卸载软件包;
apt-get purge 软件名称 卸载并清除软件包的配置
systemctl命令
Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启能够被systemctl管理的软件,一般也称之为:服务
语法:
systemctl start | stop | status | enable | disable | 服务名
enable:开机自启 disable:关闭开机自启
- NetworkManager 主网络服务
- network 副网络服务
- firewalld 防火墙服务
- sshd ssh服务(Finalshell远程登录就用它)
(在kali中,我弄了一气,只有systemctl ssh命令能执行。。。 )
感觉很重要的防火墙也不能执行
上网搜了一下是说是还没有安装防火墙。。
连夜下载一个,语法:
sudo apt-get install firewalld firewall-config
然后 systemctl status firewalld 就可以看到显示(active running )状态了。
同时还学到了firewalld和ufw是两个不同的防火墙工具。
ln命令
ln命令可以给文件或者文件夹创建软链接(相当于Windows里的快捷方式) 快捷方式指向本体
语法:
ln -s 参数1 参数2
-s表示创建软链接
参数1应该是本体 参数2是快捷方式地址
文件夹也是如此链接
日期和时区
date命令查看系统时间
语法: date [ -d ] [ +格式化字符串 ]
很简单:
如果有空格,就用双引号引起来,作为整体
-d选项用于做日期计算,但是我感觉好像没什么必要(憋笑)
就像这样:
修改Linux时区
不同系统默认不同时区,比如我的kali就默认是北京东八区
不是东八区的可以这样改
除此之外,我们还可以通过ntp程序联网自动校准时间
当然也可以手动校准:(需root权限):ntpdate -untp.aliyun.com
IP地址 主机名
IP地址简单无需多说
hostname命令查看主机名(本人的就是forbear)
hostnamectl set-hostname 新主机名(需要root权限)
上网时输入一个域名,先在本地电脑查询有无与IP映射关系,
没有再上网在DNS服务器查询
本地↓
Windows: C:\\Windows\System32\drivers\etc\hosts
Linux:/etc/hosts
其实可以自行配置映射:
在Windows里打开上述地址,在最后面加一个
IP地址 Linux主机名 这样的话在电脑上配置虚拟机信息就能不用它的IP,直接用它的主机名
比如:128.168.9.1 combat
虚拟机配置固定IP
当前虚拟机Linux IP地址不固定,为了省去不必要的麻烦,要固定IP
配置固定IP需要2个大步骤:
- 在VMware Workstation(或Fusion)中配置IP地址网关和网段(IP地址的范围)
- 在Linux系统中手动修改配置文件,固定IP
固定IP方法如下↓
第四章-07-配置Linux固定IP地址_哔哩哔哩_bilibili
网络传输-下载和网络请求
ping命令
作用:测试网络联通,根据域名查出IP
语法:
ping [ -c num ] ip或主机名、域名
wget命令
作用:命令行内下载网络文件
语法: wget [ -b ] url
选项:-b,可选,后台下载,会将日志写入到当前工作目录的wget-log文件
参数:url,下载链接
curl命令
作用:发送http网络请求,可用于:下载文件、获取信息等
语法: curl [ -O ] ur1
选项:-O,用于下载文件,当url是下载链接时,可以使用此选项保存文件参数:url,要发起请求的网络地址
(也就是要下载的话就加上 -O ,不下载光发送请求就不用加)
cip.cc 公开网站获取你的主机公网IP
所以我们可以: curl cip.cc
就跟打开浏览器一样
网络传输-端口
端口,是设备与外界通讯交流的出入口。
端口可以分为:物理端口和虚拟端口两类
物理端口:又可称之为接口,是可见的端口,如USB接口,RJ45网口,HDMI端口等。
虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的。
两台电脑上的程序进行通信时,IP地址只能找到对方的电脑,却无法更加详细的找到电脑里的程序位置,所以就有了端口。
黑马讲的很好:
Linux系统是一个超大号小区,可以支持65535个端口,这6万多个端口分为3类进行使用:
公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口,HTTPS服务的443端口非特殊需要,不要占用这个范围的端口
注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序\服务
动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时,用干临时使用。
使用nmap命令,可以查看端口占用情况,首先下载:
apt install nmap
语法: nmap IP地址 查看该IP有哪些端口是暴露的可以公开被访问
然后:
nmap 127.0.0.1 意味着查看本机上有哪些端口是暴露的可以公开被访问的
netstat命令可以查看端口的占用情况
首先下载:
apt install net-tools
语法: netstat -anp | grep 端口号
进程
每一个运行程序都会被分配一个进程号,也叫进程ID(独有的)。
Pid就是进程号。
查看进程命令:
ps 命令
语法:ps [ -e -f ]
-e 显示全部进程
-f 以完全格式化的形式展示(全部)信息
从左到右分别是
UID:进程所属的用户ID,启动者是谁
PID:进程的进程号ID
PPID:进程的父ID(启动此进程的其它进程)
C:此进程的CPU占用率(百分比)
STIME:进程的启动时间
TTY:启动此进程的终端序号,如显示?表示非终端启动,而是系统内置启动
TIME :进程点用CPU的时间
CMD:进程的启动路径或者启动命令
ps命令太多的话,可以配合 | grep 命令查找
关闭进程命令:
语法: kill [ -9 ] 进程ID
-9表示强制关闭进程
主机状态监控命令
查看系统资源占用:通过top命令
详解:
top命令也支持选项:
磁盘信息监控:
df命令,可以查看硬盘的使用情况
语法: df [ -h ] 有-h更详细
可以使用iostat查看CPU、磁盘的相关信息
语法: iostat [ -x ][ num1 ][ num2 ]
选项: -x,显示更多信息
num1:数字,刷新间隔
num2:数字,刷新几次
sda:当前虚拟机硬盘
tps:每秒传输次数
剩下的:每秒读多少/写多少/总的读数量/总的写数量
-x更多选项:
网络状态监控:
sar命令
语法: sar -n DEV num1 num2
选项:
-n:查看网络
DEV:表示查看网络接口
num1:刷新间隔(不填就查看一次结束)
num2:查看次数(不填无限次数)
我感觉以上这几个命令了解个大概就行。。。太复杂了
环境变量
env命令即可查看当前系统中记录的环境变量(其实是一个key-value的形式)
为某个命令(本质是可执行文件)配置了环境变量,他就可以在任何地方执行了,本质就是为这个命令配置了一个
path = 默认路径1:默认路径2 ……
运行的时候查找默认路径里有没有这个可执行的文件。
$:用于取变量的值,让我们自己看
比如: echo $PATH
自行设置环境变量
临时设置:
语法: export 变量名 = 变量值
要在原有的东西上追加一些,就最好括住原有的
第一步
在文件中末行添加 export 变量名=变量值就行
第二步:source + 配置文件
不知道为什么kali又不能,真是奇葩。。
自定义环境变量
export PATH=$PATH:新程序的路径
拿finalshell远程连接时候选择是用哪个用户登录,可以选择root用户登录,这样就可以看到下方可视化窗口中的文件夹。
Linux文件的上传下载
1.上传:鼠标拖到文件夹
下载:右键下载
2.命令格式
rz和sz命令
得先安装: apt install rz
sz 加 文件名
就可以进行文件的下载(tab键可以自动补全)
rz ,后面什么都不用加就会自动弹出上传窗口(缺点是速度没有直接拖拽快)
压缩/解压缩
市面上有很多压缩格式:
.zip .rar .7zip .tap .gzip
后两种Linux常用。
Linux有两种压缩/解压方式:
tar方式和zip/unzip方式
tar
.tar:只是做了一个小小的包装,没有太多的体积压缩 属于tarball 归档文件
.gz:大大缩小占用空间,后缀:也可是.tar.gz
压缩换成解压,只需要把c换成v
zip/unzip
zip命令行压缩(压缩为 zip包):
zip 文件名 [-r] 参数1 2 3…
如果有文件夹那就带一个 -r
unzip命令解压:
unzip [-d] 参数
-d:解压完放哪儿
参数:解压哪个文件
欢迎各位读者批评指正(Linux浅学系列终于是结束了。。。寒假真是废)