主流操作系统:
windows,unix,linux,Andriod,IOS
linux主要有: 小红帽,乌班图,CentOS(可看作小红帽的免费版)
VMware:快照可以创建一个还原点
目录结构
bin/
boot/ 启动的相关文件
dev/ 设备的相关文件
etc/ 系统的配置相关
home/
lib/
lib64/ 库
media/ 媒体
mnt/ 挂载文件系统
opt/ 可选工具
proc/ process,内存映射目录,可以查看系统相关硬件信息
root/ 超级用户的主目录
run/ 运行的进程信息
sbin/ super bin 系统级别的二进制
srv/ 服务相关
sys/ 系统文件
tmp/ 临时目录
usr/ unix shared resource,unix共享系统资源,类似c:/programfiles…
var/ 变量
操作
目录
ls 目录名 查看该目录下的文件信息
pwd 查看当前目录路径
用户
whoami —查看当前用户姓名
su root —切换用户到root
切换用户最好使用su xxx,exit,否则可能造成多次用户的叠加
useradd 用户名 —添加用户
passwd 用户名 —为用户添加密码
userdel 用户名 —删除用户
userdel 用户名 -r 删除用户同时删除用户目录
shadow文件:保存的是密码
命令
which 命令:查看命令所在目录
文件
touch
echo 内容:显示内容
echo 内容 > 文件:内容覆盖文件
echo 内容 >> 文件:内容追加到文件
cat
more:分屏查看,不支持回看
less,tail,head
wc 文件:统计当前文件行数
vi编辑器中:set nu 可以显示行数
目录操作
mkdir -p:可以创建多级目录
mv -r : r表示递归
mv -rf:r表示递归,f表示force,强制删除
查找
find 目录名 -name 名字
find 目录名 -name “*.txt”:通配符模糊查询,需要带上双引号
find 目录名 -type f :查找类型 f:文件
grep xxx 文件名:查找文件中的内容
权限
分别是拥有者,所在组,其他用户的权限
u,g,o 分别可以代表拥有者,所在组,其他用户
chmod g+x xxx:给组用户添加执行权限
进程
ps :查看当前终端中的进程
ps -aux:系统中所有进程
ps -ef:进程列表(多一个ppid)
kill -9 xxx
其他
ifconfig
man:查看函数,命令用法
vi
打开的时候是命令模式
a,i,o:插入,插入位置不同,当前位置之后,当前位置,下一行
esc:返回命令模式
命令模式下常用命令:
x:删除选中的字符
dw:剪切单词
dd:剪切行
2dd:删除两行
u:撤回
r:替换
cw:替换单词,会进入编辑模式
cc:替换行
yw:拷贝单词
p:粘贴
ctrl+r:取消撤销
底行模式
按冒号进入,enter退出
:w
:w 文件名
防火墙
iptables -i …
firewall-cmd --zone=public --add-port=xx/tcp
安装
yum install
rpm -qa:查看rpm方式安装的软件
服务
service xxx start
数据库
mariaDB
grep password /var/log/mysqld.log:在文件中查询密码
Shell程序
shell也是一门编程语言
#!/bin/bash 表示使用/bin/bash执行下面的shell语句
echo helloworld
执行shell的方式
bash xxx.sh
sh xxx.sh
在拥有xxx.sh执行权限的时候,直接执行
read num; 类似scanner
变量
变量=值,等号两边不能有空格
unset 变量,撤销变量
使用$符号获得变量
变量定义
变量的值如果有空格需要使用引号引起来
单引号和双引号区别,单引号中不能取出变量,双引号中可以取出变量
bash中变量默认是字符串,不能直接进行运算
流程控制
if [ 条件 ]
then
程序
fi
case $xxx in
xx) xxx
;;
xx) xxx
;;
esac
for ((初始值;控制;变量变化))
do
程序
done
while [ 条件判断 ]
do
程序
done
函数
[ function ] funname[()]
{
Action;
[return int;]
}
funname
中括号中可以省略
read -p "xxx" xxx -p是提示
杂记
ctrl+s假死:vim并没有死掉,只是vim不再向终端输出东西了,按 ctrl+q 即可恢复正常
centos修改清华源:
建议先备份 CentOS-Base.repo:
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
然后编辑 /etc/yum.repos.d/CentOS-Base.repo 文件,在 mirrorlist= 开头行前面加 # 注释掉;
并将 baseurl= 开头行取消注释(如果被注释的话),把该行内的域名(例如mirror.centos.org)替换为mirrors.tuna.tsinghua.edu.cn。
最后,更新软件包缓存
sudo yum makecache