Linux创建和笔记

linux:

安装vmware

第一步:新建虚拟机,选择自定义
在这里插入图片描述第二步:选择稍后安装在这里插入图片描述就第三步:选择 Linux在这里插入图片描述第四步:选择存储虚拟机的位置在这里插入图片描述第五步:使用网络地址转换在这里插入图片描述
第六步:最大磁盘大小不要少于50G,选择多个文件:在这里插入图片描述
第七步:选择编辑虚拟机,选择CD/DVD,选择映射文件在这里插入图片描述

第八步:选择自定义布局在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

liunx基本配置

  1. 配置ip
    vi /etc/sysconfig/network-scripts/ifcfg-eth0
    删除 :rm -fr /etc/udev/rules.d/70-persistent-net.rules
  2. 关闭防火墙
    关闭防火墙&Selinux
    service iptables stop
    chkconfig iptables off
    vi /etc/selinux/config
    SELINUX=disabled
  3. 配置网络
  4. 修改虚拟机名称
    vi /etc/sysconfig/network
  5. 修改/etc/hosts
  6. 拍快照
    关闭虚拟机poweroff,拍摄快照,点击克隆,选择现有快照,创建链接克隆,修改虚拟机存放位置和名称

linux命令

type:命令类型
外部命令 & 内部命令
help:内部命令帮助
help:内部命令清单,附带语法格式,描述
help 具体内部命令
man:帮助手册manual
安装man:yum install man man-pages -y
whereis : 定位命令位置
file:文件类型
echo:打印到标准输出
$PATH: 环境变量:路径
ps -fe 进程列表
type ps
man ps
hash -r 清除缓存
man
1:用户命令(/bin, /usr/bin, /usr/local/bin)
2:系统调用
3:库用户
4:特殊文件(设备文件)
5:文件格式(配置文件的语法)
6:游戏
7:杂项(Miscellaneous)
8: 管理命令(/sbin, /usr/sbin, /usr/local/sbin)

文件类型:
-:普通文件 (f)
d: 目录文件
b: 块设备文件 (block)
c: 字符设备文件 (character)
l: 符号链接文件(symbolic link file)
p: 命令管道文件(pipe)
s: 套接字文件(socket)
文件权限:9位,每3位一组,3组 权限(U,G,O)每一组:rwx(读,写,执行), r–
文件硬链接的次数
文件的属主(owner)
文件的属组(group)
文件大小(size),单位是字节
时间戳(timestamp):最近一次被修改的时间
访问:access
修改:modify,文件内容发生了改变
改变:change,metadata,元数据

Filesystem Hierarchy Standard(文件系统层次化标准)

/boot: 系统启动相关的文件,如内核、initrd,以及grub(bootloader)
/dev: 设备文件
/etc:配置文件
/home:用户的家目录,每一个用户的家目录通常默认为/home/USERNAME
/root:管理员的家目录;
/lib:库文件
/media:挂载点目录,移动设备
/mnt:挂载点目录,额外的临时文件系统
/opt:可选目录,第三方程序的安装目录
/proc:伪文件系统,内核映射文件
/sys:伪文件系统,跟硬件设备相关的属性映射文件
/tmp:临时文件, /var/tmp
/var:可变化的文件
/bin: 可执行文件, 用户命令
/sbin:管理命令
df:显示磁盘使用情况
du:显示文件系统使用情况
ls:显示目录
cd:切换工作目录
pwd:显示当前工作目录
mkdir:创建目录
rm:删除
cp:拷贝
mv:移动
ln:链接
stat:元数据
touch:创建文本
df:显示磁盘使用情况
df -h
du:显示文件系统使用情况
du -sh
du -a
ls:显示目录
ls -alhrt
cd:切换工作目录
cd 或 cd ~
cd …
cd /
cd -
pwd:显示当前工作目录
mkdir:创建目录
mkdir -p ./a/b/c :创建多级目录
mkdir a/{1,2,3}dir :多级子目录
rm:删除
rm -f
rm -rf /
cp:拷贝
cp /etc/{profile,inittab} ./
cp -r ./a ./new
cp -l cp -s
mv:移动
ln:链接
ln 默认硬链接
ln -s 软链接
cat
more
less
head
head -2 /etc/profile
tail
tail -2 /etc/profile
tail -f
管道
cat b.txt | head -3
| tail -1
xargs

vi编译器

