命令:
通用格式:command [-options] [parameter];-options控制行为细节,parameter命令的指向目标
ls [-a -l -h] [Linux路径];显示目标路径下的文件;-a显示以.开头的隐藏项,-l列表形式展现更多信息,-h要与-l同时使用显示文件大小
cd [Linus路径];切换目录,无参数切换到HOME目录【change directory】
pwd;打印当前工作目录【print work directory】
mkdir [-p] Linux路径;在目标路径创建文件夹;-p表示自动创建不存在的父目录【make directory】
touch Linux路径;在目标路径创建文件
cat Linux路径;查看目标路径文件内容(全部显示)
more Linux路径;查看目标路径文件内容(可翻页)
cp [-r] 参数1 参数2;复制文件/文件夹;-r递归复制文件夹,参数1被复制文件/文件夹的路径,参数2复制的目标位置【copy】
mv 参数1,参数2;移动文件/文件夹;参数1被移动文件/文件夹路径,参数2移动目标位置,若参数2不存在则附带重命名效果【move】
rm [-r -f] 参数1 参数2......参数N;删除文件/文件夹;-r删除文件夹,-f强制删除【remove】
which 要查找的命令;查看命令的程序文件存放位置
find 起始路径 -name “被查找文件名”;在起始路径中按文件名查找文件
find 起始路径 -size +|-n[kMG];在起始路径中按文件大小查找文件;+、-代表大于和小于,n表示大小数字,kMG表示kb、MB、GB
grep [-n] 关键字 文件路径;从文件中通过关键字过滤文件行;-n在结果中显示匹配的行的行号,关键字即要过滤的关键字,文件路径即要过滤内容的文件路径,可作为内容输入端口
wc [-l -w -c -m] 文件路径;统计文件的行数、单词数等;-l统计行数,-w统计单词数量,-c统计bytes数量,-m统计字符数量,文件路径即要过滤内容的文件路径,可作为内容输入端口
echo 输出的内容;在命令行输出指定内容
tail [-f -num] Linux路径;查看文件尾部内容,跟踪文件的最新更改;-f表示持续跟踪,-num表示查看尾部多少行,要把num换成数字不填默认10行
su [-] [用户名];账户切换;-表示在切换用户后加载环境变量,用户名表示要切换的用户,省略代表切换到root;exit命令退回上一个用户,也可以使用ctrl+d,普通用户切换到root用户需要密码,反之则不需要;su - root,切换到root用户【Switch User】
sudo 其他命令;直接以root身份执行普通命令,需要先为当前普通用户配置sudo认证;通过root身份下输入visudo配置sudo认证,需要在文件末尾加 用户名 ALL=(ALL) NOPASSWD:ALL
groupadd 用户组名;创建用户组
groupdel 用户组名;删除用户组
useradd [-g -d] 用户名;-g指定用户的组,不指定-g会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g;-d指定用户HOME路径,不指定会让HOME目录默认在:/home/用户名
userdel [r] 用户名;删除用户;-r删除用户的HOME目录
id [用户名];查看用户所属组,无用户名表示查看自己
usermod -aG 用户组 用户名,将指定用户加入指定组
getent passwd;查看当前系统中有哪些用户,展示信息为 用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认为bash)
getent group;查看当前系统中有哪些组,展示信息为 组名称:组认证(显示为x):组ID
ll展示的权限信息,共10位,首位是-代表文件,d代表文件夹,l表示软链接,
随后前三位代表所属用户权限,中三位代表所属用户组权限,后三位代表其他用户权限,三位为rwx,若无对应权限以-表示,如有读和执行权限无写权限为r-x
chmod [-R] 权限 文件或文件夹;修改文件、文件夹的权限信息(只有所属用户或root用户可以修改);-R表示对文件夹内的全部内容应用同样的操作,示例:chmod -R u=rwx,g=rx,o=x test,将文件夹test以及文件夹内全部内容权限设置为:rwxr-x--x【user group other】;快捷写法如:chmod 751 hello.txt;751看作二进制为111 101 001,权限为rwx r-x --x
chown [-R] [用户][:][用户组] 文件或文件夹;修改文件、文件夹所属的用户和用户组(仅root用户执行);-R表示对文件夹内的全部内容应用同样的操作,用户,修改所属用户,用户组,修改所属用户组,:用来分隔用户和用户组
vi/vim 文件路径;通过vi/vim编辑文件
命令模式-输入模式-底线命令模式;初始命令模式,输入i进入输入模式,esc回退到命令模式,:进入底线命令模式;
命令模式:dd删除光标所在的行,ndd删除当前光标开始向下n行,u撤销文本的编辑,ctrl+r重做,y复制一行,p粘贴,/进入搜索模式,n向下继续搜索,N向上继续搜索,0光标跳到本行开头,$光标跳到本行结尾,gg光标跳到首行,G跳到行尾,dG从当前行开始向下全部删除,dgg向上全部删除,d$删除到本行结尾,d0删除到本行开头
底线命令模式:wq保存并退出,w保存,q退出,q!强制退出,set nu显示行号,set paste设置粘贴模式,
systemctl start | stop | status | enable | disable 服务名;控制很多软件(内置或第三方)的启动、停止、开机自启,能被systemctl管理的软件一般也称为:服务;start启动、stop关闭、status查看状态、enable开启开机自启、disable关闭开机自启;系统内置的服务如:NetworkManager主网络服务、network副网络服务、firewalld防火墙服务、sshd和ssh服务
ln -s 参数1 参数2;创建软链接(类似Windows中的快捷方式);-s创建软链接,参数1被链接的文件或文件夹,参数2要链接去的目的地
date [-d] [+格式化字符串];查看系统时间;-d按照给定的字符串显示日期,一般用于日期计算,如date为2024-7-23,date -d“+1day”为2024-7-24,-d支持的时间标记为year年、Month月、day天、hour小时、Minute分钟、second秒; 格式化字符串:通过特定的字符串标记来控制显示的日期格式,如%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到现在的秒数
ifconfig;查看ip地址和网卡;127.0.0.1ip用于指代本机,0.0.0.0可以用来指代本机、在端口绑定中确定绑定关系、在一些ip地址限制中表示所有ip,如放行规则0.0.0.0表示允许任何ip访问
hostname;查看主机名
hostnamectl set-hostname 主机名;更改主机名(需root)
域名解析本机记录Windows在C:\Windows\System32\drivers\etc\hosts Linux在/etc/hosts;若未检测到对应ip则联网询问公开DNS服务器是否有记录其ip
yum [-y] [install | remove | search] 软件名称;CentOS 7的RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题,管理和安装系统软件包;-y自动确认,无需手动确认安装或卸载过程,install安装,remove卸载,search搜索(需要联网和root权限,CentOS 7)
apt [-y] [install | remove | search] 软件名称;Ubuntu的包管理器,使用方法同yum
Windows是.exe,CentOS是.rpm,Ubuntu是.deb,Android是.apk
ping [-c num] ip或主机名;检查指定的网络服务器是否是可联通状态;-c是检查的次数,不使用将无限次数持续检查,ip或主机名是被检查的服务器ip地址或主机名地址
wget [-b] url;非交互式文件下载器,可以在命令行内下载网络文件;-b后台下载,会将日志写入当前工作目录的wget-log文件,url下载链接
curl [-O] url;发送http网络请求,可用于下载文件、获取信息等;-O用于下载文件,当url是下载链接时可以使用此选项保存文件,url是要发起请求的网络地址
公认端口:1~1023通常用于一些系统内置或知名程序的预留使用,如ssh服务的22端口,https服务的443端口,非特殊需要不占用这个范围端口
注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序/服务
动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时用于临时使用
nmap 被查看的ip地址;查看端口占用情况(127.0.0.1表示本机)
netstat -anp | grep 端口;
ps [-e -f];查看Linux系统中的进程信息;-e显示出全部的进程,-f以完全格式化的形式展示信息(展示全部信息),常与grep结合使用(进程是指程序在操作系统内运行后被注册为系统内的一个进程并用于独立的进程ID/进程号);从左到右依次是 UID进程所属的用户ID,PID进程的进程号ID,PPID进程的父ID(启动此进程的其他进程),C此进程的CPU占用率,STIME进程的启动时间,TTY启动此进程的终端序号,如显示?表示非终端启动,TIME进程占用CPU的时间,CMD进程对应的名称或启动路径或启动命令
kill [-9] 进程ID;关闭进程;-9表示强制关闭,不使用则向进程发送信号要求关闭,但是否关闭要看进程自身的处理机制
top [-p -d -c -n -b -i -u];查看CPU、内存使用情况,类似Windows的任务管理器,默认5秒刷新一次; 从左到右依次是:PID进程ID,USER进程所属用户,PR进程优先级 越小越高,NI负值表示高优先级 正值表示低优先级,VIRT进程使用虚拟内存 单位KB,RES进程使用物理内存 单位KB,SHR进程使用共享内存 单位KB,S进程状态(S休眠,R运行,Z僵死状态,N负数优先级,I空闲状态),%CPU进程占用CPU率,%MEM进程专用内存率,TIME+进程使用CPU时间总计 单位10毫秒,COMMAND进程的命令或名称或程序文件路径 用到再查..按h可看
df [-h];查看硬盘的使用情况;-h以更加人性化的单位显示
iostat [-x] [num1] [num2];查看CPU、磁盘的相关信息;-x显示更多信息,num1数字 刷新间隔,num2数字 刷新次数;内容详细信息...略
sar -n DEV num1 num2;查看网络相关统计(暂不考虑sar完整..);-n查看网络,DEV表示网络接口,num1数字 刷新间隔(默认为1),num2数字 刷新次数(默认为∞)
env;查看当前系统中记录的环境变量;KeyValue型结构
$被用于取变量的值,如echo $PATH可以取PATH这个环境变量的值,echo ${PATH}ABC
export 变量名=变量值;临时设置环境变量;若要永久生效:针对当前用户生效配置在~/bashrc 针对所有用户生效配置在/etc/profile 并可以通过source配置文件进行立即生效
环境变量PATH就是搜索路径,PATH目录间以:隔开
rz;从宿主机下载文件到虚拟机(需要yum -y install lrzsz安装)
sz 要下载的文件;从虚拟机下载文件到宿主机
tar [-c -v -x -f -z -C] 参数1 参数2 ... 参数N;解压或压缩文件(tar格式仅为简单的封装);-c创建压缩文件 用于压缩模式,-v显示压缩、解压过程 用于查看进度,-x解压模式,-f要创建的文件或要解压的文件 必须在所有选项中处于最后一个,-z是gzip模式 不使用就是普通的tarball格式 一般在所有选项的第一个,-C选择解压的目的地 用于解压模式 一般单独使用
(Linux和Mac常用.tar和.gz两种压缩格式,.gz是用gzip压缩算法)
zip [-r] 参数1 参数2 ... 参数N;压缩为zip文件;-r被压缩的包含文件夹需要使用 与rm、cp的-r效果一致
unzip [-d] 参数;解压zip压缩包;-d指定要解压去的位置 同tar的-C,参数是被解压的zip文件
符号:
[]代表可选的;|是管道符,将左边的结果作为右边的输入;`是反引号,将被``包围的内容作为命令执行;>和>>是重定向符,将左侧命令的结果覆盖/追加写入到符号右侧指定的文件中;!是命令前缀,自动执行上一次匹配前缀的命令(在history中搜索,如!+p搜索到python命令)
特殊路径符:.表示当前目录,..表示上一级目录,~表示当前用户的HOME目录
通配符:*匹配任何内容,text*匹配任何text开头的内容,*text匹配任何text结尾的内容,*text*匹配任何包含text的内容
快捷键:
ctrl+l;清空终端内容,等效于clear命令
ctrl+c;强制停止当前程序的执行,退出当前命令的输入
ctrl+d;退出账户的登录,退出某些某些特定程序的专属界面(如python)
ctrl+r;历史命令搜索,输入内容去匹配历史命令,随后加回车执行,加左或右命令暂不执行而先修改
ctrl+a;跳到命令开头
ctrl+e;跳到命令结尾
ctrl+键盘左键;向左跳一个单词
ctrl+键盘右键;向右跳一个单词
history;查看历史输入过的命令
tab;自动补全
翻页操作:空格后翻,b前翻,q退出