linux
一
Linux命令基础格式
command [-options] [parameter]
command:命令本身
options:[可选的、非必填的]命令的一些选项,可以通过选项控制命令的一些行为细节
parameter:[可选的、非必填的]命令的参数,多用于命令的指向目标等
语法中的[]表示可选、非必填的意思
命令集
ls命令
ls[-a -l -h][Linux路径]
-a -l -h 是可选项;-a表示all,即列出全部文件,包括隐藏文件/文件夹(.开头的文件/文件夹);-l表示以列表的形式展示内容,并展示更多信息;-h表示以易于阅读的形式列出文件大小,必须与-l同时使用
Linux 路径是此命令可选的参数
当不使用选项和参数的时候,表示直接将结果以平铺的形式,列出当前工作目录下的内容(文档、文件夹、软件等;选项是可以组合使用的,例如-lh -al -ah 前后顺序无影响
cd切换目录命令
cd [路径]
cd命令只需选项,无需参数,表示要切换到那个目录下
cd命令只写命令,不写参数,表示回到用户的HOME目录下
pwd查看当前工作目录
pwd命令无需参数,无需选项,直接输入pwd,打印当前工作目录
mkdir命令
mkdir[-p][linux路径]
参数必填,表示创建的目录(文件夹)的位置,绝对路径和相对路径均可
-p可选项,表示自动创建不存在的父目录,适用于创建连续多层级的目录
touch创建文件
touch [路径]
touch命令无选项,路径必填,表示要创建的文件的路径,相对、绝对、符号,均可使用
cat查看文件
cat [路径]
cat命令无选项,路径必填,表示要查看的文件的路径,相对、绝对、符号,均可使用
more查看
more与cat不同的是,cat是直接将所有的内容全部打印出来,more如果文件内容过多可以翻页查看(空格翻页,q退出)
cp命令复制文件(夹)
cp[-r][参数一][参数二]
-r,可选,复制文件夹使用,表示递归
参数一:Linux路径,表示要复制的文件
参数二:Linux路径,表示要复制到的位置
mv移动文件
mv[参数一][参数二]
参数一:linux路径,被移动的文件
参数二:linux路径,移动的目标位置,若不存在则将被移动文件的文件名改为参数二的内容
rm
rm[-r -f][参数一 参数二 参数三.....参数N]
同cp命令一样-r表示删除文件夹
-f表示force,强制删除文件夹,不会弹出提示确认信息
参数一...表示要删除的文件或文件夹路径,空格隔开
which命令
通过which命令查找所用命令的程序文件存放在哪里
which [查找的命令]
find命令-按照文件名查找文件
find[起始路径]-name["文件名"]
find[起始路径]-size +|- n[kMG(文件大小)]
+-表示大于和小于
n表示数字
kMG表示单位,kB(k小写)、MB、GB
小结:which和find的区别
- which:主要用于查找命令的路径,适用于快速定位可执行文件,查找范围限于 PATH 环境变量中的目录。
- find:功能更强大,可以查找任意类型的文件,并支持多种查找条件,适用于更复杂的文件查找需求
grep
grep[-n]关键字 文件路径
-n 可选 表示在结果中显示匹配的行的行号
关键字 必填 表示过滤的关键字,带有空格或其他特殊符号时,建议用""将关键字包围起来
文件路径 表示要过滤的文件路径,可作为管道符内容输入端口
wc做数量统计
可以通过wc命令统计文件的行数、单词数量等
wc[-c -m -l -w]文件路径
-c 统计字节bytes数量
-m 统计字符数量
-l 统计行数
-w 统计单词数量
文件路径 被统计的文件,可作为管道符内容输入端口
管道符|
将左边命令的结果作为右边命令的输入
echo输出
echo[输出内容]
重定向符">"、">>"
">"将左侧命令覆盖写入到右侧指定文件中
">>"将左侧命令追加写入到右侧指定文件中
tail
可以查看文件尾部内容,并可以持续跟踪
tail[-f -num]linux路径
-f 持续跟踪
-num 启动时查看文件多少行,默认10行
linux路径,表示被查看的文件
vi/vim编辑器
三种模式
- 命令模式:命令模式下所敲得按键都理解为命令,以命令驱动不同的功能。此命令下不能进行自由文字编辑模式
- 输入模式:也就是所谓的编辑模式、插入模式,可以对文件内容进行自由编辑
- 底线命令模式:以“:”开始,通常用于文件的保持、退出
命令模式
如果需要通过vi/vim编辑器编辑文件,请通过如下命令:vi(m) 文件路径
vim兼容全部的vi功能,后续全部使用vim命令
- 如果文件路径表示的文件不存在,那么此命令会用于编辑新文件
- 如果文件路径表示的文件存在,那么此命令用于编辑已有文件
在命令模式内,按i进入输入模式;在输入模式内按esc会进入命令模式;在命令模式内按:进入底线命令模式;在底线命令模式输入wq保存文件并退出vim编辑器
linux用户
为普通用户配置sudo认证
- 切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers
- 在文件的最后添加:ithema ALL = (ALL) NOPASSWD: ALL
- 其中NOPASSWD:ALL表示使用sudo命令,无需输入密码
- 最后通过wq保存
- 切回普通用户
- 执行的命令均以root运行
用户组管理
以下命令需root用户执行
- 创建用户组
groupadd - 删除用户组
groupdel - 创建用户
useradd[-g -d]用户名- -g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已存在,如已存在同名组,必须使用-g
- -d指定用户HOME路径,不指定,HOME目录默认在:/home/用户名
- 删除用户
userdel[-r]用户名- -r删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留
- 查看用户所属组
id[用户名]- 参数:用户名,被查看的用户,如果不提供则查看自身
- 修改用户所属组
usermod-aG[用户组][用户名],将指定用户加入指定用户组
getent
使用getent,可以查看当前系统中有那些用户及用户组
getent passwd(用户)
用户名:密码:用户ID:组ID:描述信息:HOME目录:执行终端(默认bash)
getent group(用户组)
组名称:组认证(显示为X):组ID
权限信息
[-/d/l][r/-][w/-][x/-][r/-][w/-][x/-][r/-][w/-][x/-]
1:-表示文件,d表示文件夹,l表示软链接
2、3、4:所属用户的权限
5、6、7:所属用户组的权限
8、9、10:其他用户的权限
- r表示读权限
- w表示写权限
- x表示执行权限
chmod
注意,只有文件、文件夹的所属用户或root用户可以修改
修改权限
chmod[-R]权限 文件或文件夹
-R 对文件夹内的全部内容应用同样的操作
例如:chmod u=rwx,g=rx,o=x hello.txt 将文件权限修改为:rwxr-x--x
- 其中:u表示user所属用户权限,g表示group组权限,o表示other其他用户权限
普通用户无法修改所属其他用户或组,所以此命令只适用于root用户执行
修改所属
chmod [-R] [用户][:用户组] 文件或文件夹
快捷键
- 强制停止
- ctrl+c //可以停止程序运行,也可以退出当前命令的输入
- 退出或登出
- ctrl+d //可以退出账号的登录,也可以退出某些特定程序的专属页面(例如:python的编程语言的相关界面),但不能退出vi/vim
- 历史命令搜索
- history//可以通过!命令前缀,自动匹配上次执行匹配前缀的命令
- ctrl+r//输入内容去匹配历史命令
- 如果得到的命令是需要的。可以回车直接执行;也可以键盘左右键,得到此命令不执行
- 光标移动快捷键
- ctrl+a,跳到命令开头
- ctrl+e,跳到命令结尾
- ctrl+键盘左键,向左跳一个单词
- ctrl+键盘右键,向右跳一个单词
yum命令
yum:RPM包软件管理器,用于自动化安装Linux软件,并可以自动解决依赖问题
yum [-y][install|remove|search] 软件名称
选项:-y,自动确认,无需手动确认安装或卸载过程
install:安装
remove:卸载
search:搜索
yum命令需要root权限,可以使用su -切换到root,或使用sudo提升权限
yum命令需要联网
systemctl命令
systemctl [start|stop|status|enable|disable] 服务名
- start 启动
- stop 关闭
- status 查看状态
- enable 开启开机自启
- disable 关闭开机自启
Linux系统很多软件支持使用systemctl命令控制:启动、停止、开机自启,能够被systemctl管理的软件,也被称为:服务
系统内置的服务比较多,比如 - NetworkManager,主网络服务
- network,副网络服务
- firewalld,防火墙服务
- sshd,ssh服务(finalshell远程登录Linux就是使用的这个服务)
ln命令 创建软链接(类似于windows中的快捷方式)
ln [-s][参数一]~[参数二]
- -s选项,创建软链接
- 参数一:被链接的文件或文件夹
- 参数二:要链接去的目的地
date命令
通过date命令可以在命令行中查看系统的时间
date [-d][+格式化字符串]
- -d按照给定的字符串显示日期,一般用于日期计算
- 格式化字符串:通过特定的字符串标记,来控制显示的日期格式
- %Y 年
- %y 年份后两位数字(00->99)
- %m 月份(01->12)
- %d 日(01->31)
- %H 小时(00->23)
- %M 分钟(00->59)
- %S 秒(00->59)
- %s自 1970-01-01 00:00:00UTC——>到现在的秒数
ntp程序(服务) 自动校准系统时间
安装:ntp:yum -y intsall ntp
设置开机自启:
- systemctl start ntpd
- 手动校准(需root权限):ntpdate -u ntp.aliyun.com
linux查看修改主机名
hostname查看主机名
hostnamectl set-hostname [主机名],修改主机名,需要root权限
ping命令
可以通过ping命令,检查指定的网络服务器是否是可联通状态
ping [-c num] ip或主机名
- 选项:-c,检查的次数,不使用-c选项,将无限次持续检查
- 参数:ip或主机名,被检查的服务器的ip地址或主机名地址
wget命令
wget是非交互式的文件下载器,可以在命令行内下载文件
wget [-b] url
- 选项:-b,可选,后台下载,会将日志写到当前工作目录的wget-log文件中
- 参数:url,下载链接
curl命令
curl可以发送http网络请求,可用于:下载文件、获取信息等
curl [-O] url
- 选项:-O,用于下载文件,当url是下载链接时,可以使用此选项保存文件
- 参数:url,发起请求的网络地址
查看端口占用
- 使用nmap命令,安装nmap:yum -y install nmap
nmap 被查看的IP地址
- 可以通过netstat命令,查看指定端口的占用情况
netstat -anp|grep 端口号,安装netstat:yum -y install net-tools
查看进程
- ps命令:ps [-e -f]
选项:-e,显示出全部的进程
选项:-f,以完全格式化的形式展示信息(展示全部信息)
一般来说,固定用法就是:ps -ef 列出全部进程的全部信息
从左到右分别是 - UID:进程所属的用户ID
- PID:进程的进程号ID
- PPID:进程的父ID(启动此进程的其他进程)
- C:此进程的CPU占用率(百分比)
- TTY:启动此进程的终端序号,如显示?,表示非终端启动
- TIME进程占用CPU的时间
- CMD:表示进程对应的名称或启动路径或启动命令
查看指定进程,与管道符配合使用,ps -ef|grep tail,即可查看指定进程
关闭进程
kil [-9][进程ID]
选项:-9,表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制
查看系统资源占用
可以通过top命令查看CPU、内存使用情况
默认每五秒刷新一次,直接输入top即可,按q或ctrl+c退出
磁盘信息监控
-
使用df命令,可以查看硬盘的使用情况
语法:df [-h]
选项:-h,以更人性化的单位显示 -
可以使用iostat查看CPU、磁盘的相关信息
语法:iostat[x][num1][num2]
选项:-x,显示更多信息
num1:数字,刷新间隔
num2:数字,刷新次数
网络状态监控
- 可以使用sar命令查看网络的相关统计(sar命令非常复杂,这里仅用于简单的统计网络)
语法:sar -n DEV num1 num2
选项:-n,查看网络,DEV表示查看网络接口
num1:刷新间隔(不写就查看一次结束),num2:查看次数(不填无限次数)
修改环境变量
- 临时生效:export 名称=值
- 永久生效:
- 针对当前用户:~/bashrc文件中配置
- 针对全部用户:~/etc/profile文件中配置
- 配置完成,可以通过source命令立刻生效
rz、sz命令
需要通过yum-y install lrzsz进行安装
-
rz命令,进行上传,语法:输入rz,接着会弹出上传窗口
-
sz命令进行下载,语法:sz 要下载的文件
tar命令
语法:tar [-c -v -x -f -z -C]参数1 参数2 参数3 ..... 参数n
- -c,创建压缩文件,用于压缩模式
- -v,显示压缩、解压过程,用于查看进度
- -x,解压模式
- -f,要创建的文件,或要解压的文件,-f选项必须在所有选项中处于最后一个
- -z,gzip模式,不使用-z就是普通的tarball格式,如果使用一般情况下位于选项位的第一个
- -C,选择解压的目的地,用于解压模式
zip命令压缩文件
可以使用zip命令,压缩文件为zip压缩包
语法:zip [-r] 参数1 参数2...参数N
- -r,被压缩的包含文件夹的时候,需要使用-r选项,和rm、cp等命令的-r效果一致
unzip命令解压文件
使用unzip命令,可以方便的解压zip压缩包
语法:unzip [-d] 参数
- -d,指定要解压去的位置,同tar的-C选项
- 参数,被解压的zip压缩包文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库