打开文件
vim /path/to/somefile
vim +# :打开文件,并定位于第#行
vim +:打开文件,定位至最后一行
vim +/PATTERN : 打开文件,定位至第一次被PATTERN匹配到的行的行首
关闭文件
末行模式:
:q 退出 没有动过文件
:wq 保存并退出 动过了,不后悔
:q! 不保存并退出 动过了,后悔了
:w 保存
:w! 强行保存
:wq --> :x
ZZ: 保存并退出 不需要冒号,编辑模式
编辑–>输入:
i: 在当前光标所在字符的前面,转为输入模式;
a: 在当前光标所在字符的后面,转为输入模式;

o: 在当前光标所在行的下方,新建一行,并转为输入模式;

O:在当前光标所在行的上方,新建一行,并转为输入模式;
I:在当前光标所在行的行首,转换为输入模式
A:在当前光标所在行的行尾,转换为输入模式
输入–>编辑:
ESC
编辑–>末行:

末行–>编辑:
ESC, ESC

移动光标
字符
h: 左;j: 下;k: 上;l: 右
单词
w: 移至下一个单词的词首
e: 跳至当前或下一个单词的词尾
b: 跳至当前或前一个单词的词首
行内
0: 绝对行首
^: 行首的第一个非空白字符
$: 绝对行尾
行间
G:文章末尾
3G:第3行
gg:文章开头
翻屏
ctrl:f,b
删除&替换单个字符
x:删除光标位置字符
3x:删除光标开始3个字符
r:替换光标位置字符
删除命令 : d
dw,dd
复制粘贴&剪切
yw,yy
p
P
撤销&重做
u 撤销
ctrl+r 重做 撤销的操作
. 重复上一步的操作
set:设置
set nu number
set nonu nonumber
set readonly
/:查找
/after
n,N
?向上查找
!:执行命令
:!ls -l /
s查找并替换
s/str1/str2/gi
/:临近s命令的第一个字符为边界字符:/,@,#
g:一行内全部替换
i:忽略大小写
范围
n:行号
.:当前光标行
+n:偏移n行
: 末 尾 行 , :末尾行, -3
%:全文

正则表达式

