(当时听课是在电脑记事本上写的,直接粘贴过来的,用手机看格式可能会不舒服)
---------------------------------------------------------------------------------------------------------------------------------
显示命令:
隐藏文件/文件夹 会在 文件名/文件夹名之前会有一点 (.)
ll : 类似于ls -l
ls : 查看指定文件夹和目录的内容,不指定参数就查看当前文件夹内容
ls -a : 显示全部的文件及隐藏文件
ls -F : 显示的目录文件名之后加一个斜线(“/”)字符
ls -l : 长格式列出文件和目录
ls -h : 显示文件大小, 要与l 一起搭配使用
ls -R : 连同子目录内容一起列出来
ls -S : 以文件大小排序列出。
ls -t : 以时间排序列出。
pwd : 查看当前文件路径(print work directory -- 输出工作目录)
cd ./Desktop :表示切换到当前目录下的Ddesktop中, 和相对路径的cd desktop 效果一模一样(cd 只能切换目录,不能切换文件)( . 一个点就表示当前目录)
cd .. :即可切换到上一级目录, cd ../.. 就可切换到上两级目录
cd ~ :即可切换到HOME目录 或 cd ~/Deaktop 切换到HOME的Desktop 目录 , 和绝对路径的 cd /home/linux/Desktop 效果一样
~ : 表示home文件夹
--------------------------------------------------------------------------------------------------------------------------
增删改查
mkdir 文件夹名 : 创建一个文件夹 (可以创建多个独立文件夹,只需用空格隔开文件夹名)
mkdir -p 文件夹名 :创建一个多层次多个文件夹
touch 文件名 : 创建一个文件 (可以创建多个文件,只需要用空格隔开文件名)
cat 路径 : 查看‘’文件‘’内容 (全部显示文件内容)
more 路径 : 翻页查看文件内容 (可以部分显示,在文件内容多时,more命令更适配)
空格 -- 翻下一页
Q -- 退出查看操作
cp 参数一 参数二 : 将参数一的内容复制到参数二中 (参数二如果不存在,将会创建一个文件)(文件复制会将原文件全部覆盖)
cp -r 参数一 参数二 : 同上, 但适用于文件夹, 表示递归 (文件夹复制不会覆盖原文件夹,原文件夹内容仍保存,并添加被复制文件夹内容)
-p 保留源文件属性
-d 若为连接文件,保留链接文件属性
-r 递归持续复制(用于目录)
mv 参数一 参数二 : 表示移动文件夹(将文件一 移动到 文件二)
如果参数二不存在(即要移动到的地方不存在),则进行改名(即将文件一名改成不存在的文件二名)
(如果将‘’文件夹‘’移动到‘’文件‘’内,那么该文件会变为文件夹)
rm 参数一 ……参数N : 删除该参数(一到N)
rm -r 参数一 …… 参数N : 删除文件夹 (虽然-r是用来删除文件夹,但使用 -r 删除文件也可以,并不会报错)
rm -f : 强制删除(root用户,不提示是否要进行删除操作)
【 不要轻易:rm -rf/ 或 rm -rf/* 容易进局子,想当于Windows的C盘格式化】
---------------------------------------------------------------------------------------------------------------------------------
查找命令:
which 程序命令名字 : 查看该程序存放地址
find 起始路径 -name “文件名” : 查找指定文件
find 起始路径 -size + - n[k M G] : 按文件大小查找 加减表示大于小于 n 表示指定的大小数字 (k是小写 M和G都是大写)
grep [-n] “关键字” 文件路径 : 关键字过滤文件(行) -n 行号 关键字建议用双引号括起来 文件路径----可视为管道符输入(使用于文件中)
wc [-c -m -l -w] 文件路径 : 统计文件的行数, 字节数, 字符串数等
-c 是字节(bytes)数
-m 是(character)字符数
-l 是行数
-w 是单词数 文件路径也可以作为管道的输入
tail [-f -num] 路径 : 查看文件尾部内容,并可以持续追踪
-f 会追踪尾部新的内容并显示早tail窗口中
-num num 不是命令 二十要输入的数字,如果不写,默认为尾部10 行
如果不选可选选项,默认则为: 行数(-l) 单词数(-w) 字节数(-c)
---------------------------------------------------------------------------------------------------------------------------------
vim编译器:
vim 文件名 : 进入Vim编译页面
命令模式: a --当前光标后一位编译
o --向下空行,光标在空行首
O --向上空行,光标在空行首
i --当前光标位置
I --行头
A -- 行尾
输入模式: 由命令模式进入,按Esc退出
底线模式:按‘:’进入底线模式
wq --保存并退出
q --仅退出 (quit 离开、停止)
q! --强制退出
w --仅保存
set nu --显示行号
set paste --设置粘贴模式
---------------------------------------------------------------------------------------------------------------------------------
超级管理员权限设置
su命令用于账户切换系统命令(switch User 切换用户),
su [-] 用户名 : 求换用户
- 符号可选,表示切换用户后加载环境变量(建议加上)
如果不写用户名,默认切换到root用户(切换到超级管理员账户,需要输入密码)
退出切换用户语法; 按Esc键 或 su - 原用户 或 Ctrl + d 键
给普通用户配置管理员权限:
1,切换到root用户
2,输入 visudo
3, 光标定到最后一行,添加 : 用户名 ALL=(ALL) NOPASSWD: ALL
4, :wq 保存退出
在普通用户执行没有权限的命令时,在该命令之前添加'sudo' 关键字, 列如: sudo touch /text
---------------------------------------------------------------------------------------------------------------------------------
用户和用户组(创建和删除都需要root权限)
groupadd 用户组名 : 创建用户组 (group 团队,组,集体)
groupdel 用户组名 : 删除用户组
useradd [-g -d] 用户名 : 创建用户 {列如: useradd text2 -g bain -d /home/text22}
-g 指定用户的组,不指定是-g,会创建同名组并自动加入,指定-g需要组已存在,如已存在同名组,必须使用-g
-d 指定用户的HOME路径,不指定目录默认在 /home/用户名
userdel [-r] 用户名 : 删除用户
-r 删除用户的home目录,不使用-r,home目录保留
id [用户名] : 查看用户所属组 (用户名,被查看用户,如果不提供则查看本身)
getent group :查看系统中的所有用户组信息
getent passwd : 查看系统中的所有用户。(用户名 密码(x) 用户id 组id 描述信息(无用)执行终端 )
---------------------------------------------------------------------------------------------------------------------------------
权限管理:
ls-l 展示的页面: 权限{(d文件夹 -文件 l软连接) (所属用户权限) (所属用户组权限) (其他用户权限)} 所属用户 所属用户组
( r 可读 w 可修改 x 可执行 )
修改权限信息(只有文件文件夹所属用户或root用户可以修改)
chmod [-R] 权限 文件或文件夹 : 修改文件或文件夹权限
-R 对文件夹的全部内容应用同样操作
列如: chmod -R u=wrx ,g=rw, o=r hellow.test : 将文件夹 hello.test 权限修改为 -wrx-rw-r (注意逗号分隔)
(u 代表user g代表group o代表other)
权限数字组合: 4代表r 2代表w 1代表x (自由组合 0--7)
列如 chmod 751 test => chmod u=wrx,g=rx,o=x test => 将文件test修改为-rwx-rx-r的权限
修改文件或文件夹的用户或用户组(只有root用户有权限修改):
chown [-R] [用户] : [用户组] 文件或文件夹 : 将文件或文件夹的所属用户或用户组修改为【用户】【用户组】。
列如: chown linux test : 将文件test的用户修改为linux
chown :root tst : 将文件test的用户组修改为root用户组
chown linux : root test : 将文件所属的用户修改为linux,所属的用户组修改为root
chown -R ok:yes text : 将文件夹text所属用户修改为ok,所属用户组修改为yes.
---------------------------------------------------------------------------------------------------------------------------------
linux 常见简便操作:
Ctrl + c : 停止程序运行
history : 查看历史输入过的命令
python : 进入自带的python编译环境 (Ctrl + d 退出环境)
!字符 : 通过!前缀,自动执行上一次匹配前缀带有‘字符’的命令 (不适配过久的命令,最好是搜索最近四五行命令)
Ctrl + r : 进入搜索模式,输入指定字符匹配到最近的带有改字符的命令,在按键盘左右键,就可以get到该命令了(可适配历史纪录)
光标快速移动:
Ctrl + a : 跳到命令开头
Ctrl + e : 跳到命令结尾
Ctrl +键盘左右键 : 一次跳一个单独命令
清除命令:
Ctrl + l : 清除所有命令
clear : 清除所有命令
---------------------------------------------------------------------------------------------------------------------------------
yum程序 (类似于windows中的应用商店, 需要联网)
yum [-y] [install / remove / search] 软件名称
-y 自动确认
下载 卸载 搜索
systemctl命令:控制系统软件的开机名,关机,开机自启,关机自启
systemctl start / stop / status / enable / disable 服务名 : 控制系统软件的开机名,关机,开机自启,关机自启
(启动,关闭,查看状态,开启开机模式,关闭开机自启)
NetworkManager 主网络服务
network 副网络服务
firewalld 防火墙服务
sshd ssh服务(finalshell远程谅解linux就是这个服务)
---------------------------------------------------------------------------------------------------------------------------------
软链接: 类似于windows系统中的快捷方式
ln -s 被链接的文件/文件夹 要链接去的目的地 : 将文件链接到目的地
---------------------------------------------------------------------------------------------------------------------------------
时间命令
date -d [+格式化字符串]
-d 按指定的字符串显示日期,一般用于日期的计算
格式化字符串: 通过特定的字符串显示日期,一般用于日期的计算
%Y 年
%y 年份后两位数
%m 月份
%d 日
%H 小时
%M 分钟
%S 秒
%s 自1970-01-01-00.00 到现在的秒数
列如: date +%Y-%m-%d : 2024-04-18
date "+Y-%m-d %H:%M:%S" : 2024-06-18 22:10:22 (因为时间要空格隔开,会被认为是单独语法,所以要用双引号括起来,而且时间不是用- 而是用:)
date -d "+2 day" : 计算后两天日期 (也可以搭配格式化日期使用)
---------------------------------------------------------------------------------------------------------------------------------
ntp 时间校准软件 : 在yum里面下, 自动注册为系统软件名-ntpd, 用systemctl 设置开机自启
手动校准时间:
切换root 用户
ntpdate -u ntp.aliyun.com
---------------------------------------------------------------------------------------------------------------------------------
ip地址,主机名,域名解析:
v4版本IP地址: a,b,c,d 其中abcd表示在0~255中的数字
ifconfig : 查看ip地址和网卡(ens33 是主网卡, 127.0.0.1 表示自己 0.0.0.0 用于指代本机,也可以在端口绑定中用来确定绑定关系)
主机名: hostname
hostnamectl set-hostname 主机名 ; 将系统主机名更改
域名解析: 将IP地址映射为字符串。 DNS服务器(114.114.114.114 8.8.8.8)询问
---------------------------------------------------------------------------------------------------------------------------------
网络请求和联通:
ping [-c num] ip或主机名 : 检查指定网络服务器是否可联通状态
wget [-b] url : 命令行下载网络文件
-b : 后台下载,会将日志写入到当前工作目录的wget-log文件
url : 下载链接
curl [-O] url : 发送网咯请求,用于下载文件,获取信息
-O:用于下载文件,当url是下载链接时,可以使用此选项保存文件
url : 要发送请求的网络地址
---------------------------------------------------------------------------------------------------------------------------------
端口
公认端口: 1~1023 用于一些系统内置或知名程序的预留使用,如ssh服务的22端口 (非特殊需要,不占用此端口)
注册端口; 1024~49151 通常可以随意使用,用于绑定一些程序/服务
动态端口: 49152~65535 通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用
安装nmap : yum -y install nmap
nmap 端口号 : 查看端口占用情况
安装netstat : yum -y install netstat
netstat 端口号: 查看指定端口号
---------------------------------------------------------------------------------------------------------------------------------
进城管理:
ps [-e -f] : 显示进程
-e 显示全部进程
-f 以完全格式显示
ps -ef | grep 关键字 : 搭配关键字过滤指定进程
kill [-9] 进程id : 关闭该程序
-9 : 强制关闭
---------------------------------------------------------------------------------------------------------------------------------
主机状态:
top : 查看资源占用情况
-p 只显示某个进程
-d 设置刷新时间(默认5s)
-c 显示产生进程完整命令
-n 指定刷新次数
-b 以交互非全屏模式运行
-i 不显示任何闲置或无用的进程
-u 查找特定用户启动进程
---------------------------------------------------------------------------------------------------------------------------------
运算符
` ` : 反引号(飘号),飘号包围的内容将作为命令执行,而非普通字符使用
; : 分号,将多命令用分号隔开,可以放一行(不推荐使用)
&& : 与运算 ,只有左右两边都是真确的命令才能执行
|| : 或运算, 只要一个正确执行,如果左边正确,右边就不会被执行
---------------------------------------------------------------------------------------------------------------------------------
通配符
* : 匹配0或多个数字
? : 匹配任意一个数字
[list] : 匹配list中的任意单一字符
[!list] 或 [^list] : 匹配出list中的单一字符
[c1-c2] : 匹配c1 至 c2 中的任意单一字符
[!c1-c2] 或 [^c1-c2] : 匹配除了c1 至 c2 中的任意单一字符
{str1, str2,……strn} : 匹配str1或str2(或更多)其中一字符
---------------------------------------------------------------------------------------------------------------------------------
正则表达式所搜
grep -option 路径 : 强大的搜索引擎, 用于过滤/搜索特定字符
--color=auto : 匹配到文本着色显示
-v : 显示不被pattern匹配到的行
-i : 忽略字符大小写
-n : 显示匹配的行号
-c : 统计匹配的行数
-o : 仅显示匹配到的字符串
-q : 静默模式,不输出任何信息
-e : 实现多个选项之间的逻辑or运算
-w : 匹配整个字符窜
-f : 批量匹配文件中的字符串
-F : 相当于fgrep,不支持正则表达式
---------------------------------------------------------------------------------------------------------------------------------
环境变量:
env : 显示系统运行中的环境变量
PATH : 执行任何命令的搜索路径
$ : 取变量
$ 搭配 { } 括起来变量
自己设置环境变量:
export 变量名=变量值 (临时生效)
使用vim在etc/.bashrc 中配置设置环境变量 (当前用户永久生效)
使用xim 在etc/profile 文件中配置环境变量
---------------------------------------------------------------------------------------------------------------------------------
上传和下载:
安装: yum -y install lrzsz
sz 文件 : 下载该文件
rz 文件 : 上传文件
命令行文件速度很慢,用拖拽会更快(在shell中)
-------- ------------------------------------------------------------------------------------------------------------------------
压缩和解压:
.tar [-opening] 创建压缩文件名 要压缩的文件1……文件n : 将要压缩文件放在创建文件中(tar只是普通压缩)
(cvf zcvf 只要记两个搭配创建tar 和 创建gzip 压缩 创建gzip文件后缀一定是.gz 创建tar压缩文件后缀一定是.tar)
-c 创建压缩文件
-v 显示压缩过程(进度条)
-x 解压模式
-f 所有命令中这个必须放在最后
-z gzip模式,不使用就是普通的tarball 模式
-C 选择解压模式的目的地,用于解压模式
tar -xvf 被解压文件(默认解压在当前目录)
-xvf 被解压文件 -C 存放路径 (要解压gzip 文件 就在选项前加上z 就可以了)
===========================================================
zip [-r] 存放文件(.zip) 被压缩文件(1……n): 将文件/ 文件夹 压缩到文件.zip 中
-r 文件夹
unzip 被解压文件/文件夹 [-d] 解压路径 : 将被解压文件解压到指定路径
---------------------------------------------------------------------------------------------------------------------------------
基本正则表达式
^x : 匹配以x开头的行
$x : 匹配以x结尾的行
^& : 匹配空行(但不匹配空格)
. : 匹配任意单个字符串 如 .x 可以cx/bx等(.可以放在前后中位置)
\ : 转移字符,将符号进行转义 如 a\.b 匹配a.b 不匹配ajb
* : 匹配前0项或多项 如ab* 匹配a或ab或abbb
.* : 匹配任意字符(包括空行)
---------------------------------------------------------------------------------------------------------------------------------
管道输入输出等
| : 管道符 将管道左边命令的结束, 作为右边命令的输入 (管道符可以多个嵌套使用)
echo "输出内容” : 命令行内输出指定内容 # 相当于print 输出内容复杂尽量用双引号括起来(习惯)
` ` : 被反引号包围的的内容,会被作为命令执行,而非普通字符(左上方1旁边的符号)
标准输入: sdtin 由0表示
标准输出: sdtout 由1表示
重定向符:
输出重定向符:
命令 > 文件 : 将左侧命令的结果, 覆盖写入右侧指定的文件中
命令 >> 文件 : 将左侧命令的结果, 追加写入右侧指定的文件中
命令 2> 文件 : 将左侧错误输出结果,覆盖写入右侧文件
命令 2>> 文件 : 将左侧命令错误结果,追加到右侧文件
命令 >> 文件2 > &1 : 将标志输入和错误输入都重定向到文件中来
出入重定向符:
命令 < 文件 : 将文件作为命令标准输入
命令 << 分界符 : 从标准输入中读入,直到遇见分界符才停止
命令 <文件1>文件2 : 将文件1作为标准输入并将标志输出到文件2中来
---------------------------------------------------------------------------------------------------------------------------------
FinalShell 软件常用操作:
Ctrl + L 清空页面所有内容
Ctrl + C 强行停止系统运行
ifconfig ---> 查看ip 地址,及更多东西
su - root , 并输入密码: 2004 , 就可以进入root用户(临时体验)
通过输入exit命令,退回普通用户 / 快捷键: Ctrl + d
============================================================
VMware中linux操作系统:
ifconfig ---> 查看ip 地址,及信息