Linux基础

开发的代码,最终再服务器上运行,生产环境。

Linux: 只有命令行,可以长期稳定的运行不关机。避免了

因为系统的问题导致项目运行中断。

Linux: 占用资源少,开源的软件特别多。

市面上linux系统占90%左右,windows10%左右;

centos: Community enterprise os 社区版的开源系统
redhat: 红帽开源系统
centos是基于Redhat,去掉商业软件,用开源软件替换,
替换logo,重新编译而成;

操作系统是上面?
操作系统是一系列的软件,内核 + 常用软件组成。操作系统的功能就是帮助用户去控制
硬件来解决我们实际的需求操作;

linux连接shell
linux下登陆root用户
查看ip地址 ip addr

启动网卡

连接Xshell
ssh://[email protected]:22

创建目录:
mkdir == make directory
mkdir /data(文件夹名字及其所在的路径)
mkdir 绝对路径 -p 创建多级目录

查看指定目录下的内容
ls == list
ls /(目录)
ls -l —long 显示文件的详细信息

打印当前路径
pwd == print work directory

切换目录
cd == change directory
cd /data 选择到指定目录下

创建一个空白文件
touch kermitjam.txt

编辑文件
vi kermitjam.txt
i == insert —-光标当前插入
a == append —-光标之后插入
o —-光标下一行插入
按esc—>:—>wq 回车保存内容

cat 一次性查看文件的所有内容

more 分页查看文件的内容 只能往下看

less 分页查看文件的内容 可以上下查看

cp == copy
cp 绝对路径 指定目录
cp /etc/services .(点是指当前路径)

| 管道
/ 根目录
. 当前目录
~ 用户家目录
- 上一次所在的目录
.. 上一级目录
{ } 代表一个范围

重定向

相对路径: etc/services

移动 剪切
mv data 指定目录
mv == move

删除
rm 文件名 有提示是否删除
rm -f kermitjam.txt 强制删除
rm == remove
删除目录
rm -rf data 不管有多少层目录都删除掉

hear 去文件的头部n行
tail 取文件的倒数n行
seq 生成队列
这里写图片描述
alias 查看别名
定义别名alias ipr=’ip addr’
unalias 取消别名 unalias ipr

find 查找

Linux 三剑客
grep 最擅长过滤
sed 擅长替换
awk 擅长取列

操作
mkdir /data
验证:
ls /

cd /data
touch oldboy.txt
验证:
ls -l

vi oldboy.txt
默认进入常规模式,按i进入到插入模式,I am studying linux. 按esc回到常规模式,:wq保存并退出
i,a,o,
i光标当前插入
a光标之后插入
o光标的下一行

cat oldboy.txt

cp oldboy.txt /tmp/

mv data /root

cd /root/data
rm oldboy.txt

cd ..
rm -rf data

linux三剑客

* grep 最擅长过滤
* sed 擅长替换
* awk 擅长取列
方法1:grep -v ‘oldboy’ test.txt
方法2:sed ‘/oldboy/d’ test.txt
方法3:awk ‘NR<3’ test.txt
方法4:head -n 2 test.txt

方法1:/usr/bin/cp -i /mnt/test.txt /tmp
方法2:\cp /mnt/test.txt /tmp
方法3:unalias cp
cp /mnt/test.txt /tmp

获取头部前30行中的倒数11行

head -n 30 ett.txt|tail -n 11

获取大于19行且小于31行的列

awk ‘NR>19 && NR<31’ ett.txt

sed -n ‘/20/,/30/p’ ett.txt
grep ‘20’ -A 10 ett.txt
grep ‘30’ -B 10 ett.txt
grep ‘25’ -C 5 ett.txt

find /oldboy -type f -name “*.sh”|xargs sed -i ‘s#./hostlists.txt#../idctest_iplist#g’
find找出来的结果,是一段文本信息,xargs将找出来的文本,转换成文件对象

1:创建一个多级目录/oldboy/demo/data
mkdir -p /oldboy/demo/data

2: 在/oldboy/demo/data目录下,创建两个文件manager.py和rule.py
touch manager.py rule.py
touch /oldboy/demo/data/{manager.py,rule.py}

3:为上题中的rule.py
/etc/services:
Id:services,v1.552013/04/14ovasikExp I d : s e r v i c e s , v 1.55 2013 / 04 / 14 o v a s i k E x p
Network services, Internet style
IANA services version: last updated 2013-04-10

4:把/etc/services拷贝到/oldboy/demo/data下
cp /etc/services .

5:把/oldboy/demo/data全部移动到/tmp,保持oldboy目录结构不变
cd /
mv oldboy /tmp/

6: 删除/tmp/oldboy/demo/data下,除rule.py以外的文件
rm -f services manager.py