grep:显示匹配行
v:反显示
e:使用扩展正则表达式
匹配操作符
\ 转义字符
. 匹配任意单个字符
[1249a],[^12],[a-k] 字符序列单字符占位
^ 行首
$ 行尾
<,>:<abc 单词首尾边界
| 连接操作符
(,) 选择操作符
\n 反向引用
重复操作符:
? 匹配0到1次。
* 匹配0到多次。
+ 匹配1到多次。
{n} 匹配n次。
{n,} 匹配n到多次。
{n,m} 匹配n到m次。
与扩展正则表达式的区别:grep basic
?, +, {, |, (, and )
匹配任意字符 .*

文本模式

cut
sort
wc
sed > vi
awk

cut:显示切割的行数据
f:选择显示的列
s:不显示没有分隔符的行
d:自定义分隔符
sort:排序文件的行
n:按数值排序
r:倒序
t:自定义分隔符
k:选择排序列
u:合并相同行
f:忽略大小写
sed:行编辑器
sed [options] ‘AddressCommand’ file …
-n: 静默模式,不再默认显示模式空间中的内容
-i: 直接修改原文件
-e SCRIPT -e SCRIPT:可以同时执行多个脚本
-f /PATH/TO/SED_SCRIPT
-r: 表示使用扩展正则表达式
sed:行编辑器Command
d: 删除符合条件的行;
p: 显示符合条件的行;
a \string: 在指定的行后面追加新行,内容为string
\n:可以用于换行
i \string: 在指定的行前面添加新行,内容为string
r FILE: 将指定的文件的内容添加至符合条件的行处
w FILE: 将地址指定的范围内的行另存至指定的文件中;
s/pattern/string/修饰符: 查找并替换,默认只替换每行中第一次被模式匹配到的字符串
g: 行内全局替换
i: 忽略字符大小写
s///: s###, s@@@
(), \1, \2
sed:行编辑器Address
可以没有
给定范围
查找指定行/str/
awk
awk是一个强大的文本分析工具。
相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。
简单来说awk就是把文件逐行的读入,(空格,制表符)为默认分隔符将每行切片,切开的部分再进行各种分析处理。
awk -F ‘{pattern + action}’ {filenames}
支持自定义分隔符
支持正则表达式匹配
支持自定义变量,数组 a[1] a[tom] map(key)
支持内置变量
ARGC 命令行参数个数
ARGV 命令行参数排列
ENVIRON 支持队列中系统环境变量的使用
FILENAME awk浏览的文件名
FNR 浏览文件的记录数
FS 设置输入域分隔符,等价于命令行 -F选项
NF 浏览记录的域的个数
NR 已读的记录数
OFS 输出域分隔符
ORS 输出记录分隔符
RS 控制记录分隔符
支持函数
print、split、substr、sub、gsub
支持流程控制语句,类C语言
if、while、do/while、for、break、continue
只是显示/etc/passwd的账户:CUT
awk -F’:’ ‘{print $1}’ passwd
只是显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以逗号分割,而且在所有行开始前添加列名name,shell,在最 后一行添加"blue,/bin/nosh"(cut,sed)
awk -F’:’ ‘BEGIN{print “name,shell”} {print $1 “,” $7} END{print “blue,/bin/nosh”}’ passwd
搜索/etc/passwd有root关键字的所有行
awk ‘/root/ { print $0}’ passwd
统计/etc/passwd文件中,每行的行号,每行的列数,对应的完整行内容

用户管理

groupadd --添加组
groupdel --删除组
useradd --添加用户
userdel --删除用户
usermod –
id
passwd
sudo
su --切换用户
r w x 4 2 1
chmod --修改权限
chown --修改组的权限
useradd sxt01
passwd sxt01
useradd sxt02
passwd sxt02

mkdir /var/swapdata
1,权限修正:
chmod 770 swapdata | chmod o-rwx g+rwx swapdata
2,修正属组
groupadd sxtswap
usermod -a -G sxtswap sxt01
usermod -a -G sxtswap sxt02
chown root:sxtswap swapdata
chown :sxtswap ooxx.file
chmod 770 ooxx.file
id username

软件安装

编译安装
rpm安装:包
yum安装:仓库
编译安装
配置文件:Makefile
编译,安装命令:make
案例:编译安装nginx
下载源码
tar xf 解压
README
./configure:创建Makefile
make:编译
make install clean 等
注意:
编译环境
软件依赖
配置项
1,下载源码包
2,解压缩:tar xf filename
3,cd:vi README
4,./configure
检查操作系统
检查编译环境
yum install gcc
pcre 依赖库
yum search pcre
yum install pcre-devel
openssl
yum install opssl-devel
./configure --help
./configure --prefix=/opt/sxt/nginx
5,Makefile
6,make
7,make install
8,cd /opt/sxt/nginx/sbin ./nginx
9,浏览器访问测试

文本编辑

shell bash
解释器,启动器
解释器:
用户交互输入
文本文件输入
脚本本质:
#! /bin/bash
#! /usr/bin/python
读取方式:
当前shell:source/.
新建子shell:/bin/bash file / ./file.sh 《chmod +x file.sh》
函数
命令概念总结
脚本是一个文本文件!
./testFile
#! /bin/bash (/usr/bin/python)
先启动/bin/bash -f testFile
~~ 新开启一个shell :然后执行source testFile
重定向:不是命令
程序自身都有I/O
0:标准输入
1:标准输出
2:错误输出
控制程序I/O位置
一切皆文件
/proc/KaTeX parse error: Expected 'EOF', got '&' at position 60: …1> out.txt 2>&̲ 1 1,重定向有顺序…:当前shell的PID:接收者
$BASHPID:真实
管道
$?:上一个命令退出状态
0:成功
other:失败
环境变量:env,printenv,export
export定义变量
导出到子shell
fork() Copy On Write O(1)
适用于函数
unset:取消变量
set:查看shell的变量
引用:
双引号:弱引用,参数扩展
单引号:强引用,不可嵌套
花括号扩展不能被引用
命令执行前删除引用
命令替换:
反引号:ls -l /
$(ls -l /)
可以嵌套
help
if
while
for
case
1,花括号 mkdir -p sdfsdf/{a,b,c}sdfsdf
2,波浪线 cd ~god
3,变量&参数 $ $$ ${}(…)
4,命令替换 ls -l echo $path
5,算术扩展 num= ( ( 3 + 4 ) ) 6 , w o r d 拆 分 , ((3+4)) 6,word拆分, ((3+4))6wordIFS
7,路径 *(零到多个任意字符)?
8,引用删除 echo “hello”
*,重定向 >
man bash

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值