7:删除/tmp目录下的oldboy目录及oldboy子目录
rm -fr oldboy
“`

Day02:

1:简单优化

关闭firewalld,selinux,NetworkManager
优化yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum makecache :

将服务器上的软件包信息 现在本地缓存,以提高 搜索 安装软件的速度

安装常用软件包

yum install -y bash-completion net-tools vim lrzsz wget tree screen lsof tcpdump

Xshell连接流程:

Linux基础_第1张图片

其他ssh客户端:

Linux基础_第2张图片

网络重启:

这里写图片描述

windos下面看VM配置:

Linux基础_第3张图片

linux网络连接错误:

Linux基础_第4张图片

Day02:linux目录结构

bin 普通用户可以二进制命令文件
boot 系统的启动引导文件
dev device设备文件的所在目录
etc 配置文件的目录
home 所有普通用户的家目录(老百姓家)
lib 32位库文件
lib64 64位库文件
media 不用
mnt 临时挂载点
opt 普通目录
proc 把内存中进程的信息挂载在/proc
root root用户的家目录(皇宫)
run pid的存放目录
sbin root用户可以二进制命令文件
srv 不用
sys 系统内核运行的时候产生的文件
tmp 临时目录
usr 用户自己安装的软件的所有文件
var 经常变化的文件, 邮件,日志

3:文件的属性

ls -il每一列的意思inode(索引)
34210746 -rw-r–r–. 1 root root 292 Aug 5 18:17 ett.txt
33554536 -rwxr-xr-x. 1 root root 117656 Aug 12 10:57 oldboy
34210745 -rw-r–r–. 1 root root 48 Aug 5 16:03 test.txt
-rw-r–r–
第一个字母-(普通文件)d(目录)l(软链接)s(sock文件)b(block存储文件)c(chars输入输出设备)
find -type f
rw- r– r– 9位权限位
属主 属组 other
r读
w写
x执行
第二列最后的点.,在seliunx运行的时候,创建处理的文件就会有点.
第三列:硬链接的数量
第四列:root属主
第五列:root属组
第六列:文件的大小
第7-9列:文件的Modify时间
第10列:文件名

4:软连接和硬连接

软链接:相当于window快捷方式
ln -s /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/ifcfg-eth0
ln /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/ifcfg-eth0(只能真对文件来创建硬链接)

硬链接:inode号相同

ln /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/ifcfg-eth0.link

删文件的原理:当这个硬链接值为0,而没有程序在占用,那么这个文件已经删除

5: 打压缩包和解压缩包

打包:tar zcvf /tmp/oldboy.tar.gz 打包文件的路径…
看压缩的内容不解压:tar tf /tmp/oldboy.tar.gz
解压缩包:tar zxvf /tmp/oldboy.tar.gz

6:用户管理

创建用户:
useradd oldgirl
passwd oldgirl

useradd oldgirl -g 1000(在指定组中创建用户)

切换用户:

linux是一个多用户,多终端的系统.
su - oldboy 切换到oldboy用户
su - root

删除用户:

userdel -fr oldgirl

chmod 修改文件或目录的权限
chown 修改文件或目录的属主和属组.

7:权限管理

root
oldboy
oldgirl
test

user
group
other

创建文件测试:

cd /data,需要当前用户对/data有执行权限.
ls /data,需要当前用户对/data有读权限.
touch /data/hehe.txt,需要当前用户对/data有写权限.

默认的目录权限:755

r:4
w:2
x:1

8:定时任务

如何命令行发邮件
cat /tmp/anaconda-ks.cfg|mail -s ‘egon dsb’ [email protected]

分时 日 月周 cat /tmp/anaconda-ks.cfg|mail -s ‘egon dsb’ [email protected]
/5 * * * cat /tmp/anaconda-ks.cfg|mail -s ‘egon dsb’ [email protected]
00 9 * * * cat /tmp/anaconda-ks.cfg|mail -s ‘egon dsb’ [email protected]
30 / * * cat /tmp/anaconda-ks.cfg|mail -s ‘egon dsb’ [email protected]

编辑定时任务:

crontab -e
查看定时任务:
crontab -l

9:网络管理

vim /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=”static”
IPADDR=”10.0.0.111”
NETMASK=”255.255.255.0”
GATEWAY=”10.0.0.2”
DNS1=”223.5.5.5”
DNS2=”223.6.6.6”

重启网络服务

systemctl restart network

验证:网络是否畅通

ping www.baidu.com

查看网关的命令

route -n

查看ip地址:

ip addr
ifconfig

查看监听端口:

netstat -lntup

10:安装httpd,运行一个静态网站

web服务软件: Apache httpd, Nginx

yum install httpd -y

systemctl start httpd

检测httpd服务是否正常启动,执行netstat -lntup,查看是否监听80端口

cd /var/www/html

unzip xiaoniaofeifei.zip

11:进程管理

systemctl start httpd
systemctl stop httpd

ps -ef|grep ‘httpd’
kill pid
pkill httpd

如果服务不受systemctl控制,那么这个服务,需要手动执行命令来启动,手动kill杀进程来停止.

你可能感兴趣的:(linux)